Вниз
Скачать: 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 вся ветка

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



Память: 0.46 MB
Время: 0.042 c
15-1143738356
Кручен-Верчен
2006-03-30 21:05
2006.04.23
На кого пойти учиться?


2-1144724162
Laymer
2006-04-11 06:56
2006.04.23
FastReport


15-1144250298
ArtSin
2006-04-05 19:18
2006.04.23
Delphi 2006


2-1144733806
Сергей И.
2006-04-11 09:36
2006.04.23
Работа с принтером


2-1144751826
Сергей И.
2006-04-11 14:37
2006.04.23
Помогите пожалуйста очень срочно нужно




   Наверх