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

📄 系统_基本函数模块.bas

📁 适合于中小型企业管理
💻 BAS
📖 第 1 页 / 共 2 页
字号:
Attribute VB_Name = "XtjbModule"

'系统基本模块(主要用来放置公用函数及模块)
                
'系统信息
Public XtMenuList As String    '系统菜单功能编码

'系统日期

Public Xtkjqjgs As Integer     '用户设定会计期间个数
Public Xtyear As Integer       '用户进入系统选择年度
Public Xtmm As Integer         '用户进入系统选择会计期间
Public Xtrq As Date            '系统日期
Public Xtrlbz As String        '系统日历标志

'系统往返参数值
Public Xtcdcs As String        '系统传递参数值(专门用来传递帮助信息)
Public Xtcdcsfz As String      '系统传递参数值(辅助信息)
Public Xtfhcs As String        '系统返回参数值(专门用来传递帮助信息)
Public Xtfhcsfz As String      '系统返回参数值(辅助信息)

'系统通用编码参照代码
Public Xtbmczdm As String      '系统通用编码参照代码

'(系统等待调用窗体)
Public XtCxgnsm As String      '调用程序功能说明

Public Xtczy As String         '系统使用操作员
Public Xtczybm As String       '系统操作员编码
Public Xtztbm As String        '系统帐套编码
Public Xtdwm As String         '系统打开帐套单位


'其它全局变量
Public Unload_TF As Boolean    '窗体是否卸载
Public P_RecordCount As Integer '记录条数
Public YesNo_str As String
Public SsqlHelp As String
Public P_Code As String: Public P_Name As String  '编码、名称
Public AddExit_TF As Boolean '添加或编辑状态

Public P_Ssql As String  'Sql 语句

Private Type HOSTENT
    hName As Long
    hAliases As Long
    hAddrType As Integer
    hLength As Integer
    hAddrList As Long
End Type

'引用API函数
Private Declare Function gethostname Lib "WSOCK32.DLL" (ByVal hostname$, ByVal HostLen As Long) As Long
Private Declare Function gethostbyname Lib "WSOCK32.DLL" (ByVal hostname$) As Long
Private Declare Sub RtlMoveMemory Lib "KERNEL32" (hpvDest As Any, ByVal hpvSource&, ByVal cbCopy&)

'变量声明begin 2002-10-21 add 4 new Operate & Access Right
Public ServerName As String
Public gBillId As String
Public Const LOG_IN = True
Public Const LOG_OUT = False
Public Const Ebo_gsProductName = "Ebodiy2008"       '统一使用,不可修改
Public Const Ebo_gsPrjName = "Gen13301481112"        '工程项目名称,根据项目和版本号修改
'变量声明end 2002-10-21

Sub Main()
    If App.PrevInstance = True Then
        Exit Sub
    Else
        XT_login.Show
    End If
End Sub

Public Function Strcdcs(Lrcsstr As String, Lrzdcd As Integer) As Integer                            '测量并限制字符串长度(汉字与字符区分)
   
    '参数说明:Lrcsstr 需要测量和限制输出的字符串 Lrzdcd 限制输出长度
  
    lrtextlong = Len(Trim(Lrcsstr))
    lrcscd = 0
    For jsqte = 1 To lrtextlong
        lrcszf = Mid(Lrcsstr, jsqte, 1)
        lrzzcd = lrcscd
        If Asc(lrcszf) >= 0 And Asc(lrcszf) <= 255 Then
            lrcscd = lrcscd + 1
        Else
            lrcscd = lrcscd + 2
        End If
        If lrcscd > Lrzdcd Then
            lrstrjqcd = jsqte - 1
            Lrcsstr = Mid(Lrcsstr, 1, lrstrjqcd)
            Strcdcs = lrzzcd
            Exit Function
        Else
            Strcdcs = lrcscd
        End If
    Next jsqte

End Function

