Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 10 odgovora
  • 3.408 pregleda

Najnovija ↓

Velicina HDD u TLabel? 30.05.2006. u 19:26 · pre 248 meseci #1
Kako da prikazem velicinu hdd ( recimo 40GB ) u TLabel komponenti?
Treba mi prvo kod da izracunam, pa potom da predstavim?

Hvala unapred...
Re: Velicina HDD u TLabel? 30.05.2006. u 19:57 · pre 248 meseci #3
> 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 ...
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Velicina HDD u TLabel? 31.05.2006. u 02:45 · pre 248 meseci #4
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..
Re: Velicina HDD u TLabel? 31.05.2006. u 08:30 · pre 248 meseci #5
> 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;
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Velicina HDD u TLabel? 31.05.2006. u 15:32 · pre 248 meseci #6
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?!
Re: Velicina HDD u TLabel? 31.05.2006. u 20:15 · pre 248 meseci #7
> 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;

Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Velicina HDD u TLabel? 01.06.2006. u 12:24 · pre 248 meseci #8
:( jel moze neko da postuje JwaWinIoctl.pas (JwaWinIoctl.dcu) ili jedi bibilioteku, ako ne,
moze li bar link ka njima za download.

Hvala unapred.
Re: Velicina HDD u TLabel? 01.06.2006. u 15:30 · pre 248 meseci #10
Hvala, savkic-u, kad skinem i malo prostudiram javicu sta sam skontao...
Pozdrav...
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme