47679 (608338), страница 4
Текст из файла (страница 4)
Image2: TImage;
BitBtn1: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure FormShow(Sender: TObject);
procedure DriveComboBox1Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
procedure UpdateDisk;
public
{ Public declarations }
end;
var
FormDiski: TFormDiski;
implementation
uses Unit1;
{$R *.dfm}
procedure TFormDiski.FormShow(Sender: TObject);
begin
UpdateDisk;
end;
procedure TFormDiski.UpdateDisk;
var
lpRootPathName : PChar;
lpVolumeNameBuffer : PChar;
nVolumeNameSize : DWORD;
lpVolumeSerialNumber : DWORD;
lpMaximumComponentLength : DWORD;
lpFileSystemFlags : DWORD;
lpFileSystemNameBuffer : PChar;
nFileSystemNameSize : DWORD;
FSectorsPerCluster: DWORD;
FBytesPerSector : DWORD;
FFreeClusters : DWORD;
FTotalClusters : DWORD;
begin
lpVolumeNameBuffer := '';
lpVolumeSerialNumber := 0;
lpMaximumComponentLength:= 0;
lpFileSystemFlags := 0;
lpFileSystemNameBuffer := '';
try
GetMem(lpVolumeNameBuffer, MAX_PATH + 1);
GetMem(lpFileSystemNameBuffer, MAX_PATH + 1);
nVolumeNameSize := MAX_PATH + 1;
nFileSystemNameSize := MAX_PATH + 1;
lpRootPathName := PChar(FormDiski.DriveComboBox1.Drive+':\');
if GetVolumeInformation( lpRootPathName, lpVolumeNameBuffer,
nVolumeNameSize, @lpVolumeSerialNumber, lpMaximumComponentLength,
lpFileSystemFlags, lpFileSystemNameBuffer, nFileSystemNameSize )
then
begin
VolumeName.Caption := lpVolumeNameBuffer;
VolumeSerial.Caption := IntToHex(HIWord(lpVolumeSerialNumber), 4) + '-' + IntToHex(LOWord(lpVolumeSerialNumber), 4);
FileSystemName.Caption:= lpFileSystemNameBuffer;
GetDiskFreeSpace( PChar(DriveComboBox1.Drive+':\'), FSectorsPerCluster, FBytesPerSector, FFreeClusters, FTotalClusters);
end;
finally
FreeMem(lpVolumeNameBuffer);
FreeMem(lpFileSystemNameBuffer);
end;
SectorsPerCluster.Caption:=IntToStr(FSectorsPerCluster);
BytesPerSector.Caption:=IntToStr(FBytesPerSector);
end;
procedure TFormDiski.DriveComboBox1Change(Sender: TObject);
begin
UpdateDisk;
end;
procedure TFormDiski.BitBtn1Click(Sender: TObject);
begin
FormDiski.Visible:=False;
Form1.Visible:=True;
end;
end.
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
-
Архангельский А.Я. Москва 2003 “Delphi 7.0”
-
Фаронов В.В. Санкт-Питербург “Питер” 2004 “Delphi программирование на языке высокого уровня”
-
http://delphimastak.ru
-
Лекции по “СПО”