'======================以下为文本录入内容格式输入控制过程函数======================='
Public Sub Lrfzszxz(Sjwb As TextBox, lrzfasc As Integer)              '文本框录入整数值(负)限制
   
    '输入参数:sjwb 录入限制文本框 lrzfasc 用户录入字符Ascii码值
    If Not ((lrzfasc >= Asc("0") And lrzfasc <= Asc("9")) Or lrzfasc = vbKeyBack Or (Chr(lrzfasc) = "-" And Sjwb.SelStart = 0)) Then
        lrzfasc = 0
    End If

End Sub

Public Sub Lrzszxz(lrzfasc As Integer)                                '文本框录入整数值(正)限制
    '输入参数:lrzfasc 用户录入字符Ascii码值
    If Not ((lrzfasc >= Asc("0") And lrzfasc <= Asc("9")) Or lrzfasc = vbKeyBack) Then
        lrzfasc = 0
    End If

End Sub

Public Sub Lrszzfxz(lrzfasc As Integer)                               '文本框录入数字及字符限制
    
    '输入参数:lrzfasc 用户录入字符Ascii码值
    If Not ((lrzfasc >= Asc("0") And lrzfasc <= Asc("9")) Or (lrzfasc >= Asc("a") And lrzfasc <= Asc("z")) Or (lrzfasc >= Asc("A") And lrzfasc <= Asc("Z")) Or lrzfasc = vbKeyBack) Then
        lrzfasc = 0
    End If

End Sub

Public Sub Lrfhzxz(lrzfasc As Integer)                                '文本框录入非汉字限制
    
    '输入参数:lrzfasc 用户录入字符Ascii码值
    If Not ((lrzfasc >= 0 And lrzfasc <= 255) Or lrzfasc = vbKeyBack) Then
        lrzfasc = 0
    End If

End Sub

Public Sub Lrrqxz(lrzfasc As Integer)                                 '文本框录入日期限制
    
    '输入参数:lrzfasc 用户录入字符Ascii码值
    If Not ((lrzfasc >= Asc("0") And lrzfasc <= Asc("9")) Or Chr(lrzfasc) = "-" Or lrzfasc = vbKeyBack) Then
        lrzfasc = 0
    End If
    
End Sub

Public Sub Lrxszxz(Sjwb As TextBox, lrzfasc As Integer)               '文本框录入带有小数位及正负号数值字段
  
    If Not ((Chr(lrzfasc) >= "0" And Chr(lrzfasc) <= "9") Or (Chr(lrzfasc) = "." And InStr(1, Sjwb.Text, ".") = 0) Or lrzfasc = vbKeyBack Or (Chr(lrzfasc) = "-" And Sjwb.SelStart = 0)) Then
        lrzfasc = 0
    End If

End Sub

Public Sub Lrxzszxz(Sjwb As TextBox, lrzfasc As Integer)              '文本框录入带有小数位正>=0数值字段
    
    If Not ((Chr(lrzfasc) >= "0" And Chr(lrzfasc) <= "9") Or (Chr(lrzfasc) = "." And InStr(1, Sjwb.Text, ".") = 0) Or lrzfasc = vbKeyBack) Then
        lrzfasc = 0
    End If

End Sub

Public Sub Sjgskz(Sjwb As TextBox, zsws As Integer, xsws As Integer)  '保证数值录入字段录入格式

    '输入参数:sjwb 录入限制文本框 zsws 数值录入限制整数位数 xsws 数值录入限制小数位数
   
    Dim xsdwz%, bccrd%
    xsdwz = InStr(1, Sjwb.Text, ".")
    bccrd = Sjwb.SelStart
    If xsdwz = 0 Then
        Sjwb.Text = Mid(Sjwb.Text, 1, zsws)
        Sjwb.SelStart = bccrd
        Exit Sub
    End If
    If zsws > xsdwz - 1 Then
        Zswstr = Mid(Sjwb, 1, xsdwz - 1)
    Else
        Zswstr = Mid(Sjwb, 1, zsws)
    End If
    xswstr = Mid(Sjwb, xsdwz + 1, xsws)
    Sjwb = Zswstr + "." + xswstr
    Sjwb.SelStart = bccrd

