|
|
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста, как программно сделать задержку ровно на 4 секунды - очень нужно. Знаю есть такая функция Delay, только она у меня почемуто не хочет работать! :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 19:26 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
Используй таймер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 19:29 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
Оффтопик! Задержка - какое-то неприятное, женское слово.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 19:40 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
удобно пользоваться API-функцией Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sleep 4000 - вызовет задержку на 9 меся... тьфу на 4 секунды :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 21:13 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
Спасибо за функцию Sleep. To: RVI, а как пользоваться таймером? P.S. Да, на счет "задержки" нехорошо получилось, надо было топик назвать "как выждать 4 секунды" :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 22:13 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
Офтопик опять - главное, чтобы задержка не переросла в воздержание :-) Про таймер - в форме есть событие Timer, а сразу под ним - интервал срабатывания в милисекундах. При открытии формы выставляешь какой-нибудь флаг, а потом в событии Timer после первого срабатывания снимаешь. Наверняка есть еще способы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 22:46 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
Разумеется есть. Например функция Timer Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 22:53 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
2ЛП цикл грузит проц, что достаточно неприятно == Не много ошибся: Do Until Timer > t + 4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 23:28 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
Ну а про DoEvents внутри цикла забілиН ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 23:29 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
2 Сенин Виктор Я думаю проц не сгорит 2 Одесс А этого по условию задачи не требовалось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 23:34 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
2 Лох: В твоем цикле есть баг, похожий на баг-2000. Если в середину этого цикла влезет полночь, то цикл не закончится никогда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2003, 23:49 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
Такая маленькая функция ... и столько проблем К счастью - не моих. Sleep - более чем достаточно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 00:17 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
Т.е. у Лоха вообще ошибка. Надо или Until Timer >, или While Timer <. А кроме того, можно в этот цикл вставить строчку: If Timer < t Then t = t - 24 * 3600 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 00:25 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
Блин, на кусочки порвали То Until им не понравился,то Timer на Now не догадались заменить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 00:31 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
А если Now, то какое число будет вместо числа 4? 4 / (24 * 3600) - это сколько по-десятичному? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 01:04 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
Саныч, ну что ж ты как маленький CDbl(CDate("00:00:04")) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2003, 01:09 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
Спасибо большое за ответы, но у меня еще в связи с таймером возник вопрос: У меня на процедуре обработки событий уже стоит один таймер, Start <= 0 Then If Start <= N * -1 Then GoTo ex Else If Me![z1].Width - s <= 0 Then GoTo ex Me![z1].Width = Me![z1].Width - s GoTo prod End If End If Me![z1].Left = Start Start = Start - s GoTo prod ex: Me![z1].Visible = False Me![z1].Visible = True Start = N Me![z1].Width = begL prod: If pr = True Then If Start1 <= 2000 Then GoTo ex1 Me![z2].Left = Start1 Start1 = Start1 - s1 GoTo Finish Else GoTo 2 End If ex1: Me![z2].Visible = False Me![z2].Visible = True pr = False Me![z2].ForeColor = 255 Start1 = 2000 2: If Start1 >= N1 Then GoTo ex2 Me![z2].Left = Start1 Start1 = Start1 + s1 GoTo Finish ex2: Me![z2].Visible = False Me![z2].Visible = True pr = True Me![z2].ForeColor = 16711680 Start1 = N1 Finish: Он осуществляет бесконечный цикл, а мне надо таймером в 4 сек. выждать и закрыть форму, а если еще поставлю на таймер: Dim t As Single t = Timer Do Until Timer > t + 4 Loop то два таймера работают совместно. Подскажите пожалуйста, как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 14:41 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
Dim t As Single t = Timer Do Until Timer > t + 4 Loop - этот кусок программы сам по себе реализует задержку в 4 секунды. Его не надо вставлять в событие таймера. Кстати, чтобы избежать проблем с полночью (или полуночью), советую вставить внутрь цикла строчку: If Timer < t Then t = t - 24 * 3600 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 15:29 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
Так вопрос именно в этом и заключался, куда вставить таймер с задержкой 4 сек, чтобы после его выполнения написать DoCmd.Close и форма закрылась бы. Я понимаю, что нельзя его поставить в Timer, а куда его тогда поставить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 15:34 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
А после чего надо отсчитывать 4 секунды??? Поскольку уважаемый автор вопроса нам этого не рассказал, то мы этого и не знаем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 15:37 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
После открытия формы - идет задержка в 4 сек, а потом форма закрывается. (На Open задержку повесить не получается, т.к. Access ждет 4 сек, а потом открыват форму, на Load - тоже, а на какое событие тогда можно повесить - не знаю). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 15:44 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
Я бы повесил на Open, только внутрь цикла вставил бы DoEvents ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 15:50 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
Внутрь какого цикла и куда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 16:00 |
|
||
|
Программная задержка!
|
|||
|---|---|---|---|
|
#18+
Dim t As Single t = Timer Do Until Timer > t + 4 If Timer < t Then t = t - 24 * 3600 DoEvents Loop ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2003, 16:57 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32297419&tid=1678791]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 359ms |

| 0 / 0 |
