|
|
Írásvédett-e az aktuális floppy lemez?
|
|
Példaprogram letöltése
5550 bájt
|
Ha mágneslemezre szeretnénk valamit másolni, akkor nem ártana előtte ellenőrizni, hogy van-e lemez a meghajtóban, és az nem írásvédett-e. Az lenne a legcélszerűbb, ha létrehoznánk egy függvényt, amelyet meghívva egyszerűen megtudhatnánk, hogy írhatunk-e a lemezre, vagy sem.
A megoldás roppant egyszerű! Megpróbálunk egy fájlt létrehozni a megadott meghajtóban lévő lemezen, és ha sikerült, akkor biztos, hogy van lemez a meghajtóban, és az nem írásvédett.
Egy konstansban tároljuk a létrehozandó fájl nevét. Lehetőleg olyan nevet válasszunk, amilyen nevű biztos, hogy nincs a lemezen.
const
TmpFileName = 'as.tmp';
A függvénynek egy paramétere van, méghozzá a meghajtó betűjele, plusz egy ":" karakter. A függvény visszatérési értéke egy logikai érték, ami ha sikerült a fájlt létrehozni, akkor True, ellenkező esetben False. A fájl létrehozásához a TFileStream osztályt fogjuk használni.
function TForm1.CheckMediaWrite(drive :string):boolean;
var fs:TFileStream;
begin
result:=false;
Ellenőrizzük, hogy a drive paraméter megfelelő értéket tartalmaz-e. Ez maximum 2 karakter hosszú lehet, az első karakter egy betű, míg a második egy kettőspont. Ha a paraméter nem felel meg a kritériumoknak, akkor kilépünk a függvényből.
if Length(drive)<>2 then Exit;
if NOT (UpCase(drive[1]) in ['A'..'Z']) or (drive[2]<>':') then Exit;
Megpróbáljuk létrehozni a fájlt a megadott meghajtón. Ezt egy try…except szerkezetben tesszük meg. Ha a fájl létrehozása sikertelen, akkor az except ág fut le, vagyis a függvény visszatérési értéke False lesz. Ha sikerült a fájlt létrehozni, akkor lezárjuk, és rögtön töröljük is, hiszen tovább már nincs rá szükség. Ebben az esetben a visszatérési értéket True-ra állítjuk.
try
fs:=TFileStream.Create(drive+'\'+TmpFileName, fmCreate);
fs.Free;
DeleteFile(drive+'\'+TmpFileName);
result:=True;
except
result:=False;
end;
end;
|
Könyv
Ez a cikk megtalálható ebben a könyvben:
Delphi Software Offline 2001 évkönyv 286. oldal
Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!
|