![]() |
Ram auslastungs Progressbar
Wie kann ich bei Delphi (Logisch oder^^) eine Progressbar so einstellen,
dass sie die Prozentauslastung des Ram's zeigt? :?: Gruss HW764 |
Re: Ram auslastungs Progressbar
Delphi-Quellcode:
stefan
var
memory: TMemoryStatus; ... memory.dwLength := SizeOf(memory); GlobalMemoryStatus(memory); ... memory.dwAvailPhys // verfügbar! memory.dwTotalPhys // insgesamt |
Re: Ram auslastungs Progressbar
Kann mir nicht jemand ein Stück coden?
|
Re: Ram auslastungs Progressbar
Stefan hat dich schon alles geschrieben.
Hier nochmal inkl. ProgressBar-Code:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var x, y : real; memory: TMemoryStatus; Auslastung: integer; begin memory.dwLength := SizeOf(memory); GlobalMemoryStatus(memory); x := memory.dwTotalPhys - memory.dwAvailPhys; y := memory.dwTotalPhys; Auslastung := round(((x/y)*100)); ProgressBar1.Position := Auslastung; end; |
Re: Ram auslastungs Progressbar
*Codelib-Alarm* :mrgreen:
|
Re: Ram auslastungs Progressbar
Ich wette das steht da schon drin ;-)
|
Re: Ram auslastungs Progressbar
Zitat:
Aber ich gebe es rein, ich muss mich nur nochmal vergewissern, ob's auch wirklich net drinsteht. ;) |
Re: Ram auslastungs Progressbar
Halllo Matze,
Delphi-Quellcode:
ist in Delphi 5 noch nicht enthalten, da GlobalMemoryStatus() aber eine Win32-API Funktion ist,
memory: TMemoryStatus;
dürften die API-Profis wohl kein Problem mit dem Nachbau der MEMORYSTATUS structure haben. (Wink mit dem Zaunpfahl :mrgreen: ) |
Re: Ram auslastungs Progressbar
Zitat:
|
Re: Ram auslastungs Progressbar
Naja,
wirklich nur ein ganz leises *LUCKIEEE* :mrgreen: :mrgreen: |
Re: Ram auslastungs Progressbar
Zitat:
|
Re: Ram auslastungs Progressbar
Zitat:
Delphi-Quellcode:
type
SIZE_T = Cardinal; {$EXTERNALSYM SIZE_T} DWORDLONG = Int64; // ULONGLONG {$EXTERNALSYM DWORDLONG} type PMemoryStatus = ^TMemoryStatus; LPMEMORYSTATUS = PMemoryStatus; {$EXTERNALSYM LPMEMORYSTATUS} _MEMORYSTATUS = packed record dwLength : DWORD; dwMemoryLoad : DWORD; dwTotalPhys : SIZE_T; dwAvailPhys : SIZE_T; dwTotalPageFile: SIZE_T; dwAvailPageFile: SIZE_T; dwTotalVirtual : SIZE_T; dwAvailVirtual : SIZE_T; end; {$EXTERNALSYM _MEMORYSTATUS} TMemoryStatus = _MEMORYSTATUS; MEMORYSTATUS = _MEMORYSTATUS; {$EXTERNALSYM MEMORYSTATUS} type PMemoryStatusEx = ^TMemoryStatusEx; LPMEMORYSTATUSEX = PMemoryStatusEx; {$EXTERNALSYM LPMEMORYSTATUSEX} _MEMORYSTATUSEX = packed record dwLength : DWORD; dwMemoryLoad : DWORD; ullTotalPhys : DWORDLONG; ullAvailPhys : DWORDLONG; ullTotalPageFile: DWORDLONG; ullAvailPageFile: DWORDLONG; ullTotalVirtual : DWORDLONG; ullAvailVirtual : DWORDLONG; end; {$EXTERNALSYM _MEMORYSTATUSEX} TMemoryStatusEx = _MEMORYSTATUSEX; MEMORYSTATUSEX = _MEMORYSTATUSEX; {$EXTERNALSYM MEMORYSTATUSEX} //--- procedure GlobalMemoryStatus(var lpBuffer: TMemoryStatus); stdcall; external kernel32; {$EXTERNALSYM GlobalMemoryStatus} function GlobalMemoryStatusEx(var lpBuffer: TMemoryStatusEx): BOOL; stdcall; type TFNGlobalMemoryStatusEx = function(var msx: TMemoryStatusEx): BOOL; stdcall; var FNGlobalMemoryStatusEx: TFNGlobalMemoryStatusEx; begin FNGlobalMemoryStatusEx := TFNGlobalMemoryStatusEx( GetProcAddress(GetModuleHandle(kernel32), 'GlobalMemoryStatusEx')); if not Assigned(FNGlobalMemoryStatusEx) then begin SetLastError(ERROR_CALL_NOT_IMPLEMENTED); Result := False; end else Result := FNGlobalMemoryStatusEx(lpBuffer); end; |
Re: Ram auslastungs Progressbar
Wow Nico,
das war aber schnell :thuimb:. @Matze, bitte nimm auch Nicos Code in die Library mit auf. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz