Главная страница
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.049 c
2-1144270250
EvgFobos
2006-04-06 00:50
2006.04.23
Из RichEdit в файл


3-1141207231
_RusLAN
2006-03-01 13:00
2006.04.23
Firebird. IBExpert. Помогите разобраться с Backup/Restore


6-1136763104
Pasha13
2006-01-09 02:31
2006.04.23
перехват сообщений Outlooka


2-1143556598
коробас
2006-03-28 18:36
2006.04.23
Строки


15-1143531437
miek
2006-03-28 11:37
2006.04.23
цифровой аппарат+RAW