现在的位置: 首页 >> 数据库 >> FoxPro >> Foxpro 系统示例
添加时间:2005-8-17 来源:网教中国 作者:
Foxpro 系统示例

例1:在程序开始时设置系统环境

*-- 设置工作目录
cCurrentProcedure = SYS(16,1)
nPathStart = AT(":",cCurrentProcedure) - 1
nLenOfPath = RAT("\", cCurrentProcedure,2) - (nPathStart)
SET DEFAULT TO (SUBSTR(cCurrentProcedure, nPathStart, nLenOfPath))
SET PATH TO PROGS,LIBS,MENUS,HELP,INCLUDE,FORMS,BITMAPS

*-- 修改程序标题并将屏幕放到最大,在编译成.EXE的文件运行时,这是必须的
MODIFY WINDOW SCREEN TITLE "测试" NOCLOSE

ZOOM WINDOW SCREEN MAX

*-- 屏蔽系统菜单
SET SYSMENU OFF

*--定义用于保存系统设置的全局变量
PUBLIC ;
GcOldTalk,;
gcOldPath,;
gcOldDir,;
gcOldClassLib,;
gcOldEscape,;
gcOldSafety,;
gcOldProc,;
gcOldStatus,;
gnOldMemo,;
gcOldMultiLocks,;
gcOldHelp,;
gcOldDeleted,;
gcOldExclusive,;
gcOldNotify,;
gcOldBell,;
gcOldNear,;
gcOldExact,;
gcOldIntensity,;
gcOldConfirm,;
gcOldOnShutDown,;
gcOldCompatible

*--保存原始的系统状态,以便在退出时恢复
GcOldTalk		= SET("TALK")
gcOldPath		= SET("PATH")
gcOldDir		= FULLPATH(CURDIR())
gcOldClassLib		= SET("CLASSLIB")
gcOldEscape		= SET("ESCAPE")
gcOldSafety		= SET('SAFETY')
gcOldProc		= SET('PROCEDURE')
gcOldStatus		= SET('STATUS BAR')
gnOldMemo		= SET('MEMOWIDTH')
gcOldMultiLocks	= SET('MULTILOCKS')
gcOldHelp		= SET('HELP', 1)
gcOldDeleted		= SET('DELETED')
gcOldExclusive		= SET('EXCLUSIVE')
gcOldNotify		= SET('NOTIFY')
gcOldBell		= SET('BELL')
gcOldNear		= SET('NEAR')
gcOldExact		= SET('EXACT')
gcOldIntensity		= SET('INTENSITY')
gcOldConfirm		= SET('CONFIRM')
gcOldOnShutDown	= ON('SHUTDOWN')
gcOldCompatible	= SET("COMPATIBLE")
gcOldDate		= SET("DATE")
gcOldCentury		= SET("CENTURY")

*-- 设置SET 和ON 命令
SET SAFETY OFF
SET PROCEDURE TO UTILITY.PRG
SET CLASSLIB TO MAIN
SET MEMOWIDTH TO 120
SET MULTILOCKS ON
SET HELP TO HELP\MAIN.CHM
SET DELETED ON
SET EXCLUSIVE OFF
SET NOTIFY OFF
SET BELL OFF
SET NEAR OFF
SET EXACT OFF
SET INTENSITY OFF
SET CONFIRM ON
SET COMPATIBLE OFF
SET DATE ANSI
SET CENTURY ON
SET ESCAPE OFF
ON SHUTDOWN DO OnShutDown

注意:运行上述代码时程序文件UTILITY.PRG,OnShutDown,类库文件MAIN及帮助文件MAIN.CHM必须存在。

例2:在程序结束时恢复系统环境

LOCAL luTemp

SET PATH TO      (gcOldPath)

luTemp = gcOldClassLib
SET CLASSLIB TO  &luTemp

luTemp = gcOldProc
SET PROCEDURE TO &luTemp
SET MEMOWIDTH TO gnOldMemo

luTemp = gcOldMultiLocks
SET MULTILOCKS &luTemp

luTemp = gcOldSafety
SET SAFETY &luTemp

luTemp = gcOldStatus
SET STATUS BAR &luTemp

CD (gcOldDir)

luTemp = gcOldDeleted
SET DELETED &luTemp

luTemp = gcOldExclusive
SET EXCLUSIVE &luTemp

IF FILE(gcOldHelp)
  SET HELP TO (gcOldHelp)
ENDIF

luTemp = gcOldNotify
SET NOTIFY &luTemp

luTemp = gcOldBell
SET BELL &luTemp

luTemp = gcOldNear
SET NEAR &luTemp

luTemp = gcOldExact
SET EXACT &luTemp

luTemp = gcOldIntensity
SET INTENSITY &luTemp

luTemp = gcOldConfirm
SET CONFIRM &luTemp

luTemp = gcOldOnShutdown
ON SHUTDOWN &luTemp

luTemp = gcOldEscape
SET ESCAPE &luTemp

luTemp = gcOldCompatible
SET COMPATIBLE &luTemp

luTemp = gcOldTalk
SET TALK &luTemp

luTemp = gcOldDate
SET DATE &luTemp

luTemp = gcOldCentury
SET CENTURY &luTemp

CLOSE ALL
CLEAR DLLS
RELEASE ALL EXTENDED
CLEAR ALL

例3:程序崩溃时恢复系统环境

在程序设计期间,有时会因程序错误而使系统崩溃。当系统崩溃时,可能会有打开的表没有关闭,数据工作期不能释放,表单在屏幕上不能清除,菜单没有释放等一系列令人心烦的事。当你要手工地恢复系统到初使状态真还要费不少事,但是你可以自己编写一个过程文件来自动完成这些工作。这样,当系统崩溃时,你只需在命令窗口打入 DO XXX 即可。

*:******************************************************************************
*:
*: 过程文件C:\HIGHMIS\HF.PRG
*:
*:******************************************************************************
ON ERROR
SET PROCEDURE TO
POP KEY ALL
SET COLOR TO
SET SYSMENU TO DEFA
CLOSE ALL
RELEAS ALL EXTE
CLEAR DLLS
CLEAR EVENTS
CLEAR FIELDS
CLEAR GETS
CLEAR MACROS
CLEAR MEMORY
CLEAR MENUS
CLEAR POPUPS
CLEAR PROGRAM
CLEAR PROMPT
CLEAR READ ALL
CLEAR TYPEAHEAD
CLEAR WINDOWS

SET DEVICE TO SCREEN

CLEAR
SET EXCL ON
SET TALK ON
SET MESSAGE ON
RELEASE WINDOW 常用
SET HELP TO
SET HELP ON
CANCEL

例4:查看系统设置

*:******************************************************************************
*:
*: 过程文件C:\HIGHMIS\PROGS\SYSTEST.PRG
*:
*       用途:查看当前系统信息
**************************************************************************
PROCEDURE SYSTEST
PARAMETERS T__Method, T__File
RELEASE ALL EXCEPT T__*
PRIVATE ALL LIKE T__*
CREATE VIEW it
SET TALK OFF
CLOSE ALL
SET SAFETY OFF
SET ALTERNATE TO (IIF(EMPTY(T__File), "SysTest.TXT", T__File))
SET ALTERNATE ON
SET SAFETY ON
SET EXACT OFF
T__IsVisual = .T.
T__OutputFile = SET("ALTERNATE", 1)

DEFINE WINDOW T__win FROM 0,0 TO SROWS(),SCOLS() TITLE T__OutputFile CLOSE SYSTEM ZOOM
ACTIVATE WINDOW T__win

??"*** SysTest Version 2.00","日期",DATE(),"时间",TIME(),"***"

T__IsError = .F.
IF (EMPTY(m.T__Method) OR UPPER(m.

[1] [2] [3] [4]  下一页


上一篇:附表:"选项"对话框的说明(1) 下一篇:Foxpro 创建你自己的向导
大部分文章摘自网上,如有侵犯您的权益请与我们联系,我们会第一时间进行处理,谢谢! [ 打印文章 ] [ 关闭窗口 ]
推荐文章
·使用FOXPRO编一个完整的软件
·Foxpro 程序的调试
·Foxpro 程序的测试与调试
·Foxpro 默认的工作环境
·Foxpro 创建你自己的向导
·附表:"选项"对话框的说明(2)
·附表:"选项"对话框的说明(3)
·foxpro 更新源表
·foxpro 多个本地数据
·使用视图 - 尝试一
相关文章
·foxpro 取得离线视图
·foxpro 用离线视图工作
·foxpro 更新源表
·foxpro 让视图与数据源相连
·foxpro 刷新(Refreshing) 离线视
·foxpro 机动查询和数据输入
·foxpro 多个本地数据
·foxpro 维护源表
·foxpro 结论
·使用 Visual FoxPro 的 ActiveX
最新文章
·什么是项目管理器,数据库和表的
·见识一下面向对象的编程
·FOXPRO 对象、属性、事件、方法
·FOXPRO 常用的对象、属性、事件(
·FOXPRO常用编程命令及常用函数
·使用FOXPRO编一个完整的软件
·Foxpro 编程中的一些小技巧
·Foxpro 程序的调试
·Foxpro 软件的编译及制作安装盘
·Foxpro 更多对象
Google