HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Í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;

Cikksorozat

#IDKategóriaCikk címeSorozat
3333WindowsNet Shell parancsok1. rész
3367WindowsNet Shell parancsok2. rész
3396WindowsNet Shell parancsok3. rész


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!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |