View Full Version : چطور میشه فهمید سی دی داخل درایو وجود داره یا نه
mehdi_moosavi
شنبه 20 فروردین 1384, 22:56 عصر
سلام
وقت همه دوستان بخیر
چطور میشه فهمید سی دی داخل درایو وجود داره یا نه
البته بدون هیچ error
با تشکر
m-khorsandi
یک شنبه 21 فروردین 1384, 08:02 صبح
درود
function CDPresent(DriveLetter: String): Boolean;
var
found: Integer;
begin
found := FindFirst(DriveLetter+':\',faAnyFile,sr);
if found = 21 then
result := false
else
result := true;
end;
این راه به من جواب داده. Function رو با اسم درایو صدا بزن.
شاید اینطور ساده تر باشه:)ربیعی)
function CDPresent(DriveLetter: String): Boolean;
begin
Result := FindFirst(DriveLetter+':\',faAnyFile,sr)<>21;
end;
mehdi_moosavi
یک شنبه 21 فروردین 1384, 08:46 صبح
سلام
درود بی پایان به شما
مشکل من با این کد حل میشه فقط یه اشکال کوچیک وقتی پیش میاد که سی دی خالی باشه
با تشکر
m-khorsandi
یک شنبه 21 فروردین 1384, 13:03 عصر
مهدی جان این رو امتحان کن:
function DiskInDrive(Drive: Char): Boolean;
var
ErrorMode: Word;
begin
if Drive in ['a'..'z'] then
Dec(Drive, $20);
if not (Drive in ['A'..'Z']) then
raise EConvertError.Create('Not a valid drive ID');
ErrorMode := SetErrorMode(SEM_FailCriticalErrors);
try
if DiskSize(Ord(Drive) - $40) = -1 then
Result := False
else
Result := True;
finally
SetErrorMode(ErrorMode);
end;
end;
نگو که نمیشه!!!
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.