КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Файлы Windows
В функциях обработки файлов Windows могут использоваться атрибуты файлов и режимы доступа. Атрибуты файлов задаются именованными константами: faReadOnly (только чтение), faHidden (скрытый), faSysFile (системный), faVolumID (имя диска), faDirectory (каталог), faArchive (архив), faAnyFile (любой). Режимы доступа при открытии файла задаются константами: fmOpenRead (только чтение), fmOpenWrite (запись), fmOpenReadWrite (чтение и запись), fmShareCompat (совместимый с FCB), fmShareExclusive (монопольное использование), fmShareDenyWrite (запрет записи для других приложений), fmShareDenyRead (запрет чтения для других приложений), fmShareDenyNone (многопользовательский разделяемый режим). В системе Windows каждый файл вместо файловой переменной имеет уникальный цифровой дескриптор, называемый обычно Hanle (он обозначен в описаниях процедур и функций буквой H), значение которого формируется функциями открытия файла FileCreate или FileOpen: FileCreate(S) ‑ создание файла под именем S, возвращение его дескриптора. FileOpen(S;M:Integer) ‑ открытие уже существующего файла S в режиме M (комбинация fmXXXX и fmShareXXXX, соединенных операциями Or), и возвращение его дескриптора. Запрещается одновременное использование для одного файла функции и процедур файлов Паскаля и Windows. Приведем список других основных процедур и функций. FileClose(H) ‑ закрытие файла с дескриптором H (см. FileCreat, FileOpen). FileGetDate(H):Integer ‑ возвращает в формате DOS дату и время создания открытого файла с дескриптором H. FileRead(H;Var B;N:Integer):Integer ‑ читает N байтов из открытого файла c дескриптором H в переменную B и возвращает число cчитанных байтов. Обычно переменной B является одномерный массив элементов типа Сhar. FileSeek(H,N,O:Integer):Integer ‑ устанавливает в открытом файле c дескриптором H позицию со смещением N от начала (O=0) текущего положения (O=1) или от конца (O=2) файла соответственно. Возвращает новую позицию или -1 в случае ошибки. FileSetDate(H,A:Integer):Integer ‑ устанавливает в формате DOS дату и время создания (A) открытого файла с дескриптором H и возвращает 0 при успешном выполнении, иначе - код ошибки Windows. Дату можно получить из значения типа TDateTime функцией DateTimeToFileDate. FileWrite(H;B;N:Integer):Integer ‑ записывает N байтов в открытый файл c дескриптором H из переменной B и возвращает число выведенных байтов. Пример: Procedure TForm1.Button1Click(Sender: TObject); //обработка кнопки Var H:Integer; S,Z: Array [1..5] of Char; //объявление переменных Begin Try H:=FileCreate('c:\prim.dat'); //открытие создаваемого файла S:='12345';FileWrite(H,S,SizeOf(S));{вывод S}FileClose(H);//закрытие файла H:=FileOpen('c:\prim.dat',fmOpenRead); //открытие файла для чтения FileSeek(H,‑4,2);//пропуск назад от конца файла 4 байта, текущая позиция 2 FileRead(H,Z,3);//вывести из файла три байта, начиная с текущего второго Label1.Caption:=Copy(Z,1,3); //вывод Z в метку (будет текст: 234) Finally FileClose(H); {закрытие файла в любом случае} End; End;
Дата добавления: 2014-12-08; Просмотров: 392; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |