Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

messagedlg +timer+random   Найти похожие ветки 

 
MoGiLsHiKK   (2003-10-24 15:03) [0]

Привет всем!!
Объясните ,пожалуйста, как можно вывести сообщение через определенное время с помощью random-а .
Пробовал прописывать в TimerN.OnTimer :
......
case random(i) of
0:messagedlg();
1:messagedlg();
.............
end;
Но таймер выводит сообщения не через интервал а все сразу .
Заранее спасибо!( если нужно больше информации-говорите опишу подробнее)


 
Mihey ©   (2003-10-24 15:46) [1]

Это потому, что когда диалог выводится, таймер продолжает работать. А тебе бы хорошо приостанавливать его работу в ожидании нажатии пользователем кнопочки.


 
Jel ©   (2003-10-24 15:56) [2]

код onTimer покажи целиком.


 
MoGilShiKK   (2003-10-25 07:36) [3]

to Mihey
в форме кнопки не используются или их слишком много ,
в каждой ведь не пропишишь timer:=false;

to Jel
вот часть кода (подного больше не существует);
var break1:boolean;
procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer;c:string;
begin
application.ProcessMessages;
repeat
break1:=false;
case random(i) of
0:showmessage("0");
1:showmessage("1");
2:messagedlg("hi",mtinformation,[mbOK],0);
3:showmessage("2");
end;
until break1;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
break1:=true;
end;


 
cyborg ©   (2003-10-25 11:45) [4]

Карамба! Что это такое? :)
Всё в мусор

procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer;
begin
case random(i) of
0:showmessage("0");
1:showmessage("1");
2:messagedlg("hi",mtinformation,[mbOK],0);
3:showmessage("2");
end;
end;


 
MoGilShiKK   (2003-10-25 19:20) [5]

to Cyborg
А ты сам пробовал запускать то что написал.
После запуска выдастся только первое сообщение.
Если вставить repeat тогда сообщения действительно будут
выдаваться через random но без интервала.
К тому же остановить программу с помощью самой себя(если так можно выразиться) невозможно(для этого и используется процедура break и application.pm).
Так что ошибка наверное не здесь.( точнее ошибки)
Но все равно спасибо!!!


 
cyborg ©   (2003-10-26 01:12) [6]

Ты мне ответь зачем это всё в таймере у тебя?
Вообщето там не i, а 4 должно быть.
К тому же остановить программу с помщью самой себя возможно и что такое остановить программу с помощью самой себя? :)


 
MoGilShiKK   (2003-10-27 16:30) [7]

To cyborg
>Ты мне ответь зачем это всё в таймере у тебя?
>Вообщето там не i, а 4 должно быть.
>К тому же остановить программу с помщью самой себя возможно и >что такое остановить программу с помощью самой себя? :)

1)как почему? и как интересно по другому можно заставить сообщения появляться через определенный интервал времени?!?(не усложняя код)
2) обязательно попробую заменить I на кол-во сообщений;
3) заранеее спасибо


 
Mihey ©   (2003-10-27 21:42) [8]

Итак, я приведу код. Данный код через определённый интервал показывает сообщение, в котором етсь одна кнопка ОК. После того, как юзер нажмёт кнопку ОК, через этот же интервал покажется следующее сообщение.

procedure TForm1.Timer1Timer(Sender: TObject);
var i: Integer;
begin
i := Random(2)+1;
Case i of
1: begin
Timer1.Enabled := False;
If MessageDlg("1", mtInformation, [mbOk], 0) = mrOk then
Timer1.Enabled := True;
end;
2: begin
Timer1.Enabled := False;
If MessageDlg("2", mtInformation, [mbOk], 0) = mrOk then
Timer1.Enabled := True;
end;
3: begin
Timer1.Enabled := False;
If MessageDlg("3", mtInformation, [mbOk], 0) = mrOk then
Timer1.Enabled := True;
end;
end;
end;

Не забудь выполнить где-нить Randomize.


 
Maxud ©   (2003-10-28 21:30) [9]


> Mihey © (27.10.03 21:42) [8]


If MessageDlg("3", mtInformation, [mbOk], 0) = mrOk // !!!!!!!

а что еще может вернуть эта функция?


 
panov ©   (2003-10-28 22:26) [10]

>Maxud © (28.10.03 21:30) [9]

а что еще может вернуть эта функция?

mrCancel, если нажмешь кнопку закрытия окна.



Страницы: 1 вся ветка

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.022 c
1-41466
ilka
2003-10-28 22:23
2003.11.13
загрузка SSL-евской длл


7-42199
pst
2003-08-27 18:29
2003.11.13
AsyncPro for Delphi6


3-40864
denmin
2003-10-20 13:31
2003.11.13
выборка в MS SQL2000


1-41467
Sagrer
2003-11-04 19:37
2003.11.13
Помогите с Selection в Memo.


3-41088
paul_k
2003-10-23 13:39
2003.11.13
Параметры в TAdoDataSet