Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


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

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


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


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


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


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


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


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


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

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


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


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


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

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


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

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

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


Anatoly Podgoretsky   (2007-03-14 19:12:00) [6]

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

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


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

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


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


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

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


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

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

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


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


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


>  GetLogicalDriveStrings( 1000, buf);

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


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

> [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:34:00) [12]


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

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


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


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


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

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


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

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


Gydvin   (2007-03-14 17:48:00) [15]

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

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


Gydvin   (2007-03-14 17:48:00) [16]

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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо