📄 form5.frm
字号:
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"
Begin VB.Form Form5
BackColor = &H80000013&
Caption = "交通量分布"
ClientHeight = 8160
ClientLeft = 165
ClientTop = 555
ClientWidth = 11880
LinkTopic = "Form4"
ScaleHeight = 8160
ScaleMode = 0 'User
ScaleWidth = 12169.01
StartUpPosition = 3 '窗口缺省
Begin VB.CommandButton Command3
Caption = "生成Excel报表"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 9480
TabIndex = 4
Top = 7440
Width = 1935
End
Begin VB.CommandButton Command2
Caption = "转入交通量分配"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 6480
TabIndex = 3
Top = 7440
Width = 1815
End
Begin VB.CommandButton Command1
Caption = "计 算"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 3480
TabIndex = 2
Top = 7440
Width = 1815
End
Begin MSFlexGridLib.MSFlexGrid MSFlexGrid1
Height = 6015
Left = 120
TabIndex = 0
Top = 1200
Width = 11655
_ExtentX = 20558
_ExtentY = 10610
_Version = 393216
Rows = 25
Cols = 25
ForeColorFixed = 0
GridColor = 32768
GridColorFixed = 32768
End
Begin VB.Label Label2
BackColor = &H80000013&
Caption = "重力模型法计算交通量分布"
BeginProperty Font
Name = "方正琥珀简体"
Size = 24
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00004080&
Height = 615
Left = 3000
TabIndex = 1
Top = 240
Width = 6135
End
End
Attribute VB_Name = "Form5"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
Const n = 23
'计算Tij
For i = 1 To n
For j = 1 To n
If j = i Then
Select Case j
Case 1 To 4
T(i, j) = G(i) * 0.4
Case 5 To 13
T(i, j) = G(i) * 0.5
Case 14 To 18
T(i, j) = G(i) * 0.6
Case Else
T(i, j) = G(i) * 0.7
End Select
Else
T(i, j) = 0.183 * ((G(i) * A(j)) ^ 1.152) / ((C(i, j) * 1000) ^ 1.536)
End If
Next j
Next i
'用增长率法调整
Dim count
count = 0
Do
For i = 1 To 23
Sum1 = 0
For j = 1 To 23
Sum1 = Sum1 + T(i, j)
Next j
G2(i) = Sum1
Next i
For j = 1 To 23
Sum2 = 0
For i = 1 To 23
Sum2 = Sum2 + T(i, j)
Next i
A2(j) = Sum2
Next j
For i = 1 To 23
For j = 1 To 23
sum3 = 0.5 * (G(i) / G2(i) + A(j) / A2(j))
F(i, j) = sum3
T(i, j) = T(i, j) * F(i, j)
Next j
Next i
count = count + 1
Loop While Abs(1 - sum3) > 0.0001
For i = 1 To 23
For j = 1 To 23
MSFlexGrid1.Col = i
MSFlexGrid1.Row = j
MSFlexGrid1.Text = Format(T(i, j), ".00")
Next j
Next i
'填入调整后小区间发生与吸引量,交通总量
Sum = 0
For i = 1 To 23
MSFlexGrid1.Row = i
MSFlexGrid1.Col = 24
MSFlexGrid1.Text = Format(G2(i), ".00")
Sum = Sum + G2(i)
Next
For i = 1 To 23
MSFlexGrid1.Row = 24
MSFlexGrid1.Col = i
MSFlexGrid1.Text = Format(A2(i), ".00")
Next
MSFlexGrid1.Row = 24
MSFlexGrid1.Col = 24
MSFlexGrid1.Text = Format(Sum, ".0")
MsgBox "计算完毕!循环次数: " & count, , "计算完毕"
Command1.Enabled = False
Command2.Enabled = True
Command3.Enabled = True
End Sub
Private Sub Command2_Click()
Unload Form5
Form6.Show
End Sub
Private Sub Command3_Click()
Dim i As Integer
Dim j As Integer
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Set xlBook = xlApp.Workbooks.Add
On Error Resume Next
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
For i = 0 To 24 '网格数
MSFlexGrid1.Row = i
For j = 0 To 24
MSFlexGrid1.Col = j
If IsNull(MSFlexGrid1.Text) = False Then
xlSheet.Cells(i + 1, j + 1) = MSFlexGrid1.Text
End If
Next j
Next i
Exit Sub
End Sub
Private Sub Form_Load()
Command2.Enabled = False
Command3.Enabled = False
'以下填入表头
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 0
MSFlexGrid1.Text = "O\D"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 1
MSFlexGrid1.Text = "东城区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 2
MSFlexGrid1.Text = "西城区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 3
MSFlexGrid1.Text = "宣武区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 4
MSFlexGrid1.Text = "崇文区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 5
MSFlexGrid1.Text = "朝阳区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 6
MSFlexGrid1.Text = "海淀区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 7
MSFlexGrid1.Text = "丰台区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 8
MSFlexGrid1.Text = "石景山区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 9
MSFlexGrid1.Text = "门头沟区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 10
MSFlexGrid1.Text = "通州区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 11
MSFlexGrid1.Text = "顺义区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 12
MSFlexGrid1.Text = "房山区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 13
MSFlexGrid1.Text = "昌平区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 14
MSFlexGrid1.Text = "大兴区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 15
MSFlexGrid1.Text = "密云区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 16
MSFlexGrid1.Text = "怀柔区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 17
MSFlexGrid1.Text = "平谷区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 18
MSFlexGrid1.Text = "延庆区"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 19
MSFlexGrid1.Text = "昌平以西"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 20
MSFlexGrid1.Text = "延庆以北"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 21
MSFlexGrid1.Text = "密云以东"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 22
MSFlexGrid1.Text = "廊坊-天津"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 23
MSFlexGrid1.Text = "大兴以南"
MSFlexGrid1.Col = 0
MSFlexGrid1.Row = 24
MSFlexGrid1.Text = "目的地"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 0
MSFlexGrid1.Text = "O\D"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 1
MSFlexGrid1.Text = "东城区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 2
MSFlexGrid1.Text = "西城区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 3
MSFlexGrid1.Text = "宣武区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 4
MSFlexGrid1.Text = "崇文区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 5
MSFlexGrid1.Text = "朝阳区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 6
MSFlexGrid1.Text = "海淀区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 7
MSFlexGrid1.Text = "丰台区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 8
MSFlexGrid1.Text = "石景山区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 9
MSFlexGrid1.Text = "门头沟区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 10
MSFlexGrid1.Text = "通州区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 11
MSFlexGrid1.Text = "顺义区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 12
MSFlexGrid1.Text = "房山区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 13
MSFlexGrid1.Text = "昌平区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 14
MSFlexGrid1.Text = "大兴区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 15
MSFlexGrid1.Text = "密云区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 16
MSFlexGrid1.Text = "怀柔区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 17
MSFlexGrid1.Text = "平谷区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 18
MSFlexGrid1.Text = "延庆区"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 19
MSFlexGrid1.Text = "昌平以西"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 20
MSFlexGrid1.Text = "延庆以北"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 21
MSFlexGrid1.Text = "密云以东"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 22
MSFlexGrid1.Text = "廊坊-天津"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 23
MSFlexGrid1.Text = "大兴以南"
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 24
MSFlexGrid1.Text = "出发地"
'填入小区初始发生与吸引量,交通总量
Sum = 0
For i = 1 To 23
MSFlexGrid1.Row = i
MSFlexGrid1.Col = 24
MSFlexGrid1.Text = G(i)
Sum = Sum + G(i)
Next
For i = 1 To 23
MSFlexGrid1.Row = 24
MSFlexGrid1.Col = i
MSFlexGrid1.Text = A(i)
Next
MSFlexGrid1.Row = 24
MSFlexGrid1.Col = 24
MSFlexGrid1.Text = Sum
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -