Изучение языка программирования
Турбо Паскаль (Turbo Pascal)

На этом сайте можно: скачать среду программирвания Турбо Паскаль, изучить язык программирования Турбо Паскаль, а так же скачать программы на языке Турбо Паскаль!
Решенные задачи на языке Паскаль



Условие задачи - придумал я.

Написать программу, которая открывает текстовый файл (тип файла - text) и считывает из него строку. Если файл неудается открыть (например, файл не существует), тогда программа сама создает этот файл и записывает в него строку.
Программу написать с применением директив компилятора {$I-} и {$I+}.

VAR
f: text;
st: string;
BEGIN
{$I-}
assign(f, 'my_file.txt');
reset(f);
{$I+}
if ioresult=0 then
 begin
  readln(f, st);
  writeln('Файл "my_file.txt" существовал!');
  writeln('Считанная из файла строка: ', st);
 end else
 begin
  rewrite(f);
  st:='This was in file!';
  writeln(f, st);
  writeln('Файл "my_file.txt" не существовал!');
  writeln('Записанная в файл строка: ', st);
 end;
close(f);
END.
* переменная f - это файловая переменная типа text;
* переменная st - строка, которая считывается из файла или записывается в него.

Итак, сначала программа должна попытаться открыть файл. Так как мы не знаем точно, что нужный файл существует - нужно применить директиву компилятора {$I-} при открытии файла. Ну а затем {$I+} так как могут возникнуть другие ошибки, которые мы не стали проверять, но при выполнении программы они могут возникнуть и мы их даже не заметим.
Теперь, когда мы выключили проверку на ошибки, нужно самим проверять их. Для этого используем функцию IOResult, которая возвращает 0 (ноль) если ошибок не было и не нулевое значение, если они были.
А дальше все просто, если ошибки при открытии файла не было, то считываем из файла строку, в противном случае создаем такой файл и записываем в него строку.