Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.27;
Скачать: CL | DM;

Вниз

Как вычислять параллельно?   Найти похожие ветки 

 
grisme ©   (2006-05-03 17:56) [0]

Возникла проблема. Необходимо вычислить время большого числа итераций. Делал таймер так:
 sec:=0;
 timer1.enabled:=true;
 for i:=1 to [...] do [...];
 timer1.enabled:=false;
 caption:=inttostr(sec);
{в коде OnTimer наращиваю sec}
Естесственно,seс выходит равный 0!..( Думаю,надо параллельный какой-нибудь процесс создать...Подскажите плиз как примерно это должно выглядеть...{пример был бы ОЧЕНЬ хорош}


 
Eraser ©   (2006-05-03 18:06) [1]


> grisme ©   (03.05.06 17:56)


var
 t1, t2: TDateTime;
...
t1 := now; // или GetTickCount
<интерации>
t2 := now; // или GetTickCount
t1 := t2 - t1;
ShowMessage(TimeToStr(t1)); // или любая другая ф-я форматирования даты.


 
grisme ©   (2006-05-03 19:02) [2]

Eraser

Пасиба огромное, сразу не дошло...:) А как все-таки(интереса ради) можно вычислять еще параллельно? Создавать отдельный поток?


 
Eraser ©   (2006-05-03 19:10) [3]


> grisme ©   (03.05.06 19:02) [2]

можно.
сколько примерно времени длится вычисление?


 
grisme ©   (2006-05-03 19:31) [4]

примерно минуту.


 
Eraser ©   (2006-05-03 20:00) [5]


> grisme ©   (03.05.06 19:31) [4]

тогда лучше делать так - вычисления выполнять в доп. потоке, а время засекать обычным таймером с интервалом 1 сек.


var
 i: Integer;
...
i := 0;
Timer1.Interval := 1000;
Timer1.Enabled := true;
<начало создание потока вычислений>
...
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 Inc(i);
 label1.Сaption := "Вычисления идут " + inttostr(i) + " секунд";
end;

не забыть отключить таймер после завершения работы доп. потока.


 
grisme ©   (2006-05-03 20:52) [6]

Спасибо, Eraser.;)



Страницы: 1 вся ветка

Текущий архив: 2006.08.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.05 c
6-1144846173
Jolik
2006-04-12 16:49
2006.08.27
Автоматическое обновление программы через интернет...


3-1150833605
Glivera
2006-06-21 00:00
2006.08.27
Корректное закрытие Excel


2-1154599051
oleolay
2006-08-03 13:57
2006.08.27
обращение к элементам TFrame из родительской формы


2-1155004047
vladimirg88
2006-08-08 06:27
2006.08.27
печать координат


2-1154575563
Живописец
2006-08-03 07:26
2006.08.27
Как сделать такую опцию как изменение цвета в Фотошопе?