Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> простой счётчик и вывод его на форму, глюк 
:(
    Опции темы
h2o
Дата 19.2.2009, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 19.8.2005

Репутация: 1
Всего: 1



Может я туплю... но уже час бьюсь с проблемой и не получается решить.. самому смешно, но...
Проблема следующая: В проге я вывожу заставку ожидания(другая форма). на заставке тупо надпись и бежит время ожидания. По срабатыванию таймера в 1 секенду обновляется прошедшее время на экране(тоже на секунду). т.е. фактически у меня там счётчик секунд. i,ii : integer;
Делфи 2009 код: 
Код

procedure TSplashScreen.Timer1Timer(Sender: TObject);
begin
 inc(i); //секунды
 if i=60   //это чтобы вместо 0:60 было 1:00
  then
   begin
    inc(ii); //минуты
    i:=0
   end;
 if i<10
  then Label2.Caption:=(IntToStr(ii)+':0'+IntToStr(i)) //для формата 0:01
  else Label2.Caption:=(IntToStr(ii)+':'+IntToStr(i));  //для формата 0:10
  SplashScreen.Update;
end;

Вместо того чтобы на форме прибавлять по 1й секунде - на одно срабатыване таймера (которое 1 секунда (interval=1000)) счётчик увеличивается на 2.
т.е. за 1 секунду счтчик прибавляется на 2 единицы а не на 1. И хз почему?
вместо того чтобы выводить:
0:01
0:02
0:03
0:04
0:05
0:06 и т.д.
на форме каждую секунду выходит:
0:02
0:04
0:06
0:08
0:10
0:12 и т.д.

кто-нибудь подскажите почему?

--------------------
Я нифига не знаю! мало что понимаю! Помогите тупому... У меня стоит D7!
PM MAIL   Вверх
Данкинг
Дата 19.2.2009, 19:33 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Application.ProcessMessages добавить попробуй после обновления Label.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Antony41
Дата 19.2.2009, 19:59 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 27.12.2008

Репутация: 1
Всего: 1



Код

//Глобальные переменные
var
ss, mm, hh:integer;


procedure TForm1.Timer1Timer(Sender: TObject);
var
s,m,h:string;
begin
//Сам таймер
if hh<23 then
    if mm<59  then
       if ss<59 then
          inc(ss)
       else
          begin
            ss:=0;
            inc(mm);
          end
    else
      begin
         mm:=0;
         inc(hh);
      end
else
  hh:=0;
        //превращаем в строку если один множитель, то дописываем 0 в начало перед строкой
        //иначе оставляем как есть
        if hh<10 then
          h:='0'+IntToStr(hh) else H:=IntToStr(hh);
        if mm<10 then
          m:='0'+IntToStr(mm) else M:=IntToStr(mm);
        if ss<10 then
          s:='0'+IntToStr(ss) else S:=IntToStr(ss);
//где и как хочешь отобразить
Caption:=H+':'+M+':'+S;
//задаём интервал и выполняем событие
if (mm=2) and (ss=25) then
  begin
    Timer1.Enabled:=False;
    ShowMessage('Запуск формы');
  end;
end;





Это сообщение отредактировал(а) Antony41 - 19.2.2009, 20:31
PM MAIL   Вверх
h2o
Дата 19.2.2009, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 19.8.2005

Репутация: 1
Всего: 1



Данкинг это не помогает.. темболее SplashScreen.Update; стоит - что тоже самое значене имеет.

Antony41 функция такаяже.. принцип тот же. но проверю завтра. спасибо.

Фишка. Дома на Д2007 когда таймер на основной форме - всё работает как надо. и моя функция.. и Antony41

а на работе на Д2009, я вывожу по среди проекта  на сплэш-форме... и не работает.. (причем кажется что раньше всё работало...)

в чём может быть дело?
--------------------
Я нифига не знаю! мало что понимаю! Помогите тупому... У меня стоит D7!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0966 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.