Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];




Вниз

Как сделать паузу. 


Mis   (2002-01-02 13:41) [0]

Подскажите please, спомощью чего можно организовать паузу на заданное время.



sleep   (2002-01-02 13:52) [1]

sleep(время)



nil   (2002-01-02 14:50) [2]

GetTickCount



skaminski~~~~   (2002-01-02 23:49) [3]


procedure Delay(msecs:integer);
var
FirstTickCount:longint;
begin
FirstTickCount:=GetTickCount;
repeat
Application.ProcessMessages;
until ((GetTickCount-FirstTickCount) >= Longint(msecs));
end;



MrBeer   (2002-01-03 09:00) [4]

Esli ya oshibajusj - izpravte menya, no pod *nix (nadejus pod Win32 eto takzhe rabotaet) esli nado na korotkoe vremya (<1ms) mozhno polzovatj select (v win32 eto v winsock2.h sidit):

int select (

int nfds,
fd_set FAR * readfds,
fd_set FAR * writefds,
fd_set FAR * exceptfds,
const struct timeval FAR * timeout
);




Sootvetsvenno na C eto budet (ne pomnju kak eti strukturi konvertnuli na Obj. Pascal, sam posmotri):

fd_set set;
FD_ZERO(&set); // Pustoi descriptor set
struct timeval time;
time.tv_sec = 0;
time.tv_usec = 50; //50 mikrosekund!

select(0,&set,&set,&set,&time);


Best regards, MrBeer.



cdaDmitriy   (2002-01-03 09:18) [5]

>> skaminski~~~~
хочет наступать на грабли если приводишь кодто ПОДУМАЙ
что будет при изменении даты
GetTickCount -- тики с начала суток !!!!!



Anatoly Podgoretsky   (2002-01-03 09:29) [6]

Приведите доказательство.



MrBeer   (2002-01-03 09:32) [7]

GetTickCount millisekundi ot restarta windows.

Best regards.



gek   (2002-01-03 09:33) [8]

GetTickCount - количество тиков таймера с начала загрузки системы, а не начала суток



Ujin_m   (2002-01-03 12:19) [9]

Vse horosho no pri etom CPU rabotaet pod 100%. Luchshe povesit timer na formu i ispolzovat WaitForObject dlia prodoljenia rabotu.



Bakca   (2002-01-03 12:34) [10]

Я в основном использую sleep. Насколько я понимаю, он
замораживет поток на заданное время (в ms). Что и требуется.



Knight   (2002-01-03 12:41) [11]

skaminski контузило :))



Ujin_m   (2002-01-03 12:42) [12]

Naschet sleep Ia ne uveren chto on deistvitelno gramotno tormozit potok. Timer ne obiazatelen mojno prosto:

try
WaitFor (Self.TerminateEvent.Handle, 5000, True);
except
on E:Exception do
;//Ignore
end;



Smartov   (2002-01-03 15:21) [13]

Люди, чего вы столько гемора советуете
Если приложение не на АПИхах а ВЦЛ то не
гемморойся а поставь на форму таймер со страницы
System, которому выставь отрезок времени на
который надо паузу, и выставь Enabled=False
В нужныій момент Enabled присваивай True. Внуть
события по таймеру запихни код который, где опять
сделай Enabled=False




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.012 c
14-66346          Dick                  2001-11-23 20:20  2002.01.21  
Знатоки! Объясните.


1-66299           ctapik-net            2002-01-02 14:36  2002.01.21  
Есть форма, необходимо нарисованное изображение на ней увеличить или уменьшить.


3-66186           Gollo                 2001-12-16 23:29  2002.01.21  
Возврат на запись после редактирования


1-66239           vlv                   2001-12-29 19:40  2002.01.21  
*.icl


4-66388           YUS                   2001-11-18 19:07  2002.01.21  
SetWindowsHookEx