Object Pascal
Категория реферата: Рефераты по информатике, программированию
Теги реферата: реферат на тему общество, автомобили реферат доход реферат
Добавил(а) на сайт: Дайнеко.
Предыдущая страница реферата | 30 31 32 33 34 35 36 37 38 39 40 | Следующая страница реферата
1: {запись прочитана}
if (g.Born = BornYear) then { студент имеет требуемый год рождения}
begin
BlockWrite(f2, g, 1, i); {запись в файл-приёмник}
If (i > 0) then Inc(Count) {если записано правильно}
else
begin Ind:= 1; Break; End; {записано неверно, сразу выход из цикла}
end; {if}
0: begin Ind:= -1; Break; end; {запись не прочитана, сразу выход из цикла}
end; {Case}
end; {цикла For}
finally
CloseFile(f1); {закрываем файл-источник}
CloseFile(f2); {закрываем файл-приёмник}
end; {блока try – finally – end}
End {If };
End {StudsCopy};
Операторы, реализующие копирование требуемых данных в файл '1979.bs':
StudsCopy ('AllStuds.bs', '1979.bs', 1979, Count1979, Ind1979);
Case Ind1979 of
-1: Writeln('Зафиксирована ошибка чтения');
1: Writeln('Зафиксирована ошибка записи');
0: Writeln('Процесс прошел нормально');
end; {Case}
Writeln('Скопировано записей: ' + IntToStr(Count1979));
В этом примере использована внешняя процедура KdnFileSize {количество записей в файле }. Приведем ее текст:
function KdnFileSize(nF: ShortString, Siz: Word): LongInt;
{nF – имя файла, Siz – размер одной записи }
Var
F: File;
L: LongInt;
Begin
L:=0;
If FileExists(nF) then
begin
Assign(f, nF);
Reset(f,1);
L:= SizeOf(f);
If not (L mod Siz = 0) then Writeln('Файл ' + nF + имеет другой тип');
L:= L div Siz;
CloseFile(f);
End;
Result:= L;
End;
17.5. Процедуры и функции для работы с файлами
Эти подпрограммы предназначены для работы с файлами, папками (директориями) и дисками.
Procedure ChDir(Dir: String);
Делает папку Dir текущей. Пример: ChDir('c:');
Procedure GetDir(D: Byte; Var Dir: String);
Возвращает текущую папку на заданном устройстве. (D= 0 – текущий диск, 1 – диск А, 2 – диск B и т.д.). Пример: GetDir(0, s);
Procedure RmDir(Dir: String);
Уничтожает заданную папку. Папка не должна содержать вложенных папок или файлов. Пример: RmDir('Folder66');
Procedure Erase(f);
Удаляет файл, связанный с файловой переменной f. Файл должен быть закрыт.
Procedure Rename(f, FileName: String);
Переименовывает файл, связанный с файловой переменной f. Файл должен быть закрыт. Пример: Rename(g, 'studs.txt');
Function DiskFree(D: byte): LongInt;
Возвращает количество свободной памяти в байтах на устройстве D. Код драйвера задается так же, как в процедуре GetDir. Если код указан неверно, то возвращает -1.
Function DiskSize(D: byte): LongInt;
Возвращает количество свободной памяти в байтах на устройстве D. Код драйвера задается так же, как в процедуре GetDir. Если код указан неверно, то возвращает -1.
Function FindFirst(const Path: string; Attr: Integer;
var F: TSearchRec): Integer;
Находит имя первого файла с заданными атрибутами Attr в папке Path. Результат поиска выводит в переменную F. Если поиск успешен, то функция вернет 0, иначе вернет код ошибки Widows. К FindFirst можно обращаться не только как к функции, но и как к процедуре.
Атрибуты файла приведены в табл. 17.
Таблица 17
Атрибут |
Описание файлов |
faReadOnly faHidden faSysFile faVolumeID faDirectory faArchive faAnyFile |
Файлы "Только для чтения" Скрытые файлы Системные файлы Файл ID-значений Папки (директории) Архивы (файлы) Все файлы |
Тип, характеризующий найденный файл, представляет запись вида :
type
TSearchRec = Record
Time: Integer; {время}
Size: Integer; {размер файла в байтах}
Attr: Integer; {атрибуты файла}
Name: TFileName; {DOS-путь файла}
ExcludeAttr: Integer;
FindHandle: THandle;
FindData: TWin32FindData; {дополнительная информация о файле}
end;
Пример:
Var
SR: TSearchRec;
S: String;
…
FindFirst('c:Program Filesdelphi4bin*.*', faAnyFile, SR);
if (SR.Attr = faArchive) then
Рекомендуем скачать другие рефераты по теме: конспект, ответы на кроссворды.
Предыдущая страница реферата | 30 31 32 33 34 35 36 37 38 39 40 | Следующая страница реферата