层次分析法的源程序

http://www.shumo88.com/index_Article_Content.asp?fID_ArticleContent=301
先暂时放一下

1、算法
Private Sub Command1_Click()
Dim num As Integer
Dim num0, num1, num2 As Double
strline = ""
fly1 = 1
On Error Resume Next
  For i = 1 To List_n
  For j = 1 To List_n
  Text3((i - 1) * List_n + j).Enabled = True
  Next j
  Next i
For i = 1 To List_n
  For j = i To List_n
  If i = j Then
    Text3((i - 1) * List_n + j).text = " 1"
  Else
   num = 1
   num1 = 1
   num2 = 1
   num = InStr(num, Text3((i - 1) * List_n + j).text, "/")
    If num <> 0 Then
     num1 = Val(Left(Text3((i - 1) * List_n + j).text, num))
     num2 = Val(Right(Text3((i - 1) * List_n + j).text, Len(Text3((i - 1) * List_n + j).text) - num))
     Text3((i - 1) * List_n + j).text = num1 / num2
     Text3((j - 1) * List_n + i).text = num2 / num1
    Else
     Text3((j - 1) * List_n + i).text = 1 / Val(Text3((i - 1) * List_n + j).text)
    End If
  End If
Next j
Next i
L = MsgBox("您确定以上的数据吗?", 49, "提示")
If L <> 1 Then
Exit Sub
End If
Call caculation(Combo1.ListIndex + 1, List_n, Text3)
If Selected(Combo1.ListIndex + 1) = Combo1.ListIndex + 1 Then
h = MsgBox("重新输入新数据吗?", 3)
Select Case h
Case 1
  GoTo op
Case 2
  Exit Sub
Case 7
   Exit Sub
End Select
End If
op: Selected(Combo1.ListIndex + 1) = Combo1.ListIndex + 1
Call check
’结果说明
For i = 1 To List_n


Next i
If fly1 = 1 And fly2 = 1 Then
Command1.Enabled = False
Command2.Enabled = False
  For i = 1 To List_n
    ftoa(i) = 0
    For j = 1 To List_m
     ftoa(i) = ftoa(i) + AAs(j, i) * AAs(0, j)
    Next j
    strline = strline + Str(ftoa(i)) + "  "
  Next i
j = MsgBox("各方案对目标的权数为:" + Chr(10) + Chr(13) + strline, 64, "结论")

End If

For i = 1 To List_n
   For j = 1 To List_n
    Text3((i - 1) * List_n + j).Visible = True
    Text3((i - 1) * List_n + j).text = ""
   If i > j Or i = j Then
    Text3((i - 1) * List_n + j).Enabled = False
    Text3((i - 1) * List_n + j).BackColor = &H868754
   End If
   Next j
Next i
End Sub 
http://blog.csdn.net/emilmatthew/archive/2005/08/21/460696.aspx

你可能感兴趣的:(程序)