主持人在以下主题中拒绝了我的问题:
“在尝试之前先尝试一下”。
他/她是对的。这是我在 Visual Prolog 5.2中的 解决方案 。
1.我用UI策略“ VPI”和VPI选项“ MDI模式”定义了一个项目。
2.我在自动生成的代码中插入了以下行:
predicates
past()
clauses
past():-!,
date(Y,M,D),
Win=cast(window,0),
Command="Full\\Path\\To the\\desired.exe",
Param="",
WsFlag=wsf_restored,
PastY=2011, PastM=10, PastD=20,
date(PastY,PastM,PastD),
_ApplicationId = vpi_CreateProcess( Win, Command, Param, WsFlag ),
Minute=3,
Centisec=6000*Minute,
sleep(Centisec),
date(Y,M,D).
3.在生成任务窗口之前,我将上述谓词的调用插入了GOAL部分中,并退出了程序。
goal
ifdef use_mdi
vpi_SetAttrVal(attr_win_mdi,b_true),
enddef
ifdef ws_win
ifdef use_3dctrl
vpi_SetAttrVal(attr_win_3dcontrols,b_true),
enddef
enddef
past(),
exit,
vpi_Init(task_win_Flags,task_win_eh,task_win_Menu,"past",task_win_Title).
VIP 5.2帮助的一个简短说明:
日期(INTEGER年,INTEGER月,INTEGER日)
流模式(i,i,i),(o,o,o)
读取或设置系统日期
备注
(o,o,o)从计算机的内部时钟读取日期。
(i,i,i)设置计算机内部时钟使用的日期。 在UNIX上,您必须具有root特权才能使用此流模式。