Пример. Разработать приложение, которое создает текстовый файл с расширением .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; |