Форум: "Система";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизОпределение буквы CD Найти похожие ветки
← →
Dastin (2004-03-17 16:15) [0]Уважаемые дельфийцы! Есть такой вопрос: Как определит букву CD и присвоить ее переменной. Если можно на примере и по возможности с пошаговыми комментариями.
← →
Dastin (2004-03-17 16:15) [0]Уважаемые дельфийцы! Есть такой вопрос: Как определит букву CD и присвоить ее переменной. Если можно на примере и по возможности с пошаговыми комментариями.
← →
Jel © (2004-03-17 16:25) [1]GetLogicalDriveStrings + GetDriveType в цикле. Учти, что CD в системе может быть не один.
← →
Jel © (2004-03-17 16:25) [1]GetLogicalDriveStrings + GetDriveType в цикле. Учти, что CD в системе может быть не один.
← →
***ghost*** (2004-03-17 18:16) [2]Блин... я тоже над этим мужусь, пошагово и с примером пожалуйста...
← →
***ghost*** (2004-03-17 18:16) [2]Блин... я тоже над этим мужусь, пошагово и с примером пожалуйста...
← →
Stvaffniy © (2004-03-17 18:34) [3]Naydi u sebya v dirrektorii .....\Delphi\Sources\....
Kajetsy, file FileCtrl.pas v nem est´ vpolne prilichnyyj primer.
P.S. Esli oshibayus - izvinyayus, moyj komp daleko....
← →
Stvaffniy © (2004-03-17 18:34) [3]Naydi u sebya v dirrektorii .....\Delphi\Sources\....
Kajetsy, file FileCtrl.pas v nem est´ vpolne prilichnyyj primer.
P.S. Esli oshibayus - izvinyayus, moyj komp daleko....
← →
Ozone © (2004-03-19 11:28) [4]Вот писал недавно процедурку определения кол-ва доступной и свободной памяти на физических дисках.
Здесь перебираются все диски и определяется их тип (в твоем случае нужно проверять GetDriveType(tmp) = DRIVE_FIXEDDRIVE_CDROM)
procedure GetPhysMem(var mTotal, mFree: string);
var
Buff, tmp: LPTSTR;
s: string;
lpAFreeB, lpNumBytes, lpNumFreeBytes: PLargeINTEGER;
totalMemory, freeMemory: Extended;
begin
totalMemory := 0.0; freeMemory := 0.0;
GetMem(Buff,sizeof(LPTSTR)*255);
GetLogicalDriveStrings(255,Buff);
tmp := Buff;
while true do begin
s := tmp;
if s = "" then break;
if GetDriveType(tmp) = DRIVE_FIXED then begin
new(lpAFreeB); new(lpNumBytes);
GetDiskFreeSpaceEx(tmp, lpAFreeB^, lpNumBytes^, lpNumFreeBytes);
totalMemory := totalMemory + lpNumBytes^ / (1024*1024*1024);
freeMemory := freeMemory + lpNumFreeBytes^ / (1024*1024*1024);
dispose(lpAFreeB); dispose(lpNumBytes);
end;
tmp := tmp + length(tmp)+1;
end;
FreeMem(Buff,sizeof(LPTSTR)*255);
if totalMemory <> 0.0 then
mTotal := FormatFloat("0.00",totalMemory)+" Гб"
else
mTotal := "0 Гб";
if freeMemory <> 0.0 then
mFree := FormatFloat("0.00",freeMemory)+" Гб"
else
mFree := "0 Гб";
end;
← →
Ozone © (2004-03-19 11:28) [4]Вот писал недавно процедурку определения кол-ва доступной и свободной памяти на физических дисках.
Здесь перебираются все диски и определяется их тип (в твоем случае нужно проверять GetDriveType(tmp) = DRIVE_FIXEDDRIVE_CDROM)
procedure GetPhysMem(var mTotal, mFree: string);
var
Buff, tmp: LPTSTR;
s: string;
lpAFreeB, lpNumBytes, lpNumFreeBytes: PLargeINTEGER;
totalMemory, freeMemory: Extended;
begin
totalMemory := 0.0; freeMemory := 0.0;
GetMem(Buff,sizeof(LPTSTR)*255);
GetLogicalDriveStrings(255,Buff);
tmp := Buff;
while true do begin
s := tmp;
if s = "" then break;
if GetDriveType(tmp) = DRIVE_FIXED then begin
new(lpAFreeB); new(lpNumBytes);
GetDiskFreeSpaceEx(tmp, lpAFreeB^, lpNumBytes^, lpNumFreeBytes);
totalMemory := totalMemory + lpNumBytes^ / (1024*1024*1024);
freeMemory := freeMemory + lpNumFreeBytes^ / (1024*1024*1024);
dispose(lpAFreeB); dispose(lpNumBytes);
end;
tmp := tmp + length(tmp)+1;
end;
FreeMem(Buff,sizeof(LPTSTR)*255);
if totalMemory <> 0.0 then
mTotal := FormatFloat("0.00",totalMemory)+" Гб"
else
mTotal := "0 Гб";
if freeMemory <> 0.0 then
mFree := FormatFloat("0.00",freeMemory)+" Гб"
else
mFree := "0 Гб";
end;
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.042 c