скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Получение информации о диске



Два компьютершика спорят:
- Можно ли научить "комп" заикаться?
- Да ты что никогда!
Второй:
- Берет магнит и начинает водить возле винчестера!
В итоге получается песня Расторгуева+Леонидов: "Давай за баранку держись, давай брат шофер до конца"...


function GetVolumeInfoFVS(const Dir:string;
var FileSystemName,VolumeName:string;var Serial:longint):boolean;
{Получение информации о диске
Dir - каталог или буква требуемого диска
FileSystemName - название файловой системы
VolumeName - метка диска
Serial - серийный номер диска
В случае ошибки функция возвращает false}
var
  root:pchar;
  res:longbool;
  VolumeNameBuffer,FileSystemNameBuffer:pchar;
  VolumeNameSize,FileSystemNameSize:DWord;
  VolumeSerialNumber,MaximumComponentLength,FileSystemFlags:DWORD;
  s:string;
  n:integer;
begin
  n:=pos(':',Dir);
  if n> 0 then s:=copy(Dir,1,n+1) else s:=s+':';
  if s[length(s)]=':' then s:=s+'\';
  root:=pchar(s);
  getMem(VolumeNameBuffer,256);
  getMem(FileSystemNameBuffer,256);
  VolumeNameSize:=255;
  FileSystemNameSize:=255;
  res:=GetVolumeInformation(Root,VolumeNameBuffer,VolumeNameSize
  ,@VolumeSerialNumber,
  MaximumComponentLength, FileSystemFlags
  ,FileSystemNameBuffer,FileSystemNameSize);
  Result:=res;
  VolumeName:=VolumeNameBuffer;
  FileSystemName:=FileSystemNameBuffer;
  Serial:=VolumeSerialNumber;
  freeMem(VolumeNameBuffer,256);
  freeMem(FileSystemNameBuffer,256);
end;






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook