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

 

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

 

Формат записи:      Имя:file of ТипЭлементов                Например:

res:file of char;      // файл символов

f:file of integer;      //файл целых чисел

fname:TextFile;      // символьный или текстовый файл

 

Для того чтобы программа выводить или считывать из файла, необходимо указать конкретный файл, т.е. связать файловую переменную с файлом(задать имя файла).

Формат записи:      AssignFile (var f, ИмяФайла:string)                         Например:

AssignFile (f, ‘a:result.txt’);

name:=(‘otchet.txt’);    AssignFile (f, name);

 

Для работы с файлами используются следующие процедуры:

Write (f, СписокВывода); Writeln (f, СписокВывода);  // запись в файл

read (f, СписокВывода); readln (f, СписокВывода);      // чтение из файла

Rewrite(f);      // открыть для перезаписи

Append(f);      // открыть для добавления

Reset(f);          // открыть файл для чтения

CloseFile(f);   // закрыть файл

 

 

Задача 1. Используя в качестве примера приложение «Работа с файлами» из папки «Задание», составить программу записи – чтения текста в(из) файл.

Код программы:

procedure TForm1.Button1Click(Sender: TObject);

var

   f: TextFile;                                       // файл

   fName: String[80];                           // имя файла

 

 buf: String[80];                                // буфер для чтения из файла

begin        fName := Edit1.Text;

   AssignFile(f, fName);

   {$I-}

   Reset(f);                                         // открыть для чтения

   {$I+}

   if IOResult <> 0 then

     begin         MessageDlg('Ошибка доступа к файлу ' + fName, tError,[mbOk],0);

       exit;

     end;                                                   // чтение из файла

   while not EOF(f) do

     begin        readln(f, buf);                  // прочитать строку из файла

        Memo1.Lines.Add(buf);              // добавить строку в поле Memo1

     end;

   CloseFile(f);                                     // закрыть файл

end;                                                      // запись в файл

procedure TForm1.Button2Click(Sender: TObject);

var

   f: TextFile;                                        // файл

   fName: String[80];                           // имя файла

   i: integer;

begin    fName := Edit1.Text;

   AssignFile(f, fName);

   Rewrite(f);                                         // открыть для перезаписи    // запись в файл

   for i:=0 to Memo1.Lines.Count do   // строки нумеруются с нуля

          writeln(f, Memo1.Lines[i]);

   CloseFile(f);                                       // закрыть файл

   MessageDlg('Данные записаны в файл ',mtInformation,[mbOk],0);

end;

Сайт создан в системе uCoz