czas dzialania programu

0

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

0

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.

0

a jak odczytac czas z dokladnoscia do ms?
//edit
jeszcze mozecie napisac jaka w delphi bedzie funkcja w stylu delay() w pascalu :)

0

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 ;>

0

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().

0

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;
0

znalazlem lepszy sposob:
na poczatku programu:

var
poczatek:integer;

a potem

poczatek:=GetTickCount;
<kod programu>
edit1.text:=inttostr(GetTickCount-poczatek);

1 użytkowników online, w tym zalogowanych: 0, gości: 1