Első információt lemezek

Írásakor egy fájlt a lemezre (különösen, ha a cserélhető adathordozókon - floppy lemezen vagy USB flash meghajtó), kívánatos, hogy az első ellenőrzést, és ha a hely elég? Ehhez a tervezett funkcióját DiskFree (n) és DiskSize (n). Az első visszaadja a szabad lemezterület, kilobájt, a második - a teljes mérete a lemez kilobyte. Funkciók vissza „nagyon hosszú” 64-bites egész típusú INT64. Paraméter n - egy egész szám, amely kódolt lemez: 0 - az aktuális meghajtó, 1 - meghajtó A. 3 - C: meghajtó, stb Például meg lehet jeleníteni információkat a lemezen:

ffFixed, 10,2) + „GB szabadon +

FloatTostrF (DiskFree (d) / 1073741824, ffFixed, 10,2) + 'GB'

FreeSpace funkció a bemeneti szállított a lemez nevét, mint a szöveget, például: „D: \”. Átalakítani a szöveget a lemez neve a sorszámát, akkor a következő módszert: számított meghajtó betűjele kód Chicago (d) [1], és levonjuk belőle a kódot írni A. Ha a meghajtó neve A: \, kivonva megkapjuk 0, C: \ - kap kettes, stb És ha ez a különbség, hogy adjunk egy, akkor az A: meghajtó \ felel meg 1, B: meghajtó \ - 2 ..., szükség szerint. Állandó 1073741824 = 1024 3 átvitelét szolgálja kilobájt gigabájt.

És honnan tudod, hogy mi az összes logikai meghajtót a rendszerben? Ez egyszerű:

HA DirectoryExists (c + ': \') THEN

Végighaladni az összes lehetséges nevét lemezeket C: Z. A hajtások ne érintse, hogy ne megijeszteni a felhasználót. Ha az elérési út a következő lemezt találnak, írja a nevét, a lemez egy dinamikus tömb szöveges karakterláncok. Például egy ilyen funkció is megjelenik a listában TComboBox hajtott elemek:

eljárás TForm1.Button1Click (Sender: TObject);

És hogyan kell meghatározni, hogy mit van dolgunk - a floppy meghajtó, merevlemez, hálózati meghajtó? Mert ez GetDriveType tulajdonsága a Windows API-funkciókat. Vegyük ezt a példát:

CASE GetDriveType (PCHAR (ek)) A

1: Eredmény: = 'Nincs lemez';

DRIVE_REMOVABLE: Eredmény: = 'Drive vagy a Flash';

DRIVE_FIXED: Eredmény: = 'Merevlemez';

DRIVE_REMOTE: Eredmény: = 'A hálózati disk';

DRIVE_RAMDISK: Eredmény: = 'virtuális lemez'

Eredmény: = „Nem sikerült feloldani”

Mivel valamennyi funkciója API a Windows munka mutató szöveges vonósok, tipikusan egy Pascal string típusú STRING át kell alakítani, hogy a mutatót PCHAR működését.

Kapcsolódó cikkek