Форум: "Начинающим";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];
ВнизКак получить список дисков с обозначениями. Найти похожие ветки
← →
Nikfel © (2007-09-30 14:18) [0]Подскажите пожалуйста. Как получить список дисков так ,чтобы узнать HDD,CD,DVD диски. Заранее спасибо.
← →
homm © (2007-09-30 14:42) [1]> с обозначениями
Что сие значит?
← →
Nikfel © (2007-09-30 15:01) [2]Меня интересует нечто вроде списка, как в TOpenDialog, но мне надо просто получить список устройств: дисковод дискет, DVD-R,CD-R и т.п.
← →
Nikfel © (2007-09-30 21:33) [3]Я имею в виду открывающийся список в компоненте TOpenDialog,а мне надо получить нечто похожее, но без отображения значков дисков и папок, а использовать свои значки. Может кто-нибудь знает как это делается.
← →
{RASkov} © (2007-09-30 22:53) [4]> [3] Nikfel © (30.09.07 21:33)
Посмотри метод BuildList у TDriveComboBox из FileCtrl.pas
← →
Юрий Зотов © (2007-10-01 00:59) [5]
procedure TForm1.FormCreate(Sender: TObject);
const
DiskTypes: array [DRIVE_REMOVABLE..DRIVE_RAMDISK] of string =
("Сменный", "Жесткий", "Сетевой", "Лазерный", "Виртуальный");
var
BitMask: integer;
DiskChar: char;
begin
BitMask := GetLogicalDrives;
DiskChar := "A";
with TStringList.Create do
try
while BitMask > 0 do
begin
if BitMask and 1 = 1 then
Add(DiskChar + " - " + DiskTypes[GetDriveType(PChar(DiskChar + ":\"))]);
Inc(DiskChar);
BitMask := BitMask shr 1;
end;
ShowMessage(Text)
finally
Free
end
end;
← →
Германн © (2007-10-01 02:31) [6]
> Юрий Зотов © (01.10.07 00:59) [5]
Оффтоп, конечно. Но не могу не спросить.
А почему бы begin не расположить в тексте исходника сразу после "do"? Ну т.е. в той же строчке?
← →
Riply © (2007-10-01 06:26) [7]> [6] Германн © (01.10.07 02:31)
>А почему бы begin не расположить в тексте исходника сразу после "do"? Ну т.е. в той же строчке?
На вкус и цвет....
Но выскажу свое imho:
вариантwhile BitMask > 0 do
begin
//.........
end;
и понятнее( нагляднее ) и удобно искать end соответствующий begin`у (и наоборот):
просто бежишь "стрелочкой" вниз и находишь. Помогает при разборе чужих
исходников или своих старых.
← →
Riply © (2007-10-01 06:28) [8]P.S.
(Если не ошибаюсь)
То что ты предлагаешь, называется C-Style, а Юрий Зотов использует Standart Style.
← →
begin...end © (2007-10-01 08:11) [9]GetDriveType может и ноль (DRIVE_UNKNOWN) возвратить, вообще-то...
← →
Nikfel © (2007-10-01 10:57) [10]Спасибо за код. У меня только один вопрос остался: как-нибудь можно ли распознать дисковод DVD от дисковода СD.
← →
Nikfel © (2007-10-01 12:22) [11]Я нашел в реестре нужную информацию, только проблема в том как ее прочитать. Желательно бы не использовать registry.pas.
Вот нужный ключ в реестре:
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
Только тип получается reg_binary, а имена:"\DosDevices\A:","\DosDevices\C:" и т.д.
Такой тип данных читать из реестра я не разобрался, может кто-нибудь напишет Demo-код, чтоб было понятно как читать такой тип данных.
← →
evvcom © (2007-10-01 12:26) [12]
> как-нибудь можно ли распознать дисковод DVD от дисковода СD.
как-нибудь можно. Nero ж распознает. Мало того, распознается, что конкретно может привод делать: читать CD/-DVD/+DVD, писать CD/-DVD/+DVD, LabelFlash и пр.
← →
Nikfel © (2007-10-01 12:33) [13]Меня интересует сам код для распознавания, а не программы способные на это.
А программ таких полно:Nero,Total Commander и т.п.
← →
Ping (2007-10-01 12:44) [14]Меня интересует сам код для распознавания
Напиши!
← →
clickmaker © (2007-10-01 12:44) [15]
> [6] Германн © (01.10.07 02:31)
ты бы еще спросил почему в
begin
BitMask := GetLogicalDrives;
отступ в один пробел, а в
try
while BitMask > 0 do
два
:)
← →
Riply © (2007-10-01 12:59) [16]> [11] Nikfel © (01.10.07 12:22)
>Я нашел в реестре нужную информацию, только проблема в том как ее прочитать.
>Желательно бы не использовать registry.pas.
См RegXXX - функции
← →
evvcom © (2007-10-01 14:09) [17]
> Меня интересует сам код для распознавания
Ты вопрос задал как?
> как-нибудь можно ли
я ответил, что как-нибудь можно и привел пример того, что другие это делают. Каков вопрос - таков ответ. Как конкретно - не знаю, никогда мне это не было интересно, других дел хватает. Если бы было интересно, я б пошарился в инете на предмет распознавания типов поддерживаемых дисков приводами CD/DVD. Может в WinApi уже добавили какую функцию (XP ведь тоже что-то распознает :)), но у неро, по-моему, всегда был свой какой-то драйвер, более функциональный, да и вообще в нем уже распознавалось все это, когда Билли об этом еще и не думал.
> Я нашел в реестре нужную информацию
А ты уверен, что это то, что тебе нужно с учетом
> как-нибудь можно ли распознать дисковод DVD от дисковода СD
? В этом наверняка информации не больше, чем выдает GetDriveType
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.046 c