![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как полчить спсиок всех дисков?
qwen © (2002-06-08 00:03:00)Сабж. Перебор всех буковок и приверка на существование такого диска, имхо, не самый удачный вариант...
Dimka Maslov (2002-06-11 09:36:00) [1]
procedure GetLogicalDriveList(const List: TStrings);
var
Size, Pos: Cardinal;
Buffer: array[0..127] of AnsiChar;
P: PChar;
begin
List.BeginUpdate;
try
List.Clear;
Size:=GetLogicalDriveStrings(SizeOf(Buffer), Buffer);
Pos:=0;
while Pos<Size do begin
P:=@Buffer[Pos];
List.Add(P);
while Buffer[Pos]<>#0 do Inc(Pos);
Inc(Pos);
end;
finally
List.EndUpdate;
end;
end;
cypher (2002-06-10 23:08:00) [2]все-таки цикл перебора a..z - имхо не умное занятие,
GetLogicalDrive и GetLogicalDriveStrings - API-функции для этого
Poirot (2002-06-08 20:45:00) [3]
> Quest
Извиняйте, но вы просто чувака не поняли... харды - в смысле нот ремувабле (фиксид) диски... т.е. даже не диски а тома....
Вам бы советом Song воспользоваться....
Quest (2002-06-08 18:09:00) [4]>> allrussia©
хочу поправить, не "харды", а логические диски.
Song (2002-06-08 17:04:00) [5]Цикл от A до Z с GetDriveType()
cyborg (2002-06-08 09:43:00) [6]http://delphibase.endimus.com/?action=viewfunc&topic=harddisk&index=6
allrussia (2002-06-08 04:19:00) [7]Добавляет только харды в комбо:
procedure GetDrives(ComboBox: TComboBox);
var
I: integer;
LogDrives: set of 0..25;
DrvLetter: Char;
begin
Integer(LogDrives):=GetLogicalDrives;
for I := 0 to 25 do
if (I in LogDrives) then begin
DrvLetter:=Chr(I + 65);
if GetDriveType(PChar(DrvLetter+":\"))=DRIVE_FIXED then
ComboBox.Items.Add(DrvLetter);
end;
ComboBox.ItemIndex:=0;
end;
qwen (2002-06-08 00:11:00) [8]не... мне программно... уже и не нада, уже нашел...
если кому интересно - GetLogicalDriveStrings
Shrek (2002-06-08 00:10:00) [9]А почему не используеш компонент DriveComboBox?