⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 原始数据输入输出.bas

📁 钢筋混凝土框架结构设计计算源程序
💻 BAS
字号:
Attribute VB_Name = "Module1"
Option Explicit
Public 基本设计资料(1 To 16) As String
Public 存盘标记  As Boolean
Public BTable(1 To 36, 1 To 36) As String   '梁截面数据表 Beam Table
Public CTable(1 To 36, 1 To 36) As String   '柱截面数据表 Cloumn Table
Public CATable(1 To 36, 1 To 36) As String  '柱附加荷载数据表
Public BATable(1 To 36, 1 To 36) As String  '梁上砌体重量
Public Kua As String                        '跨串
Public Ceng As String                       '层串
Public NGN(0 To 1000, 1 To 2) As Integer     'NGN(单元号, 1 为原点 2为终点)
'NGN存储了每一个单元的起点结点编号和终点结点编号
Public Fname As String                      '存储文件名
Public 图 As String                         '图
Public 当前荷载 As String                   '当前荷载
Public Cengshu As Integer                   '总层数
Public Kuashu As Integer                    '总跨数
Public Cengtot As Single                    '总层高
Public Kuatot As Single                     '总跨长
Public EAI(0 To 500, 1 To 3) As Single      'EAI(单元号, 1 为E 2为A 3为I)
'Public Feq(1 To 10) As Single              '各层地震力 Frame earthquake
Public Nres As Single
Public Lx(0 To 36) As Single, Ly(0 To 36) As Single
Public EIL(1000) As Single
Public 柱总数 As Integer
Public grade(1 To 4) As String
Public Selectedoption As Integer
Public Selectedoption1 As Integer
Public Ncell As Single                   '单元总数
Public Nodg As Single                   '结点总数
Public XY(1 To 1000, 1 To 2) As Single   '结点坐标,XY(结点号, 1 为X方向坐标 2为Y方向坐标)
Public XYM(1 To 1000, 1 To 3) As Variant   '结点荷载,XYM(结点号, 1 为X方向受力 2为Y方向受力 3为受弯矩)
Public BH(1 To 1000, 1 To 2) As Single    '单元信息, BH(单元号, 1 为单元截面宽 2 为单元截面高 )
Public 混凝土标号(1000) As String
Public 柱有效长度(500) As Single
Public As_M As Single, As_N As Single
Public 柱λ(500) As Single
Public MN(1000, 2) As Single
Public 击中构件号 As Integer
Type 单元荷载                           '单元荷载
    Pq As String * 1                    '荷载类型 P-集中力  q-均布力 T-梯形荷载
    s As Single                         '荷载大小
    Po As Single                        '荷载位置
End Type
Public Ld(1000) As 单元荷载
Public 屋面梁附加重量 As String, 楼面梁附加重量 As String, 屋面板附加重量 As String
Public 楼面板附加重量 As String, 屋面均布活荷载 As String, 楼面均布活荷载 As String
Public 钢筋混凝土楼板厚度 As String, 框架总榀数 As String, 相邻框架间距 As String
Public 基本风压 As String, 室外地坪距基础顶面 As String, 建筑场地类别 As String
Public 抗震设防烈度 As String, 地震类型 As String, 设计地震分组 As String
Public 女儿墙墙高 As String
Public fname1 As String, caption1 As String
Sub 变量清零()
    Dim i As Integer, j As Integer
    Erase 基本设计资料(), BTable(), CTable(), CATable(), BATable(), Lx(), Ly(), XY(), Ld()
    Erase XYM(), BH(), 混凝土标号(), 柱有效长度(), 柱λ(), MN()
    Ncell = 0: Nodg = 0: As_M = 0: As_N = 0
'    固端力.N1 = 0: 固端力.Q1 = 0: 固端力.M1 = 0: 固端力.M2 = 0: 固端力.N2 = 0: 固端力.Q2 = 0
'    For i = 1 To 1000
'        杆端力(i).M1 = 0: 杆端力(i).M2 = 0: 杆端力(i).N1 = 0: 杆端力(i).N2 = 0: 杆端力(i).Q1 = 0: 杆端力(i).Q2 = 0
'    Next i
    Xmax = 0: Ymax = 0: Lmax = 0: h1 = 0: h2 = 0
    是否加3列 = 0: 抗震等级 = "": ρmax = 0: 是否排序过 = 0: Nequ = 0
    Erase 配筋组合(), 钢筋面积(), 主筋面积(), 柱端ρ(), Neq(), D(), A(), 杆端力()
    柱总数 = 0
    Erase grade()
    For i = 1 To 16
        基本设计资料(i) = ""
    Next i
    For i = 1 To 20
        For j = 1 To 20
            BTable(i, j) = ""
            CTable(i, j) = ""
            CATable(i, j) = ""
        Next j
    Next i
    Cengtot = 0
    Kuatot = 0
    Kuashu = 0
    Cengshu = 0
    Kua = ""
    Ceng = ""
