Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Р7_File_печать.doc
Скачиваний:
0
Добавлен:
02.01.2020
Размер:
184.32 Кб
Скачать

Обработка текстовых файлов Пример 5. Запись в тестовый файл

Дано: поле Memo с введённым многострочным текстом.

Требуется записать в файл текст из поля Memo.

В разделе implementation описаны:

Var F : TextFile; //текстовый файл

………………………

{текст процедуры обработки события, например “Нажатие кнопки”}

begin

if SaveDialog1.Execute //выполняется диалог ‘Сохранить как’

then begin //введено имя файла

AssignFile(F, SaveDialog1.FileName;);

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

Write(F, Memo1.Text); //записывается тест из Memo1

end;

CloseFile(F);

……….

Пример 6. Добавление записей в конец тестового файла

Дано: поле Memo с введённым многострочным текстом.

Требуется записать в файл текст из поля Memo.

В разделе implementation описаны:

Var F : TextFile; //текстовый файл

………………………

{текст процедуры обработки события, например “Нажатие кнопки”}

var S :String; //строка текстового файла

begin

if OpenDialog1.Execute //выполняется диалог ‘Открыть’

then AssignFile(F, OpenDialog1. FileName);

{$I-} //отключён контроль ввода-вывода

Append(F); // открыт на запись в конец файла

{$I+} //включён контроль ввода-вывода

if IOresult = 0

Then Write(F, Memo1.Text) //ошибок нет – запись в файл

Else Exit;

………………………..

Пример 7. Обработка текстового файла

Дано: текстовый файл.

Требуется подсчитать количество символов Sym_S и количество строк Str_S в текстовом файле.

Постановка задачи.

  • Начальные значения кол-во символов Sym_S и количество строк Str_S положим равными 0;

  • определим вспомогательную строковую переменную S

  • в цикле, пока не будет достигнут конец файла считываем строку S;

увеличиваем Str_S на 1 Inc(Str_S);

определяться длина строки Length(S) и прибавляем к Sym_S.

В разделе implementation описаны:

Var F : TextFile; //текстовый файл

………………………

{текст процедуры обработки события, например “Нажатие кнопки”}

var S: String; //вспомогательная переменная

Sym_S, Str_S: Integer; //кол-во символов и кол-во строк

begin

if OpenDialog1.Execute

AssignFile(F, OpenDialog1.FileName);

{$I-} //отключён контроль ввода-вывода

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

{$I+} //включён контроль ввода-вывода

if IOresult = 0 //ошибок нет

Then

ShowMessage(OpenDialog1.FileName );

else exit;

Sym_S:= 0; //начальное кол-во символов

Str_S :=0; //начальное кол-во строк

While Not Eof(F) do //пока не конец файла

Begin

ReadLn(F, S); //считать строку

Inc(Str_S); //увеличить Str_S на 1

Inc(Sym_S, Length(S)); //увеличить S на длину строки

End;

CloseFile(F);

{Распечатка результатов}

Label1.Caption :=' Символов '+ IntToStr(Sym_S)+ ' Строк '+ IntToStr(Str_S);

End.

Нетипизованные файлы

Нетипизованные файлы объявляются как файловые переменные типа File и отличаются тем, что для них не указан тип компонентов. Отсутствие типа делает эти файлы, с одной стороны, совместимыми с любыми другими файлами, а с другой - позволяет организовать высокоскоростной обмен данными между диском и памятью.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]