📄 +ʢk
字号:
Left = 0
TabIndex = 29
Top = 120
Width = 2655
End
Begin VB.Label lblC
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "选择文件夹"
ForeColor = &H80000008&
Height = 255
Left = 120
TabIndex = 28
Top = 720
Width = 2535
End
Begin VB.Label lblF
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "选择数据文件"
ForeColor = &H80000008&
Height = 255
Left = 2880
TabIndex = 27
Top = 480
Width = 2055
End
Begin VB.Label lblFile
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "评判矩阵数据文件全名"
ForeColor = &H80000008&
Height = 255
Left = 1200
TabIndex = 26
Top = 4200
Width = 3015
End
Begin VB.Label lblA
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "加权向量备择集数据文件全名"
ForeColor = &H80000008&
Height = 255
Left = 840
TabIndex = 25
Top = 4920
Width = 3735
End
Begin VB.Label lblR
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "评判矩阵(R)"
ForeColor = &H80000008&
Height = 255
Left = 3360
TabIndex = 24
Top = 840
Width = 1095
End
Begin VB.Label lblQ
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "加权向量备择集(A)"
ForeColor = &H80000008&
Height = 255
Left = 2880
TabIndex = 23
Top = 1920
Width = 2055
End
Begin VB.Label lblVF
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "结果向量(B)"
ForeColor = &H80000008&
Height = 255
Left = 2880
TabIndex = 22
Top = 3000
Width = 2175
End
Begin VB.Label lblB
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "结果向量数据文件全名"
ForeColor = &H80000008&
Height = 255
Left = 240
TabIndex = 21
Top = 5640
Width = 4815
End
End
Attribute VB_Name = "frmFile2"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'综合评判
'求权向量文件窗体模块
Option Explicit
Dim intI As Integer, intJ As Integer
Dim intFileNumber As Integer '文件号
Dim strData As String '临时保存数据
Private Sub Form_Load()
File1.Pattern = "*.dat" '只显示数据文件
File2.Pattern = "*.dat" '只显示数据文件
File3.Pattern = "*.dat" '只显示数据文件
'综合判别方法的缺省设置为模糊变换
For intI = 1 To 4
intOptA(intI) = 0
Next intI
intOptA(1) = 1
For intI = 1 To 5
intOptB(intI) = 0
Next intI
intOptB(4) = 1
End Sub
'选择目录
Private Sub Dir1_Change()
File1.Path = Dir1.Path
File2.Path = Dir1.Path
File3.Path = Dir1.Path
End Sub
'选择驱动器
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
'提供R数据文件
Private Sub File1_Click()
txtR.Text = Dir1.Path & "\" & File1.FileName
End Sub
'提供A数据文件
Private Sub File2_Click()
txtA.Text = Dir1.Path & "\" & File2.FileName
End Sub
'提供B数据文件
Private Sub File3_Click()
txtB.Text = Dir1.Path & "\" & File3.FileName
End Sub
'确定,给出文件名和行数、列数后单击
Private Sub cmdOK_Click()
If txtR.Text = "" Then
MsgBox "必须先选定R数据文件!", , "数据文件错误"
Exit Sub
End If
If txtA.Text = "" Then
MsgBox "必须先选定A数据文件!", , "数据文件错误"
Exit Sub
End If
If txtB.Text = "" Then
MsgBox "必须先选定B数据文件!", , "数据文件错误"
Exit Sub
End If
strR = txtR.Text 'R文件名
intFileNumber = FreeFile '取得文件号码
Open strR For Input As intFileNumber '打开R文件
Input #intFileNumber, intRow, intCol '读R文件的行数、列数
N = intRow: M = intCol
ReDim R(1 To N, 1 To M) '定义矩阵R
ReDim RR(1 To N, 1 To M) '定义矩阵RR作恢复R之用
For intI = 1 To N
For intJ = 1 To M
Input #intFileNumber, strData '读R数据
R(intI, intJ) = Val(strData)
RR(intI, intJ) = R(intI, intJ)
Next intJ
Next intI
strA = txtA.Text 'A文件名
intFileNumber = FreeFile '取得文件号码
Open strA For Input As intFileNumber '打开A文件
Input #intFileNumber, intRow, intCol '读A文件的行数、列数
ReDim AA(1 To intRow, 1 To intCol) '定义AA矩阵
ReDim A(1 To intCol) '在计算时使用的权向量数组
For intI = 1 To intRow
For intJ = 1 To intCol
Input #intFileNumber, strData '读A数据
AA(intI, intJ) = Val(strData)
Next intJ
Next intI
S = intRow
ReDim sngC(1 To S) '每个权向量都有一个贴近度
strB = txtB.Text 'B文件名
intFileNumber = FreeFile '取得文件号码
Open strB For Input As intFileNumber '打开B文件
Input #intFileNumber, intRow, intCol '读B文件的行数、列数
ReDim B(1 To intCol) '定义B向量
ReDim B1(1 To intCol) '定义计算的结果向量
ReDim BB(1 To S, 1 To intCol) '保存不同加权向量的综合评判结果
For intI = 1 To intCol
Input #intFileNumber, strData '读B数据
B(intI) = Val(strData) '原始的结果向量
Next intI
Close
frmResu.Visible = True
End Sub
'选择综合判别方法
Private Sub OptA_Click(Index As Integer)
For intI = 1 To 4
intOptA(intI) = 0
Next intI
intOptA(Index) = 1
End Sub
'选择格贴近度
Private Sub Option1_Click()
For intI = 1 To 5
intOptB(intI) = 0
Next intI
intOptB(1) = 1
End Sub
'选择海明贴近度
Private Sub Option2_Click()
For intI = 1 To 5
intOptB(intI) = 0
Next intI
intOptB(2) = 1
End Sub
'选择欧氏贴近度
Private Sub Option3_Click()
For intI = 1 To 5
intOptB(intI) = 0
Next intI
intOptB(3) = 1
End Sub
'选择最大最小贴近度
Private Sub Option4_Click()
For intI = 1 To 5
intOptB(intI) = 0
Next intI
intOptB(4) = 1
End Sub
'选择算术平均最小贴近度
Private Sub Option5_Click()
For intI = 1 To 5
intOptB(intI) = 0
Next intI
intOptB(5) = 1
End Sub
'结束运行
Private Sub cmdExit_Click()
Unload Me
End
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -