📄 main.prg
字号:
*:******************************************************************************
*:
*: 过程文件D:\VFP\CAPP\PROGS\MAIN.PRG
*:
*: renku
*: RIMAB CAD
*:
*:
*:
*:
*: Documented using Visual FoxPro Formatting wizard version .03
*:******************************************************************************
*: MAIN
*: SetPath
*-- (c) Microsoft Corporation 1995
#INCLUDE "INCLUDE\TASTRADE.H"
*-- DECLARE DLL statements for reading/writing to private INI files
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
*-- DECLARE DLL statements for reading/writing to system registry
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
*-- DECLARE DLL statement for Windows 3.1 API function GetProfileString
DECLARE INTEGER GetProfileString IN Win32API AS GetProStr ;
STRING cSection, STRING cKey, STRING cDefault, ;
STRING @cBuffer, INTEGER nBufferSize
*--DECLARE DLL statement for Windows 3.1 API function MessageBeep
DECLARE MessageBeep IN Win32API AS MessageBeep ;
INTEGER nAlert
DECLARE INTEGER GetPrivateProfileString IN Win32API AS GetPrivStr ;
STRING cSection, STRING cKey, STRING cDefault, STRING @cBuffer, ;
INTEGER nBufferSize, STRING cINIFile
DECLARE SHORT RegisterWindowMessage IN Win32API AS RWM ;
STRING cMsg
DECLARE SHORT FindWindow IN Win32API AS FW ;
STRING cClassName, STRING cWindName
DECLARE INTEGER SendMessage IN Win32API AS SMsg ;
SHORT nHwnd, SHORT nMsg, SHORT wparam, INTEGER LPARAM
DECLARE INTEGER LocalAlloc IN Win32API AS LocalAlloc ;
SHORT , SHORT
DECLARE INTEGER lstrcpy IN Win32API AS lstrcpy ;
INTEGER, STRING
DECLARE SHORT SetActiveWindow IN Win32API AS SetActiveWindow ;
SHORT
DECLARE SHORT WinExec IN Win32API AS WinExec ;
STRING @ , SHORT
CLEAR
_SCREEN.VISIBLE=.T.
_SCREEN.LOCKSCREEN = .T.
** _SCREEN.ICON = CURDIR()+"BITMAPS\.ICO"
_SCREEN.CAPTION = TASTRADE_LOC
_SCREEN.WINDOWSTATE = 2
_SCREEN.LOCKSCREEN = .F.
*-- Ensure the project manager is closed, or we may run into
*-- conflicts when trying to KEYBOARD a hot-key
DEACTIVATE WINDOW "项目管理器" &&"Project Manager"
*-- All public vars will be released as soon as the application
*-- object is created.
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')
*-- Set up the path so we can instantiate the application object
IF SetPath()
* _SCREEN.PICTURE="\my documents\steel26.bmp"
PUBLIC oApp
oApp = CREATEOBJECT("Tastrade")
IF TYPE('oApp') = "O"
*-- Release all public vars, since their values were
*-- picked up by the Environment class
RELEASE gcOldDir, gcOldPath, gcOldClassLib, gcOldTalk, gcOldEscape
oApp.DO()
ENDIF
ENDIF
_SCREEN.PICTURE=""
CLEAR DLLS
CLEAR ALL
RELEASE ALL EXTENDED
FUNCTION SetPath()
LOCAL lcSys16, ;
lcProgram, ;
lcbuffer, ;
lcsysdataPath, ;
lcret,;
LCPATH
lcret = .T.
LCPATH = "PROGS,FORMS,LIBS,MENUS,REPORTS,INCLUDE,HELP,BITMAPS"
lcSys16 = SYS(16)
lcProgram = SUBSTR(lcSys16, AT(":", lcSys16) - 1)
CD LEFT(lcProgram, RAT("\", lcProgram))
*-- If we are running MAIN.PRG directly, then
*-- CD up to the parent directory
IF RIGHT(lcProgram, 3) = "FXP"
CD ..
ELSE
SET SYSMENU TO
ENDIF
lcbuffer = SPACE(100)+CHR(0)
IF GetPrivStr("UserDef", "DataPath", "", @lcbuffer, LEN(lcbuffer), CURDIR() + INIFILE) > 0
lcbuffer = ALLT(SUBSTR(lcbuffer,1,100))
IF LEN(lcbuffer) > 1
lcbuffer = ALLT(SUBST(lcbuffer,1,LEN(lcbuffer)-1))
ENDIF
ENDIF
IF !EMPTY(lcbuffer)
lcdatapath = lcbuffer
ELSE
lcdatapath = "jsmis"
ENDIF
LCPATH = LCPATH+","+lcdatapath
SET PATH TO &LCPATH
IF !FILE("JS_DATA.DBC")
=MESSAGEBOX("应用数据库DataPath设置有误!",48,TASTRADE_LOC)
lcret = .F.
ENDIF
SET CLASSLIB TO main,tsbase,tsgen,login,mylib ADDITIVE
RETURN lcret
ENDFUNC
*#DEFINE USER_OPSMGR_LOC "系统管理者"
*#DEFINE USER_OPSEMP_LOC "系统使用者"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -