Вниз
Скачать: CL | DM;

Список разделов на жестком диске....   Найти похожие ветки 

← →
-= Demon =-   (2003-05-26 18:00) [0]

Всем привет!
Вот такая бага объявилась: нужно получить список всех разделов на жестком диске.
1) получаем список всех дисков
function GetLocalDriveList: TStringList;
var
i: integer;
LogDrives: set of 0..25;
begin
Result:=TStringList.Create;
integer(LogDrives) := GetLogicalDrives;
for i:=0 to 25 do
if (i in LogDrives) then
Result.Add(chr(i + 65) + ":");
end;
//---------------------------------------------------------

2) Выбераем только разделы жесткого диска (DRIVE_FIXED)
function GeHDDList: TStringList;
var
i: integer;
begin
Result:=TStringList.Create;
Result:=GetLocalDriveList;
i:=Result.Count-1;
while i >= 0 do
begin
if GetDriveType(PChar(Result[i])) <> DRIVE_FIXED then Result.Delete(i);
dec(i);
end;
end;
//------------------------------------------------------------

Проблема в том, что работает где как: под 2000-й - на ура, под 98-й может на некоторые диски сказать, что они отсутствуют (т.е. не только не определить их как "жесткие", но и сказать, будто их вообще нет). В чем может быть дело?


← →
Дмитрий Белькевич   (2003-05-27 01:06) [1]

Для cdrom:

s := GetCDROM;

function GetCDROM: string;
var
DriveArray: array[1..26] of Char;
I: integer;
begin
result := "";
DriveArray := "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for I := 1 to 26 do
if GetDriveType(PChar(DriveArray[I] + ":\")) = DRIVE_CDROM then
Result := Result + DriveArray[I];
end;

Для жестки аналогично, только вместо DRIVE_CDROM DRIVE_FIXED. В S - список дисков.


← →
-= Demon =-   (2003-05-27 09:29) [2]

> Дмитрий Белькевич

Ну, вообще-то это не решение проблемы, т.к. будет то же самое. Ведь ты просто проверяешь здесь весь буквенный набор, который может быть именем диска, а я сначала получал список из реально существующих дисков.
Проблема в том, что функция GetDriveType не всегда верно определяет тип диска, т.ч. на раздел HDD говорит что он вообще отсутствует...


← →
VMcL ©   (2003-05-27 10:13) [3]

>-= Demon =- (27.05.03 09:29)
>а раздел HDD говорит что он вообще отсутствует...

Тип раздела: FAT32, NTFS, ...?


← →
Дмитрий Белькевич   (2003-05-27 13:18) [4]

>-= Demon =- (27.05.03 09:29)
>а раздел HDD говорит что он вообще отсутствует...

8() это как это? Его видно через какую оболочку? Типа фара? Если да - то чудес не бывает - фар именно так и работает.
Если нет - так разберись, почему у тебя том система не подключает, а потом что-то програмируй.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
4-101014
mpe
2003-05-25 16:18
2003.07.31
Как в Win98SE изменить время создания каталога?


3-100611
DBDev
2003-07-09 15:11
2003.07.31
Проблема с TDBImage! Подскажите ПЛИЗ!!!


3-100622
Manfred
2003-07-10 09:41
2003.07.31
Вопрос по компоненту TQuery.


14-100887
handra
2003-07-15 18:11
2003.07.31
другая сторона жизни


14-100913
sagchat
2003-07-13 16:39
2003.07.31
Помогите выбрать видюху




   Наверх