-
TCrash (08.04.08 20:36) [0]Требуется вывести в список только съемные диски. Проверка типа диска нашел - GetDriveType, но не хочется ведь делать
for i:=byte('A') to byte('Z') do ........
как можно получить список дисков компьютера, возможно в какой-то структуре? -
Тыщ (08.04.08 20:39) [1]Во всех программах видел только GetDriveType.
26 букв перебрать - это не так уж и много. -
> как можно получить список дисков компьютера, возможно в
> какой-то структуре?
GetLogicalDriveStrings -
Тыщ (08.04.08 21:37) [3]trubin © (08.04.08 21:30) [2]
>GetLogicalDriveStrings
Парсить строку с буквами, чтоб все равно перечислять в цикле?!
Тогда уж лучше GetLogicalDrives. -
> Парсить строку с буквами, чтоб все равно перечислять в цикле?
> !
> Тогда уж лучше GetLogicalDrives.
Ему все равно надо диски в список выводить, вот буковки и потребуются.
Впрочем из GetLogicalDrives буковки получить тоже не проблема. -
Кроме того зачем лишний цикл. Диски из строки возвращаемой GetLogicalDriveStrings всеравно в цикле получаешь. Получил диск - проверил, всего и делов ... .
-
Тыщ (08.04.08 22:09) [6]trubin © (08.04.08 22:02) [5]
А я говорю, GetLogicalDrives круче :)uses Windows;
{$APPTYPE CONSOLE}
var
Drives:cardinal;
I:integer;
begin
Drives:=GetLogicalDrives();
for I:=0 to 26 do
begin
if Drives shr I and 1<>0 then
Writeln('Drive '+chr(I+ord('a'))+' available');
end;
end.