End Sub

Public Sub InputFieldLimit(Ydtextte As TextBox, Zdsjlxte As Integer, KeyAsciite As Integer)     '录入字段事中控制程序

    '函数参数:录入限制文本框,字段数据类型,录入字符
    Select Case Zdsjlxte
        Case 1                                  '1-录入(Ascii0-255)
            Call Lrfhzxz(KeyAsciite)
        Case 2
            Call Lrszzfxz(KeyAsciite)             '2-录入(0-9,a-z,A-Z)
        Case 3
            Call Lrfzszxz(Ydtextte, KeyAsciite)   '3-录入整数值(正负)
        Case 4
            Call Lrzszxz(KeyAsciite)              '4-录入整数值(正)
        Case 5, 8, 9
            Call Lrxszxz(Ydtextte, KeyAsciite)    '5-录入小数值(正负) 8-金额型(正负) 9-数量型(正负)
        Case 6, 10, 11, 12
            Call Lrxzszxz(Ydtextte, KeyAsciite)   '6-录入小数值(正) 10-单价型 11-金额型(正) 12-数量型(正)
        Case 7
            Call Lrrqxz(KeyAsciite)               '7-录入日期
    End Select

End Sub

'==============================================================================='
Public Function Xtxxts(xttsxx As String, xttslb As Integer, Tbtslb As Integer)          '系统信息提示
    
    msgtitle = "宇迪光学/ERP2.00-总控台"
    Select Case xttslb
        Case 0    '确定
            Xtxxts = MsgBox(xttsxx, Tbtslb * 16, msgtitle)
        Case 1    'YES/NO
           Xtxxts = MsgBox(xttsxx, vbYesNo + Tbtslb * 16, msgtitle)
        Case 2    '确定/取消
           Xtxxts = MsgBox(xttsxx, vbOKCancel + Tbtslb * 16, msgtitle)
        Case Else
           Xtxxts = "9"
    End Select

End Function

Public Function Kjjdzy(Zyjdzs As Integer) As Boolean                                    '控件焦点转移(针对回车键)
    
    Kjjdzy = False
    
    On Error GoTo Cwcl
    
    If Screen.ActiveControl.TabIndex <= Zyjdzs - 1 Then
        Kjjdzy = True
        SendKeys "{tab}"
    End If
    Exit Function
Cwcl:
    Resume Next         '有些对象不支持TabIndex属性

End Function

Public Sub Pbwxzf(Zfc As Integer)                                                       '录入时屏蔽"'"
    
    If Chr(Zfc) = "'" Then
        Zfc = 0
    End If

End Sub

Public Function Mmjm(Srmm As String) As String                                              '密码加密对照模块
   
    Dim Zfcte As Integer
    Mmjm = ""
    For jsqte = 1 To Len(Srmm)
        Zfcte = Asc(Mid(Srmm, jsqte, 1)) + Asc(Mid(Srmm, Len(Srmm) - jsqte + 1, 1)) + Len(Srmm) + jsqte
        Mmjm = Mmjm + Trim(Str(Zfcte))
    Next jsqte

End Function

Public Sub F1bz()                                                                           '发送F1键
    SendKeys "{F1}"
End Sub

Public Sub Textyx(Textte As TextBox)                                                        '文本框有效
    
    Textte.Enabled = True
    Textte.BackColor = &H80000005

End Sub

Public Sub Textwx(Textte As TextBox)                                                        '文本框无效
   
    Textte.Enabled = False
    Textte.BackColor = &HC0C0C0

End Sub

Public Function Sub_FillPeriod(Combote As ComboBox, Year As Integer, Period As Integer)            '列表框填充会计期间

    '过程参数;填充列表框,会计年度,默认会计期间

    Dim jsqte As Integer
    With Combote
        .Clear
        For jsqte = 1 To 12

⌨️ 快捷键说明

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