Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.23;
Скачать: CL | DM;

Вниз

Метка диска   Найти похожие ветки 

 
veb   (2006-04-09 21:20) [0]

Здравствуйте. Как получить метку диска и второе, что здесь не правильно?

function GetVolumeLabel(Drive: Char): String;
var
 SR: TSearchRec;
 SearchString: String[7];
begin
 SearchString := Drive + ":\*.*";
 if FindFirst(SearchString, faVolumeID, SR) = 0 then
   Result := SR.Name;
 FindClose(SR);
end;

выдает название первого найденного файла, а по идее должно давать метку диска.


 
Anatoly Podgoretsky ©   (2006-04-09 21:22) [1]

FindFirst + FindNext пока не будет найдена именно метка


 
AlexeyT ©   (2006-04-09 21:26) [2]

Вот:

var
 dir: string;
 buf1, buf2: array[0..50] of char;
 nNameLen: DWORD;
begin
     dir:= ch+":\";
     FillChar(buf1, SizeOf(buf1), 0);
     FillChar(buf2, SizeOf(buf2), 0);
     if GetVolumeInformation(PChar(dir), @buf1, SizeOf(buf1),
       @fSerial, nNameLen, fFlags, @buf2, SizeOf(buf2)) then
       begin
       fLabel:= buf1; //метка тома
       fSystem:= buf2; //файловая система
       end;


 
Palladin ©   (2006-04-09 21:34) [3]


> Anatoly Podgoretsky ©


только пытался взять, самое интересное, полная фигня, не находит оно это...


 
veb   (2006-04-09 21:41) [4]

to Alexey
значение fFlags чему выставлять? и какой модуль требуется подключить?

to Anatoliy
не понял, а что тогда находит при первом вызове FindFirst? ведь условие в If выполняется? Следовательно, найдена именно метка диска, а выдает имя файла.


 
begin...end ©   (2006-04-09 22:19) [5]

> veb   (09.04.06 21:41) [4]

fFlags — это выходной параметр. Поэтому инициализировать его не нужно. К тому же, в данном случае (для получения метки тома) он не нужен вовсе:

var
 VL: array [0..MAX_PATH] of Char;
begin
 if GetVolumeInformation("C:\", VL, sizeof(VL), nil, Cardinal(nil^), Cardinal(nil^), nil, 0) then
   ShowMessage(VL)
end



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

Текущий архив: 2006.04.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.044 c
2-1144416392
Inna_Z
2006-04-07 17:26
2006.04.23
Проблема с AutoSize


15-1144092909
Гарри Поттер
2006-04-03 23:35
2006.04.23
Вы можете поверить в "зеленых человечков"?


2-1144326365
RomanH
2006-04-06 16:26
2006.04.23
IBTable или Table


2-1144403565
fast2
2006-04-07 13:52
2006.04.23
Как "выкинуть" из списка Tab Order... определенный компонент?


4-1139164328
example
2006-02-05 21:32
2006.04.23
Перехват картинки монитора