Разработка алгоритмов и их реализация
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
: Pole:=Cards.GoodType;;pos(iskomoe,Pole)=1 then begin(FTmp,Cards);:=True;:=n+1;;(kursor);;(FTmp);(t);
end;
{Окно поиска по клиенту}
Function SelectCardsClient(AFileName:string; AFileFTmp:string):boolean;: file of TCards;: file of TCards;, ftmps : Tcards;: string;:=False;
{Проверка на существование файла БД}
ClrScr;(t,AFileName);(t);(FTmp,FileFTmp);(FTmp);
{Запрашиваем данные для поиска данных}('Введите полные или начальные параметры для поиска: ');
Readln(iskomoe);(FTmp);(t);
{Выполним поиск и запишем результат в файл FTmp.dat}(AFileName, AFileFTmp, iskomoe, 0);
{Выводим на экран полученный результат};(AFileFTmp);('Для выхода нажмите любую клавишу...');;;
{Окно поиска по № карты}
Function SelectCardsNo(AFileName:string; AFileFTmp:string):boolean;, t : file of TCards;, ftmps : Tcards;: string;: boolean;:=False;
{Проверка на существование файлов}Not FileExists(AFileName) then Exit;;(t,AFileName);(t);(FTmp,FileFTmp);(FTmp);
{Запрашиваем №карты для ее поиска с обязательной проверкой верности введенных данных}('Введите точный номер карты (6 цифр): ');
Readln(iskomoe);:= FIntTrue (iskomoe,6);v=True;(FTmp);
Close(t);
{Выполним поиск и запишем результат в файл FTmp.dat}(AFileName, AFileFTmp, iskomoe, 1);
{Выводим на экран полученный результат};(AFileFTmp);('Нажмите любую клавишу...');;;
{Окно поиска данных по типу топлива}
Function SelectCardsGoodType(AFileName:string; AFileFTmp:string):boolean;: file of TCards;: file of TCards;, ftmps : Tcards;, f_size: Longint;:char;,n:integer;: string;: boolean;:=False;
{Проверка на существование файлов}Not FileExists(AFileName) then Exit;;(t,AFileName);(t);(FTmp,FileFTmp);(FTmp);
{Предлогаем выбрать тип топлива};(' Пожалуйста выберите тип топлива:');
WriteLn;(' Выход.');:=ReadKey;:=ord(a);b of
: iskomoe:='"АИ-80"';
: iskomoe:='"АИ-92"';
: iskomoe:='"АИ-95"';
: iskomoe:='"ДТ"';
: Exit;;;(b=49) or (b=50) or (b=51) or (b=52) or (b=27);
Close(FTmp);(t);
{Выполним поиск и запишем результат в файл FTmp.dat}(AFileName, AFileFTmp, iskomoe, 2);
{Выводим на экран полученный результат};(AFileFTmp);('Для выхода нажмите любую клавишу...');;;
{Функция удаления карты из БД}
Function FDelCardsNo(AFileName:string; AFTmp : string):boolean;,FTmp,temp: File of TCards;: TCards;, n : integer;,iskomoe2 : string;: char;:=False;(AFileName, AFTmp);(FTmp,FileFTmp);(FTmp);FileSize(FTmp)=0 then begin('Внимание! Нет данных для удаления!!!');
Close(FTmp);;;begin
repeat('Вы действительно хотите их удалить? -НЕТ : ');(otvet);
if ord(otvet)=49 then EXIT;ord(otvet)=48;;(t,AFileName);(t);(temp,'Temp.dat');(temp);:=0;(FTmp,Cards);:=Cards.CardNo;NOT EOF(t) do begin(t,kursor);(t,Cards);:=Cards.CardNo;iskomoe20 then FDelCardsNo:=True;(t);(FTmp);(temp);(t);(temp, AFileName);
WriteLn;('Запись успешно удалена');;('Нажмите любую клавишу...');;;
{Функция добавления записи в файл БД, если его нет, то программа создаст его}
Function FAddCards (AFilename:string):boolean;: File of TCards;: TCards;_fuel, t_client, kursor, n: integer;:string;,s:boolean;
Begin:=False;
{Проверка на существование файла}
if NOT FileExists(AFilename) then begin(t,AFilename);(t);
Close (t);;;
{Запрос данных для записи}
Assign(t,AFilename);(t);not Eof(t) do Read(t, Cards);
seek(t,0);;('Внимание все поля обязательны к заполнению!');
WriteLn ('Выдать карту: ');;:=0;
n:=1;
{Запрашиваем и проверяем формат ввода новой карты}('Введите номер карты (6 цифр): ');
Readln(chislo);:= FIntTrue (chislo,6);v=True then beginNOT EOF(t) do begin(t,kursor);(t,Cards);chislo=Cards.CardNo then begin:=n+1;;(kursor);;
If n<>1 then begin('Данная карта уже имеет владельца!!! Введите другую карту');;begin:=0;.CardNo:=chislo;;
end;n=0;
{Запрашиваем и проверяем формат владельца карты}
repeat('Введите Ф.И.О Клиента: ');(Cards.Client);:=True;length(Cards.Client)=0 then s:=False;pos(' ',Cards.Client)=1 then s:=False;;s=True;
{Запрашиваем тип топлива}('Выберите тип топлива: 1-"АИ-80", 2-"АИ-92", 3-"АИ-95", 4-"ДТ" : ');(t_fuel);t_fuel of
: Cards.GoodType:='"АИ-80"';
: Cards.GoodType:='"АИ-92"';
: Cards.GoodType:='"АИ-95"';
: Cards.GoodType:='"ДТ"';;(t_fuel=1) Or (t_fuel=2) Or (t_fuel=3) Or (t_fuel=4);
{Запрашиваем тип владельца карты}('Выберите тип клиента: 1 - "Физ.лицо", 2 - "Юр.лицо : ');
ReadLn (t_client);t_client of
: Cards.ClientType:='"Физ.лицо"';
: Cards.ClientType:='"Юр.лицо"';;(t_client=1) Or (t_client=2);
{Запрашиваем и проверяем формат пароля карты}('Введите пароль (4 цифры): ');
Readln(Chislo);:= FIntTrue (chislo,4);v=True;.Passwd:=chislo;(t, Cards);(t);
FAddCards:=True;('!!! Запись успешно добавлена в БД !!!');;('Нажмите любую клавишу...');;;
{Функция редактирования данных с номером карты}
Function FEditClient (AFileName:string;AFTmpFile:string; PoleId:integer):boolean;, t, temp: File of TCards;:TCards;,kursor,t_fuel,t_client:integer;, NewName, chislo:string;,v:boolean;:=False;(t,AFileName);(t);(FTmp,AFTmpFile);(FTmp);(temp,'temp.dat');(temp);(FTmp,0);(FTmp,Cards);
{Запрашиваем и проверяем формат владельца карты}
If PoleId=0 then begin
Write('Введите нового клиента: ');
ReadLn(Cards.Client);:=True;length(Cards.Client)=0 then s:=False;pos(' ',Cards.Client)=1 then s:=False;;s=True;;
{Запрашиваем тип топлива}PoleId=1 then begin('Выберите тип топлива: 1-"АИ-80", 2-"АИ-92", 3-"АИ-95", 4-"ДТ" : ');(t_fuel);t_fuel of
: Cards.GoodType:='"АИ-80"';
: Cards.GoodType:='"АИ-92"';
: Cards.GoodType:='"АИ-95"';
: Cards.GoodType:='"ДТ"';;(t_fuel=1) Or (t_fuel=2) Or (t_fuel=3) Or (t_fuel=4);
end;
{Запрашиваем новый тип владельца карты}
If PoleId=2 then begin
repeat('Выберите тип клиента: 1 - "Физ.лицо", 2 - "Юр.лицо : ');
ReadLn (t_client);t_client of
: Cards.ClientType:='"Физ.лицо"';
: Cards.ClientType:='"Юр.лицо"';;(t_client=1) Or (t_client=2);
end;
{Запрашиваем и проверяем формат пароля карты}
If PoleId=3 then begin('Введите пароль (4 цифры): ');(Chislo);:= FIntTrue (chislo,4);v=True;.Passwd:=chislo;;(temp,cards);(FTmp);
Write(FTmp,cards);
{Переписываем оставшиеся записи}
seek(FTmp,0);(FTmp,Cards);:=Cards.CardNo;:=0;NOT EOF(t) do begin(t,kursor);(t,Cards);iskomoe<>Cards.CardNo then begin(temp,Cards);;(kursor);;(t);(temp);(FTmp);(t);(temp,AFileName);:=True;;
{Функция меню редактирования}FEdit (AFileName:string;AFTmpFile:string):boolean;:integer;:char;
Begin:=False;
{По номеру карты находим запись для редактирования}(AFileName, AFTmpFile);
{Выводим на Экран Окно редактирования}
Repeat;(AFTmpFile);
WriteLn('-Изменить пароль.');
WriteLn('-Выйти...');:=ReadKey;:=ord(a);b of
: FEditClient(AFileName, AFTmpFile,0);
: FEditClient(AFileName, AFTmpFile,1);
: FEditClient(AFileName, AFTmpFile,2);
: FEditClient(AFileName, AFTmpFile,3);
: Exit;;
end;b=27;;
{Процедура - Сортировки по имени}F