Czasami widze jak ludzie mowia "moj program dziala szybciej-wykonuje sie w x,x ms" Mozecie tutaj powiedziec jak zrobic taki licznik dzialania programu w delphi?
Dzieki
Czasami widze jak ludzie mowia "moj program dziala szybciej-wykonuje sie w x,x ms" Mozecie tutaj powiedziec jak zrobic taki licznik dzialania programu w delphi?
Dzieki
Na początku zapisuj kiedy wystartował program, a na końcu odejmij ten czas od czasu aktualnego. Ta róznica to będzie czas działania programu.
a jak odczytac czas z dokladnoscia do ms?
//edit
jeszcze mozecie napisac jaka w delphi bedzie funkcja w stylu delay() w pascalu :)
chodzi ci o czas wykonywania jakiejs instrukcji? ;p
do glownego var dodaj
i: Integer = 0;
na forme daj timera i ustaw go na 1 ms, kliknij go 2x i wpisz
i := i+1;
potem wstawiasz sobie gdzie chcesz jakas instrukcje, a na koncu instrukcji dajesz
Timer1.Enabled := False;
ShowMessage(IntToStr(i));
tyle program wykonywal ta instrukcje ;] (w ms)
/// EDIT:
cos mi sie wydaje ze piszesz aplikacje konsolowa ;>
GieKaA, nie załamuj, Timer do czegoś takiego?
Writeln(DateTimeToTimeStamp(Now).Time) - to jest fragment mojego prehistorycznego programu konsolowego, pokazuje czas jaki upłynął od północy danego dnia. W milisekundach.
I odpowiednikiem Delay() jest chyba Sleep().
Możesz też tak: (wymaga uses Windows)
var
Start, Koniec, Freq :Int64;
Czas :Double; // ew. single
begin
QueryPerformanceFrequency(Freq);
QueryPerformanceCounter(Start);
// instrukcje programu
QueryPerformanceCounter(Koniec);
Czas := 1E3 * (Koniec - Start) / Freq; // przeliczanie na ms
// Jak wyświetlisz zmienną Czas nie wnikam
end;
znalazlem lepszy sposob:
na poczatku programu:
var
poczatek:integer;
a potem
poczatek:=GetTickCount;
<kod programu>
edit1.text:=inttostr(GetTickCount-poczatek);