Советы пользователям Delphi и C++Builder


             

Совет 4. Определение наличия дискеты или компакт-диска в дисководе - часть 2


В случае Delphi этот же обработчик события выглядит так:

procedure TForm1.DriveComboBox1Change(Sender: TObject); var VolName: array [0..255] of char; FSName : array [0..100] of char; VolSN: PDWORD; MaxCompLen,FSFlags: Cardinal; FC,SPC,BPS,NC:DWORD; s: string; begin VolSN:=nil; s:=UpperCase(DriveComboBox1.Drive)+':\'; Label1.Caption:=s; if (GetVolumeInformation(PChar(s),VolName,255, VolSN, MaxCompLen, FSFlags,FSName,100)) then begin Label2.Caption:='Имя тома: '+AnsiString(VolName); Label3.Caption:='Файловая система: '+AnsiString(FSName) ; if GetDiskFreeSpace(PChar(s),SPC,BPS,FC,NC) then Label4.Caption:='Свободных байт: '+IntToStr(SPC*FC*BPS) else Label4.Caption:='' end else begin Label2.Caption:='Диск не готов'; Label3.Caption:=''; Label4.Caption:='' end; end;

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

Рис. 2. Приложение для вывода информации о дисках на этапе выполнения




Содержание  Назад  Вперед