Файловые переменные

С файловыми переменными тесно связаны и сами файлы. Но для чтения, записи и создания файлов нужно определиться с его типом. В Delphi эту тему мы рассмотрим более подробнее. Ведь есть множество таких форматов, которые открыть нелегко (а может даже и невозможно) с помощью посторонних приложений.

Итак, в Паскале, в зависимости от самого файла, переменную можно описать следующим образом:

  1. Текстовый файл var f:text;
  2. Типизированный файл var имя:file of тип;
    Предварительно можно определить новый тип данных
  3. Бестиповый файл var имя:file.

Функции для обработки файлов:

Функция Описание Образец
Assign(f,s) Процедура, связывающая файловую переменную f, с полным именем файла s. var f:file of real;
Begin
Assign(f,’c:\Tp\abc.txt’);
Eof(f) Функция, для проверки достижения конца файла. While not EOF(f) do
Begin
{пока не достигнут конец файла делай…}
Reset(f) Файл f открыт для чтения и доступен его первый элемент, далее можно выполнять чтение и запись информации из файла.
Rewrite(f) Процедура, которая открывает и очищает файл для новой записи.
Close(f) Закрывает файл. После записи информации в файл его необходимо обязательно закрыть, при чтении закрывать файл не обязательно.
Rename(f,s) Процедура переименования файла, где f – файловая переменная, s – новое имя файла (строковая переменная).
Erase(f) Процедура для удаления файла связанного с переменной f. Для корректного выполнения удаления, файл должен быть закрыт.
Append(f) Процедура для добавления информации в конец файла.
Read(f,x1,x2,…,xn)
Read(f,x)
Операторы, которые последовательно считывают компонент из файла в указанные переменные. Процедура read не проверяет, достигнут ли конец файла. За этим нужно следить с помощью функции EOF.
Write(f,x1,x2,…,xn)
Write(f,x)
Оператор последовательно записывающий в файл значения переменных.

Типы файлов и переменных должны совпадать, кроме текстовых файлов, в них переменные могут быть целого, вещественного, символьного, строкового типа.

  • Для того, чтобы создать файл, необходимо:
  1. Описать файловую переменную.
  2. Связать ее с физическим файлом.
  3. Открыть файл для записи.
  4. Внести необходимую информацию в файл (пользуясь циклом FOR).
  5. Обязательно закрыть файл.
  • Для считывания информации из файла нужно:
  1. Описать файловую переменную.
  2. Связать ее с физическим файлом.
  3. Открыть файл для чтения.
  4. Считать необходимую информацию (проверить, достигнут ли конец файла).
  5. Закрыть файл.

В Delphi не раз получается, что открывается сначала один файл, затем другой и в итоге компилятор выдает ошибку. Почему? Дело в том, что после считывания информации из первого файла программист забывает его закрыть. Поэтому, чтобы в будущем не возникало никаких ошибок, давайте будем всегда его закрывать, независимо от того открыт он для чтения или же для записи.

Полный код программы, показывающий запись n действительных чисел в файл:

Полный код программы, иллюстрирующий вывод на экран содержимое файла:

Интересно, что если открыть этот полученный файл вещественного типа с помощью «Блокнот», то будет что-то вроде этого:

ѓ ѓ @Ѓ ‚ „ „ „ ‚ @ѓ ѓ `

А вот если тип файла будет текстовым (file of text), то данные легко отобразятся в «Блокноте». Напомним, что при вещественном типе файла, значения можно вводить только с помощью чисел (в том числе и дробных), а вот если тип файла текстовый – вводить можно любой символ, который есть на клавиатуре.

Попробуйте поэкспериментировать с различными типами файла (real, integer, byte, text, word, longint, single, double, extended).

Задания:

      • Увеличить число, находящееся в текстовом файле input.txt, в два раза. Результат записать в файл output.txt.
      • В единственной строке файла input.txt записано через пробел два числа в следующем виде: 2 3. Записать в файл output.txt сумму этих чисел.
      • Дан текстовый файл input.txt, состоящий из двух строк. Первая строка хранит одно число — количество элементов массива (n:integer), вторая — элементы массива. Разработать программу, которая наименьший элемент массива поместит на первое место, наименьший из оставшихся — на последнее, следующий по величине — на второе место, следующий — на предпоследнее и так далее — до середины массива. Результат записать через пробел в одну строку выходного файла output.txt. Пример:
        INPUT.TXT OUTPUT.TXT
        5
        1 2 3 4 5
        1 3 5 4 2


<<Предыдущая статья                                     Следующая статья >>

Автор

admin

Программист - техник, разработчик сайтов и программного обеспечения, владелец сервера, администратор сайта "Немного о компьютере..."

Файловые переменные: 4 комментария

    1. Добрый день! Если Вы имеете ввиду источник данной статьи — я её автор. Конечно, в Интернете есть немало статей на подобную тему, даже некоторые предложения могут совпадать, однако на каждом сайте ведётся свой стиль изложения, пояснения, примеры и т.п.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *