Получение списка дисков

Тема в разделе "Delphi - FAQ", создана пользователем Jeefo, 29 фев 2008.

  1. Jeefo

    Jeefo Гость

    Вот прошел по книжечке поиск файлов, научился получать список файлов из директории. А про получение списка дисков увы ничего автор не написал... Просветите, подскажите функцию пожалуйста :)
     
  2. zubr

    zubr Гость

    1. Используя API-функцию GetLogicalDriveStrings определяем список всех дисков системы.
    2. Используя API-функцию GetDriveType, определяем какие из них логические (отсекаем съемные диски).
     
  3. Jeefo

    Jeefo Гость

    zubr
    За функции огромное спасибо, но нельзя бы примерчик небольшой с использованием и той и другой? А то из описания не пойму, какой буффер и что в него запишется :-(
     
  4. zubr

    zubr Гость

    Код (Text):
    procedure GetFixedDrives(var Drives:TStringList);
    var
    buf, bufNew:PChar;
    s:string;
    lenBuf:Integer;
    begin
    lenBuf:=GetLogicalDriveStrings(0, nil);
    buf:=StrAlloc(lenBuf);
    try
    FillChar(buf^, lenBuf, #0);
    GetLogicalDriveStrings(lenBuf, buf);
    bufNew:=buf;
    s:=string(bufNew);
    repeat
    If GetDriveType(PChar(s))=DRIVE_FIXED then
    Drives.Add(s);
    bufNew:=PChar(Integer(StrScan(bufNew, #0)+1));
    s:=string(bufNew);
    lenBuf:=lenBuf-1-Length(s);
    until (lenBuf<=0) or (s='');
    finally
    StrDispose(buf);
    end;
    end;
     
  5. Jeefo

    Jeefo Гость

    zubr
    Спасибо, попробую разобраться :)
     
Загрузка...

Поделиться этой страницей