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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2008, 15:01   #1
JRcoker
Форумчанин
 
Аватар для JRcoker
 
Регистрация: 18.07.2008
Сообщений: 119
По умолчанию Задержка

Вобщем нужен такой код чтоб по нажатию кнопки он открыл сокет
MySocket1.Open;
И через 2 секунды его закрыл
MySocket1.Close;
Улыбайся...Люди любят идиотов...
JRcoker вне форума Ответить с цитированием
Старый 06.08.2008, 15:06   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Sleep(2000) или чтоб неподвисало
Код:
for i := 1 to 20 do begin  
   Sleep(100); 
   Application.ProcessMessages;
end;
eoln вне форума Ответить с цитированием
Старый 06.08.2008, 15:52   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Вобщем нужен такой код чтоб по нажатию кнопки он открыл сокет
И в чем затруднения?
Demo папки и хелпы по сокетам в Делфи вроде еще жЫвее всех живих.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.08.2008, 19:00   #4
JRcoker
Форумчанин
 
Аватар для JRcoker
 
Регистрация: 18.07.2008
Сообщений: 119
По умолчанию

eoln программа не виснет...Но закрыть её становится затруднительно...
Улыбайся...Люди любят идиотов...
JRcoker вне форума Ответить с цитированием
Старый 06.08.2008, 19:46   #5
Crivel
Delphi\C++
Форумчанин
 
Аватар для Crivel
 
Регистрация: 18.06.2008
Сообщений: 277
По умолчанию

JRcoker, а таймер не подойдёт?
Допустим разделить этот код на две процедуры -
Код:
//Любая процедура
begin
MySocket1.Open;
Timer1.Enabeled = true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
MySocket1.Close;
Timer1.Enabeled := false;
end;
Таймеру надо будет поставить значения Enabeled = false и Interval = 2000
Crivel вне форума Ответить с цитированием
Старый 07.08.2008, 16:24   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

В Turbo Pascal была такая функция: Delay - задержка на указанное число мc.
Вот вариант для Делфи:
Код:
procedure Delay (ms: Integer);
var T: Integer;
begin
  T := GetTickCount;
  repeat
    Application.ProcessMessages;
  until GetTickCount - T > ms;
end;
Для задержки на 2 сек: Delay (2000);

P.S. написал сходу (не тестируя), должно работать.
Arigato вне форума Ответить с цитированием
Старый 07.08.2008, 16:38   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
В Turbo Pascal была такая функция: Delay - задержка на указанное число мc.
В Делфи эта функа заменена на ту пример которой привел eoln
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.08.2008, 16:49   #8
Crivel
Delphi\C++
Форумчанин
 
Аватар для Crivel
 
Регистрация: 18.06.2008
Сообщений: 277
По умолчанию

Цитата:
Сообщение от Crivel Посмотреть сообщение
JRcoker, а таймер не подойдёт?
Допустим разделить этот код на две процедуры -
Код:
//Любая процедура
begin
MySocket1.Open;
Timer1.Enabeled = true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
MySocket1.Close;
Timer1.Enabeled := false;
end;
Таймеру надо будет поставить значения Enabeled = false и Interval = 2000
А что, мой пример не подойдёт?
Crivel вне форума Ответить с цитированием
Старый 07.08.2008, 17:50   #9
JRcoker
Форумчанин
 
Аватар для JRcoker
 
Регистрация: 18.07.2008
Сообщений: 119
По умолчанию

Врятли тут что либо вообще подойдёт...
Я думал если открывать сокет и секунды через 2 закрыть то ответ от сервера быстрее вылезит...
На примере видел программа взят компомент TClientSocket...Подключение к одному и тамуже серверу...Только вот ответ у проги моментальный..А у меня через секунд 10 - 8...
Улыбайся...Люди любят идиотов...

Последний раз редактировалось JRcoker; 07.08.2008 в 18:35.
JRcoker вне форума Ответить с цитированием
Старый 07.08.2008, 21:11   #10
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
В Делфи эта функа заменена на ту пример которой привел eoln
процедура sleep по сути вызывает подвисание программы, а вариант Delay, приведенный мною - нет.
Arigato вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задержка экрана juden Общие вопросы C/C++ 13 08.06.2014 05:32
Задержка добавления записи в базу Access из Dephi Zver БД в Delphi 11 16.05.2011 17:57
Задержка Syred Общие вопросы Delphi 2 07.06.2008 08:16
Задержка MaTBeu Общие вопросы C/C++ 3 24.12.2007 10:29
У меня задержка...;) Баламут Общие вопросы Delphi 2 19.06.2007 08:17