Delphi programozása - illusztrált saját kezelési kézikönyv a delphi 7 számára a szakemberek számára - használat

Illusztrált önkiszolgáló kézikönyv a Delphi 7 számára szakembereknek

Megjelenítési fájlok használata

Az utóbbi a leginkább szokványos fájlok kezelése - ezek az úgynevezett megjelenítési fájlok.

Általánosságban elmondható, hogy a 32 bites Windows alatt a „memória” kifejezés azt jelenti, hogy nem csak a véletlen hozzáférésű memória (RAM), hanem a memória, a redundáns operációs rendszer a merevlemezen. Ez a fajta memória virtuális memória. A kód és az adatok a merevlemezre a paging rendszeren keresztül vannak leképezve. Lapozott rendszer megjeleníti a lapozófájl (win386.swp Windows 95/98 és pagefile.sys Windows NT). A virtuális memória szükséges töredéke átkerül az oldalfájlból a RAM memóriájába, és így elérhetővé válik.

Egy vagy több alkalmazás megnyithatja a megjelenített fájlt, és így elérheti az objektum adatait. Így az adatok vannak elhelyezve a lapozófájl egy alkalmazás display file lehet elérni, ha más alkalmazások nyitva vannak, és ugyanazt a display file.

A fájlmegjelenítő objektumok létrehozása és használata a Windows API funkciói révén történik. Három funkció van:

funkció CreateFiieMapping (hFile: THandle; IpFileMappingAttributes: PSecurityAttributes; flProtect, dwMaximumSizeHigh, dwMaximumSizeLow:

DWORD; IpName: PChar): THandle;

Az első paraméter THandle típusú. Meg kell felelnie a fájl leírójának, amelyet a createFile függvény használatával már megnyitott. Ha a hFile paraméter értéke SFFFFFFFF. akkor ez a fájlmegjelenítő objektumnak az operációs rendszer oldalfájljához való kötődését eredményezi.

A második paraméter a TSecurityAttributes bejegyzés mutatója. A Windows NT adatvédelmi követelményeinek hiányában ennek a paraméternek a értéke mindig nulla. A harmadik paraméter DWORD típusú. Ez határozza meg a biztonsági tulajdonságot. Ha az adatokat a megjelenített fájl használatával kívánja megosztani, akkor a harmadik paramétert PAGE_READWRITE értékre kell állítani.

A negyedik és az ötödik paraméter szintén DWORD típusú. Amikor létrehozta a CreateFiieMapping funkciót. a negyedik paraméter DWORD-típusának értéke négy bájt balra tolódik, majd az ötödik paraméter értékével és a művelettel együtt. Egyszerűen fogalmazva, az értékek egy 64 bites számhoz vannak hozzárendelve, ami megegyezik a fájlmegjelenítő objektumhoz rendelt memória mennyiségével az operációs rendszer fájl oldaláról. Mivel nem valószínű, hogy több mint 4 GB adatot kíván allokálni, a negyedik paraméter értéke mindig nulla legyen. A használt ötödik paraméternek azt kell jeleznie, hogy a bájtban tárolt memória mennyi memória legyen osztva. Ha a teljes fájlt szeretné megjeleníteni, a negyedik és az ötödik paraméternek nullanak kell lennie.

A hatodik paraméter PChar típusú, és a fájlmegjelenítő objektum neve.

A CreateFileMapping funkció THandle típusú értéket ad vissza. Ha sikeres, a függvény által visszaadott érték a létrehozott fájlmegjelenítő objektum leírója. Ha hiba történik, a visszatérési érték 0 lesz.

funkció MapViewOfFile (hFileMappingObject: THandle; dwDesiredAccess:

DWORD; dwFileOffsetHigh, dwFileOffsetLow, dwNumberOfBytesToMap: DWORD):

Az első paraméter THandle típusú. Értékének a létrehozott fájlmegjelenítő objektum leírójának kell lennie - amely a createFileMapping függvény visszatér. A második paraméter a fájl mód: FILE_MAP_WRITE, FILE_MAP_READ vagy FILE_MAP_ALL_ACCESS.

A harmadik és negyedik paraméter DWORD típusú. Ez a megjelenített terület eltolása a fájl kezdetéhez képest byte-ban. Esetünkben ezeket a paramétereket nulla értékre kell állítani, mivel az értéket a MapViewOfFile (ötödik) (utolsó) paraméterének adjuk meg. szintén nulla.

A MapViewOfFile funkció ötödik (és utolsó) paramétere. valamint az előző paraméterek DWORD típusúak. A folyamatban megjelenítendő fájlmegjelenítő objektum adatainak mennyiségét (bájtban) határozza meg (elérhetővé tegye az Ön számára). Céljaink elérése érdekében ezt az értéket nulla értékre kell állítani, ami azt jelenti, hogy a funkció elé kiosztott összes adat automatikusan megjelenik

A MapViewOfFile függvény által visszaadott érték. a "mutató" típus.

A következő kódfájl mutatja a MapViewOfFile funkciót.

hMappedFile: THandle; pSharedBuf: PChar;

CreateFiieMapping (FHandle, null, PAGE_READWRITE, 0, 0, 'SharedBlock');

Kapcsolódó cikkek