Рассмотрим две самые распространенные операции, выполняемые при работе с файлами, чтение и запись. Для их осуществления применяются специальные функции файлового ввода/вывода. Для выполнения операции чтения или записи необходимо произвести следующие действия: - Объявить файловую переменную необходимого типа. - При помощи функции AssignFile связать эту переменную с требуемым файлом. - Открыть файл при помощи функций Append, Reset, Rewrite. - Выполнить операции чтения или записи. - Закрыть файл при помощи функции CloseFile. Рассмотрим пример: Поместим на форму компонент TMemo, TOpenDialog и TButton. В обработчике событий OnClick компонента TButton запишем следующее: procedure TForm1.Button1Click(Sender: TObject); var F: TextFile; S: string; begin if OpenDialog1.Execute then AssignFile(F, OpenDialog1.FileName) else Exit; Reset(F); while Not EOF(F) do begin Readln(F, S); Memo1.Lines.Add(S); end; CloseFile(F); end; В результате выполнения при нажатии кнопки появляется стандартный диалог открытия, выбираем любой текстовый файл и его содержимое добавиться в Memo. При открытии файла его имя связывается с файловой переменной F при помощи процедуры AssignFile. Затем при помощи процедуры Reset этот файл открывается для чтения и записи. В цикле выполняется чтение из файла текстовых строк и запись их в компонент TMemo. Процедура Readin осуществляет чтение текущей строки файла и переходит на следующую строку. Цикл выполняется, пока функция EOF не сообщит о достижении конца файла. После завершения чтения файл закрывается. Рассмотрим обратный пример, когда необходимо записать данные в файл: procedure TForm1.Button1Click(Sender: TObject); var F: TextFile; S: string; begin S:=Memo1.text; //переменной s присваивается текст из Memo if OpenDialog1.Execute then AssignFile(F, OpenDialog1.FileName) else Exit; Append(F); //открываем файл в который будем записывать данные WriteLn(F, S); //записываем CloseFile(F); end; |