Вниз
Скачать: CL | DM;

Определение буквы CD   Найти похожие ветки 

 
Dastin   (2004-03-17 16:15) [0]

Уважаемые дельфийцы! Есть такой вопрос: Как определит букву CD и присвоить ее переменной. Если можно на примере и по возможности с пошаговыми комментариями.


 
Jel ©   (2004-03-17 16:25) [1]

GetLogicalDriveStrings + GetDriveType в цикле. Учти, что CD в системе может быть не один.


 
***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....


 
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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
14-1082201078
ShellCreator
2004-04-17 15:24
2004.04.11
Набор в команду OpenSource проекта


1-1082729458
DimonNew
2004-04-23 18:10
2004.04.11
Borders in Excel


1-1080308424
D Purple
2004-03-26 16:40
2004.04.11
как заполнить Array of const массивом array of string или присвои


1-1082575852
jiurasic
2004-04-21 23:30
2004.04.11
Можно ли раскомпилировать DLL библиотеку?


3-1081942503
Соловьев
2004-04-14 15:35
2004.04.11
Execute statement - error :(




   Наверх