Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабы / лаб7 / lab7_1

.pas
Скачиваний:
6
Добавлен:
07.06.2023
Размер:
2.45 Кб
Скачать
program lab7_1;
uses sysutils;
const cols = 5;
type arr_str = array[1..cols] of string;
var
f: TextFile;
fname, cmd: shortstring;
headers: arr_str = ('инвентарный номер', 'порядковый номер', 'наименование оборудования', 'дата приобретения', 'стоимость');
i: integer;

procedure checkHeaders();
var x: string;
begin
reset(f); ReadLn(f,x);
if (length(x) = 0) then
begin
rewrite(f);
for i:=1 to cols do
begin
Write(f, headers[i]);
if (i <> cols) then Write(f, ' | ')
end;
WriteLn(f, '');
end;
end;

function getSpaces(x,s:string):string;
begin
getSpaces := StringOfChar(' ', (length(s) div 2) - (length(x) div 2));
end;

function getInfo():string;
var
x: string = '';
temp_x: string;
begin
Write('Введите инвентарный номер: '); ReadLn(temp_x); x := x + temp_x + getSpaces(temp_x, headers[1]) +' | ';
Write('Введите порядковый номер: '); ReadLn(temp_x); x := x + temp_x + getSpaces(temp_x, headers[2]) +' | ';
Write('Введите наименование оборудования: '); ReadLn(temp_x); x := x + temp_x + getSpaces(temp_x, headers[3]) +' | ';
Write('Введите дату приобретения (формат: дд.мм.гггг): '); ReadLn(temp_x); x := x + temp_x + getSpaces(temp_x, headers[4]) +' | ';
Write('Введите стоимость: '); ReadLn(temp_x); x := x + temp_x + ' рублей';

getInfo := x;
end;

procedure allRecordsOutput();
var temp_x: string;
begin
reset(f);

while (not eof(f)) do
begin
ReadLn(f,temp_x);
WriteLn(temp_x);
end;

WriteLn('');
append(f);
end;

begin
Write('Введите название файла: '); ReadLn(fname);
if (not FileExists(fname)) then FileCreate(fname);

assign(f,fname);

checkHeaders();
append(f);

while (true) do
begin
WriteLn('1 - добавить запись');
WriteLn('2 - показать записи');
WriteLn('Enter - выйти');
Write('>> '); ReadLn(cmd);
if (cmd = '1') then WriteLn(f,getInfo())
else if (cmd = '2') then allRecordsOutput()
else if (cmd = '') then break
else WriteLn('неправильная команда');
end;

close(f);
end.
Соседние файлы в папке лаб7