- •Программирование.
- •Формальные параметры – это переменные, фиктивно (формально) присутствующие в процедуре и определяющие тип и место подстановки фактических параметров.
- •6. Описание функции содержит ее имя, тип возвращаемого значения (если оно есть) и число и типы параметров, которые должны задаваться при вызове функции. Например:
- •7.Рекурсия в программировании
- •8. Описание файлов
- •1. Если размер записи не указан, подразумевается 128 байт (по умолчанию).
- •2. Обычно размер записи равен размеру кластера на устройстве (для дискет - 512 байт) или 1 байт.
- •Var f1: file of double; buf: double; II: byte;
- •14.2.1. Управление файлами
- •14.2.2. Последовательный ввод-вывода
- •14.2.3. Спецификация пакета последовательного ввода-вывода
- •14.2.4. Прямой ввод-вывод
- •14.2.5. Спецификация пакета прямого ввода-вывода
- •13. Абстракция
- •21. Редактор кода и текста
- •Visual Studio 2010
- •36. Размещение и настройка компонентов на форме
8. Описание файлов
Типизированные файлы.
Описание типа:
type <имя типа> = file of <тип компонентов (ЗАПИСЕЙ);> Этот тип можно назвать базовым типом для файла. Например:
type dbfil = file of double; ar1 = array [1..20] of Integer;
fiar = file of ar1;
Описание файловых переменных:
var <имя переменной> = <имя типа (файлового)>; Например: db1: dbfil; db2: file of double;
Нетипизированные файлы.
Описание типа:
type <имя типа> = file; Например:
type nf = file;
Описание файловых переменных:
var <имя переменной> = <имя типа (файлового)>; Например: fff: nf; fara: file;
Текстовые файлы.
Описание типа:
type <имя типа> = Text; (В Делфи: <имя типа> = TextFile) Например:
type tx1 = Text;
Описание файловых переменных:
var <имя переменной> = <имя типа (файлового)>; Например: tfu: tx1; ftx: text;
Связывание имени файла с файловой переменной
То есть мы должны объявить, что такому-то идентификатору (файловой переменной) соответствует имя файла на диске (включая устройство и путь). Для этого используется процедура Assign (в Делфи - AssignFile).
Синтаксис:
Assign(<файловая переменная, т е идентификатор>,<выражение строкового типа>); Примеры:
Assign(tfu,'MyFile.txt'); Assign(fff,'.\dano.dat'); Assign(fara,'..\ff\ras2.dat'); Assign(fara,'D:\copy6\ras2.dat');Процедура Assign применяется одинаково ко всем файловым типам. Если при вызове Assign для текстового файла не указана файловая переменная, то подразумеваются стандартные переменные: Input - клавиатура и Output - экран. Если вызывать read, readln или write, writeln без указания файловой переменной, также ввод будет с клавиатуры, а вывод - на экран.
Начало работы с файлом.
Чтобы начать работу с файлом, нужно вызвать процедуру reset или rewrite.
Синтаксис:
Типизированные и текстовые файлы:
Reset(<файловая переменная>); Пример: reset(db2);
Открывается СУЩЕСТВУЮЩИЙ файл, который соединен с этой переменной процедурой Assign. Файловый указатель ставится на начало файла (позиция = 0). ( После чего файл готов к чтению/записи первой записи).
ReWrite(<файловая переменная>) Пример: rewrite(db2);
Открывается новый пустой файл и ему присваивается имя, заданное в процедуре Assign. Если файл с таким именем уже существует, он очищается. Файловый указатель ставится на начало файла (позиция = 0). ( После чего файл готов к записи первой записи, а после появления записей - к их чтению. При этом переставить файловый указатель можно либо процедурой reset, либо процедурой seek, описанной далее).Дополнительно - текстовые файлы можно открыть для добавления данных в конец файла:
Append(<файловая переменная>); Например: Append(ftx);
Удобно при налаживании программы выводить данные, используя пары: close; append; <записать порцию данных> close; append; <записать порцию данных>... и т д
Если убрать close, то нет гарантии, что все данные, которые "записаны" останутся в файле на диске.
Нетипизированные файлы.
Reset(<файловая переменная>,[<размер записи>]); Пример: reset(fara,512);
Примечания: