Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.01.2018, 14:16
wany.iv wany.iv вне форума
Прохожий
 
Регистрация: 25.09.2017
Сообщения: 7
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Где ошибка?

Во листинг:
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
Label  t1;
var
v1,EndTime10:integer;
H,M,S:Byte;

begin
EndTime10:=10;
v1:=0;
t1:

EndTime10:=EndTime10-1;
S :=EndTime10 mod 60;
M :=EndTime10 div 60 mod 60;
H :=EndTime10 div 3600;
Edit1.Text :=IntToStr(H)+':'+IntToStr(M)+':'+IntToStr(S);
if EndTime10>0 then
                   begin
                         Edit1.Text :=IntToStr(H)+':'+IntToStr(M)+':'+IntToStr(S);
                         v1:=v1+1;
                         Edit4.Text := IntToStr(v1);
                         sleep(1000);
                         goto t1;
                    end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
      Timer1.Enabled:=True;
end;

end.
Админ: Пользуемся тегами при оформлении кода!

Должен выводить каждый виток цикла (виток цикла 1 сек) в поля Edit1, Efdit4, но выводит лишь последнее значение.
Не пойму где ошибка.

Последний раз редактировалось Admin, 11.01.2018 в 19:20.
Ответить с цитированием
  #2  
Старый 11.01.2018, 14:57
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Оффтоп: пжлст, оформите "листинг" тегом [СODE]...[/СODE]

Непонятная конструкция, типо таймера обратного отсчёта, зачем здесь TTimer, он лишний, но если так задумано, тогда так
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
 Label t1;
var
 v1,EndTime10:integer;
 H,M,S:Byte;
begin
 Timer1.Enabled:= false;
 EndTime10:=10;
 v1:=0;

 t1:

 dec(EndTime10);
 S:= EndTime10 mod 60;
 M:= EndTime10 div 60 mod 60;
 H:= EndTime10 div 3600;
 Edit1.Text:= IntToStr(H) + ':' + IntToStr(M) + ':' + IntToStr(S);

if EndTime10>0 then
 begin
  Edit1.Text:= IntToStr(H) + ':' + IntToStr(M) + ':' + IntToStr(S);
  inc(v1);
  Edit4.Text:= IntToStr(v1);
  Sleep(1000);
  Application.ProcessMessages;

  goto t1;

 end;
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:54.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter