Проблема с Result функций

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

#1
Всем солнечного дня! Помогите пожалуйста. Проблема в следующем:
Код:
function timer(min: integer): string;
var
i: integer;
begin
for i := min downto 0 do
begin
result := inttostr(i);
sleep(1000)
end;
end;
Так вот, мне нужно, что бы например в Label выводить все значения цикла по ходу его работы. Если написать это внутри функции то все ок, а если написать так
Код:
 Label1.caption := Timer(5)
, то Label'у будет присвоен конечный результат всего цикла. Вопрос: как мне вывести в Label текущие значение переменой i? :)

Или кто знает расскажите, как работать с процедурами например кнопки в отдельном потоке? :angry:
 
G

Guest

#5
Уважаемый Гуру-Бармутик, а не могли бы подсказать как сделать, что бы работало? :(
 
B

Barmutik

#6
Вариантов реализации может быть много .. чем Вам не нравится вариант с показаом напрямую в лэйбл ?

Расскажите более подробно что кокнретно вы хотите раелизовать .. потому как по привёденному куску кода не совсем понятно что Вам требуется...
 
G

Guest

#7
Я пишу сетевое приложение для управления inet-клубом. При каждом новом подключении клиента, нужно будет устанавливать время его работы. В процессе всей работы серверной части программы в каждой графе соответствующей каждому клиенту, его время будет отсчитоваться по убывающей. Если использовать TTimer, то при каждом новом подключении, что бы реализовать этот обратный отсчет, придеться создавать новый экземпляр таймера, что при даже ни очень большом количестве клиентов заметно подвесит программу. Вот я и решил оформить этот самый таймер своей функцией и вынести все это в отдельный поток. :( Хотя может этого и не стоило делать? Посотоветуйте как рациональней?
 
Z

zubr

#9
Рациональней будет контролировать время на стороне клиента, а сервер может периодически опрашивать клиентов по списку, имхо.
 
D
#10
Лично у меня так и делается.
Я кстати разрешил свою проблему!
 
Статус
Закрыто для дальнейших ответов.