![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Функции для выполнения операций с файлами, папками и дискамиСодержание книги
Поиск на нашем сайте
2.1. Для выполнения операций с файлами, папками и дисками в ОС Windows служат следующие системные функции Win32API: CreateDirectory ( LPCTSTR lpPathName, // указатель на буфер, в котором записано наименование создаваемой директории LPSECURITY_ATTRIBUTES lpSecurityAttributes //привилегии создаваемой директории ) – создание директории. Пример: result:=CreateDirectory('A:\TESTDIR', nil);//создаем директорию if not result then MessageDlg('Невозможно создать каталоги!'+#10#13+'Такие каталоги существуют или диск защищен от записи!', mtConfirmation, [mbYes], 0) else begin SetCurrentDirectory('A:\TESTDIR'); CreateDirectory('A:\TESTDIR\NEWDIR', nil); end;
OpenFile ( LPCSTR lpFileName, // указатель на имя создаваемого файла LPOFSTRUCT lpReOpenBuff, UINT uStyle // действия и атрибуты ) - создание файла, используется также для открытия, записи, добавления и т.д. в зависимости от параметра uStyle. Пример: begin MyFile:=OpenFile('A:\TESTDIR\File1.txt',ReOpenBuff,OF_CREATE); buffer:='Текстовая строка'; count:=length(buffer); _lwrite(MyFile,@Buffer[1],count); //записываем в файл _lclose(Myfile); end; В данном примере использованы следующие функции: _lwrite ( HFILE hFile, // хэндл файла LPCSTR lpBuffer, // указатель на буфер, данные из которого записываются в файл UINT uBytes //число байтов, записываемых в файл ) - запись в файл; _close ( HFILE hFile // хэндл закрываемого файла ) – закрыть файл; _lread ( HFILE hFile, // хэндл читаемого файла LPVOID lpBuffer, // указатель на буфер, в который читать UINT uBytes // количество байт, которые нужно читать ) – чтение файла;
_ llseek ( HFILE hFile, // хэндл файла LONG lOffset, // количество байт, на которое сдвигается указатель файла int iOrigin // с какого байта сдвигать ) - позиционирование файла; Пример: Myfile:=_lopen('A:\TESTDIR\File1.txt',OF_READ);//открываем файл count:=8; _llseek(MyFile,4,FILE_BEGIN); //позиционируем открытый файл на 5-й байт от начала файла _lread(MyFile,@Buff,count); // читаем 8 байт ReadFile( HANDLE hFile, // хэндл читаемого файла LPVOID lpBuffer, // указатель на буфер, в который читаем DWORD nNumberOfBytesToRead, // число байт, которые хотим прочесть LPDWORD lpNumberOfBytesRead,// буфер, в который будет записано число прочитанных байт LPOVERLAPPED lpOverlapped // при синхронном вводе значение NULL ) – чтение файла.
SetFilePointer( HANDLE hFile, // хэндл позиционируемого файла LONG lDistanceToMove, // число символов, на которое сдвигаем PLONG lpDistanceToMoveHigh, // старшие 32 разряда числа символов, на которое сдвигаем DWORD dwMoveMethod // откуда сдвигать ) - позиционирование файла.
LockFile( HANDLE hFile, // хэндл блокируемого файла
DWORD dwFileOffsetLow, // младшие 32 разряда DWORD dwFileOffsetHigh,//старшие 32 смещения блокируемой части файла DWORD nNumberOfBytesToLockLow,// младшие 32 разряда DWORD nNumberOfBytesToLockHigh // старшие 32 разряда числа, определяющие размер блокируемой части файла ) - блокирование файла. UnlockFile( HANDLE hFile, // хэндл блокируемого файла DWORD dwFileOffsetLow, // младшие 32 разряда DWORD dwFileOffsetHigh,//старшие 32 смещения блокируемой части файла DWORD nNumberOfBytesToLockLow,// младшие 32 разряда DWORD nNumberOfBytesToLockHigh // старшие 32 разряда числа, определяющие размер блокируемой части файла ) - разблокирование файла. Пример: begin //открываем файл Мyfile:=_lopen('A:\TESTDIR\File1.txt',OF_READWRITE); // читаем 4096 байт в buff ReadFile(MyFile, buff, 4096, dwBytesRead, nil); //позиционируем на конец файла dwPos:= SetFilePointer(MyFile, 0, nil, FILE_END); //блокирум часть файла LockFile(MyFile, dwPos, 0, dwPos + dwBytesRead, 0); buffer:='Дополнительная строка'; count:=length(buffer); //записываем в конец файла то, что содержит переменная buffer _lwrite(MyFile,@Buffer[1],count); //разблокируем часть файла UnlockFile(MyFile, dwPos, 0, dwPos + dwBytesRead, 0); End; SetFileAttributes( LPCTSTR lpFileName, // имя файла DWORD dwFileAttributes // устанавливаемые атрибуты ) – установка атрибутов файла. Пример: attributes:=FILE_ATTRIBUTE_HIDDEN or FILE_ATTRIBUTE_READONLY; result:=SetFileAttributes('A:\TESTDIR\File1.txt',attributes);
MoveFile( LPCTSTR lpExistingFileName,//указатель на буфер с именем файла LPCTSTR lpNewFileName // указатель на буфер с новым именем файла ) – перемещение файла. Пример: result:=MoveFile('A:\TESTDIR\File2.txt','A:\TESTDIR\NEWDIR\File2.txt');
SetVolumeLabel( LPCTSTR lpRootPathName,//корневой каталог LPCTSTR lpVolumeName // метка ) - установка метки. Пример: result:=SetVolumeLabel('A:\'+#0,'LABEL');//устанавливаем метку дискеты
|
|||||
Последнее изменение этой страницы: 2017-02-06; просмотров: 427; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.56.35 (0.01 с.) |