powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / задержка времени
10 сообщений из 10, страница 1 из 1
задержка времени
    #34948810
beginner_fox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Необходимо по ходу выполнения программы вызывать функции с паузами.

Вопрос: есть ли функция задержки (типа pause) в fox-е позволяющая реализовать задуманное?

Я придумал пока 2 варианта:
1. цикл с большим кол. иттераций (но тут время зависит от производ.компа)
2. messagebox c (timeout)-но тут получается противный системный писк от PC(как его програмно выключить?) при каждом вызове messagbox-a


С уважением, beginner_fox.
...
Рейтинг: 0 / 0
задержка времени
    #34948832
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
?seconds()
INKEY( 2 )
?seconds()
WAIT NOWAIT TIMEOUT  2 
?seconds()
...
Рейтинг: 0 / 0
задержка времени
    #34948873
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно и API-функцию использовать

Код: plaintext
1.
DECLARE Sleep IN Win32API INTEGER  
=Sleep( 5000 )

Однако в отличие от функций FoxPro функция SLEEP() будет держать паузу вне зависимости от действий пользователя указанное количество миллисекунд.
...
Рейтинг: 0 / 0
задержка времени
    #34948908
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оказалось, что начиная с VFP9 есть еще такая штуковина

Код: plaintext
KEYBOARD "{PAUSE 5}"

Работает аналогично Sleep() только время указывается в секундах
...
Рейтинг: 0 / 0
задержка времени
    #34948940
beginner_fox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо!!!

Я вот ещё такую штуковину придумал:
(т.к. inkey и wait timeout -держат не ровно- всегда получается разное колл.секунд)

Код: plaintext
1.
2.
3.
4.
vr_timepause= 1 . 5 
var_1=SECONDS()
DO WHILE (SECONDS()-var_1)<vr_timepause
enddo
?(SECONDS()-var_1)
...
Рейтинг: 0 / 0
задержка времени
    #34948984
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beginner_fox
(т.к. inkey и wait timeout -держат не ровно- всегда получается разное колл.секунд)
Так ведь Help надо было прочитать.

Эти функции держат паузу до тех пор, пока не произойдет одно из следующих событий:

-) Пользователь нажал любую клавишу на клавиатуре или дернул указатель мыши. Для Inkey() мышиные события отлавливаются только при задании определенных параметров
-) Если пользователь не нажимал клавиши и не дергал указатель мыши, то по истечении указанного времени.

beginner_fox
Я вот ещё такую штуковину придумал:

Код: plaintext
1.
2.
3.
4.
vr_timepause= 1 . 5 
var_1=SECONDS()
DO WHILE (SECONDS()-var_1)<vr_timepause
enddo
?(SECONDS()-var_1)

Цикл WHILE грузит процессор. В приложении ты, конечно, получишь задержку. Но, заодно, подвесишь и все остальные процессы, открытые у пользователя.
...
Рейтинг: 0 / 0
задержка времени
    #34949003
beginner_fox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ
Цикл WHILE грузит процессор. В приложении ты, конечно, получишь задержку. Но, заодно, подвесишь и все остальные процессы, открытые у пользователя.

Да, Владимир, спасибо!

А если использовать приведённую Вами выше функцию API- то она просто замораживает моё приложение на N-ое количество секунд не подвешивая остальные приложения, я правильно понимаю?

C уважением, beginner_fox.
...
Рейтинг: 0 / 0
задержка времени
    #34949070
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так открой диспетчер задач (Ctrl+Shift+Esc) и посмотри загрузку процессора на разных командах. Если свернуть это окно то оно сворачивается в трей, где визуально видно степень загрузки процессора даже не переключаясь в это окно
...
Рейтинг: 0 / 0
задержка времени
    #34949111
beginner_fox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМТак открой диспетчер задач (Ctrl+Shift+Esc) и посмотри загрузку процессора на разных командах. Если свернуть это окно то оно сворачивается в трей, где визуально видно степень загрузки процессора даже не переключаясь в это окно

Всё так, диспетчер задач подтвердил. :-)
...
Рейтинг: 0 / 0
задержка времени
    #34949647
fox_vik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
PARAMETERS tnSec

LOCAL lnSecond

IF NOT TYPE("tnSec")=="N"
  RETURN 
ENDIF

lnSecond=SECONDS()
DO WHILE (SECONDS()-lnSecond)<tnSec
  DOEVENTS
ENDDO
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / задержка времени
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]