Слияние кода завершено, страница обновится автоматически
VERSION 5.00
Object = "{4BC867B2-E973-4299-90A4-3E20BE9218BD}#1.0#0"; "Pesgo32e.ocx"
Object = "{0D452EE1-E08F-101A-852E-02608C4D0BB4}#2.0#0"; "FM20.DLL"
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form TestForm
BackColor = &H00FFA0A0&
BorderStyle = 1 'Fixed Single
Caption = " 交调测试 V1.1 (2013.08.14)"
ClientHeight = 10230
ClientLeft = 45
ClientTop = 1500
ClientWidth = 15090
BeginProperty Font
Name = "宋体"
Size = 15
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Icon = "MainForm.frx":0000
LinkTopic = "Form1"
ScaleHeight = 10230
ScaleWidth = 15090
Begin VB.TextBox Text_Inf
BackColor = &H00FFFFFF&
ForeColor = &H00FF0000&
Height = 420
Left = 2160
TabIndex = 25
Top = 3810
Width = 1815
End
Begin VB.OptionButton Option2
BackColor = &H00C0C0C0&
Height = 300
Left = 10680
TabIndex = 23
Top = 1402
Width = 375
End
Begin VB.OptionButton Option1
BackColor = &H00C0C0C0&
Height = 225
Left = 10680
TabIndex = 22
Top = 1080
Value = -1 'True
Width = 255
End
Begin VB.HScrollBar HScroll3
Height = 255
Left = 600
Max = 255
TabIndex = 21
Top = 5160
Width = 3375
End
Begin VB.HScrollBar HScroll2
Height = 255
Left = 600
Max = 255
TabIndex = 20
Top = 4800
Width = 3375
End
Begin VB.HScrollBar HScroll1
Height = 255
Left = 600
Max = 255
TabIndex = 19
Top = 4440
Width = 3375
End
Begin VB.TextBox Text_Tester
BackColor = &H00FFFFFF&
ForeColor = &H00FF0000&
Height = 420
Left = 2160
MaxLength = 6
TabIndex = 11
Top = 1545
Width = 1815
End
Begin VB.TextBox Text_SN
BackColor = &H00FFFFFF&
BeginProperty Font
Name = "幼圆"
Size = 15
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 420
Left = 2160
TabIndex = 10
Top = 975
Width = 1815
End
Begin VB.ComboBox Combo_Time
BackColor = &H00FFFFFF&
ForeColor = &H00FF0000&
Height = 420
Left = 2160
Style = 2 'Dropdown List
TabIndex = 9
Top = 2670
Width = 1815
End
Begin VB.ComboBox Combo_DayNight
BackColor = &H00FFFFFF&
ForeColor = &H00FF0000&
Height = 420
Left = 2160
Style = 2 'Dropdown List
TabIndex = 8
Top = 2115
Width = 1815
End
Begin VB.ComboBox Combo_P
BackColor = &H00FFFFFF&
ForeColor = &H00FF0000&
Height = 420
Left = 2160
Style = 2 'Dropdown List
TabIndex = 7
Top = 3240
Width = 1815
End
Begin MSComctlLib.StatusBar StatusBar1
Align = 2 'Align Bottom
Height = 495
Left = 0
TabIndex = 0
Top = 9735
Width = 15090
_ExtentX = 26617
_ExtentY = 873
SimpleText = "状态:"
_Version = 393216
BeginProperty Panels {8E3867A5-8586-11D1-B16A-00C0F0283628}
NumPanels = 4
BeginProperty Panel1 {8E3867AB-8586-11D1-B16A-00C0F0283628}
Object.Width = 10760
MinWidth = 10760
Text = "配置文件"
TextSave = "配置文件"
EndProperty
BeginProperty Panel2 {8E3867AB-8586-11D1-B16A-00C0F0283628}
Object.Width = 10760
MinWidth = 10760
Text = "频率/MHz、功率/dBm、序列号"
TextSave = "频率/MHz、功率/dBm、序列号"
EndProperty
BeginProperty Panel3 {8E3867AB-8586-11D1-B16A-00C0F0283628}
Style = 6
Alignment = 1
TextSave = "2013-8-14"
EndProperty
BeginProperty Panel4 {8E3867AB-8586-11D1-B16A-00C0F0283628}
Style = 5
Alignment = 1
Object.Width = 2823
MinWidth = 2823
TextSave = "14:08"
EndProperty
EndProperty
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "幼圆"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
End
Begin MSComctlLib.ListView ListView1
Height = 2415
Left = 560
TabIndex = 6
Top = 6720
Width = 13905
_ExtentX = 24527
_ExtentY = 4260
LabelWrap = -1 'True
HideSelection = -1 'True
_Version = 393217
ForeColor = 16711680
BackColor = 16761024
BorderStyle = 1
Appearance = 1
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 15
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
NumItems = 0
End
Begin Pesgo32eLib.Pesgo Pesgo1
Height = 5295
Left = 5040
TabIndex = 5
Top = 480
Width = 5535
_Version = 65536
_ExtentX = 9763
_ExtentY = 9340
_StockProps = 96
_AllProps = "MainForm.frx":58AFA
End
Begin VB.Label Label6
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "补充信息:"
BeginProperty Font
Name = "微软雅黑"
Size = 15
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00404040&
Height = 405
Left = 600
TabIndex = 26
Top = 3825
Width = 1290
End
Begin MSForms.CheckBox CheckBox1
Height = 255
Left = 10680
TabIndex = 24
Top = 1800
Width = 255
BackColor = 12632256
ForeColor = -2147483630
DisplayStyle = 4
Size = "450;450"
Value = "0"
FontName = "宋体"
FontEffects = 1073741825
FontHeight = 300
FontCharSet = 134
FontPitchAndFamily= 34
FontWeight = 700
End
Begin VB.Label Label3
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "测试阶段:"
BeginProperty Font
Name = "微软雅黑"
Size = 15
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00404040&
Height = 405
Left = 600
TabIndex = 18
Top = 2685
Width = 1530
End
Begin VB.Label Label2
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "测试员:"
BeginProperty Font
Name = "微软雅黑"
Size = 15
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00404040&
Height = 405
Left = 600
TabIndex = 17
Top = 1560
Width = 990
End
Begin VB.Label Label1
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "序列号:"
BeginProperty Font
Name = "微软雅黑"
Size = 15
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00404040&
Height = 405
Left = 600
TabIndex = 16
Top = 990
Width = 990
End
Begin MSForms.CommandButton Cmd_记录数据
Height = 735
Left = 12060
TabIndex = 3
Top = 4920
Width = 2175
ForeColor = 4210752
BackColor = 16761024
Caption = " 记录数据"
PicturePosition = 327683
Size = "3836;1296"
Picture = "MainForm.frx":5EB36
FontName = "微软雅黑"
FontEffects = 1073741825
FontHeight = 300
FontCharSet = 134
FontPitchAndFamily= 34
ParagraphAlign = 3
FontWeight = 700
End
Begin MSForms.CommandButton Cmd_停止测试
Height = 735
Left = 12060
TabIndex = 4
Top = 4056
Width = 2175
ForeColor = 4210752
BackColor = 16761024
Caption = " 停止测试"
PicturePosition = 327683
Size = "3836;1296"
Picture = "MainForm.frx":64758
FontName = "微软雅黑"
FontEffects = 1073741825
FontHeight = 300
FontCharSet = 134
FontPitchAndFamily= 34
ParagraphAlign = 3
FontWeight = 700
End
Begin MSForms.CommandButton Cmd_开始测试
Height = 735
Left = 12060
TabIndex = 15
Top = 3192
Width = 2175
ForeColor = 4210752
BackColor = 16761024
Caption = " 开始测试"
PicturePosition = 327683
Size = "3836;1296"
Picture = "MainForm.frx":6A37A
FontName = "微软雅黑"
FontEffects = 1073741825
FontHeight = 300
FontCharSet = 134
FontPitchAndFamily= 34
ParagraphAlign = 3
FontWeight = 700
End
Begin MSForms.CommandButton Cmd_配置参数
Height = 735
Left = 12060
TabIndex = 14
Top = 2328
Width = 2175
ForeColor = 4210752
BackColor = 16761024
Caption = " 配置参数"
PicturePosition = 327683
Size = "3836;1296"
Picture = "MainForm.frx":6ECB4
FontName = "微软雅黑"
FontEffects = 1073741825
FontHeight = 300
FontCharSet = 134
FontPitchAndFamily= 34
ParagraphAlign = 3
FontWeight = 700
End
Begin VB.Label Label4
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "腔体供应:"
BeginProperty Font
Name = "微软雅黑"
Size = 15
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00404040&
Height = 405
Left = 600
TabIndex = 13
Top = 3255
Width = 1290
End
Begin VB.Label Label5
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "测试班次:"
BeginProperty Font
Name = "微软雅黑"
Size = 15
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00404040&
Height = 405
Left = 600
TabIndex = 12
Top = 2115
Width = 1530
End
Begin MSForms.CommandButton Cmd_打开配置
Height = 735
Left = 12060
TabIndex = 1
Top = 600
Width = 2175
ForeColor = 4210752
BackColor = 16761024
Caption = " 打开配置"
PicturePosition = 327683
Size = "3836;1296"
FontName = "微软雅黑"
FontEffects = 1073741825
FontHeight = 300
FontCharSet = 134
FontPitchAndFamily= 34
ParagraphAlign = 3
FontWeight = 700
End
Begin VB.Shape Shape1
BorderColor = &H00FF0000&
FillColor = &H00FF8080&
FillStyle = 0 'Solid
Height = 5535
Left = 360
Shape = 4 'Rounded Rectangle
Top = 360
Width = 3855
End
Begin VB.Shape Shape_1
BorderColor = &H00400000&
FillColor = &H00FFC0C0&
FillStyle = 0 'Solid
Height = 5775
Left = 240
Shape = 4 'Rounded Rectangle
Top = 240
Width = 4095
End
Begin MSForms.CommandButton Cmd_校准仪器
Height = 735
Left = 12060
TabIndex = 2
Top = 1464
Width = 2175
ForeColor = 4210752
BackColor = 16761024
Caption = " 校准仪器"
PicturePosition = 327683
Size = "3836;1296"
Picture = "MainForm.frx":71466
FontName = "微软雅黑"
FontEffects = 1073741825
FontHeight = 300
FontCharSet = 134
FontPitchAndFamily= 34
ParagraphAlign = 3
FontWeight = 700
End
Begin VB.Shape Shape3
BackColor = &H00FFC0C0&
BorderColor = &H00FF0000&
FillColor = &H00FF8080&
FillStyle = 0 'Solid
Height = 5535
Left = 11640
Shape = 4 'Rounded Rectangle
Top = 360
Width = 3015
End
Begin VB.Shape Shape_2
BorderColor = &H00400000&
FillColor = &H00FFC0C0&
FillStyle = 0 'Solid
Height = 5775
Left = 11520
Shape = 4 'Rounded Rectangle
Top = 240
Width = 3255
End
Begin VB.Shape Shape_3
BorderColor = &H00400000&
FillColor = &H00FF8080&
FillStyle = 0 'Solid
Height = 3135
Left = 240
Shape = 4 'Rounded Rectangle
Top = 6360
Width = 14535
End
Begin VB.Shape Shape2
BorderColor = &H00400000&
FillColor = &H00C0C0C0&
FillStyle = 0 'Solid
Height = 5775
Left = 4740
Shape = 4 'Rounded Rectangle
Top = 240
Width = 6375
End
End
Attribute VB_Name = "TestForm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'StatusBar1状态栏颜色、ComboBox下拉
Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const CB_SHOWDROPDOWN = &H14F
Private Const CCM_FIRST = &H2000
Private Const CCM_SETBKCOLOR = (CCM_FIRST + 1)
Private Const SB_SETBKCOLOR = CCM_SETBKCOLOR
'Windows屏幕分辨率
Private Declare Function GetSystemMetrics Lib "user32 " (ByVal nIndex As Long) As Long
Private Const SM_CXSCREEN = 0
Private Const SM_CYSCREEN = 1
'Public CmdStr As String '
Dim WorkingFlag As Boolean '按钮点击标识
'Windows状态栏高度
Private Declare Function FindWindow Lib "USER32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowRect Lib "USER32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
'取色
Private Declare Function GetSysColor Lib "user32 " Alias "GetSysColor " (ByVal nIndex As Long) As Long
Dim MyConnect As New PIM
Private Sub CheckBox1_Change()
IniTestFormColor
End Sub
Private Sub CheckBox1_Click()
IniTestFormColor
End Sub
Sub IniTestFormColor()
Select Case CheckBox1.Value
Case True
Me.BackColor = &HFFA0A0
Shape1.FillColor = &HFF8080
Shape3.FillColor = &HFF8080
Shape_3.FillColor = &HFF8080
SendMessage StatusBar1.hwnd, SB_SETBKCOLOR, 0, ByVal RGB(128, 128, 255)
Shape2.FillColor = &HC0C0C0
Option1.BackColor = &HC0C0C0
Option2.BackColor = &HC0C0C0
CheckBox1.BackColor = &HC0C0C0
Pesgo1.GraphBackColor = Pesgo1.PEargb(255, 128, 128, 128)
Pesgo1.TextColor = Pesgo1.PEargb(255, 0, 0, 0)
Pesgo1.DeskColor = Pesgo1.PEargb(255, 192, 192, 192)
Label1.ForeColor = &H404040
Label2.ForeColor = &H404040
Label3.ForeColor = &H404040
Label4.ForeColor = &H404040
Label5.ForeColor = &H404040
Label6.ForeColor = &H404040
Text_SN.BackColor = &HFFFFFF
Text_Tester.BackColor = &HFFFFFF
Combo_DayNight.BackColor = &HFFFFFF
Combo_Time.BackColor = &HFFFFFF
Combo_P.BackColor = &HFFFFFF
'Combo_Type.BackColor = &HFFFFFF
Text_Inf.BackColor = &HFFFFFF
Cmd_打开配置.BackColor = &HFFC0C0
Cmd_校准仪器.BackColor = &HFFC0C0
Cmd_配置参数.BackColor = &HFFC0C0
Cmd_开始测试.BackColor = &HFFC0C0
Cmd_停止测试.BackColor = &HFFC0C0
Cmd_记录数据.BackColor = &HFFC0C0
Cmd_打开配置.ForeColor = &H404040
Cmd_校准仪器.ForeColor = &H404040
Cmd_配置参数.ForeColor = &H404040
Cmd_开始测试.ForeColor = &H404040
Cmd_停止测试.ForeColor = &H404040
Cmd_记录数据.ForeColor = &H404040
Case False
Me.BackColor = &H400000
Shape1.FillColor = &HFF3030
Shape3.FillColor = &HFF3030
Shape_3.FillColor = &HFF3030
SendMessage StatusBar1.hwnd, SB_SETBKCOLOR, 0, ByVal RGB(48, 48, 255)
Shape2.FillColor = &H909090
Option1.BackColor = &H909090
Option2.BackColor = &H909090
CheckBox1.BackColor = &H909090
Pesgo1.GraphBackColor = Pesgo1.PEargb(255, 0, 0, 0)
Pesgo1.TextColor = Pesgo1.PEargb(255, 255, 255, 255)
Pesgo1.DeskColor = Pesgo1.PEargb(255, 144, 144, 144)
Label1.ForeColor = &HFF&
Label2.ForeColor = &HFF&
Label3.ForeColor = &HFF&
Label4.ForeColor = &HFF&
Label5.ForeColor = &HFF&
Label6.ForeColor = &HFF&
Text_SN.BackColor = &HC0FFC0
Text_Tester.BackColor = &HC0FFC0
Combo_DayNight.BackColor = &HC0FFC0
Combo_Time.BackColor = &HC0FFC0
Combo_P.BackColor = &HC0FFC0
'Combo_Type.BackColor = &HC0FFC0
Text_Inf.BackColor = &HC0FFC0
Cmd_打开配置.BackColor = &HC0C0FF
Cmd_校准仪器.BackColor = &HFFFF90
Cmd_配置参数.BackColor = &HA0D0FF
Cmd_开始测试.BackColor = &HA0FFA0
Cmd_停止测试.BackColor = &HA0A0FF
Cmd_记录数据.BackColor = &HFFB0B0
Cmd_打开配置.ForeColor = &HD00000
Cmd_校准仪器.ForeColor = &HA000A0
Cmd_配置参数.ForeColor = &H8000&
Cmd_开始测试.ForeColor = &H303030
Cmd_停止测试.ForeColor = &H90&
Cmd_记录数据.ForeColor = &H40C0&
End Select
Call ColorValue
End Sub
Private Sub Command1_Click()
End Sub
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
Private Sub HScroll1_Change()
Me.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)
End Sub
Private Sub HScroll2_Change()
Me.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)
End Sub
Private Sub HScroll3_Change()
Me.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)
End Sub
Sub ColorValue()
nColor = Hex(Me.BackColor)
nBlue = Val("&H" & Left(nColor, 2))
nGreen = Val("&H" & Mid(nColor, 3, 2))
nRed = Val("&H" & Right(nColor, 2))
HScroll1.Value = nRed
HScroll2.Value = nGreen
HScroll3.Value = nBlue
End Sub
Public Sub Option1_Click()
DisplayMode = 0
End Sub
Public Sub Option2_Click()
DisplayMode = 1
End Sub
Private Sub Cmd_打开配置_Click()
If SetFlag = False Then Exit Sub '检测
Call OpenFile '打开配置
Call ClearFlag '清除标识
End Sub
Public Sub Cmd_记录数据_Click()
'If SetFlag = False Then Exit Sub '检测
'Call Write_File
'Call ClearFlag '清除标识
'Call ClearSN
End Sub
Private Sub Cmd_开始测试_Click()
If SetFlag = False Then Exit Sub
Call TestStart '开始测试
Unload 消息框
Call ClearFlag
End Sub
Private Sub Cmd_配置参数_Click()
If SetFlag = False Then Exit Sub
配置参数.Show 1
End Sub
Private Sub Cmd_停止测试_Click()
Call TestStop '停止测试
End Sub
Private Sub Cmd_校准仪器_Click()
If SetFlag = False Then Exit Sub
Call Sig_Cal '校准仪器
Call ClearFlag
End Sub
Function SetFlag() As Boolean
If WorkingFlag = False Then
WorkingFlag = True
SetFlag = True
Else
SetFlag = False
End If
End Function
Sub ClearFlag()
WorkingFlag = False
End Sub
Sub ClearSN()
Text_SN.Text = ""
StatusBar1.Panels(2).Text = ""
Text_Inf.Text = ""
Text_SN.SetFocus
End Sub
Public Sub OpenFile() '读配置文件(然后才能校准和测试)
Call Read_IniFile(1) '打开配置文件
Call ShowIniData '4.输出配置参数
If LoadFile_Done = False Then Exit Sub '是否已读入配置文件
Call PesgoIni '加载图表
End Sub
Private Sub Sig_Cal() '校准测试
If OpenInstrument = False Then Exit Sub '打开仪器
If LoadFile_Done = False Then Exit Sub '已读入配置文件?
If Connect_Done(1) = False Then Exit Sub '仪器已连接?
'If OpenSig(MyInstrConf.Sig1_Alias, MyInstrConf.Sig2_Alias) = False Then Exit Sub '1.打开信号源
Call SetSigPowStep(0.02, 0.02) '2.设置信号源调整步径
If OpenPS(MyInstrConf.PS_Alias) = False Then Exit Sub '3.打开功率计
Call CalSig1 '4.校准信号源1
Call CalSig2 '5.校准信号源2
ShowMessage 2, "信号源校准完成!", "仪器校准"
End Sub
Private Sub TestStart() '开始测试
On Error GoTo Err:
Call ClearList(ListView1)
If OpenInstrument = False Then Exit Sub '打开仪器
If ConnectDB = False Then Exit Sub '连接网络?
If LoadFile_Done = False Then Exit Sub '已读入配置文件?
If Write_SN = False Then Exit Sub '是否输入SN?
If Connect_Done(2) = False Then Exit Sub '仪器已连接?
DelayTime 100
Call SettingSpec '设置仪器
Select Case MyInstrConf.Mode
Case 1 '模式1:调试模式 (连续扫描)
Call Test1
Case 2 '模式2:单步扫频 (单步扫描)
Call Test2
Case 3 '模式3:连续扫频 (连续扫描)
Call Test3
End Select
SetSig "00" '关闭
Call Write_File
Call ClearSN
Err:
End Sub
Function ConnectDB() As Boolean
If MyInstrConf.Mode <> 1 Or Trim(Text_Tester.Text) = "999999" Or Trim(Text_Tester.Text) = "000000" Then
ConnectDB = True
TestForm.Shape_3.FillColor = IIf(CheckBox1.Value = True, &HFF8080, &HFF3030)
Exit Function
End If
Dim bool1 As Boolean, bool2 As Boolean
bool1 = MyConnect.Conn_test("sa", "mobi@20120510")
TestForm.Shape_3.FillColor = IIf(bool1 = True, IIf(CheckBox1.Value = True, &H80FF80, vbGreen), IIf(CheckBox1.Value = True, &HC0C0FF, vbRed))
bool2 = IIf(Trim(Text_Tester.Text) = "999999", True, False)
ConnectDB = bool1 + bool2
If ConnectDB = False Then ShowMessage 2, "连接失败", "网络"
End Function
Private Sub TestStop() '立即停止测试
StopFlag = True '设置停止标志位为True
End Sub
Private Sub Form_Load() '窗口加载
Call IniLvw(ListView1) '设置Listview1
Call SetPesgo(Pesgo1) '设置Pesgo名称为Pesgo1
Call LoadPesgo '加载窗体时,Pesgo显示设置
StatusBar1.Font.Size = 15
SendMessage StatusBar1.hwnd, SB_SETBKCOLOR, 0, ByVal RGB(128, 128, 255) '
'SendMessage StatusBar1.hwnd, SB_SETBKCOLOR, 0, ByVal RGB(192, 192, 255) '
'SendMessage StatusBar1.hwnd, SB_SETBKCOLOR, 0, ByVal RGB(200, 200, 255) '&H00800000&
Call Adj_FormSize
Call ColorValue
Call Option1_Click
CheckBox1.Value = True
CheckBox1.Value = False
End Sub
Sub Cmd_Enabled(ByVal Str As String) '使能CommandButton
CmdStr = Str
TestForm.Cmd_打开配置.Enabled = BitNum(Str, 1)
TestForm.Cmd_校准仪器.Enabled = BitNum(Str, 2)
TestForm.Cmd_配置参数.Enabled = BitNum(Str, 3)
TestForm.Cmd_开始测试.Enabled = BitNum(Str, 4)
TestForm.Cmd_停止测试.Enabled = BitNum(Str, 5)
TestForm.Cmd_记录数据.Enabled = BitNum(Str, 6)
End Sub
Function BitNum(ByVal Str As String, ByVal BitIndex As Integer) As Boolean
On Error Resume Next
Select Case CInt(Mid(Str, BitIndex, 1))
Case 1
BitNum = True
Case 0
BitNum = False
End Select
End Function
Function ShowMessage(ByVal ShowMode As Integer, ByVal Msg1 As String, ByVal Msg2 As String) As Boolean
Dim PreStr As String
PreStr = CmdStr
'Call TestForm.Cmd_Enabled("000000") '屏蔽按钮
Load 消息框
消息框.Show
Call IniMsg(Msg1, Msg2) '显示Msg
'DoEvents
DelayTime 5
Select Case ShowMode
Case 1
消息框.SelectFlag = 2
Do While 消息框.SelectFlag = 2
'DoEvents
DelayTime 10
Loop
ShowMessage = CBool(消息框.SelectFlag) '返回用户选择值
Unload 消息框
Case 2
DoEvents
DelayTime 1000
消息框.Cmd_yes_Click
Unload 消息框
Case 3
End Select
End Function
Sub IniMsg(ByVal Msg1 As String, Msg2 As String)
Load 消息框 '弹出对话框窗体
消息框.Show
消息框.Caption = Msg2
消息框.Lbl.Caption = Msg1
消息框.Cmd_yes.SetFocus
End Sub
Sub ClearList(ByVal Lvw As ListView)
On Error GoTo Err
For i = LBound(MyItemConf()) To UBound(MyItemConf())
MyItemConf(i).PIMValue = 0 '清除PIMValue
MyItemConf(i).FinishedFlag = False
Next i
With Lvw
For i = 1 To UBound(MyItemConf()) '遍历测试项
.ListItems(i).SubItems(10) = ""
.ListItems(i).SubItems(11) = ""
TestForm.ListView1.ListItems(i).ListSubItems(1).ForeColor = vbBlack
For j = 2 To 9
TestForm.ListView1.ListItems(i).ListSubItems(j).ForeColor = vbBlue
Next j
Next i
End With
TestForm.Shape_3.FillColor = IIf(CheckBox1.Value = True, &HFF8080, &HFF3030)
TestForm.Refresh
Err:
End Sub
Sub IniLvw(ByVal Lvw As ListView)
Arr = Array("拓扑", "F1频率", "F1功率", "F2频率", "F2功率", "IM频率", "阶数", "参考值", "测试值", "合格")
IniListView Lvw
With Lvw
.ColumnHeaders.Add , , "", 10 '给列表中添加列名
.ColumnHeaders.Add , , "", 580 '给列表中添加列名
.ColumnHeaders(2).Alignment = lvwColumnCenter '文本居中
For i = LBound(Arr) To UBound(Arr)
.ColumnHeaders.Add , , Arr(i), 1350
.ColumnHeaders(i + 3).Alignment = lvwColumnCenter '文本居中
Next i
.ColumnHeaders(3).Width = 925
.ColumnHeaders(9).Width = 925
.ColumnHeaders(11).Width = 1680
'.Font.Name = "宋体"
.FlatScrollBar = False '显示滚动条
.ForeColor = vbBlue
.Font.Bold = True
.BackColor = &HFFC0C0
.Font.Size = 18
'Label4.Caption = "F1频率(MHz) F1功率(dBm) F2频率(MHz) F2功率(dBm) IM频率(MHz) IM阶数 参考值(dBm) 测试值 Pass/Fail"
End With
End Sub
Function LoadFile_Done() As Boolean '测试是否已经读入配置文件
If Read_FileName = "" Then 'Ini文件名=”“
ShowMessage 2, "配置文件没有打开!", "打开配置"
'MsgBox "配置文件没有打开!", vbCritical, "读入失败" '
LoadFile_Done = False
'Call Cmd_Enabled("100000") '使能
Exit Function
Else
LoadFile_Done = True
'Call Cmd_Enabled("110100") '使能
End If
End Function
Function Write_SN() As Boolean
Write_SN = True
If Text_SN.Text = "" Or Text_Tester = "" Or Len(Text_Tester.Text) <> 6 Or Trim(MyTestConf.ProductName) = "" Then
ShowMessage 2, "请确认信息:" & Chr(13) & Chr(13) & "序列号、测试员、产品类型!", "开始测试"
Write_SN = False
Else
'Call Write_Combo_Time(Text_SN.Text)
End If
End Function
Sub ShowIniData()
On Error Resume Next
ListView1.ListItems.Clear
For i = 1 To UBound(MyItemConf()) '遍历测试项
With MyItemConf(i)
ListView1.ListItems.Add , , i
ListView1.ListItems(i).SubItems(1) = i
TestForm.ListView1.ListItems(i).ListSubItems(1).ForeColor = vbBlack
ListView1.ListItems(i).SubItems(2) = .Path & "面"
ListView1.ListItems(i).SubItems(3) = .Sig1Frequency
'TestForm.ListView1.ListItems(i).ListSubItems(3).ForeColor = vbBlack
ListView1.ListItems(i).SubItems(4) = .Sig1Target
ListView1.ListItems(i).SubItems(5) = .Sig2Frequency
'TestForm.ListView1.ListItems(i).ListSubItems(5).ForeColor = vbBlack
ListView1.ListItems(i).SubItems(6) = .Sig2Target
ListView1.ListItems(i).SubItems(7) = .PIMFrequency
'TestForm.ListView1.ListItems(i).ListSubItems(7).ForeColor = vbGreen
ListView1.ListItems(i).SubItems(8) = .PIMType
ListView1.ListItems(i).SubItems(9) = .ReferenceValue
End With
Next i
'TestForm.Shape_3.FillColor = &H80FF80
StatusBar1.Panels(1).Text = Read_FileName '状态栏设置
'StatusBar1.Panels(1).Text = "配置文件: " & Read_FileName '状态栏设置
'Combo_SweepType.ListIndex = IIf(MyTestConf.SweepMode = "Single", 0, 1) '测试项目
'Lbl_TestType.Caption = IIf(myTestConf.TestType = 1, "扫频", "点频") '测试模式
Arr_Time = Split(Trim(MyTestConf.ProductState), "、")
Arr_DayNight = Split(Trim(MyTestConf.WorkTime), "、")
Arr_P = Split(Trim(MyTestConf.Supplier), "、")
Arr_Type = Split(Trim(MyTestConf.ProductName), "、")
'IniComboText Combo_SweepType, Arr_SweepType
IniComboText Combo_Time, Arr_Time
IniComboText Combo_DayNight, Arr_DayNight
IniComboText Combo_P, Arr_P
'IniComboText Combo_Type, Arr_Type
'SetWidth_ComboBox Combo_Type, MaxLen(Combo_Type) / 10
End Sub
Sub Write_Combo_Time(ByVal SN As String)
On Error Resume Next
Dim Buffer() As String
i = 0
If Dir(Trim(MyTestConf.DataPath)) = "" Then
Combo_Time.Text = Combo_Time.List(0)
Exit Sub
End If
Open Trim(MyTestConf.DataPath) For Input As #1
Do While Not EOF(1)
ReDim Preserve Buffer(i) As String
Line Input #1, Buffer(i)
i = i + 1
Loop
Close #1
For i = UBound(Buffer) To LBound(Buffer) + 1 Step -1
Dim Arr() As String
Arr = Split(Buffer(i), ",")
If Trim(SN) = Trim(Arr(0)) Then
temp = Trim(Arr(4))
Exit For
End If
If i = LBound(Buffer) + 1 Then Combo_Time.Text = Combo_Time.List(0)
Next i
a = Split(MyTestConf.ProductState, "、")
'If temp = a(UBound(a)) And temp <> "" Then
' ShowMessage 2, "无后续流程!", "测试状态"
' Text_SN.Text = ""
' StatusBar1.Panels(2).Text = ""
'End If
For i = LBound(a) To UBound(a) - 1
If temp = a(i) Then
Combo_Time.Text = Status(Arr())
'Text_Inf.Text = Arr(10)
Text_Inf.Text = Arr(6 + 2 * UBound(MyItemConf()))
Exit For
End If
Next i
End Sub
Function Status(Arr() As String) As String
Dim PassFlag As Byte
PassFlag = CalcPass(Arr())
Select Case Trim(Arr(4))
Case "预测": temp = IIf(PassFlag = 1, "点胶1", "清洁")
Case "清洁": temp = IIf(PassFlag = 1, "点胶1", "返修1")
Case "返修1": temp = IIf(PassFlag = 1, "点胶1", "返修2")
Case "返修2": temp = IIf(PassFlag = 1, "点胶1", "返修3")
Case "返修3": temp = IIf(PassFlag = 1, "点胶1", "返修4")
Case "点胶1": temp = IIf(PassFlag = 1, "点胶2", "点胶2")
Case Else: temp = "Error"
End Select
Status = temp
With Combo_Time
For i = 0 To .ListCount
If .List(i) = temp Then
.ListIndex = i
Exit Function
End If
Next i
.AddItem temp
.ListIndex = .ListCount - 1
End With
End Function
Function CalcPass(Arr() As String) As Byte
For i = 7 To UBound(Arr) - 1
If Arr(i) = "不合格" Then
CalcPass = 0
Exit Function
End If
Next i
CalcPass = 1
End Function
Private Sub Text_SN_KeyPress(KeyAscii As Integer)
If LoadFile_Done = False Then
Text_SN.Text = ""
KeyAscii = 0
Exit Sub '已读入配置文件?
End If
If KeyAscii = 13 Then
Call Write_Combo_Time(Trim(Text_SN.Text))
Text_SN.SelStart = 0
Text_Tester.SetFocus
Cmd_开始测试.SetFocus
Call CheckSN(Trim(Text_SN.Text))
StatusBar1.Panels(2).Text = Text_SN.Text
End If
End Sub
Private Sub Text_Tester_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Len(Text_Tester.Text) <> 6 Then
ShowMessage 2, "工号不满足6位!", "测试员"
Text_Tester.SetFocus
Else
Combo_DayNight.SetFocus
End If
End If
End Sub
Private Sub Combo_DayNight_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then Combo_Time.SetFocus
End Sub
Private Sub Combo_Time_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then Combo_P.SetFocus
End Sub
Private Sub Combo_P_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then Text_Inf.SetFocus
End Sub
'Private Sub Combo_Type_Click()
' StatusBar1.Panels(1).Text = Combo_Type.Text
'End Sub
Private Sub Text_Inf_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then Text_SN.SetFocus
End Sub
Private Sub Combo_DayNight_GotFocus()
Dim IntRet As Integer
IntRet = SendMessage(Combo_DayNight.hwnd, CB_SHOWDROPDOWN, 1, 0)
End Sub
Private Sub Combo_Time_GotFocus()
Dim IntRet As Integer
IntRet = SendMessage(Combo_Time.hwnd, CB_SHOWDROPDOWN, 1, 0)
End Sub
Private Sub Combo_P_GotFocus()
Dim IntRet As Integer
IntRet = SendMessage(Combo_P.hwnd, CB_SHOWDROPDOWN, 1, 0)
End Sub
Sub Write_File()
On Error GoTo Err
For i = 1 To UBound(MyItemConf())
If MyItemConf(i).FinishedFlag = False Then Exit Sub
Next i
If MyInstrConf.Mode = 1 Then
If Trim(Text_Tester.Text) <> "000000" And Trim(Text_Tester.Text) <> "999999" Then
If MyWriteDB = False Then
TestForm.Shape_3.FillColor = IIf(CheckBox1.Value = True, &HC0C0FF, vbRed)
ShowMessage 2, "上传失败!", "数据"
End If
ElseIf Trim(Text_Tester.Text) = "000000" Then
Exit Sub
ElseIf Trim(Text_Tester.Text) = "999999" Then
End If
End If
Dim TestData As String
Dim Data() As String
Dim TitleData As String
Dim TitleValue As String
For i = 1 To UBound(MyItemConf())
TitleValue = TitleValue & "测试值" & i & ",合格" & i & ","
Next i
TitleData = "序列号,测试员,测试时间,班次,测试状态,供应商," & TitleValue & "补充信息,Pass/Fail"
ReDim Data(7 + 2 * UBound(MyItemConf())) As String
Data(0) = Trim(Text_SN.Text) '序列号
Data(1) = Trim(Text_Tester) '测试员
Data(2) = DateValue(Now) '测试时间
Data(3) = Trim(Combo_DayNight.Text) '班次
Data(4) = Trim(Combo_Time.Text) '测试状态
Data(5) = Trim(Combo_P.Text) '供应商
'Data(6) = .Path '拓扑路
'Data(7) = .Sig1Frequency 'F1频率
'Data(8) = .Sig1Target 'F1功率
'Data(9) = .Sig2Frequency 'F2频率
'Data(10) = .Sig2Target 'F2功率
'Data(11) = .PIMType '交调阶数
'Data(12) = .PIMFrequency '交调频率
'Data(13) = .ReferenceValue '参考值
For i = 1 To UBound(MyItemConf())
With MyItemConf(i)
Data(4 + 2 * i) = IIf(.PIMValue = 0, "", .PIMValue) '测试值
Data(5 + 2 * i) = IIf(.PIMValue > .ReferenceValue, "不合格", "合格") 'Pass/Fail
End With
Next i
Data(6 + 2 * UBound(MyItemConf())) = Text_Inf.Text '补充信息
Dim temp As String
temp = "合格"
For i = LBound(MyItemConf) To UBound(MyItemConf)
If MyItemConf(i).PIMValue > MyItemConf(i).ReferenceValue Then
temp = "不合格"
Exit For
End If
Next i
Data(7 + 2 * UBound(MyItemConf())) = temp '总合格
For j = LBound(Data()) To UBound(Data())
TestData = TestData & Data(j) & ","
Next j
'TestData = TestData & Chr(13)
If Data(1) = "" Or Data(2) = "" Then
ShowMessage 2, "请确认信息:" & Chr(13) & Chr(13) & "序列号,测试员,测试数据", "保存数据"
Exit Sub
End If
'If ShowMessage(1, "是否保存测试数据?", "保存") = False Then Exit Sub
If Dir(Trim(MyTestConf.DataPath)) = "" Then
Call Write_TextFile(Trim(MyTestConf.DataPath), TitleData & Chr(13) & Read_TextFile(Trim(MyTestConf.DataPath)) & TestData)
Else
Call Write_Add(Trim(MyTestConf.DataPath), TestData)
End If
Exit Sub
Err:
ShowMessage 2, "保存失败!", "本地数据"
End Sub
Function MyWriteDB() As Boolean
Dim Data1 As New PIMTest
Dim Data2() As New PIMTestItem
ReDim Data2(MyInstrConf.AllStep - 1) As New PIMTestItem
Dim temp As String
temp = "Pass"
For i = LBound(MyItemConf) To UBound(MyItemConf)
If MyItemConf(i).PIMValue > MyItemConf(i).ReferenceValue Then
temp = "Fail"
Exit For
End If
Next i
With Data1
.Pass = temp
.PCIP = MyInstrData.PCIP
.ProductSN = Trim(Text_SN.Text)
'.ProductTypeID = Trim(Combo_Type.Text)
.ProductTypeID = Trim(MyTestConf.ProductName)
.SignalSource1 = MyInstrData.Sig1SN
.SignalSource2 = MyInstrData.Sig2SN
.SpectrumAnalyzer = MyInstrData.SASN
.TestStep = Trim(Combo_Time.Text)
.UserID = Trim(Text_Tester.Text)
.MoreContent = ""
End With
For i = LBound(Data2) To UBound(Data2)
With Data2(i)
.HighSpec = MyItemConf(i + 1).ReferenceValue
.InputF1 = MyItemConf(i + 1).Sig1Frequency * 1000000
.InputF2 = MyItemConf(i + 1).Sig2Frequency * 1000000
.InputPower1 = MyItemConf(i + 1).Sig1Target
.InputPower2 = MyItemConf(i + 1).Sig2Target
.InterceptOrder = CStr(MyItemConf(i + 1).PIMType)
.OutputF = MyItemConf(i + 1).PIMFrequency * 1000000
.Pass = IIf(MyItemConf(i + 1).PIMValue <= MyItemConf(i + 1).ReferenceValue, "Pass", "Fail")
.TestValue = MyItemConf(i + 1).PIMValue
.TopoAlias = IIf(Trim(MyItemConf(i + 1).Path) = "1" Or Trim(MyItemConf(i + 1).Path) = "A", "A面", "B面")
End With
Next i
If ConnectDB = False Then '测试失败
ShowMessage 2, "连接失败", "网络"
Do While ShowMessage(1, "重新连接?", "网络") = True '重新连接网络
If ConnectDB = True Then
ShowMessage 2, "连接成功", "网络"
MyWriteDB = MyConnect.Write_Sql("sa", "mobi@20120510", Data1, Data2())
Exit Do
Else
ShowMessage 2, "连接失败", "网络"
End If
Loop
Else
If Not MyConnect.Test_IsvaildPID("sa", "mobi@20120510", Trim$(MyTestConf.ProductName)) Then
ShowMessage 2, "S代码错误!上传失败!", "ProductName"
Else
MyWriteDB = MyConnect.Write_Sql("sa", "mobi@20120510", Data1, Data2()) '写数据
End If
End If
End Function
Sub Adj_FormSize()
On Error GoTo Err
Dim R As RECT
GetWindowRect FindWindow("Shell_TrayWnd", vbNullString), R '获取状态栏高度
Me.Width = GetSystemMetrics(SM_CXSCREEN) * 15 '窗体
Me.Height = R.Bottom * 15
Me.Left = 0
Me.Top = 0
StatusBar1.Panels(1).Width = Me.Width * (12 / 32) '状态栏
StatusBar1.Panels(2).Width = Me.Width * (13 / 32)
StatusBar1.Panels(3).Width = Me.Width * (4 / 32)
StatusBar1.Panels(4).Width = Me.Width * (3 / 32)
Dim M_Left As Double, M_Top As Double, M_Width As Double, M_Height As Double, Adj_X As Double, Adj_Y As Double
M_Left = Shape_1.Left '控件区域
M_Top = Shape_1.Top
M_Width = Shape_2.Left + Shape_2.Width
M_Height = Shape_3.Top + Shape_3.Height
Adj_X = Shape_1.Left - (Me.Width - M_Width) / 2 - 80 '调整量X
Adj_Y = Shape_1.Top - (Me.Height - M_Height - StatusBar1.Height / 0.67) / 2
Call Resize_Form(Me, Adj_X, Adj_Y) '调整位置
Err:
'Call Resize_Form(Me)
End Sub
Sub Resize_Form(Frm As Form, ByVal X As Double, ByVal Y As Double) '按比例改变表单内各元件的大小,在调用ReSizeForm前先调用ReSizeInit函数
Dim obj As Object
On Error Resume Next
For Each obj In Frm.Controls
With obj
'.Move .Left - x, .Top - y, .Width, .Height '根据控件的原始位置及窗体改变大小'的比例对控件重新定位与改变大小
.Left = .Left - X
.Top = .Top - Y
End With
Next
End Sub
Sub CheckSN(ByVal Str As String)
Select Case UCase$(Left(Str, 2))
Case "A8": temp = "康铖"
Case "BW": temp = "珠海国能"
Case "AJ": temp = "中兴新地"
Case "Y2": temp = "湘银天"
Case "Y5": temp = "春兴"
Case "V4": temp = "菲斯达"
Case "S6": temp = "金澄"
Case "9D": temp = "东山精密"
Case "3P": temp = "艾蒂盟斯"
Case "H4": temp = "东浩"
Case "MB": temp = "机加"
Case Else: temp = Combo_P.Text
End Select
With Combo_P
For i = 0 To .ListCount
If .List(i) = temp Then
.ListIndex = i
Exit Sub
End If
Next i
.AddItem temp
.ListIndex = .ListCount - 1
End With
End Sub
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )