Автоматическое рабочее место для работника склада
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
>
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)