Смекни!
smekni.com

Обработка экономической информации средствами языка Pascal (стр. 6 из 6)

repeat

settextstyle(7,0,4);setcolor(15);

outtextxy(90,getmaxy div 4, 'Technical support by e-mail:');

settextstyle(1,0,4);setcolor(10);

outtextxy(120,(getmaxy div 4)+50, 'support@sorgepro.agava.ru');

settextstyle(7,0,4);setcolor(15);

outtextxy(140,(getmaxy div 4)+100, 'or visited our web site:');

settextstyle(1,0,4);setcolor(10);

outtextxy(120,(getmaxy div 4)+150, 'http://sorgepro.agava.ru');

settextstyle(2,0,5);setcolor(15);

outtextxy(getmaxx div 4,getmaxy-30,'(c)2000."Sorge pro".All rights don''t reserved.');

until keypressed;

closegraph;

exit;

end;

{==========================Proga===========================}

BEGIN

zast;

assign (f,'k');

textmode(Co80);

{печать первого меню}

menu;

menu2:

{-------------------------------------------печать тaблицы-----------------------------------}

if l=1 then

begin

view(27);

textcolor(15);

gotoxy(7, ww+1);

writeln('Для выхода нажмите или -возврат в главное меню. ');

c:=readkey;

textmode(Co80);

if c=#27 then begin menu; goto menu2 end

else exitt;

end

else

{-----------------------------------------Заново------------------------------------------------}

if l=2 then

begin

clrscr;

textbackground(14);textcolor(15);

writeln('Вы действительно хотите создать новые записи?');

writeln('!!!ПРЕДЫДУЩИЕ ЗАПИСИ БУДУТ УТЕРЯНЫ!!!');

textbackground(0);

gotoxy(1,4);

writeln('Для продолжения нажмите или -возврат в главное меню.');

c:=readkey;

if c=#27 then begin menu; goto menu2 end

else

begin

writeln('Введите количество записей:');

read(q);

clrscr;

rewrite(f);

repeat

writeln('введи текущий номер продукции...'); readln(a.n);

writeln('введи переходящий остаток продукции на начало года...'); readln(a.e1);

writeln('введи приход продукции...'); readln(a.e2);

writeln('введи расход...');readln(a.e3);

writeln('введи цену за 1 шт...');readln(a.e4);

write(f,a);

until (a.n=q);

clrscr;

writeln('ВСЁ OK.');

delay(1000);

menu; goto menu2;

end;

end

else

{----------------------------------Добавление записи---------------------------------------}

if l=3 then

begin

clrscr;

textbackground(0);

textcolor(15);

writeln('Продолжить? (y/n)');

c:=readkey;

if c<>#121 then begin textmode(Co80); menu;goto menu2; end

else

begin

clrscr;

writeln('Введите количество добовляемых записей:');

read(mm);

clrscr;

reset(f); n:=filesize(f); seek(f,n);

pp:=n+1;

repeat

writeln('введи текущий номер продукции...');readln(qq); a.n:=pp;

writeln('введи переходящий остаток продукции на начало года...'); readln(a.e1);

writeln('введи приход продукции...'); readln(a.e2);

writeln('введи расход...');readln(a.e3);

writeln('введи цену за 1 шт...');readln(a.e4);

write(f,a);

pp:=pp+1;

until (qq=mm);

clrscr;

writeln('ВСЁ OK.');

delay(1000);

menu; goto menu2;

end;

end

else

{-----------------------------------------удаление записи------------------------------------}

if l=4 then

begin

clrscr;

window(1,1,68,22);

view(17);

window(64,1,80,22);

textcolor(15);

writeln('Продолжить? (y/n)');

c:=readkey;

if c<>#121 then begin textmode(Co80); menu;goto menu2; end

else

begin

write('Введи номер:');

readln(nn);

if nn>filesize(f) then begin error; goto menu2; end;

{удаление записи:запись в новый файл}

reset(f);

assign (f2,'k2');

rewrite(f2);

l:=0;q:=0;n:=filesize(f);

repeat

l:=l+1;

if l<>nn then

begin

q:=q+1;

seek(f,l-1);

read(f,a);

b.n:=q; b.e1:=a.e1; b.e2:=a.e2; b.e3:=a.e3; b.e4:=a.e4;

write(f2,b);

end;

until l=n;

{удаление записи: перезапись}

reset(f2); rewrite(f);

repeat

read(f2,b);

a.n:=b.n; a.e1:=b.e1; a.e2:=b.e2; a.e3:=b.e3; a.e4:=b.e4;

write(f,a);

until eof(f2);

writeln;

writeln('Всё Ok!');

delay(1000);

writeln('Reload-');

write('Exit-');

c:=readkey;

if c=#27 then begin menu; goto menu2; end

else begin textmode(Co80); l:=4; goto menu2; end;

end;

end

else

{---------------------------------------редактирование--------------------------------------}

if l=5 then

begin

view(27);

textcolor(15);

writeln('Продолжить? (y/n)');

c:=readkey;

if c<>#121 then begin textmode(Co80); menu;goto menu2; end

else

begin

write('Введите номер для редактирования:'); read(nn);

if nn>filesize(f) then begin error; goto menu2; end;

clrscr;

i:=27;

reset(f); seek(f,nn-1);

read(f,a);

st:=((a.e1+a.e2)-a.e3)*a.e4;

gotoXY(i-15,1);write(a.n);

gotoXY(i-5,1);write(a.e1);

gotoxy(i+11,1);write(a.e2);

gotoxy(i+20,1);write(a.e3);

gotoxy(i+29,1);write(a.e4:4:2);

gotoxy(i+37,1);write(st:4:2);

gotoxy(7,2);

seek(f,nn-1);

writeln('Изменить переходящий остаток продукции на начало года? (y/n)');

c:=readkey;

if c=#121 then begin write('Вводим новое:');read(nn); a.e1:=nn; end;

writeln;

writeln('Изменить приход продукции? (y/n)');c:=readkey;

if c=#121 then begin write('Вводим новое:'); read(nn);a.e2:=nn; end;

writeln;

writeln('Изменить расход? (y/n)');c:=readkey;

if c=#121 then begin write('Вводим новое:'); read(nn);a.e3:=nn; end;

writeln;

writeln('Изменить цену за 1 шт? (y/n)');c:=readkey;

if c=#121 then begin write('Вводим новое:'); read(o);a.e4:=o; end;

write(f,a); writeln; write('Все Ok'); delay(1000);

clrscr; menu;

goto menu2;

end;

end

else

{--------------------------------------вывод заставки------------------------------------}

if l=6 then begin zast; menu; goto menu2; end;

{---------------------------------------выход----------------------------------------------}

if l=7 then exitt

else

begin error; goto menu2; end;

{========================END_Proga========================}

END.

Writed by Sergei Kovbasyuk (c)2000."Sorge pro". Rights don't reserved. e-mail:office@sorgepro.agava.ruhttp://sorgepro.agava.ru