powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выполнение процедуры по времени
6 сообщений из 6, страница 1 из 1
Выполнение процедуры по времени
    #36676926
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть программа, обычная(линейка верхнего меню и куча разных форм), надо например в 17 часов выполнить определённую процедуру(My_proc), в какой точке программы находится пользователь неизвестно. Может кто сталкивался с этим, и вообще возможно ли это?
...
Рейтинг: 0 / 0
Выполнение процедуры по времени
    #36676943
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
q1w1e1,
В приложении вешаешь таймер. Не привязаный к формам.
И там с нужной точностью проверяешь текущее время.
В нужный момент, запускаешь необходимую процедуру.
Точность конечно не высокая.
...
Рейтинг: 0 / 0
Выполнение процедуры по времени
    #36676966
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как это сделать конкретно, где в приложении это надо повесить?, например есть
main.prg
DO programs\BEGIN
PUBLс .......
STORE "" TO ........
DO programs\definemenu
READ EVENTS
SET SYSMENU TO DEFAULT
RETURN

BEGIN.prg

SET ESCAPE OFF
SET DEBUG OFF
SET ECHO OFF
.....
ON KEY LABEL F1

definemenu.prg

SET SYSMENU OFF
* переопределяем системное меню VFP
DEFINE MENU _MSYSMENU BAR IN SCREEN
* определяем горизонтальную строчку меню
DEFINE PAD..........
SET SYSMENU AUTOMATIC
RETURN
...
Рейтинг: 0 / 0
Выполнение процедуры по времени
    #36676998
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
q1w1e1Есть программа, обычная(линейка верхнего меню и куча разных форм), надо например в 17 часов выполнить определённую процедуру(My_proc), в какой точке программы находится пользователь неизвестно. Может кто сталкивался с этим, и вообще возможно ли это?


возможно,
если Вы тупо настроите виндовый Диспетчер заданий
и позовете в нужное время либо какое-то отдельное приложение,
либо запустите копию своего с каким-то параметром,
указывающим на выполнение только отдельной процедуры.
...
Рейтинг: 0 / 0
Выполнение процедуры по времени
    #36677065
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, про диспетчер совсем забыл :-)
...
Рейтинг: 0 / 0
Выполнение процедуры по времени
    #36681988
SindoMeon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант с таймером (мой):
внутри main.prg вешается следующее
Код: plaintext
1.
_screen.AddObject('Timer_1', 'tmr_NY_timer')
в том же main`е делается класс таймера
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
DEFINE CLASS tmr_NY_timer as Timer
	Interval =  1000 
	Enabled = .T.
	
	PROCEDURE Timer
	 ld_CurrentDate = DATE()
	 lt_CurrentTime = DATETIME()
	 ld_NewYear = DATE(YEAR(ld_CurrentDate) +  1 ,  1 ,  1 )
	 
	 ls_NewYear = SPACE( 20 ) + 'До Нового ' ;
	 				+ ALLTRIM(STR(YEAR(ld_CurrentDate) +  1 )) + ' года: ' ;
	 				+ ALLTRIM(STR(ld_NewYear - ld_CurrentDate -  1 )) + ' дн ' ;
	 				+ ALLTRIM(STR( 23  - HOUR(lt_CurrentTime))) + ' час ' ;
	 				+ ALLTRIM(STR( 59  - MINUTE(lt_CurrentTime))) + ' мин ' ;
	 				+ ALLTRIM(STR( 59  - SEC(lt_CurrentTime))) + ' сек '
	 				
	 this.Parent.Caption = gs_Caption + ls_NewYear
ENDDEFINE
компилируем, запускаем, и наслаждаемся таймером отсчёта времени до Нового Года )
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выполнение процедуры по времени
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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