|
Вопрос # 959/ вопрос решён / |
|
Доброго времени суток, уважаемые эксперты!
Подскажите как определить количество дисков
и возможность обращения кним.
 |
Вопрос задал: Drozdov D.V. (статус: 4-ый класс)
Вопрос отправлен: 5 октября 2007, 22:03
Состояние вопроса: решён, ответов: 2.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, Drozdov D.V.!
Для получения ответа на свой вопрос, вам нужно згать две вещи.
1) дисков (точнее логических дисков) в системе не может быть больше 26 - по количеству букв.
буквы A и B по умолчанию приняты для дисководов. Тоесть, нужно проверить каждую букву, а нет ли под этим именем диска.
2) Для определения, что скрывается за буквой, поможет функция GetDriveType
вот пример
var d:char; s:string;
begin
for d:='A' to 'Z' do begin
case GetDriveType(PChar(d+':\')) of
0: Result := '?';
1: Result := 'Path does not exists';
Drive_Removable: s := 'съемный';
Drive_Fixed: s := 'фиксированый (внутри)';
Drive_Remote: s := 'Удалённый';
Drive_CDROM: s := 'CD-ROM';
Drive_RamDisk: s := 'RAMDisk'
else s := 'Unknown';
end;
Memo1.lines.add(c+' ' + s);
end;
end;
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 5 октября 2007, 23:51
Оценка за ответ: 5
|
Ответ #2. Отвечает эксперт: Feniks
Здравствуйте, Drozdov D.V.!
Дополнение к ответу "Вадим К".
Самый простой способ получить список всех логических дисков смотрите в Приложении.
Приложение: Переключить в обычный режим- var
- S : PChar;
- i : integer;
- str : string;
-
- begin
- S := '';
- str := '';
- GetLogicalDriveStrings(255, S);
- i := 0;
- repeat
- if S[i] = #0 then begin
- ShowMessage(str);
- Edit1.Text := str;
- str := ''
- end else
- str := str + S[i];
- // Edit1.Text := Edit1.Text + S[i];
- inc(i);
- until
- (S[i] = #0) and (S[i-1] = #0);
- end;
-
 |
Ответ отправил: Feniks (статус: Бакалавр)
Время отправки: 8 октября 2007, 12:23
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 0.
31 января 2011, 19:29: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|