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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2011, 23:19   #1
saltonik
Пользователь
 
Регистрация: 09.03.2011
Сообщений: 12
По умолчанию проблема с showmessage

Здравствуйте! Помогите плиииз: когда выходит шоумессидж, ок нужно нажимать неск раз чтобы окошко мессиджа закрылось. в чем ошибка.

Код:
procedure TForm2.Timer3Timer(Sender: TObject);
begin
       shape1.left:= shape1.left+k;
       shape2.top:= shape2.top-l;
if shape1.left+shape1.width > ostput then
begin
timer3.Enabled:=false; timer4.Enabled:=false;  timer1.Enabled:=false;
end;
 if ((shape1.Left+shape1.Width)>shape2.Left) and (shape2.top< shape1.top+shape1.height)
 then
 begin
case i of
1: p:='ÊÎËIÊ';
2: p:='ÊÎËIÊ';
3: p:='ÊÎËIÊ';
4: p:='ÊÎËIÊ';
5: p:='ÆÀßÓ ÆÓÐÃIÍØI';
 END;
 p:= 'Ñîãûï êåòó îðûíäàëàäû! Åðåæåíi áóçóøû - '+#13#10+p;
 showmessage(p);
 end;
end;
saltonik вне форума Ответить с цитированием
Старый 02.04.2011, 23:58   #2
Наки
Пользователь
 
Аватар для Наки
 
Регистрация: 03.11.2010
Сообщений: 24
По умолчанию

Скорее всего сообщение выходит несколько раз из-за того, что ты прописываешь его вывод в обработчике события OnTimer. То есть получается, что несколько раз подряд через заданный интервал времени таймера Timer3 не выполняется условие if shape1.left+shape1.width > ostput и выполняется if ((shape1.Left+shape1.Width)>shape2. Left) and (shape2.top< shape1.top+shape1.height), в результате чего собственно и выводится сообщение.
Точно посоветовать, что делать, не могу, т.к. не знаю, как в целом программа работает.
Попробуй после showmessage(p); прописать Timer3.Enabled:=false;. Может, поможет...
Я не волшебница, я только учусь
Наки вне форума Ответить с цитированием
Старый 03.04.2011, 00:07   #3
saltonik
Пользователь
 
Регистрация: 09.03.2011
Сообщений: 12
По умолчанию

спасибки получилось. оказывается end; надо не после timer3.enabled:= false; a после showmessage
saltonik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Showmessage Pein95 Общие вопросы Delphi 6 05.03.2011 21:44
ShowMessage krikaved Общие вопросы Delphi 6 19.03.2010 04:19
showmessage Neymexa Помощь студентам 2 24.01.2009 18:00
ShowMessage DM_bite Помощь студентам 14 12.09.2008 01:02
Проблема с ShowMessage ~LiS~ Помощь студентам 11 14.11.2007 23:00