Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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
14-1080221105
IronHawk
2004-03-25 16:25
2004.05.09
Киевская встреча Мастаков в реале №8


7-1080207963
aleXXoft
2004-03-25 12:46
2004.05.09
Как менять яркость/контраст и т.п. на видюхе?


14-1082119853
syte_ser78
2004-04-16 16:50
2004.05.09
Разделение значения в ячейке


7-1079033075
HepB
2004-03-11 22:24
2004.05.09
Имена приводов и их буквы...


1-1082383546
Vovan>_
2004-04-19 18:05
2004.05.09
О рисовании на Canvas





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский