Следующий фрагмент КОДа Демонстрирует ВЫЗОВ фуНКЦИИ MapViewOfFile:

var

hMappedFile: THandle; pSharedBuf: pchar; begin hMappedFile :=

CreateFileMapping (FHandie, nil, PAGE_READWRITE, 0', o, ' SharedBlock') ;

if (hMappedFile = 0) then

ShowMessage('Mapping error!')

else begin pSharedBuf :=

MapViewOfFile(hMappedFile, FILE_MAP_ALL_ACCESS, 0, 0, 0) ;

if (pSharedBuf = nil) then

ShowMessage ('MapView error' ) ;
end;
end;

После того как получен указатель pSharedBuf, вы можете работать со своим файлом как с обычной областью памяти, не заботясь о вводе, выводе, позиционировании и т. п. Все эти проблемы берет на себя файловая система.

Последние две функции, имеющие отношение к объекту файлового отображения, называются UnMapMewOfFue И CloseHandle. Функция unMapviewof File делает то, что подразумевает ее название. Она прекращает отображение в адресное пространство процесса того файла, который перед этим был отображен При ШУИЩ функции MapViewOf File. ФуНКЦИЯ closeHandle закрывает дескриптор объекта файлового отображения, возвращаемый функцией CreateFileMapping.

ФуНКЦИЯ UnMapViewOfFile Должна вызываться перед функцией CloseHandle. Функции UnMapViewOfFile передает единственный параметр типа указатель:

procedure TClientForm. FormDestroy (Sender: TObject) ;
begin
UnMapViewOfFile(pSharedBuf);
CloseHandle(hFileMapObj);
end;

Отображаемые файлы уже будут использоваться и в других главах этой книги. Не стоит удивляться, ведь это очень мощный инструмент: помимо возможности совместного доступа он позволяет заметно ускорить доступ к файлам, особенно большого размера.

Резюме

При разработке приложений очень часто приходится решать задачи обмена данными между приложениями или приложением и устройством ввода/вывода. При этом большая часть созданного кода обеспечивает работу приложения с файлами.

В этой главе рассмотрены методы, обеспечивающие взаимодействие программы с файловой системой и примеры их использования.

Для организации обмена данными в приложениях используются специальные объекты - потоки, которые не только хранят информацию во время выполнения приложения, но и предоставляют разработчику набор стандартных свойств и методов для управления данными.

Затруднительно сказать, при изучении каких глав будет полезен материал этой главы. Скорее всего, он понадобится везде.

Использование графики

"Одно изображение стоит тысячи слов", - говорил древнекитайский император Сун; его слова верны и в наши времена. 80% информации мозг человека получает по зрительному каналу, и не удивительно, что программисты стараются придать внешнему виду своих программ максимум привлекательности.

Поэтому в Delphi с самого начала появились развитые средства для работы с графическими возможностями Windows. Этому набору объектов и посвящена данная глава.

Графические инструменты Delphi

Разработчики Delphi уделили большое внимание возможностям работы с деловой графикой: простота и удобство ее использования напрямую сказываются на простоте и удобстве созданных приложений. Вместо дебрей графического интерфейса Windows разработчик получил несколько инструментов, сколь понятных, столь же и мощных.


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Август
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс