main.prg

来自「固定资产管理系统源码..用于企业资产管理,用VFP编码」· PRG 代码 · 共 172 行

PRG
172
字号
SET TALK OFF           &&关闭命令显示
SET ESCAPE OFF         &&禁止运行的程序在按 Esc 键后被中断
SET EXCLUSIVE OFF      &&允许网络上的任何用户共享和修改网络上打开的表
SET HELP ON            &&当按下 F1 键或在命令窗口中执行 HELP 命令时,显示帮助窗口
*SET HELP TO AssetHelp.chm &&指定帮助文件
SET CONSOLE ON         &&将所有的结果输出到 Visual FoxPro 主窗口或活动的用户自定义窗口中
SET DATE ANSI          &&指定日期表达式的显示格式为yy.mm.dd
SET CENTURY ON         &&设定日期中的年为4位数
SET SAFETY OFF         &&指定在改写已有文件时不显示对话框
SET STATUS BAR ON      &&打开VFP状态栏
SET COLOR TO           &&设置颜色为默认状态
SET HOURS TO 24
SET SYSMENU OFF        &&关闭系统菜单
SET NOTIFY OFF 
SET NOTIFY CURSOR OFF  &&不在状态栏中显示数据信息
SET MESSAGE TO ""
SET NULLDISPLAY TO ""  &&不显示NULL值

ON ERROR 
CLEAR                  &&清除主窗口
CLEAR ALL              &&清除变量
DECLARE Integer FindWindow IN User32.DLL String lpClassName,String lpWindowName
DECLARE Integer ShowWindow IN User32.DLL Integer nhwnd,Integer nCmd
nHwnd=FindWindow(0,"固定资产管理系统")
IF nhwnd#0
    =ShowWindow(nHwnd,3)
    QUIT 
ENDIF

*ON ERROR DO Err.prg ;
    WITH ERROR(), ;
    MESSAGE(), ;
    MESSAGE(1), ;
    PROGRAM(), ;
    LINENO(1)             &&指定当出现错误时执行的命令

DO FORM frmBegin           &&运行版权画面表单Begin
READ EVENTS                &&开始事务处理
DO FORM frmLogin           &&打开登录表单
READ EVENTS                &&开始事务处理
ON SHUTDOWN DO QuitAll.prg &&指定退出VFP时要执行的命令

WITH _SCREEN               &&设置VFP主表单为可见、最大化、标题、图标
    .Visible=.T.
    .Closable=.T.
    .ControlBox=.T.
    .MaxButton=.T.
    .MinButton=.T.
    .Movable=.T.
    .Top=50
    .Left=0
    .WindowState=2
    .Caption="固定资产管理系统"
    .Icon=".\images\FixedAsset.ico"
ENDWITH 

*!* 定义表单名称全局变量
PUBLIC oToolBar,oProgressBar,frmEdit,frmQueryFix,frmQueryBorrow,frmQueryMove,frmSysSet,frmBackup 
DO Menu.mpr       &&打开菜单

oToolbar=NEWOBJECT("Main_gj","Libs.vcx")          &&建立工具栏对象
oToolbar.Show()                                   &&显示对象
oToolbar.Dock(0)                                  &&在VFP主窗口上方停放
SET MARK OF BAR 1 OF POPView TO VARTYPE(oToolbar)="O"  &&设置在显示工具栏时,在菜单项显示√标记

*!* 设置状态栏中的显示内容
SET DATE LONG
_VFP.StatusBar="【报表日期:"+DTOC(_Screen.CurReportDate)+"】 【操作员:"+_SCREEN.CurUserName+"】"+;
    "   版权所有(C) Microsoft Visual FoxPro 编程园地"
SET DATE ANSI 

_SCREEN.AddProperty("SQLString","")           &&建立存放SQL语句的自定义属性
_SCREEN.AddProperty("ExecMethodAfterSQL","")  &&指定在执行完SQL后要执行的方法名称
_SCREEN.AddProperty("CursorName","")          &&指定存放查询结果的临时表名称
_SCREEN.AddProperty("TotleFetchRec",0)        &&存放获取到的记录总数


*!* 设置环境级的SQL设置
=SQLSETPROP(0,"DispWarnings",.F.)     &&不提示错误信息
=SQLSETPROP(0,"DispLogin",3)          &&不显示ODBC登录框
=SQLSETPROP(0,"QueryTimeOut",5)       &&错误等待时间
=SQLSETPROP(0,"ConnectTimeOut",5 )    &&连接等待时间
=SQLSETPROP(0,"Asynchronous",.F.)     &&结果集同步返回
=SQLSETPROP(0,"BatchMode",.T.)        &&一次返回全部结果集合
=SQLSETPROP(0,"Transactions",1)       &&自动事务处理


oHandler=NEWOBJECT("MyHook")
BINDEVENT(_SCREEN,"Resize",oHandler,"Resize")  &&绑定主窗口的Resize事件到oHandler对象的Resize事件
_Screen.AddObject("Image1","BackImage")        &&在VFP主表单中加入图画
_Screen.AddObject("Label1","labClass")
_Screen.AddObject("Label2","label")

WITH _Screen.Label2
    .BackStyle=0
    .Caption="Microsoft Visual FoxPro 编程园地"
    .ForeColor=RGB(0,0,255)
    .Height=20
    .Left=50
    .Top=_Screen.Height-90
    .Visible=.T.
    .Width=300
ENDWITH 
READ EVENTS 

DEFINE CLASS BackImage AS Image
    Name="Image1"
    Top=(_Screen.Height-159)/2-15
    Left=(_Screen.Width-600)/2
    Height=159 
    Width=600
    Picture="./Images/BackGround.jpg"
    BackStyle=0
    Stretch=2
    Visible=.T.
ENDDEFINE    

DEFINE CLASS MyHook AS Custom 
    PROCEDURE Resize   &&随窗口大小调整Label1(Internet链接)的位置和背景图片大小
        WITH _Screen
            .Label1.Top=_Screen.Height-75
            .Label2.Top=_Screen.Height-90
            .Image1.Top=(_Screen.Height-159)/2
            .Image1.Left=(_Screen.Width-600)/2
        ENDWITH  
    ENDPROC     
ENDDEFINE

DEFINE CLASS labClass As Label
    BackStyle=0
    Caption="http://www.vfptop.com"
    ForeColor=RGB(0,0,255)
    FontUnderLine=.T.
    Height=20
    Left=100
    MouseIcon="./images/hand-m.cur"
    MousePointer=99
    Name="Label1"
    ToolTipText="欢迎访问Microsoft Visual FoxPro编程园地"
    Visible=.T.
    Width=200
    
    PROCEDURE Init
        This.Left=50
        This.Top=_Screen.Height-75
    ENDPROC 
    
    PROCEDURE Click 
        *!* 声明ShellExecute函数
        DECLARE INTEGER ShellExecute IN "Shell32.dll" ;
            INTEGER hwnd, ;
            STRING lpVerb, ;
            STRING lpFile, ;
            STRING lpParameters, ;
            STRING lpDirectory, ;
            LONG nShowCmd    
        
        lpFile="http://www.vfptop.com/"         &&设定要打开的Internet站点
        =ShellExecute(0,"open",lpFile ,"","",3) &&以浏览器窗口最大化方式打开Internet站点
    ENDPROC                 
    
    PROCEDURE MouseEnter
        LPARAMETERS nButton, nShift, nXCoord, nYCoord
        This.ForeColor=RGB(255,0,0)   &&当鼠标移动时字体颜色成为红色
    ENDPROC 
    
    PROCEDURE MouseLeave
        LPARAMETERS nButton, nShift, nXCoord, nYCoord
        This.ForeColor=RGB(0,0,255)   &&当鼠标移动时字体颜色成为红色
    ENDPROC 
ENDDEFINE         

⌨️ 快捷键说明

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