Закрытие файла

Вывод в файл

Вопрос

Except

Try

Пример использования операторов

 

x:= StrToInt(Edit1.Text);

y:= StrToInt(Edit2.Text);

res:= x/y;

Edit3.Text:=FloatToStr(res);

on EZeroDivide do begin

MessageDlg(‘Попытка деления на ноль!’, mtError, [mbOK], 0);

edit2.SetFocus;

edit3.Text:=’Ошибка!’;

end;

on EconvertError do begin

MessageDlg(‘Ошибка преобразования!’+#10#13+EO.message, mtError, [mbOK], 0);

edit2.SetFocus;

edit3.Text:=’Ошибка!’;

end;

else begin

MessageDlg(‘Ошибка не идентифицирована!’, mtWarning, [mbOK], 0);

edit2.SetFocus;

edit3.Text:=’Ошибка!’;

end;

end; end;

 

Прямая работа с файлами в среде Delphi. Привести примеры прямой работы с файлами, используя стандартные операторы.

 

Файл — это структура данных, представляющая собой последовательность элементов одного типа. Количество элементов практически не ограничено. В первом приближении файл можно рассматривать как массив переменной длины неограниченного размера.

 

Непосредственно вывод в текстовый файл осуществляется при помощи инструкций write или writeln. В общем виде эти инструкции записываю следующим образом:

write (Файловая Переменная, Список Вывода)

writeln(Файловая Переменная, Список вывода)

где Файловая Переменная — переменная, идентифицирующая файл, в который выполняется вывод.

Список Вывода — разделенные запятыми имена переменных, значения которых надо вывести в файл. Помимо имен переменных в список вывода можно включать строковые константы.

 

1.2.1 Открытие файла для вывода

Возможны следующие режимы открытия файла для записи в него данных:

- перезапись (запись нового файла поверх существующего или создание нового файла)

- добавление в существующий файл

Чтобы открыть файл в режиме создания нового файла или замены существующего, необходимо вызвать процедуру Rewrite (f), где f — файловая ременная типа TextFile.

Чтобы открыть файл в режиме добавления к уже существующим данным, находящимся в этом файле, необходимо вызвать процедуру Append (f), f — файловая переменная типа TextFile.

Пример:

{создание нового или замещение существующего файла}

procedure TForml.ButtonlClick(Sender: TObject);

var

f:TextFile;

i:integer;

begin

AssignFile(f, 'a:\test.txt');

Rewrite (f) ;

for i:=l to 3 do

writeln(f,'Строка ',i);

CloseFile(f);

end;

 

Вот фрагмент программы, соответствующий приведенному алгоритму:

AssignFile (f , filename) ;

{$I-}

Append (f)

{$I +}

if IOResult <>0 then Rewrite (f )

Перед завершением работы программа должна закрыть все открытые файлы. Это делается вызовом процедуры close. Процедура close имеет один параметр — имя файловой переменной. Пример использования процедуры:

CloseFile (f).