@Hator:
Nette Schleife ... i wird nie benutzt, also ist diese doch her "nutzlos" und sorgt nur dafür, daß der Code unnötiger Weise mehrfach ausgeführt wird.
Delphi-Quellcode:
procedure TTestForm.TimerTimer(Sender: TObject);
var i: Integer;
begin
CollectCPUData; // MUSS IMMER AUFGERUFEN WERDEN !!!
Label1.Caption := Format('CPU #%d - %5.2f%%',[0,GetCPUUsage(0)*100]);
if GetCPUCount >= 2 then
Label2.Caption := Format('CPU #%d - %5.2f%%',[1,GetCPUUsage(1)*100]);
if GetCPUCount >= 3 then
Label3.Caption := Format('CPU #%d - %5.2f%%',[2,GetCPUUsage(2)*100]);
if GetCPUCount >= 4 then
Label4.Caption := Format('CPU #%d - %5.2f%%',[3,GetCPUUsage(3)*100]);
// wobei man GetCPUCount vielleicht nur einmal aufrufen sollte/könnte
end;
Oder doch die For-Schleife und dann das i für die Auswahl des Labels und den Index in GetCPUUsage nutzen.