Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Дублирование Showmessage


Страницы:   1 2

Демерго ©   (2010-12-06 11:04:00) 

Всем привет, подскажите почему происходит многоразовое срабатывание Showmessage в следующем коде. Причем количество срабатываний не фиксированное. От трех до пяти.

Вот код:

По окончанию загрузки страници ищем в ней текст "Гром"

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
 const pDisp: IDispatch; var URL: OleVariant);
begin
if s=1 then SearchAndHighlightText4('Гром');
end;

Вот алгоритм поиска и если текст найдем запускаем таймер 4.

procedure TForm1.SearchAndHighlightText4(aText4: string);
var
 i4: Integer;
begin
 for i4 := 0 to WebBrowser1.OleObject.Document.All.Length - 1 do
 begin
   if Pos(aText4, WebBrowser1.OleObject.Document.All.Item(i4).InnerText) <> 0 then
   begin
    timer4.Enabled:=true;
   end;
 end;
end;

Выдаем сообщени "бинго" и останавливаем таймер.

procedure TForm1.Timer4Timer(Sender: TObject);
begin
showmessage('Бинго');
timer4.Enabled:=false;
end;

После выполнения этого кода табличка "Бинго" выскакивает много раз. Подскажите почему.


Dennis I. Komarov   (2010-12-06 14:29:00) [1]


> Н-да...

И ты еще удивляешся?
Смотрел я за веткой: кто же не выдержит...


Ega23   (2010-12-06 13:19:00) [2]


> Гениально! все заработало как надо :)

[3], [7], [14], [15]...
Н-да...


Демерго   (2010-12-06 13:16:00) [3]


> icWasya ©


Гениально! все заработало как надо :) Жалко здесь плюсики нельзя ставить.

Спасибо ОГРОМНОЕ :)


Медвежонок Пятачок   (2010-12-06 13:14:00) [4]

Переставить конечно надо, но судя по [20] и [22] этого мало.


icWasya   (2010-12-06 13:11:00) [5]

всего навсего надо было переставить вот эти строки
showmessage('Бинго');
timer4.Enabled:=false;


Медвежонок Пятачок   (2010-12-06 12:55:00) [6]

for i4 := 0 to WebBrowser1.OleObject.Document.All.Length - 1 do
begin
 ShowMessage(WebBrowser1.OleObject.Document.All.Item(i4).InnerText);
......


Демерго   (2010-12-06 12:50:00) [7]

Ладно, забей. Само срастется :)


Медвежонок Пятачок   (2010-12-06 12:48:00) [8]

Непонятно почему такие большие и почему каждый раз разные :)

Все по новой?
Сказка про белого бычка?


Демерго   (2010-12-06 12:46:00) [9]


> Медвежонок Пятачок ©  


Спасибо за код :) Цифры получились забавные 28... 56... :) Непонятно почему такие большие и почему каждый раз разные :)


Ega23   (2010-12-06 12:29:00) [10]

Удалено модератором


Медвежонок Пятачок   (2010-12-06 12:29:00) [11]

Если отладчик не осилил, то вот это-то поюзай

...
for i4 := 0 to WebBrowser1.OleObject.Document.All.Length - 1 do
begin
  if Pos(aText4, WebBrowser1.OleObject.Document.All.Item(i4).InnerText) <> 0 then
  begin
   Tag := succ(Tag);
   Caption := Format('Вот сколько раз %d',[Tag]);
   timer4.Enabled:=true;
  end;
end;
end;


Демерго   (2010-12-06 12:25:00) [12]

Есть скайп? Я за минуту наверно больше словами обьясню чем тут этими "ребусами".


Медвежонок Пятачок   (2010-12-06 12:21:00) [13]

а чем аналогия не понравилась?

Водила без понятия что кто-то там в салоне закрыл глаза.

Таймер тоже без понятия что кто-то там нажал или не нажал какую-то кнопку, про которую он ничего не знает.

Тайме не знает, что ему "типа нельзя тикать"
Водила не знает, что ему "типа нельзя видеть дорогу"


Демерго   (2010-12-06 12:15:00) [14]


> Медвежонок Пятачок ©


сам то понял смысл приведенной аналогии?

ЗЫ: Я думаю ты мне уже достаточно помог по данному вопросу. Спасибо :)


Демерго   (2010-12-06 12:13:00) [15]


> stas ©


щас буду мучать :) проверь мыло указанное у тебя в профиле


Медвежонок Пятачок   (2010-12-06 12:08:00) [16]

То есть пока я не нажму "ок" в мессадже, таймер продолжает тикать?

То есть когда я еду в автобусе и закрываю глаза, то водила продолжает видеть дорогу?!!!

Чума!!!


stas   (2010-12-06 12:01:00) [17]

Демерго   (06.12.10 11:15) [8]
Отладчик, точки останова для чего? )


Jeer   (2010-12-06 11:49:00) [18]

Представляю себе состояние вещей, посуды, etc..


Демерго   (2010-12-06 11:40:00) [19]

Наверное чтобы делать за меня всю грязную работу. Ну там стирать, мыть посуду и т.д. :)


Медвежонок Пятачок   (2010-12-06 11:36:00) [20]

а зачем тебе программа, если ты круче процессора?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо