📄 框架数据梁柱.frm
字号:
Attribute VB_Exposed = False
Option Explicit
DefInt I-N
'Private Sub Form5_GotFocus()
'' 当对象获得焦点时产生该事件;获得焦点可以通过诸如 TAB 切换,或单击对象之类的用户动作,或在代码中用 SetFocus 方法改变焦点来实现。
'' 语法:Private Sub Form_GotFocus() or Private Sub object_GotFocus([index As Integer])
'' 通常,GotFocus 事件过程用以指定当控件或窗体首次接收焦点时发生的操作。
' Call 叠框(Grid1(0), Text1)
' fg = 0
'End Sub
Sub 叠框(k As Integer)
Text1(k).Top = Grid1(k).Top + Grid1(k).CellTop
Text1(k).Left = Grid1(k).Left + Grid1(k).CellLeft
Text1(k).Width = Grid1(k).CellWidth
Text1(k).Height = Grid1(k).CellHeight
Text1(k).Text = Grid1(k).Text
Text1(k).SetFocus
End Sub
Private Sub Comd1_Click(Index As Integer)
Dim i As Integer, j As Integer, error1 As Integer
Dim Msg As String, Style As String, Title As String, Response As String
For i = 1 To Cengshu
For j = 1 To Kuashu
BTable(i, j) = Grid1(0).TextMatrix(i, j)
BATable(i, j) = Grid1(3).TextMatrix(i, j)
Next j
Next i
For i = 1 To Cengshu
For j = 1 To Kuashu + 1
CTable(i, j) = Grid1(1).TextMatrix(i, j)
CATable(i, j) = Grid1(2).TextMatrix(i, j)
Next j
Next i
For i = 1 To Cengshu
For j = 1 To Kuashu
If BTable(i, j) = "" Then error1 = 1
Next j
Next i
For i = 1 To Cengshu
For j = 1 To Kuashu + 1
If CTable(i, j) = "" Then error1 = 1
Next j
Next i
If error1 = 1 Then
Msg = "请输入程序需要的完整梁柱截面数据表!" ' 定义信息。
Style = vbOKOnly + vbInformation ' 定义按钮。
Title = "系统信息" ' 定义标题。
Response = MsgBox(Msg, Style, Title)
Else
Call 保存原始数据
Call EAI的自动生成
Unload Me
End If
error1 = 0
End Sub
Private Sub Comd2_Click(Index As Integer)
Dim i
' Dim i As Integer, j As Integer, Fn As String
' Fn = Fname & "梁表"
' Open Fn For Output As #9
' For i = 1 To Cengshu
' For j = 1 To Kuashu
' Write #9, Grid1(0).TextMatrix(i, j)
' Next j
' Next i
' Close #9
' Fn = Fname & "柱表"
' Open Fn For Output As #9
' For i = 1 To Cengshu
' For j = 1 To Kuashu + 1
' Write #9, Grid1(1).TextMatrix(i, j)
' Next j
' Next i
' Close #9
'' Close
' Fn = Fname & "附加"
' Open Fn For Output As #9
' For i = 1 To Cengshu
' For j = 1 To Kuashu + 1
' Write #9, Grid1(2).TextMatrix(i, j)
' Next j
' Next i
' Close #9
' Fn = Fname & "砌体重量"
' Open Fn For Output As #9
' For i = 1 To Cengshu
' For j = 1 To Kuashu
' Write #9, Grid1(3).TextMatrix(i, j)
' Next j
' Next i
' Close #9
' Comd2(0).Enabled = False '通过按钮不可用,让用户知道已保存
For i = 0 To 3
Form5.Grid1(i).Clear
Next i
End Sub
Private Sub Comd3_Click(Index As Integer)
Call Form_Load
End Sub
Private Sub Form_Load()
Dim i As Integer, j As Integer
Dim Fn As String, temp As String, k As Integer
Me.Width = 3900
Me.Height = 6000
Me.Top = 0
Me.Left = MDIForm1.Width - Me.Width - 200
On Error GoTo L
'梁表格制作
Grid1(0).Cols = Kuashu + 1
Grid1(0).Rows = Cengshu + 1
Grid1(0).TextMatrix(0, 0) = "层序\跨序"
For i = 1 To Kuashu
Grid1(0).ColAlignment(i) = flexAlignCenterCenter
Grid1(0).ColWidth(i) = 1200
Grid1(0).TextMatrix(0, i) = i
Next i
'从变量中查找数据,用于在未结束程序时打开该窗体可以看到刚才输入的数据
For i = 1 To Cengshu
For j = 1 To Kuashu
Grid1(0).TextMatrix(i, j) = BTable(i, j)
Next j
Next i
'柱和附加表格制作
For i = 1 To 2
Grid1(i).Cols = Kuashu + 2
Grid1(i).Rows = Cengshu + 1
Grid1(i).TextMatrix(0, 0) = "层序\轴号"
Next i
For i = 1 To Kuashu + 1
For j = 1 To 2
Grid1(j).ColWidth(i) = 1200
Grid1(j).ColAlignment(i) = flexAlignCenterCenter
Grid1(j).TextMatrix(0, i) = Chr(64 + i)
Next j
Next i
'砌体表格制作
Grid1(3).Cols = Kuashu + 1
Grid1(3).Rows = Cengshu + 1
Grid1(3).TextMatrix(0, 0) = "层序\跨序"
For i = 1 To Kuashu
Grid1(3).ColAlignment(i) = flexAlignCenterCenter
Grid1(3).ColWidth(i) = 1200
Grid1(3).TextMatrix(0, i) = i
Next i
'从变量中查找数据,用于在未结束程序时打开该窗体可以看到刚才输入的数据
For i = 1 To Cengshu
For j = 1 To Kuashu
Grid1(3).TextMatrix(i, j) = BATable(i, j)
Next j
Next i
'标写层数
For i = 0 To 3
For j = 1 To Cengshu
Grid1(i).TextMatrix(j, 0) = Cengshu - j + 1
Next j
Next i
'从变量中查找数据
For i = 1 To Cengshu
For j = 1 To Kuashu + 1
Grid1(1).TextMatrix(i, j) = CTable(i, j)
Grid1(2).TextMatrix(i, j) = CATable(i, j)
Next j
Next i
For i = 0 To 3
Grid1(i).ColAlignment(0) = flexAlignCenterCenter
Next i
Form5.Text1(2).Visible = True
Grid1(0).Col = 1
Grid1(0).Row = 1
k = SSTab1.Tab
If 存盘标记 = True Then
For i = 1 To Cengshu
For j = 1 To Kuashu
Grid1(0).TextMatrix(i, j) = BTable(i, j)
Next j
Next i
For i = 1 To Cengshu
For j = 1 To Kuashu + 1
Grid1(1).TextMatrix(i, j) = CTable(i, j)
Next j
Next i
For i = 1 To Cengshu
For j = 1 To Kuashu + 1
Grid1(2).TextMatrix(i, j) = CATable(i, j)
Next j
Next i
For i = 1 To Cengshu
For j = 1 To Kuashu
Grid1(3).TextMatrix(i, j) = BATable(i, j)
Next j
Next i
' Comd2(0).Enabled = False '通过按钮不可用,让用户知道已保存
End If
L:
End Sub
Private Sub Grid1_Click(Index As Integer)
Dim k As Integer
k = Index
Grid1(k).Text = Text1(k).Text
End Sub
Private Sub Grid1_RowColChange(Index As Integer)
Dim k As Integer
k = Index
If k = 2 Then Call 叠框(2)
If k = 3 Then Call 叠框(3)
End Sub
Private Sub SSTab1_Click(PreviousTab As Integer)
Dim k As Integer
k = SSTab1.Tab '通过SSTab的Tab属性来传递Grid1的Index变化
Grid1(k).Col = 1
Grid1(k).Row = 1
If k = 2 Then Call 叠框(2)
If k = 3 Then Call 叠框(3)
End Sub
Private Sub Text1_Change(Index As Integer)
Dim k As Integer
k = Index
Grid1(k).Text = Text1(k).Text
' Comd2(0).Enabled = True '当对表格中数据进行了修改时,提醒用户保存
End Sub
Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
If Index = 2 Then
Call TextKey(KeyCode, Grid1(2))
End If
If Index = 3 Then
Call TextKey(KeyCode, Grid1(3))
End If
End Sub
Sub 读入表格文件中数据(k As Integer)
Dim temp As String, Fn As String, kuashu1 As Integer, i As Integer, j As Integer
Select Case k
Case 0
Fn = Fname & "梁表"
kuashu1 = Kuashu
Case 1
Fn = Fname & "柱表"
kuashu1 = Kuashu + 1
Case 2
Fn = Fname & "附加"
kuashu1 = Kuashu + 1
Case 3
Fn = Fname & "砌体重量"
kuashu1 = Kuashu
End Select
Open Fn For Input As #4
For i = 1 To Cengshu
For j = 1 To kuashu1
Input #1, temp
Grid1(k).TextMatrix(i, j) = temp
temp = ""
Next j
Next i
Close #4
End Sub
Sub 从变量中获得数据()
Dim i As Integer, j As Integer
For i = 1 To Cengshu
For j = 1 To Kuashu
BTable(i, j) = Grid1(0).TextMatrix(i, j)
BATable(i, j) = Grid1(3).TextMatrix(i, j)
Next j
Next i
For i = 1 To Cengshu
For j = 1 To Kuashu + 1
CTable(i, j) = Grid1(1).TextMatrix(i, j)
CATable(i, j) = Grid1(2).TextMatrix(i, j)
Next j
Next i
Unload Form5
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -