Xreferat.com » Рефераты по информатике и программированию » Создание справочника "Парфюмерный магазин" при помощи программы Turbo Pascal

Создание справочника "Парфюмерный магазин" при помощи программы Turbo Pascal

writeln(fdel,Baza.FKod);

writeln(fdel,Baza.FRazdel);

writeln(fdel,Baza.FPodrazdel);

writeln(fdel,Baza.FName);

writeln(fdel,Baza.FSeria);

writeln(fdel,Baza.FProizvod);

writeln(fdel,Baza.FOpisan);

writeln(fdel,Baza.FMany);

writeln(fdel,Baza.FSim);

end

end;

close(f);

close(fDel);

reset(fDel);

rewrite(f);

while not Eof(fDel) do {После переноса во временный файл, но уже без

удаленного элемента происходит перезапись файла бд из временного}

begin

readln(fDel,Baza.FKod); writeln(f,Baza.FKod);

readln(fDel,Baza.FRazdel); writeln(f,Baza.FRazdel);

readln(fDel,Baza.FPodRazdel); writeln(f,Baza.FPodrazdel);

readln(fDel,Baza.FName); writeln(f,Baza.FName);

readln(fDel,Baza.FSeria); writeln(f,Baza.FSeria);

readln(fDel,Baza.FProizvod); writeln(f,Baza.FProizvod);

readln(fDel,Baza.FOpisan); writeln(f,Baza.FOpisan);

readln(fDel,Baza.FMany); writeln(f,Baza.FMany);

readln(fDel,Baza.FSim); writeln(f,Baza.FSim);

end;

close(fdel);

close(f);


GoToXY(27,21);Textcolor(21); writeln('Запись удалена для продолжения работы нажмите ESC');

end;

if ord(ch)=110 then begin

GoToXY(27,21);Textcolor(21); writeln('Удаление отменено для продолжения работы нажмите ESC');

end;

end;


Procedure PrintF; {Процедура Печать в файл}

var fname1,fname2,fname3:string; {Переменные указывающие путь к файлу}

fotchet:text; {переменная файла отчета}

begin

clrscr;

GoToXY(10,10); Textcolor(11);writeln('Для печати всех позиций текущего подраздела нажмите F3');

GoToXY(10,12);writeln('Для печати текущей позиций нажмите F5');

GoToXY(10,14);writeln('Для выхода нажмите Backspace');

repeat

ch:=readkey;

if (ord(ch)=61) or (ord(ch)=63) then {Вводится имя будущего

файла и создается шапка в файле отчета}

begin

fname1:='e:prog';

fname3:='.txt';

GoToXY(10,16);writeln('Введите имя файла в который необходимо сохранить отчет');

GoToXY(10,17);writeln('и нажмите ввод. Файл отчета находится в корневой папке');

GoToXY(10,19);readln(fname2);

assign(fotchet,fname1+fname2+fname3);

assign(f,'e:progbd.dat');

reset(f);

rewrite(fotchet);

end;


if ord(ch)=61 then {Если нажата F3 то создается отчет состоящий из

товаров текущего подраздела}

begin

writeln(fotchet,'Отчет по подразделу ');

writeln;

writeln(fotchet,'---------------------------------------------------------');

while not Eof(f) do

begin

readln(f,Baza.FKod);

readln(f,Baza.FRazdel);

readln(f,Baza.FPodRazdel);

readln(f,Baza.FName);

readln(f,Baza.FSeria);

readln(f,Baza.FProizvod);

readln(f,Baza.FOpisan);

readln(f,Baza.FMany);

readln(f,Baza.FSim);

if (Baza.FRazdel=MRazdel) and (Baza.FPodRazdel=Podrazd) then

begin

write (fotchet,'Код товара '); writeln(fotchet,Baza.FKod);

write (fotchet,'Название ');writeln(fotchet,Baza.FName);

write (fotchet,'Серия ');writeln(fotchet,Baza.FSeria);

write (fotchet,'Производитель ');writeln(fotchet,Baza.FProizvod);

write (fotchet,'Описание ');writeln(fotchet,Baza.FOpisan);

write (fotchet,'Цена ');writeln(fotchet,Baza.FMany);

writeln(fotchet,'-----------------------------------------');

end;

end;

close(fotchet);

close(f);

end;

if ord(ch)=63 then {Если нажата F5 то в файл отчета добавляется только

текущая позиция}

begin

tek:=nach;

writeln(fotchet,'Отчет по текущему товару');

writeln;

writeln(fotchet,'---------------------------------------------------------');

while not Eof(f) do

begin

readln(f,Baza.FKod);

readln(f,Baza.FRazdel);

readln(f,Baza.FPodRazdel);

readln(f,Baza.FName);

readln(f,Baza.FSeria);

readln(f,Baza.FProizvod);

readln(f,Baza.FOpisan);

readln(f,Baza.FMany);

readln(f,Baza.FSim);

if (Baza.FKod=tek^.nomer) then

begin

write (fotchet,'Код товара '); writeln(fotchet,Baza.FKod);

write (fotchet,'Название ');writeln(fotchet,Baza.FName);

write (fotchet,'Серия ');writeln(fotchet,Baza.FSeria);

write (fotchet,'Производитель ');writeln(fotchet,Baza.FProizvod);

write (fotchet,'Описание ');writeln(fotchet,Baza.FOpisan);

write (fotchet,'Цена ');writeln(fotchet,Baza.FMany);

writeln(fotchet,'-----------------------------------------');

end;

end;

close(fotchet);

close(f);

end;


until (ord(ch)=8) or (ord(ch)=61) or (ord(ch)=63);

{Закрыте файлов и вывод на прежнее место}

clrscr;

shapka;

writespisok;

end;


procedure NewTovar; {Процедура добавления нового товара}

var f1,f2,f3:text; {Файловые переменные}

kod:integer; {Переменная которой присваивается новый код товара}

begin

clrscr;

Baza.FRazdel:=MRazdel; Baza.FPodRazdel:=PodRazd;

{Форма заполнения данных о новом товаре}

GoToXY(10,1); Textcolor(10); Writeln('Заполните форму. После заполнение очередного пункта нажмите ввод');

GoToXY(3,4); writeln('Раздел ',Baza.FRazdel);

GoToXY(3,5); writeln('Подраздел ',Baza.FPodRazdel);

GoToXY(3,6); Writeln('Опешите назначение товара');

GoToXY(3,8); Writeln('Введите серию товара, если нет то введите символ "-" ');

GoToXY(3,10); Writeln('Введите производителя');

GoToXY(3,12); Writeln('Опешите товар подробнее');

GoToXY(3,22); Writeln('Цена товара');

GoToXY(3,5); Textcolor(11);

GoToXY(3,7);readln(Baza.FName);

GoToXY(3,9);readln(Baza.FSeria);

GoToXY(3,11);readln(Baza.FProizvod);

GoToXY(3,13);readln(Baza.FOpisan);

GoToXY(20,22);readln(Baza.FMany);

GoToXY(10,23);Textcolor(10); Writeln('Сохранить Y, Отмена N');

ch:=readkey;

if (ord(ch)= 121) or (ord(ch)= 173) then {Если нажата Y на английском

и Н на русском, то считывается из файла, который хранит коды товаров,

запоминает последний, увеличивает на единицу и добавляет новый код

в файл кодов}

begin

clrscr;

assign(f2,'e:progkod.dat');

reset(f2);

while not Eof(f2) do readln(f2,Kod);

close(f2);

Baza.FKod:=Kod+1;

append(f2);

write(f2,'');

writeln(f2,Baza.FKod);

close(f2);

assign(f3,'e:progbd.dat');

{Записывает в БД информацию о новом товаре}

append(f3);

writeln(f3,Baza.FKod);

writeln(f3,Baza.FRazdel);

writeln(f3,Baza.FPodRazdel);

writeln(f3,Baza.FName);

writeln(f3,Baza.FSeria);

writeln(f3,Baza.FProizvod);

writeln(f3,Baza.FOpisan);

writeln(f3,Baza.FMany);

writeln(f3,'*');

close(f3);

GoToXY(18,12); writeln('Запись сохранена для продолжения нажмите ввод');

readln;

end;

clrscr;

shapka;

podRazdel;

GoToXY(27,21);Textcolor(21); writeln('Для продолжения работы нажмите ESC');

end;


procedure vivod; {Основная процедура вывода}

{Общий принцип: На экране появляется первый элемент выбранного раздела и подраздела

Далее пользователь при помощи кнопок PageUp PageDown перемещается по всем товарам}

var hod:integer; {Счетчик ходв}

begin

schet; {Считать общее количество позиций}

f1:=7;f2:=11;f3:=7;f4:=11;f8:=11;pu:=11;pd:=11;f10:=7; {Переменные цвета нижних кнопок}

Text1:='Двигайтесь кнопками';

Text2:='PageDown,PageUp'; {Подсказки}

Text3:='Для выхода нажмите';

Text4:='ESC';

RP; {Выводится первый товар}

hod:=1; {Сделан первый ход}


writeSpisok; {Вывести на экран товар соответствующий коду товара из списка}

repeat

ch:=readkey;

if (ord(ch)=81) and (ScetRP<>0) then {Если нажата PageDown}

begin

if ScetRP<>hod then

begin

hod:=hod+1;

PoiskFPR; {Считывается весь файл и проверяется соответствие каждого товара

разделу и подразделу и проверяет входит ли код товара в список

если входит то ищет дальше если нет то...}

addspisok; {Если нет то добавляет в список}

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту

Похожие рефераты: