Работа с файлами

Пример. Разработать приложение, которое создает текстовый файл с расширением .txt (путь к файлу указывается в окне ввода). В данный файл записывается текст, введенный пользователем с помощью многострочного редактора Memo (кнопка «Сохранить»), а также предусмотреть возможность добавления данных в конец существующего файла (кнопка «Добавить»). Необходимо также предусмотреть просмотр содержимого файла, путь которого указывается в поле Edit (кнопка «Открыть»). При выполнении данного задания необходимо также использовать компоненты OpenDialog и SaveDialog – для открытия и сохранения файлов.
 

Функции и процедуры для работы с файлами:

1. Открытие файла для записи

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

rewrite(файловая_переменная)

– добавление в конец файла – используется процедура

append(файловая_переменная)

2. Запись в файл

Write(файловая_переменная, список_переменных)

Writeln(файловая_переменная, список_переменных)

Различие между инструкциями в том, что инструкция writeln после вывода всех значений, записывает в файл символ «новая строка».

3. Закрытие файла. Перед завершением работы все открытые файлы необходимо закрыть с помощью процедуры

CloseFile (файловая_переменная)

4. Открытие файла для чтения. Используется процедура Reset(файловая_переменная)

5. Чтение данных из файла

read(файловая_переменная, список_переменных)

readln(файловая_переменная, список_переменных)

Отличие между этими процедурами в том, что при вызове инструкции readln указатель чтения из файла автоматически перемещается в начало следующей строки файла.

6. Определение конца файла. Используется функция EOF(файловая_переменная). Значение функции равно false, если прочитанный элемент данных не является последним в файле. Если прочитанный элемент файла является последним, то значение EOF равно true.

While not eof(f) do begin … end;

Примеры некоторых процедур:

procedure TForm2.Button1Click(Sender: TObject);

begin

//Кнопка сохранить

fname:=Edit1.Text;

AssignFile(f,fname);

rewrite(f);

For i:=1 to Memo1.lines.Count do

writeln(f, memo1.lines[i-1]);

closefile(f);

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

//Кнопка добавить в конец файла

fname:=Edit1.Text;

AssignFile(f,fname);

append(f);

writeln(f, memo1.text);

closefile(f);

end;

Добавить комментарий