⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.prg

📁 自写的仓库管理系统,之前在工厂打工时写的
💻 PRG
字号:
*:******************************************************************************
*:
*: 过程文件C:\IT\PROGS\MAIN.PRG
*:
*:******************************************************************************
*:   MAIN
*:   SetPath
*-- 定义读写 INI 文件的  DLL 命令
#INCLUDE ..\INCLUDE\MYAPP.H
MODIFY WINDOW SCREEN TITLE APP_LOC
ZOOM WINDOW SCREEN MAX
DECLARE INTEGER GetPrivateProfileString IN Win32API  AS GetPrivStr ;
	STRING cSection, STRING cKey, STRING cDefault, STRING @cBuffer, ;
	INTEGER nBufferSize, STRING cINIFile

DECLARE INTEGER WritePrivateProfileString IN Win32API AS WritePrivStr ;
	STRING cSection, STRING cKey, STRING cValue, STRING cINIFile

*-- 定义读写系统注册表的  DLL 命令
DECLARE INTEGER RegOpenKeyEx IN Win32API ;
	INTEGER nKey, STRING @cSubKey, INTEGER nReserved,;
	INTEGER nAccessMask, INTEGER @nResult

DECLARE INTEGER RegQueryValueEx IN Win32API ;
	INTEGER nKey, STRING cValueName, INTEGER nReserved,;
	INTEGER @nType, STRING @cBuffer, INTEGER @nBufferSize

DECLARE INTEGER RegCloseKey IN Win32API INTEGER nKey

*-- 定义Windows 3.1 API DLL 函数 GetProfileString
DECLARE INTEGER GetProfileString IN Win32API AS GetProStr ;
	STRING cSection, STRING cKey, STRING cDefault, ;
	STRING @cBuffer, INTEGER nBufferSize

CLEAR

*-- 确信项目管理器是关闭了的,否则当我们试图键入一个热键时会发生冲突
DEACTIVATE WINDOW "项目管理器"

*-- 一但 application 对象一建立,所有的全局变量将被释放
IF SET('TALK') = 'ON'
	SET TALK OFF
	PUBLIC gcOldTalk
	gcOldTalk = 'ON'
ELSE
	PUBLIC gcOldTalk
	gcOldTalk = 'OFF'
ENDIF

PUBLIC gcOldDir, gcOldPath, gcOldClassLib, gcOldEscape
gcOldEscape   = SET('ESCAPE')
gcOldDir       = FULLPATH(CURDIR())
gcOldPath     = SET('PATH')
gcOldClassLib = SET('CLASSLIB')

cCurrentProcedure = SYS(16,1)
nPathStart = AT(":",cCurrentProcedure) - 1
nLenOfPath = RAT("\", cCurrentProcedure,2) - (nPathStart)
SET DEFAULT TO (SUBSTR(cCurrentProcedure, nPathStart, nLenOfPath))

*-- 设置适当的路径
IF SetPath()
	PUBLIC oApp
	oApp = CREATEOBJECT("Application")
	IF TYPE('oApp') = "O"
		*-- 释放所有全局变量, 他们的值已在Environment类中被保存
		RELEASE gcOldDir, gcOldPath, gcOldClassLib, gcOldTalk, gcOldEscape
		oApp.DO()
	ENDIF
ENDIF

CLEAR DLLS
RELEASE ALL EXTENDED
CLEAR ALL
*!******************************************************************************
*!
*! 过程 SETPATH
*!
*!  调用
*!      SetPath
*!
*!******************************************************************************
FUNCTION SetPath()
LOCAL lcSys16,lcProgram
lcSys16 = SYS(16)
lcProgram = SUBSTR(lcSys16, AT(":", lcSys16) - 1)
CD LEFT(lcProgram, RAT("\", lcProgram))
*-- 如果我们是从项目管理器中直接运行 MAIN.PRG , 那么
*-- 设置当前路径到 MAIN.PRG 的上一级目录(注意MAIN.PRG的位置是在IT.APP所在的目录的下一层的 \progs下)
IF RIGHT(lcProgram, 3) = "FXP"
	CD ..
ENDIF
SET PATH TO PROGS,FORMS,LIBS,MENUS,DATA,REPORTS,INCLUDE,HELP,BITMAPS
SET CLASSLIB TO BASECTRL,GENERAL
ENDFUNC

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -