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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.08.2014, 09:41   #1
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию Повторное сообщение.

Всем хай, есть мемо там есть время
15:00
16:00
17:00

Как то так там так вот есть еще функция...
Код:
procedure TForm1.Timer2Timer(Sender: TObject);
var i:integer;
begin
 i:=Memo2.Lines.IndexOf(FormatDateTime('hh:nn',time));
 if i<>-1 then begin
        ShowMessage('бла бла бла .');
        
 end;
end;
как время сходится с системным временем то выходит сообщение НЕ 1 РАЗ а их много считай целую минуту выводит сообщение потом я думал сделать так...

Код:
procedure TForm1.Timer2Timer(Sender: TObject);
var i:integer;
begin
 i:=Memo2.Lines.IndexOf(FormatDateTime('hh:nn',time));
 if i<>-1 then begin
        ShowMessage('бла бла бла .');
        Timer2.Enabled:=False;
        Timer3.Enabled:=True;
 end;
end;
то есть после вывода сообщения чтоб 1 раз вывел и отключился таймер а второй таймер интервал 55 сек. Он сам потом включает таймер... но все же проблема не ушла.... Что еще можно сделать?
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 16.08.2014, 09:50   #2
Xo66um
Форумчанин
 
Регистрация: 11.05.2013
Сообщений: 154
По умолчанию

Выставь глобальную переменную, например:
Код:
var
 MsgShowed: Boolean = False;
И в таймере:
Код:
if not MsgShowed then
 begin
  MsgShowed := True;
  //показываем сообщение
 end;
UPD:
А то у тебя в таймере стоит локальная переменная, которая изменяется при каждом срабатывании таймера, поэтому и сообщения выводятся без конца.

P.S.
Используя пример в моем сообщении, можно обойтись одним таймером.

Последний раз редактировалось Xo66um; 16.08.2014 в 09:55.
Xo66um вне форума Ответить с цитированием
Старый 16.08.2014, 11:27   #3
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Xo66um Посмотреть сообщение
Выставь глобальную переменную, например:
Код:
var
 MsgShowed: Boolean = False;
И в таймере:
Код:
if not MsgShowed then
 begin
  MsgShowed := True;
  //показываем сообщение
 end;
UPD:
А то у тебя в таймере стоит локальная переменная, которая изменяется при каждом срабатывании таймера, поэтому и сообщения выводятся без конца.

P.S.
Используя пример в моем сообщении, можно обойтись одним таймером.
Спасибо, есть еще вопрос....
Могу ли я такой глобальной переменной по сравнить загрузку страницы в chrome?
ну например кнопка есть и браузер 1
Код:
Button.click;
begin
chromium1.load('www.programmersforum.ru');
end;
и сделать если страница уже загружена то не загружать ее, а если нет то загрузить?
Код:
procedure TForm1.Chromium1BeforeBrowse(Sender: TObject;
  const browser: ICefBrowser; const frame: ICefFrame;
  const request: ICefRequest; navType: TCefHandlerNavtype;
  isRedirect: Boolean; out Result: Boolean);
begin
     if not chrload then
 begin
  chrload := True;
        Chromium1.Load(Edit1.Text);
 end;
end;
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 16.08.2014, 12:37   #4
Xo66um
Форумчанин
 
Регистрация: 11.05.2013
Сообщений: 154
По умолчанию

Да, это универсальный способ.
Xo66um вне форума Ответить с цитированием
Старый 17.08.2014, 08:43   #5
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Xo66um Посмотреть сообщение
Да, это универсальный способ.
респект=) ото не знал как решить)
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 17.08.2014, 09:58   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А я бы лучше прошелся циклом по всем компонентам хрома и проверил у кого какой путь к сайту, и если бы нашел тот что нужно загружать - переключился на него вместо загрузки по новой.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.08.2014, 21:40   #7
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А я бы лучше прошелся циклом по всем компонентам хрома и проверил у кого какой путь к сайту, и если бы нашел тот что нужно загружать - переключился на него вместо загрузки по новой.
Ну так пройдитесь епти) покажите) мне только интересно будет)
P.S. Я не жду готовых исходников просто по смотрел бы как пример)
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 17.08.2014, 22:22   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Ну так пройдитесь
Это что мне нужно?
Хочешь чтоб я ради неизвестно чего закакал свою систему каким-то непонятным компонентом, который и за компонент нормальный не считаю?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.08.2014, 22:58   #9
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Это что мне нужно?
Хочешь чтоб я ради неизвестно чего закакал свою систему каким-то непонятным компонентом, который и за компонент нормальный не считаю?
вы о чем? ща?
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 17.08.2014, 23:04   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
вы о чем? ща?
Вот о чем:
1) У меня нет желания ставить себе хромиум. Никакого.
2) Ты как с ним работаешь? Покажи. Создаешь динамически? Отлично. Записывай то что создано в переменку типа TObjectList, потом по ней проходись и выясняй данные.
3) Если компонент хрома у тебя один единственный то найди в нем свойство, отвечающее за адрес запрошенной страницы. Его и проверяй.
К чему лишние переменные? Это хорошо еще если компонент один, а что делать когда их будет сотня? Сто глобалок создавать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повторное нажатие HTTqp Общие вопросы Delphi 5 23.05.2014 09:17
Повторное использование формы kogtishka Общие вопросы Delphi 1 16.04.2012 19:57
Повторное нажатие Vitalya_1993 Помощь студентам 2 16.12.2011 04:47
Повторное вхождение слов as1212 Помощь студентам 1 02.11.2011 20:55
Повторное соединение (Indy) palm Работа с сетью в Delphi 4 24.02.2011 21:06