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

📄 init.prg

📁 一个数据库管理系统
💻 PRG
字号:
*-------------主程序-------------*
*--最后修改:2007.10.04

*--SET等设置
SET TALK OFF 
SET RESOURCE OFF
SET ESCAPE OFF
SET MESSAGE TO ""
SET STATUS BAR OFF
SET SYSMENU TO
SET CENTURY ON 
SET DATE TO YMD
SET HOURS TO 24
SET MARK TO "."
SET SAFETY OFF 
SET EXACT ON 
SET DELETED ON 
SET EXCLUSIVE OFF
SET CONFIRM ON
SET CURRENCY TO "¥"
SET NULLDISPLAY TO ""
SET MULTILOCKS ON
SQLSETPROP(0,"DispLogin",3) &&如连接失败,从不显示登陆窗口
SQLSETPROP(0,"IdleTimeout",0) &&空闲超时间隔,不空闲

*--搜索路径、类库、过程
SET PATH TO class,data,form,menu,other,prg
SET PROCEDURE TO "func_this"
SET CLASSLIB TO "baseclass.vcx"

*--判断文件是否存在
IF !FILE("accset.dbf") OR !FILE("dboper.dbf")
   MESSAGEBOX("程序所必需的数据文件丢失!!",0+16,"错误")
   RETURN .F.
ENDIF

*--_Screen对象
WITH _SCREEN
  .AddProperty("c_sysname",RTRIM(ReadIniKey("Config.ini","SETUP","sysname")))
  .Addproperty("ljServer","")  &&服务器
  .Addproperty("ljPort","")    &&端口
  .Addproperty("ljDbname","")  &&数据库
  .Addproperty("ljUid","")     &&用户
  .Addproperty("ljPwd","")     &&密码
  .AddProperty("n_conn_pub",0)   &&连接句柄
  .AddProperty("n_conn_pub2",0)  &&连接句柄2
  .AddProperty("n_oldtran",0)  &&旧事务模式
  .Addproperty("c_operid","")  &&操作员编码
  .Addproperty("c_opermc","")  &&操作员名称
  .AddProperty("c_giffile","地球转.gif")
  .Icon="书4.ICO"
  .Visible=.F.
ENDWITH

*--连接服务器
LOCAL lcNcon1,lcNExitCode,lcCtmp3,lcNi
DO WHILE .T.
   _Screen.ljServer=UPPER(RTRIM(ReadIniKey("Config.ini","CONNECT","server")))
   _Screen.ljPort=RTRIM(ReadIniKey("Config.ini","CONNECT","port"))
   _Screen.ljDbname="master"
   _Screen.ljUid=RTRIM(ReadIniKey("Config.ini","CONNECT","uid"))
   _Screen.ljPwd=ReadIniKey("Config.ini","CONNECT","pwd")
   IF EMPTY(_Screen.ljServer) &&无连接参数
      IF MESSAGEBOX("这是第一次运行,现在设置SQLServer连接参数吗?",4+48,"提示")=6
         DO FORM frm_setdb
         READ EVENTS
         LOOP
        ELSE
         RETURN .F.
      ENDIF
   ENDIF
   IF !INLIST(_Screen.ljServer,"(LOCAL)","LOCALHOST","127.0.0.1")
      lcNcon1=SQLSTRINGCONNECT(SQLConnStr(_Screen.ljServer,_Screen.ljPort,_Screen.ljDbname,_Screen.ljUid,_Screen.ljPwd)) &&尝试连接
     ELSE
      DIMENSION ary_tmpcon46(3)
      lcCtmp3=STRTRAN(",(LOCAL),LOCALHOST,127.0.0.1",","+_Screen.ljServer,"")
      ary_tmpcon46(1)=_Screen.ljServer
      ary_tmpcon46(2)=STREXTRACT(lcCtmp3,",",",",1)
      ary_tmpcon46(3)=STREXTRACT(lcCtmp3,",",",",2,2)
      FOR lcNi=1 TO 3
        lcNcon1=SQLSTRINGCONNECT(SQLConnStr(ary_tmpcon46(lcNi),_Screen.ljPort,_Screen.ljDbname,_Screen.ljUid,_Screen.ljPwd)) &&尝试连接
        IF lcNcon1>0
           EXIT
        ENDIF
      ENDFOR
   ENDIF
   IF lcNcon1>0 &&连接成功,跳出
      EXIT
   ENDIF
   &&连接失败
   IF MESSAGEBOX("连接失败!重新设置SQLServer连接参数吗?",4+16,"提示")=6
      DO FORM frm_setdb
      READ EVENTS
      LOOP
     ELSE
      RETURN .F.
   ENDIF
ENDDO
_Screen.n_conn_pub=lcNcon1

*--打开表
SELECT 0
USE accset
CURSORSETPROP("Buffering",5)
SELECT 0
USE dboper
CURSORSETPROP("Buffering",3)
SELECT accset

*--登录
DO FORM frm_logon
READ EVENTS
IF !_Screen.l_logon_ok
   =SQLDISCONNECT(_Screen.n_conn_pub)
   RETURN .F.
ENDIF

*--显示表单
PUBLIC P_FRMMAIN
DO FORM frm_main NAME "P_FRMMAIN"
READ EVENTS

*--退出
TRY
  =SQLDISCONNECT(_Screen.n_conn_pub)
CATCH
ENDTRY
CLOSE TABLES ALL
CLEAR ALL
RELEASE ALL
QUIT

⌨️ 快捷键说明

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