Автоматическое рабочее место для работника склада

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

>

if c=#13 then Cifri:=Text else key:=false;

end;

 

procedure Prishlo(posiz:integer);

var Tx:String;

er:integer;

key:Boolean;

kl:integer;

begin

clrscr;

With List[Posiz] do begin

writeln( Приход);

writeln( Количество ->);

writeln( Дата прихода ДД.ММ.ГГ->);

val(Cifri(25,2,,6,key),kl,er); if NOT key then exit;

kol_p:=kol_p+kl; kol:=kol+kl;

Date_p:=Cifri(25,3,,8,key); if NOT key then exit;

end;

end;

 

procedure Ushlo(posiz:integer);

var er:integer;

key:Boolean;

kl:integer;

begin

clrscr;

With List[Posiz] do begin

writeln( Расход);

writeln( Количество ->);

writeln( Дата расхода ДД.ММ.ГГ->);

val(Cifri(25,2,,6,key),kl,er); if NOT key then exit;

kol_r:=kol_r+kl; kol:=kol-kl;

Date_r:=Cifri(25,3,,8,key); if NOT key then exit;

end;

end;

 

procedure Vvodnov;

var Tx:String;

er:integer;

key:Boolean;

begin

clrscr;

With List[Schet] do begin

writeln( Новый товар);

writeln( Наименование товара :);

writeln( Количество :);

writeln( Цена :);

writeln( Дата прихода ДД.ММ.ГГ:); {readln(date_p);}

Naim:=Edtext(25,2,,20,key); if NOT key then exit;

val(Cifri(25,3,,6,key),kol,er); if NOT key then exit;

kol_p:=kol;

val(Cifri(25,4,,10,key),price,er); if NOT key then exit;

Date_p:=Cifri(25,5,,8,key); if NOT key then exit;

inc(Schet);

end;

end;

 

procedure Edzapic(posiz:integer);

var Tx:String;

er:integer;

key:Boolean;

begin

clrscr;

With List[posiz] do begin

writeln( Редактирование товара);

writeln( Наименование товара :);

writeln( Цена :);

Tx:=Edtext(25,2,Naim,20,key); if key then Naim:=tx;

str(price:0:2,tx);

tx:=Cifri(25,3,tx,10,key); if key then val(tx,price,er);

end;

end;

 

function vstroca(var curs:integer):integer;

var i:integer;

begin

Textbackground(15);

TextColor(0);

gotoxy(1,1); write(Probel(,80));

for i:=0 to 5 do

begin

gotoxy(i*13+1,1); write(mnu[i+1]);

end;

Textbackground(0);

TextColor(14);

gotoxy((curs-1)*13+1,1); write(mnu[curs]);

repeat

k:=readkey;

Textbackground(15);

TextColor(0);

gotoxy((curs-1)*13+1,1); write(mnu[curs]);

if k=#0 then k:=readkey;

case k of

#75: if curs>1 then dec(curs) else curs:=6;

#77: if curs<6 then inc(curs) else curs:=1;

end;

Textbackground(0);

TextColor(14);

gotoxy((curs-1)*13+1,1); write(mnu[curs]);

if k=#13 then vstroca:=curs;

until (k=#27) or (k=#13);

if k=#27 then vstroca:=-1;

end;

 

function VIVSTR(nstr:integer):String;

var Skol,sprice,summ,

Pkol,Rkol:String[10];

begin

VIVSTR:=;

if (nstr=0) then

With List[nstr] do

begin

str(kol,skol);

str(price:9:2,sprice);

str(price*kol:9:2,summ);

str(kol_p,pkol);

str(kol_r,rkol);

VIVSTR:=Probel(naim,20)+Probel(skol,6)+Probel(sprice,11)+Probel(summ,11)+

Probel(Pkol,6)+Probel(Date_p,10)+Probel(Rkol,6)+Probel(Date_r,9);

end;

end;

 

procedure Ekran;

var i:integer;

Summ_,Sum_p,Sum_r:Double;

begin

Window(1,2,80,25);

Textbackground(5);

TextColor(10);

Clrscr;

gotoxy(1,1);

Textbackground(3);

write(Probel(Наименование,20)+Probel(Кол-во,9)+Probel(Цена,10)+

Probel(Сумма,7)+Probel(Приход ,7)+Probel(Дата пост,10)+Probel(Расход,6)

+Probel( Дата выд,9));

Textbackground(5);

TextColor(14);

for i:=0 to 20 do

begin

gotoxy(1,2+i); Write(Vivstr(i+stran));

end;

Textbackground(15);

TextColor(0);

gotoxy(1,1+curs); write(VIVSTR(curs+stran-1));

Summ_:=0; Sum_p:=0; Sum_r:=0;

for i:=0 to Schet-1 do

begin

Summ_:=Summ_+(List[i].price*List[i].kol);

Sum_p:=Sum_p+(List[i].price*List[i].kol_p);

Sum_r:=Sum_r+(List[i].price*List[i].kol_r);

end;

Textbackground(4);

TextColor(15);

gotoxy(1,23); write(Probel(,80));

gotoxy(1,23); write( Итого: ,

Summ_:12:2, руб. Приход: ,Sum_p:0:2, руб. Расход:,Sum_r:0:2, руб.);

gotoxy(15,24); write (Общее количество наименований товара: ,schet, шт);

end;

 

procedure Sortirovka(num:Integer);

var i,j,k:Integer;

Bas:Basskl;

begin

for i:=0 to Schet-1 do

begin

Bas:=List[i];

for j:=i+1 to Schet-1 do

begin

case Num of

List[j].naimthenbeginBas:=List[j];k:=jend;"> 1: if Bas.Naim>List[j].naim then begin Bas:=List[j]; k:=j end;

List[j].kolthenbeginBas:=List[j];k:=jend;"> 2: if Bas.kol>List[j].kol then begin Bas:=List[j]; k:=j end;

List[j].pricethenbeginBas:=List[j];k:=jend;"> 3: if Bas.price>List[j].price then begin Bas:=List[j]; k:=j end;

List[j].kol_pthenbeginBas:=List[j];k:=jend;"> 5: if Bas.kol_p>List[j].kol_p then begin Bas:=List[j]; k:=j end;

List[j].date_pthenbeginBas:=List[j];k:=jend;"> 6: if Bas.date_p>List[j].date_p then begin Bas:=List[j]; k:=j end;

List[j].kol_rthenbeginBas:=List[j];k:=jend;"> 7: if Bas.kol_r>List[j].kol_r then begin Bas:=List[j]; k:=j end;

List[j].date_rthenbeginBas:=List[j];k:=jend;"> 8: if Bas.date_r>List[j].date_r then begin Bas:=List[j]; k:=j end;

end;

end;

List[k]:=List[i]; List[i]:=Bas;

end;

end;

 

procedure Vivlist(var seek,curs:integer);

var c,k:char;

i:integer;

begin

Ekran;

Textbackground(3);

gotoxy(1,24); write(Probel( - меню | Ins - Добавить | Ctrl+F8 - Удалить | Ctrl+Enter - Изменить,79));

Textbackground(15);

TextColor(1);

gotoxy(1,1+curs); write(VIVSTR(curs+stran-1));

repeat

c:=readkey;

Textbackground(5);

TextColor(14);

gotoxy(1,1+curs); write(VIVSTR(curs+stran-1));

if c=#0 then k:=readkey;

case k of

#72: begin {Вверх курсор}

if (curs=1) and (stran>0) then begin dec(stran); Ekran end;

if (curs>1)