[ inherited @ 30.05.2006. 18:26 ] @
Kako da prikazem velicinu hdd ( recimo 40GB ) u TLabel komponenti? Treba mi prvo kod da izracunam, pa potom da predstavim? Hvala unapred... |
[ inherited @ 30.05.2006. 18:26 ] @
[ IvanBeograd @ 30.05.2006. 18:56 ] @
Pogledaj ranije teme,bilo price o tome!Pozzz
[ savkic @ 30.05.2006. 18:57 ] @
> Kako da prikazem velicinu hdd ( recimo 40GB ) u TLabel komponenti?
> Treba mi prvo kod da izracunam, pa potom da predstavim? Ako ti treba veličina particije onda možeš koristiti Delphi funkcije DiskSize i DiskFree, imaš opis i primere u helpu. Ako ti treba fizička veličina diska onda moraš koristiti DeviceIoControl i IOCTL_DISK_GET_LENGTH_INFO ... [ inherited @ 31.05.2006. 01:45 ] @
Pregledao sam ranije teme, bilo je reci, ali nisam naisao na izracunavanje velicine hdd-a?
Citat: savkic: Ako ti treba veličina particije onda možeš koristiti Delphi funkcije DiskSize i DiskFree, imaš opis i primere u helpu. Ako ti treba fizička veličina diska onda moraš koristiti DeviceIoControl i IOCTL_DISK_GET_LENGTH_INFO ... Pokusao sam ovo, ali nisam u help-u nasao kako da predstavim velicinu hdd-a. Pa, ako vam nije tesko da postujete funkciju ili proceduru koja bi to resila.. Hvala unapred.. [ savkic @ 31.05.2006. 07:30 ] @
> Pokusao sam ovo, ali nisam u help-u nasao kako da predstavim velicinu hdd-a. Pa, ako vam nije tesko da postujete funkciju ili proceduru koja bi to resila..
Trebalo bi u helpu da to bude, evo primera upravo iz helpa: var S: string; AmtFree: Int64; Total: Int64; begin AmtFree := DiskFree(0); Total := DiskSize(0); S := IntToStr(AmtFree div Total) + 'percent of the space on drive 0 is free: ' (AmtFree div 1024) + ' Kbytes free. '; Canvas.TextOut(10, 10, S); end; [ inherited @ 31.05.2006. 14:32 ] @
Citat: savkic: var S: string; AmtFree: Int64; Total: Int64; begin AmtFree := DiskFree(0); Total := DiskSize(0); S := IntToStr(AmtFree div Total) + 'percent of the space on drive 0 is free: ' (AmtFree div 1024) + ' Kbytes free. '; Canvas.TextOut(10, 10, S); end; U help-u sam i ja naisao na ovaj primer, ali, on mi prikazuje velicinu particije, recimo C ili D, kao i slobodnog prostora. Ali, izgleda da vi niste mene dobro razumeli, meni treba opcija ( kod ) da prikazem ukupnu velicinu HDD-a. Znaci, ne particije, nego HDD, ako je on velicine 40GB da to i u TLabel ispisem?! [ savkic @ 31.05.2006. 19:15 ] @
> U help-u sam i ja naisao na ovaj primer, ali, on mi prikazuje velicinu particije, recimo C ili D, kao i slobodnog prostora. Ali, izgleda da vi
> niste mene dobro razumeli, meni treba opcija ( kod ) da prikazem ukupnu velicinu HDD-a. Znaci, ne particije, nego HDD, > ako je on velicine 40GB da to i u TLabel ispisem?! Možeš sabrati veličine svih particija i tako dobiti veličinu diska ili možeš koristiti neku od ovih funkcija: Code: uses JwaWinIoctl; // Potraži na netu (autor je Marcel van Brakel, možda ima i u jedi biblioteci) function GetDiskSize: Int64; var Info: GET_LENGTH_INFORMATION; hDisk: THandle; Temp: Cardinal; begin Result := 0; hDisk := CreateFile('\\.\PhysicalDrive0', 0, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0); if hDisk <> INVALID_HANDLE_VALUE then begin if DeviceIoControl(hDisk, IOCTL_DISK_GET_LENGTH_INFO, nil, 0, @Info, sizeof(Info), Temp, nil) then Result := Info.Length.QuadPart; CloseHandle(hDisk); end; end; function GetDiskSize2: Int64; var hDisk: THandle; Info: DISK_GEOMETRY; Temp: Cardinal; begin Result := 0; hDisk := CreateFile('\\.\PhysicalDrive0', 0, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0); if hDisk <> INVALID_HANDLE_VALUE then begin if DeviceIoControl(hDisk, IOCTL_DISK_GET_DRIVE_GEOMETRY, nil, 0, @Info, sizeof(Info), Temp, nil) then Result := Info.Cylinders.QuadPart * Info.TracksPerCylinder * Info.SectorsPerTrack * Info.BytesPerSector; CloseHandle(hDisk); end; end; [ inherited @ 01.06.2006. 11:24 ] @
:( jel moze neko da postuje JwaWinIoctl.pas (JwaWinIoctl.dcu) ili jedi bibilioteku, ako ne,
moze li bar link ka njima za download. Hvala unapred. [ savkic @ 01.06.2006. 12:48 ] @
www.delphi-jedi.org pa API Library ili ftp://delphi-jedi.org/api/win32api.zip.
[ inherited @ 01.06.2006. 14:30 ] @
Hvala, savkic-u, kad skinem i malo prostudiram javicu sta sam skontao...
Pozdrav... [ inherited @ 01.06.2006. 14:48 ] @
Da, to mi je trebalo... Hvala jos jednom...
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|