Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.08;
Скачать: CL | DM;

Вниз

Как получить список дисков в системе   Найти похожие ветки 

 
Самовар глазами чайника   (2007-03-14 17:37) [0]

Как получить список дисков в системе?


 
Gydvin ©   (2007-03-14 17:48) [1]

можно перебрать например так

 for x := 65 to 90 do begin
   if GetDriveType(Pchar(chr(x) + ":\")) <> DRIVE_NO_ROOT_DIR then begin


 
Gydvin ©   (2007-03-14 17:48) [2]

можно перебрать, например так

 for x := 65 to 90 do begin
   if GetDriveType(Pchar(chr(x) + ":\")) <> DRIVE_NO_ROOT_DIR then begin


 
begin...end ©   (2007-03-14 17:49) [3]

См. API-функции GetLogicalDrives, GetLogicalDriveStrings.


 
Чайник глазами самовара   (2007-03-14 18:18) [4]


> begin...end ©   (14.03.07 17:49) [3]
> См. API-функции GetLogicalDrives, GetLogicalDriveStrings


Про это я знал, а ты знаешь, что GetLogicalDriveStrings возвращает почему-то только один диск "A:\"

Может есть какя другие функции?


 
Плохиш ©   (2007-03-14 18:34) [5]


> Чайник глазами самовара   (14.03.07 18:18) [4]
> Про это я знал, а ты знаешь, что GetLogicalDriveStrings
> возвращает почему-то только один диск "A:\"

Враньё. Читай справку, там всё написано.


 
RASkov   (2007-03-14 18:44) [6]

> [4] Чайник глазами самовара   (14.03.07 18:18)

var
 i, j: integer;
 buf: array [0..499] of char;
 DrvStr: array [0..9] of char;
 LogDrives: set of 0..25;
begin
 integer(LogDrives) := GetLogicalDrives;
 for i := 0 to 25 do
   if (i in LogDrives) then
     ListBox1.Items.Add(chr(i + 65));

 GetLogicalDriveStrings(1000, buf);
 i := 0;
 repeat
   FillChar(DrvStr, SizeOf(DrvStr), #0);
   j := 0;
   repeat
     DrvStr[j] := buf[i];
     inc(j);
     inc(i);
   until
     (buf[i] = #0) or (j > 9);
   inc(i);
   ListBox2.Items.Add(DrvStr);
 until
   ((buf[i-1] = #0) and (buf[i] = #0)) or (i > 499);
end;

© Delphi World


 
Плохиш ©   (2007-03-14 18:46) [7]


>  buf: array [0..499] of char;


>  GetLogicalDriveStrings(1000, buf);

Афигенный код...


 
RASkov   (2007-03-14 18:49) [8]

> [7] Плохиш ©   (14.03.07 18:46)
>
> >  buf: array [0..499] of char;
>
>
> >  GetLogicalDriveStrings(1000, buf);
>
> Афигенный код...

:) Согласен...
Заменить на Length(buf)...


 
Плохиш ©   (2007-03-14 18:52) [9]


> Заменить на Length(buf)...

если "..." следует читать как "-1", то да :-)


 
RASkov   (2007-03-14 19:11) [10]

Можно, также, "выдрать" из filectrl.pas реализацию заполнения TDriveComboBox - BuildList;


 
Anatoly Podgoretsky ©   (2007-03-14 19:12) [11]

> Самовар глазами чайника  (14.03.2007 17:37:00)  [0]

Если список, то GetLogicalDriveStrings


 
Чайник глазами самовара   (2007-03-15 18:30) [12]

Я то вообще вот таким методом делал и почему-то только один диск A:\ возвращает,
пока не понемаю почему?

Var Buff: Array[0..1024] of char;
//...................................
GetLogicalDriveStrings(SizeOf(Buff),Buff);
Memo1.Lines.Add(StrPas(Buff));
//.......................................


 
Плохиш ©   (2007-03-15 18:40) [13]


> Чайник глазами самовара   (15.03.07 18:30) [12]


> Плохиш ©   (14.03.07 18:34) [5]
> Враньё. Читай справку, там всё написано.

Что за сутки так и не соизволили справку прочитать, ваше тупое величество?


 
Чайник глазами самовара   (2007-03-15 18:52) [14]

Удалено модератором
Примечание: RO


 
Глина глазами колхозника   (2007-03-15 19:19) [15]


> Что за сутки так и не соизволили справку прочитать, ваше
> тупое величество?


- А почему эту надпись не удалили ведь она не менне оскарбительная?
- Что за лицемерие?


 
Глина глазами колхозника   (2007-03-15 19:27) [16]


> > Что за сутки так и не соизволили справку прочитать, ваше
> > тупое величество?


Может быть этот человек в разьездах и не может в течение суток обратится к справке, значит вот такие вы и есть ?



Страницы: 1 вся ветка

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

Наверх




Память: 0.5 MB
Время: 0.038 c
2-1173891010
Roman_S
2007-03-14 19:50
2007.04.08
форма после завершения процесса не разворачивается


15-1173792956
xayam
2007-03-13 16:35
2007.04.08
Вышла новая версия программы DelphiTo v0.25


2-1173883057
Самовар глазами чайника
2007-03-14 17:37
2007.04.08
Как получить список дисков в системе


15-1173765400
SerJaNT
2007-03-13 08:56
2007.04.08
phpMySQLAdmin


2-1174432039
koha
2007-03-21 02:07
2007.04.08
Function WinSvc.GetServiceDisplayName