Опция компиляции
Режимы работы файла
Процедуры и функции общие для всех типов файлов
Файлы
1) Физические (поименованная область на диске)
2) Логические (переменная файлового типа)
Три типа файлов:
1) Типизированные файлы
File – of – базовый тип(любой кроме файловов)
Type TSstudent=record
……
End;
Myfile=file of TStudent
Var
F1:file of byte;
F2:file of integer;
F3:file of array[1..100] of byte;
F4:file of char;
F5:file of myfile;
{Все компоненты нумеруются с нуля}
2) Текстовые файлы
Text
Var t:text
3) Нетипизированные файлы
File
Var t:file
Два типа доступа к файлам:
1) Последовательный (sequential access file) (в текстовых файлах используется только последловательный)
2) Прямой (random access file) (В бинарный и типизированных)
Размер файловой переменной
Var t:file of
Sizeof(?) - 128
Var t:text
Sizeof(?) - 256
Var t:file
Sizeof(f)-128
1) Procedure assignfile (var f; fn:string) (связывает файловую переменную f с физическим файлом на диске)
Например:
a) assignFile(f,’c:\temp\test.pas’)
b) assignFile(f,’ test.pas’)
c) readln(filename); assignFile(f,filename);
d) “con” – консоль (путь файла)
e) ‘prn’ – Принтер
f) ‘lpt1(3)’
|
|
g) ‘aux’ – мультимедийные устройства
h) ‘nul’ –
i) assignFile(f,’ con’)
2) procedure reset(var f) (Открывает файлы для чтения а типизированные и бинарные еще и для записи. После открытия указатель устанавливается на начало файла)
3) procedure rewrite(var f) (Открывает файл для записи. Если файла не существует, то он создастся. Если файл существует – то содержимое файла уничтожается, а указатель устанавливается на начало файла)
4) procedure closefile (var f) (Закрывает открытый файл)
5) function EOF(var f):Boolean (Возвращает значение тру если достигнут признак конца файла)
assignFile(f,’filename’);
reset(f);
writeln(eof(f));
assignFile(f,’filename’);
reset(f);
while not eof(f) do begin
считали оброботали вся фигня лалала что за мачмала под звуки репа у моего окна
end;
closeile(f);
6) Function IOresult:word (После вызова значения «Сбрасывается» в 0. При ошибке после обращения к этой функции выключаются операции ввода вывода.)
1) Закрыт
{Когда файл находится в режиме «закрыт» из файла нельзя считывать информацию, записывать нельзя. Можно переименовывать, удалять, открывать }
2) Файл открыт для чтения (read)
3) Открыт для записи (write)
4) Открыт для записи и чтения
{$I+} – input output (когда плюс – программа прерывается при ошибке ввода вывода. Если отключена, то программа продолжает работать даже при ошибках ввода - вывода)
assignFile(f,’c:\temp\my.pas’);
{$i-}
Reset(f);
{$I+}
If IOresult <>0 then begin
Writeln(‘Ошибка открытия фала’);
Halt(1);{Завершает работу программы}
End;
1) Procedure rename(var f; newfn:string) {Переименовывает файл с которым связана переменная f. Файл получает имя newfn. Переименовывать можно только закрытые и существующие файлы}
Assignfile(f,’temp.tmp’);
Reset(f);
……..
Close(f);
Rename(f,’new.new’);
2) Procedure erase(var f) {Удаляет существующий и закрытый файл}
|
|
3) Procedure mkdir(name:string) {Создает директорию по заданному пути.}
4) Procedure chdir(newdir:string) {изменить текущую рабочую папку}
5) Procedure rmdir(name:string) {Удаляет пустую папку}
6) Procedure getdir(drive:byte; var dir:string); {0-активное устройство. 3-диск С. Пишет путь до текущей рабочей папки}