double arrow
Чтение данных из файла

Чтение данных из текстового файла в Дельфи подобно аналогичной процедуре в Паскале.

Создайте файл данных следующей последовательностью: File/New/Other/Text. В окне редактора кода появится новая закладка File1.txt.

Напишите какой-либо текст, например, «Первая текстовая строка».

Из палитры компонентов “Dialogs” выберете компонент OpenDialog и поместите его на форму. Место для этого компонента на форме выбрать произвольно, поскольку при исполнении программы он не будет видим.

Поместите на форму кнопку запуска и компонент Memo.

В редакторе кода напишите следующий код:

procedure TForm1.Button1Click(Sender: TObject);

var f1:textfile;

s:string;

begin

if OpenDialog1.Execute then

assignfile (f1,OpenDialog1.FileName);

reset(f1);

readln(f1,s);

memo1.Lines.Add(s);

closefile(f1);

end;

Помните, что часть из приведенного кода автоматически генерируется при двойном щелчке на кнопке запуска. Запустите программу на исполнение. При нажатии кнопки запуска возникнет окно диалога. Следует найти файл text1.txt (он должен быть предварительно сохранен в Вашем каталоге), выделить его и нажать кнопку открыть. Файл откроется для чтения, будет прочитана первая строка и выведена в поле Memo. После этого файл закроется. Сравните эту операцию с тем, что делалось в лабораторных работах 1, 2 при открытии файлов в Паскале и найдите различия в кодах.

При чтении переменных типа real или integer следует помнить, что для правильного восприятия их программой следует делать преобразование типов переменных.

Дополните существующий файл данных text1.txt строчкой данных, например: 3.14 4 5 7. Обратите внимание, что различные переменные отделяются друг от друга пробелом (одним или несколькими), а десятичная часть от целой отделяется точкой, а не запятой, как она выводится в поле Memo. Раздел описания переменных дополните описанием четырех переменных: a, b, c, d:real;. После кода чтения первой строки допишите код чтения четырех переменных типа real: readln(f1,a,b,c,d), а раздел вывода дополните кодом memo1.Lines.Add(floatToStr(a)).






Сейчас читают про: