Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Assign (fout,name);
{$i-} reset(fout); {$i+}
if ioresult=0 then
Begin
writeln('файл ',name,' уже есть');
Close(fout);
fl:=false
End
Else
Begin
Rewrite(fout);
fl:=true
End
Until fl;
With zap do
Repeat
writeln('ввод fio,tn,zp');
Readln(input,fio,tn,zp);
Write(fout,zap);
Until eof(input);
Close(fout);
Reset(fout);
With zap do
Repeat
Read(fout,zap);
writeln(fio:15,tn:9,zp:8:2);
Until eof(fout);
Close(fout)
End.
В начале программы выполняется ввод имени файла до тех пор, пока не будет введено имя несуществующего файла, т.к. в противном случае старый файл будет уничтожен и данные будут утеряны. После ввода нового имени флаг FL становится равным TRUE и цикл ввода имени файла прекращается. После этого начинается непосредственно цикл ввода данных с клавиатуры из файла INPUT. Признак конца ввода Ctrl+Z. Стандартное имя файла ввода с клавиатуры INPUT можно опустить и в операторе чтения из файла readln, и в функции проверки конца ввода eof. После создания файла и ввода всех данных файл закрывается процедурой close. Затем созданный файл открывается для чтения, данные из него читаются и выводятся на экран в виде таблицы.
Файл может расширяться путем включения последующих элементов за последним существующим элементом файла. Для этого используется процедура позиционирования:
SEEK(< имя файла >, FILESIZE(< имя файла >)).
В следующей программе, используя прямой доступ к записям файла, созданного в предыдущей программе, требуется подсчитать сумму зарплаты рабочих, чьи табельные номера вводятся с клавиатуры (предполагается, что при создании файла были использованы табельные номера в интервале 101-999 и запись с номером 101 занимает первое место в файле, за ней следует запись с табельным номером 102 и т.д.).
type tz=record
fio:string[10];
tn:integer;
zp:real
End;
var zap:tz;
fout:file of tz;
tn1,tn2,n:integer;
s:real;
name:string;
Begin
writeln('имя файла ');
Дата публикования: 2014-11-04; Прочитано: 264 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!