czas dzialania programu

Odpowiedz Nowy wątek
2007-01-05 23:00
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

Pozostało 580 znaków

2007-01-05 23:07
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.

Pozostało 580 znaków

2007-01-05 23:11
0

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

Pozostało 580 znaków

2007-01-06 00:02
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 ;>

Pozostało 580 znaków

2007-01-06 09:42
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().

Pozostało 580 znaków

2007-01-06 10:03
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;

<span style="color: blue">"Kolarstwo to jedna z najtrudniejszych dyscyplin sportu. Nawet najgorszy kolarz jest wciąż wybitnym sportowcem."
s.p. Marco Pantani
</span>

Pozostało 580 znaków

2007-01-07 11:39
0

znalazlem lepszy sposob:
na poczatku programu:

var
poczatek:integer;

a potem

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

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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