Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2009, 07:31   #1
The riddle
Пользователь
 
Аватар для The riddle
 
Регистрация: 31.05.2009
Сообщений: 18
Стрелка

Товарищи,учусь работать с таймером, переделываю программку,на форме Lable3,Button2,Timer. При работе программы в лейбл все по нулям и идет отсчет по возрастающей,при двойном нажитии он останавливается,при 3ем и 4 ом все нормально(обратный отсчет/стоп 29:59) Помогите пожалуйста изменить:
Код:
implementation

{$R *.dfm}
var

  min: integer;  
  sec: integer;  


procedure ShowTime;
var
    buf: string[20];
begin

  if min < 10 then
     buf := '0' + IntToStr(min) + ':'
  else
     buf := IntToStr(min) + ':';

  if sec < 10 then
    buf := buf + '0' + IntToStr(sec)
  else
    buf := buf + IntToStr(sec);

  Form1.Label3.Caption := buf;
end;
 procedure TForm1.Timer1Timer(Sender: TObject);
begin
 sec := sec - 1;
  ShowTime; 
  if (min = 0) and (sec = 0) then
  
    begin
      Timer1.Enabled := False;   
      ShowMessage('Заданный интервал истек!');
      Button1.Caption := 'Запустить';
      Label3.Visible := False;   
    
exit;
    end;

  if (sec = 0) and (min > 0) then
     begin
         sec := 60;
         min := min - 1;
     end;

end;
 procedure TForm1.Button2Click(Sender: TObject);
begin
 if Form1.Timer1.Enabled then
 
    begin
      Timer1.Enabled := False;  
      Button2.Caption := '';
      Label3.Visible := True;   
    

    end

  else
   
    begin
      min := 24;
      sec := 59;
      if (sec = 0) and (min = 0) then
      begin
        ShowMessage('Установите время!');
        exit;
      end;

      Timer1.Enabled := True;  
    
Label3.Visible := True;
      Button1.Caption := 'Остановить';
      ShowTime;
    end;
end;
end.
Showmessage ('Установите время!)-это я убиру

Последний раз редактировалось Stilet; 07.12.2009 в 09:53.
The riddle вне форума Ответить с цитированием
Старый 07.12.2009, 09:54   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ничего что-то я не понял...
Давай подробнее обьясняй.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.12.2009, 10:00   #3
The riddle
Пользователь
 
Аватар для The riddle
 
Регистрация: 31.05.2009
Сообщений: 18
По умолчанию

Мне нужно создать программу тестирования,там я хочу разместить таймер на 30 минут,программа,которую я написала,должна работать так: нажимаем на кнопку,запускается таймер(обратный отсчет на выполнение теста).А у меня при запуске высвечивается не обратный отсчет,а 0:0-1 и т.д-увеличивается время,но когда я несколько раз нажимаю кнопку запуска таймера,то все работает нормально.Как сделать так,чтоб таймер сразу нормально запускался?
The riddle вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Продвижение, раскрутка и улучшение сайтов Viteef Обсуждение статей 3 08.12.2008 13:56
Улучшение внешнего вида запроса Kip Microsoft Office Access 1 09.09.2008 08:24
Улучшение DBLookUpComboBox 1sal1 БД в Delphi 0 20.08.2008 16:11
Улучшение зрения Манжосов Денис :) Свободное общение 13 30.04.2008 13:21