-
Jak policzyć ile razy wykonuje się dana pętla w ciągu sekundy?
Np. ta: (albo inna)
for i := 1 to 10000 do begin
ListBox1.Items.Add('Delphi 7 PE');
end; -
Jak na Labelu zliczyć procent zaawansowania tej pętli (lub innej, dłuższej jeśli ktoś ma pomysł)?
[???]
0
0
var
Frequency, C1, C2, Dfr: Int64;
i: Integer;
begin
QueryPerformanceFrequency(Frequency);
QueryPerformanceCounter(C1);
for i := 1 to 10000 do
begin
ListBox1.Items.Add('Delphi 7 PE');
end;
QueryPerformanceCounter(C2);
Dfr:=C2-C1;
//Teraz w Dfr jest ilość cykli zegara wysokiej dokładności, jakie były potrzebne na wykonanie pętli, a Frequency to ilość cykli na sekundę. Przeliczenie tego już chyba nie sprawi co problemu.
end;
0
<font color="green">Jak na Labelu zliczyć procent zaawansowania tej pętli (lub innej, dłuższej jeśli ktoś ma pomysł)?
</span>
W pętli:
Label.Caption := IntToStr(i * 100 div 10000) + '%';
0
Label.Caption := IntToStr(i * 100 div 10000) + '%';
... plus dodatkowo po tym Application.ProcessMessages, bo label nie nadąży z odświeżaniem.