Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: 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 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 1.325 c
14-1079519751
Lony
2004-03-17 13:35
2004.04.11
Приводы DVD


1-1080118254
Анонимщик
2004-03-24 11:50
2004.04.11
Расширение - пиктограмма


1-1082413199
Mishenka
2004-04-20 02:19
2004.04.11
Символ в строках


3-1081862519
andruxin
2004-04-13 17:21
2004.04.11
Проблема SQL-запроса на разных ОС.


14-1082007319
Карелин Артем
2004-04-15 09:35
2004.04.11
Посоветуте программу для рассылки.