End Sub
Sub 清空()
    Dim i
    For i = 0 To 11
        kuangjia2.Text1(i).Text = "" '清空文本
        kuangjia2.Text1(i).Alignment = vbCenter '文本居中
    Next i
   '清空表格
    For i = 0 To 3
       Form5.Grid1(i).Clear
    Next i
    Call 变量清零
End Sub
Sub 读取原始数据及设计资料(Filename As String)
    Dim i As Integer, j As Integer
    On Error GoTo L
    '启动错误处理程序,且从必要的 line 参数中指定的 line 开始。line 参数可以是任何行标签或行号。如果发生一个运行时错误,则控件会跳到 line,激活错误处理程序。指定的 line 必须在一个过程中,这个过程与 On Error 语句相同; 否则会发生编译时间错误。
    Open Fname & "图形输入选项" For Input As #2
        Input #2, Wanggelx, Wanggezhj, Gridx, Gridy, Gridxxxx, Gridyyyy, Gridture, Foptions, Bcolor
    Close #2
    Open Filename For Input As #2
    Input #2, Kuashu, Cengshu, Kua, Ceng
    For i = 1 To 16
        Input #2, 基本设计资料(i)
    Next i
    Close #2
    Open Fname & "梁表" For Input As #2
    For i = 1 To Cengshu
        For j = 1 To Kuashu
            Input #2, BTable(i, j)
        Next j
    Next i
    Close #2
    Open Fname & "柱表" For Input As #2
    For i = 1 To Cengshu
        For j = 1 To Kuashu + 1
            Input #2, CTable(i, j)
        Next j
    Next i
    Close #2
    Open Fname & "附加" For Input As #2
    For i = 1 To Cengshu
        For j = 1 To Kuashu + 1
            Input #2, CATable(i, j)
        Next j
    Next i
    Close #2
    Open Fname & "砌体重量" For Input As #2
    For i = 1 To Cengshu
        For j = 1 To Kuashu
            Input #2, BATable(i, j)
        Next j
    Next i
    Close #2
    Call EAI的自动生成
L:
End Sub
Sub 设计资料输出至文件(Filename As String)
    Dim i As Integer, j As Integer
    Open Filename For Output As #1
        Write #1, Kuashu, Cengshu, Kua, Ceng
        For i = 1 To 16
            Write #1, 基本设计资料(i)
        Next i
    Close #1
End Sub
Sub 保存原始数据()
    Dim i, j
    Call 设计资料输出至文件(Fname & "工程")
    Open Fname & "图形输入选项" For Output As #1
        Write #1, Wanggelx, Wanggezhj, Gridx, Gridy, Gridxxxx, Gridyyyy, Gridture, Foptions, Bcolor
    Close #1
    Open Fname & "梁表" For Output As #1
    For i = 1 To Cengshu
        For j = 1 To Kuashu
            Write #1, BTable(i, j)
        Next j
    Next i
    Close #1
    Open Fname & "柱表" For Output As #1
    For i = 1 To Cengshu
        For j = 1 To Kuashu + 1
            Write #1, CTable(i, j)
        Next j
    Next i
    Close #1
    Open Fname & "附加" For Output As #1
    For i = 1 To Cengshu
        For j = 1 To Kuashu + 1
            Write #1, CATable(i, j)
        Next j
    Next i
    Close #1
    Open Fname & "梁表" For Output As #1
    For i = 1 To Cengshu
        For j = 1 To Kuashu
            Write #1, BTable(i, j)
        Next j
    Next i
    Close #1
    Open Fname & "砌体重量" For Output As #1
    For i = 1 To Cengshu
        For j = 1 To Kuashu
            Write #1, BATable(i, j)
        Next j
    Next i
    Close #1
End Sub
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -