Пример 8.1.

Создать программу создания, записи и добавления записи текстового файла. Создать текстовый файл из 5 строк и посмотреть его содержимое. Затем добавить в этот файл еще 5 строк и проверить содержимое итогового файла.

Блок-схема алгоритма

paskal55

Внимание!

  • При работе с файлами в консольном приложении нельзя применять в путях к файлам символов кириллицы.
  • Рекомендуется вводить строки со смыслом, лучше всего числовые – 1, 2, 3…Imax.

Листинг программы

program prg_8_1;

{$mode objfpc}{$H+}

uses

Classes, SysUtils, RusTrans;

const FileDir=’m:\Lazarus_examples\08_1\’;

var

MyFile: text;                                                 // Файловая переменная

FilePath,FileName,Temp: string;                  // Переменные для строк

i,imax: integer;

label

Exit;

begin

writeln(Rus(‘Введите имя файла’));

readln(FileName);

writeln;

FilePath:=FileDir+FileName;                // Путь к файлу

AssignFile(MyFile,FilePath);                // Связь файлом на диске

{$I-}                                                                    // Отключить контроль ошибок

Rewrite(MyFile);                                          // Создать новый файл

{$I+};                                                           // Включить контроль ошибок

if IOResult = 0                                       // Проверить ошибку открытия

then writeln(Rus(‘Спасибо’))

else

begin

writeln(Rus(‘Ошибка’));

readln;

goto Exit;                       // Выход при ошибке

end;

writeln;

imax:=5;

writeln(Rus(‘Введите ‘),imax,Rus(‘ строк’));

for i:=1 to imax do                                        // Повторять imax раз

begin

write(Rus(‘Строка ‘),i,’ = ‘);

readln(Temp);                              // Чтение строки с клавиатуры

writeln(MyFile,Temp);                   // Запись этой строки в файл

end;

CloseFile(MyFile);                                      // Закрыть файл

Reset(MyFile);                                             // Открыть его для проверки

i:=1;

writeln;

writeln(Rus(‘Содержимое файла’));

writeln;

while not EOF(MyFile) do                                   // Повторять до конца файла

begin

readln(MyFile,Temp);                          // Чтение строки из файла

writeln(Rus(‘Строка ‘),i,’ = ‘,Temp); // Вывод строки

i:=i+1;

end;

writeln;

CloseFile(MyFile);                                              // Закрыть файл

{$I-}                                                                           // Отключить контроль ошибок

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

{$I+};                                                                  // Включить контроль ошибок

if IOResult = 0                                             // Проверить ошибку открытия

then writeln(‘OK’)

else

begin

writeln(Rus(‘Ошибка’));

readln;

goto Exit                                       // Выход при ошибке

end;

writeln;

writeln(Rus(‘Введите ‘),imax,Rus(‘ строк’));

for i:=imax+1 to imax*2 do                                   // Повторять imax раз

begin

write(Rus(‘Строка ‘),i,’ = ‘);

readln(Temp);                                      // Чтение строки с клавиатуры

writeln(MyFile,Temp)                          // Запись этой строки в файл

end;

CloseFile(MyFile);                                             // Закрыть файл

Reset(MyFile);                                                   // Открыть его для проверки

i:=1;

writeln;

writeln(Rus(‘Содержимое файла’));

writeln;

while not EOF(MyFile) do                                  // Повторять до конца файла

begin

readln(MyFile,Temp);                         // Чтение строки из файла

writeln(Rus(‘Строка ‘),i,’ = ‘,Temp);     // Вывод строки

i:=i+1;

end;

writeln;

writeln(‘OK’);

readln;

CloseFile(MyFile);                                             // Закрыть файл

Exit:;

end.

Консоль перед закрытием программы:

paskal56

Twitter SEO Community Ваау! News2.ru Chipp Korica SMI2 Google Bookmarks Digg I.ua Закладки Yandex Linkstore Myscoop Communizm Ru-marks Webmarks Ruspace Linkomatic Kli.kz Web-zakladka Zakladok.net Reddit delicious Ma.gnolia Technorati Slashdot Yahoo My Web БобрДобр.ru Memori.ru rucity.com МоёМесто.ru Mister Wong



Copyright © 2009-2010 Программирование на паскале.