Вниз
Скачать: CL | DM;

Вызов функции из цикла   Найти похожие ветки 

← →
Anonimus ©   (2005-06-08 11:26) [0]

Добрый день. есть следующая задача. Имеем функцию, время выполнения которой может колебаться от 7-8 ms до 2 s.
Требуется вызвать эту функцию из цикла для каждого элемента некоего массива записей, при том непрерывно для каждого элемента массива вне зависимости от того, выполнена ли функция для предидущего элемента массива. Т.е.

function f1(<paramlist>): boolean;
var arr: array of tMyRec;

begin
 for i:=0 to Length(arr)-1 do
   if f1(arr[i]) then begin
     <statements>
   end;
end;


при этом нужно, чтобы f1(arr[1]) могла вернуть результат независимо от того отработала ли f1(arr[0])
Какэто можно реализовать?


← →
dmitry501 ©   (2005-06-08 11:35) [1]

Anonimus ©   (08.06.05 11:26)
Функцию f1 реализуй через tthread


← →
GreatMaster   (2005-06-08 11:38) [2]

А накой ты рекурсию то заворачиваешь?


← →
Digitman ©   (2005-06-08 11:39) [3]

для каждого аргумента организуй доп.трэд и вызывай ф-цию с этим аргументом в созданном трэде


← →
Anonimus ©   (2005-06-08 11:48) [4]

Т.е. я так понимаю:


function f1(<paramlist>,th: TThread): boolean;
begin
..........
 th.Terminate;
end;
var arr: array of tMyRec;
   th: TThread;

begin
for i:=0 to Length(arr)-1 do begin
  th:=TThread.Create;
  if f1(arr[i]) then begin
    <statements>
  end;
  th.resume;
end;
end;


Я правильно понял?


← →
Anonimus ©   (2005-06-08 11:49) [5]

dmitry501 ©   (08.06.05 11:35) [1]
Рекурсии здесь нет, ты немного не правильно понял


← →
Anonimus ©   (2005-06-08 11:50) [6]

Anonimus ©   (08.06.05 11:49) [5]
Сорри, не  тому ответил :-)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.029 c
10-1094708761
serg128
2004-09-09 09:46
2005.06.29
Как построить график в Excel?


1-1118220779
zorik
2005-06-08 12:52
2005.06.29
Экспорт в Excel


1-1117826054
Tuzemec
2005-06-03 23:14
2005.06.29
Размер Pchar а


9-1111645986
ninja
2005-03-24 09:33
2005.06.29
интерфейс пользователя в игре


1-1117955736
Motion
2005-06-05 11:15
2005.06.29
Проверка значения переменной




   Наверх