Jak wstawić stoper do programu?

0

mam powazny problem i nie wiem jak sobie poradzic.
tu mam swoj stoper:

procedure stoper;
begin
repeat
clrscr;
s:=s+1;
if s=59 then
       begin
            s:=0;
            m:=m+1;
       end;
if m=59 then
       begin
            m:=0;
            h:=h+1;
       end;
write('czas:0',h,':0',m,':',s);
delay(1000);

end;

w jaki sposob "wkleic" go aby rownoczesnie dzialal z tym programem

begin
clrscr;
repeat
clrscr;
             for i:=1 to 9 do
             begin
                            for j:=1 to 9 do
                            begin
                            if sud2[i,j]=0 then
                                   write('   |')
                                   else
                                   write(' ',sud2[i,j],' |');
                            end;
            writeln;
end;

     writeln('Wybierz miejsce gdzie chcesz wpisac cyfre');
     write('Podaj wiersz:');
     read(i);
     write('Podaj kolumne:');
     read(j);


     writeln('podaj liczbe jaka chcesz wprowadzic');
     read(a);
     sud2[i,j]:=a;

     until 1=0;
end;

Pilnie mi to potrzebne, z gory dziekuje..

dodanie znaczników <code class="pascal"> - furious programming

0

Osobny wątek.

0

aha, to juz wszystko wiem. co osobny watek?..

0

Jeżeli nie znasz wątków, to prędko tego programu nie zrobisz;

Ja natomiast polecam Twój "stoper" oprzeć o zwykłe i proste pobranie czasu systemowego przed i po danej operacji, a następnie za pomocą odpowiednich funkcji z modułu DateUtils obliczyć różnicę w danej jednostce - np. w sekundach; Do obliczenia różnicy sekund skorzystaj z funkcji SecondsBetween, do minut MinutesBetween i tak dalej; No a do pobrania aktualnego czasu z systemu możesz wykorzystać funkcję Now (moduł SysUtils);

Przykładowy kod:

uses
  SysUtils, DateUtils;
var
  dtStart, dtStop: TDateTime;
  intTime: Integer;
begin
  dtStart := Now();

  // operacje, których czas wykonania ma być zmierzony

  dtStop := Now();

  intTime := SecondsBetween(dtStop, dtStart);
  Write('Time: ', intTime, 's');
  ReadLn;
end.

Do zwiększenia precyzji pomiaru możesz obliczać różnicę milisekund, za pomocą funkcji MiliSecondsBetween, a wynik wyświetlić z przecinkiem.

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