vb编程规范(转)
vb吧
全部回复
仅看楼主
level 7
来源:http://post.baidu.com/f?ct=335675392&tn=baiduPostBrowser&sc=1597004859&z=173557308&pn=0&rn=50&lm=0&word=%CE%C4%BD%DD%B5%E7%C4%D4%D1%A7%D0%A3#
15970048591
. 开发人员操作规程 1.1 VB选项参数的定义: 选项能数的规范有两方面的意义:一方面是及时排除程序中存在的拼写错误、语法错误,及时保存程序的修改;另一方面是将所有开发人员的开发界面一致化,以避免开发人员在其它开发人员的电脑上工作时因选项不同而造成的差错。 1) 打开“工具”菜单,在第一页“编辑器”中选定所有选项,并在Tab宽度中输入4。代码缩进时,先选中要缩进的代码块,然后使用快捷键是Tab(右移)和Shift+Tab(左移);如果手工输入空格完成缩进,请以4个空格为单位。 2) 在第二页“编辑器格式”中,不要修改任何选项,一律使用VB默认值,否则可能在其他人操作时因界面不一致,而产生操作失误。 3) 在第三页“通用”中,清除“请求时编译”前的复选框(此时“后台编译”选项会变成灰色),以确保每次程序执行时都是全编译执行。 4) 第四页“可连接的”,可按自己习惯设定,建议清除所有复选框,这样会编辑代码时代码窗口可获得最大的显示空间。 5) 第五页“环境”中“启动程序时”中一定选择“提示保存改变”(第二项),这样每次程序被修改后再运行时,VB都会提示保存,避免对程序的修改因偶然因素而丢失。 6) 第六页“高级”中各选项由开发人员按自己习惯定义,但要注意当使用SDI方式进行开发时,每次在设计环境中用鼠标拖动窗体都会导致窗体的StartUpPosition变为0-手动,原来在屏幕上居中(StartUpPosition为2-屏幕中心)的窗体运行时可能会改变位置。 1.2 快捷键的使用 使用快捷键提高操作速度。 F1 帮助 F2 显示对象浏览器 F4 查看当前选中控件的属性窗体 F5 运行 F7 由窗体设计切换到对应的代码窗体 F8 单步执行 Shift+F2 查看当前光标所在的变量或函数、子过程的定义 Shift+F7 由代码窗体切换到对应的窗体设计界面 Shift+F8 逐过程单步执行 Ctrl+F5 全编译执行 Ctrl+F 在代码窗体进行查找 Ctrl+G 查看立即窗体 Ctrl+R 查看工程窗口   2. 设计模块和过程 2.1 建具有很强内聚力的模块 过程的重要性往往比模块的重要性更容易理解,过程是指执行一个统一函数的一段代码。模块常被错误的视为是一个仅仅用于存放过程的容器。有些开发人员甚至把这种思路作了进一步的发挥,将他们的所有过程放入单个模块之中。 之所以不能
正确的
认识模块的功能,原因之一是模块的实现实际上并不影响程序的执行。当一个工程被编译时,如果所有过程都放在单个模块中或者放在几十个模块中,这没有任何关系。虽然模块的数量对代码的执行并无太大的影响,但是当创建便于调试和维护的代码时,模块的数量有时会带来很大的影响。 模块应该用来将相关的过程组织在一起。 当模块包含一组紧密关联的过程时,该模块可以说具有强大的内聚力。当模块包含许多互不相关的过程时,该模块便具有较弱的内聚力。应该努力创建内聚力比较强的模块。 大多数工程都包含许多并不十分适合与其他过程组合在一起的过程。在这种情况下,可以为这些不合群的过程创建一个综合性收容模块。 创建模块时,应知道“模块化”这个术语的含义是什么。模块的基本目的是创建相当独立的程序单元。从根本上来讲,模块可以添加给另一个工程,并且可以通过直接调用它的公用过程来使用它。 2.2 创建松散连接和高度专用的过程 1. 使所有过程都执行专门的任务 每个过程都应执行一项特定的任务,它应出色的完成这项任务。应避免创建执行许多不同任务的过程。 创建专用过程有许多好处。首先调试将变得更加容易。 2. 尽量使过程成为自成一体的独立过程 当一个过程依赖于其他过程的调用时,称为与其他过程紧密连接的过程。紧密连接的过程会使调试和修改变得比较困难,因为它牵涉到更多的因素。松散连接的过程优于紧密连接的过程,但你不可能使每个过程都成为独立的过程。 
2007年03月05日 01点03分 1
level 7
4) 当参数只接受较小的一组值时,请使用枚举值。使用枚举值,可降低编码时出现数据输入错误的可能性。只要有可能,就可考虑使用枚举值。 3. 命名约定 所有变量的定义应该遵循匈牙利命名法,它使用3字符前缀来表示数据类型和控件类型,3个字符的前缀必须小写,前缀后面是由表意性强的一个单词或多个单词组成的名字,而且每个单词的首写字母大写,其它字母小写,这样保证了对变量名能够进行正确的断句。 这样,在一个变量名就可以反映出变量类型和变量所存储的值的意义两方面内容,这使得代码语句可读性强、更加容易理解。 3.1 变量类型前缀列表: 数据类型 前缀 示例 Boolean bln BlnLoggedIn Currency cur curSalary Control ctl ctlLastControl Double dbl dblMiles ErrObject err errLastError Single sng sngYears Handle hwnd hwndPicture Long lng lngOnHand Object obj objUserTable Integer int intAge String str strName User-defined type udt udtEmployee Variant (including Dates) vnt vntDateHired Array a astrEmployees 3.2 控件类型前缀列表: 控件 前缀 举例 Check chk chkPrint Combo cbo cboTitle Command cmd cmdCancel Data dat datBiblio Directory list box dir dirSource Drive list box drv drvTarget File list box fil filSource Frame fra fraLanguage Form frm frmMain Group push button gpb gpbChannel Horizontal scroll bar hsb hsbVolume Image img imgIcon Label lbl lblHelpMessage Line lin linVertical List box lst lstResultCodes MDI child form mdi mdiContact Menu mnu mnuFileOpen OLE container ole olePhoto Option button opt optSpanish Panel pnl pnlSettings Picture box pic PicDiskSpace Picture clip clp ClpToolbar Shape shp ShpCircle Text box txt TxtAddress Timer tmr TmrAlarm Vertical scroll bar vsb VsbRate 3.3 结构 当用户定义UDT(即用户自定义结构,Type结构)时,它应加上前缀“Type_”,以示与其它类型的区别。 3.4 其它 开发人员如果遇到上述表格中未列举的类型,请书面通知相关管理人员,由管理人员集中更新列表内容,不得擅自启用未经确定的新变量或控件前缀。 4. 使用常量和枚举值 4.1 使用常量 1) 常数很容易在数据输入时出错 常数存在的主要问题之一是你很容易在键入数字时出错,从而颠倒了数字的位置。例如,当你键入数字10876时,很容易的键入10867或18076。与处理变量和保留字的方法不同,vb的编译器并不在乎颠倒了位置和不正确的数字,有时简单的错误造成的问题不会立即表现出来,而当问题表现出来时,它们会以随机的计算错误的形式出现,这些错误很难准确定位。用常量来取代常数时,vb将在编译时检查常量的有效性。如果常量不存在,vb便将这一情况通知你,并拒绝进行编译,这可以消除错误键入的数字带来的问题,只要常量拥有正确的值,使用该常量的所有代码也有使用该正确值。 2) 常数很难不断更新 3) 常量使代码更容易阅读
2007年03月05日 01点03分 3
level 7
9. 控制代码流 9.1 控制代码流的目的: 1) 在规定的情况下使用正确的判断构造; 2) 降低代码的复杂性,使之更容易阅读和调试; 3) 最大限度的减少表达式计算中出错的机会。 9.2 编程原则: 1. 当根据一个条件是True还是False来做出判断时,使用If…Then…Else 即使只有一个语句被执行,也应考虑使用End If构造。当condition的计算结果是True时,如果只有一个语句被执行,该语句可以与If放在同一行上,并且End If可以省略。但若要使代码更便于阅读,请将该语句单独放在一行上,并以End If作为该构造的结束。 2. 对非布尔表达式与各种可能的值进行比较时,使用Select Case语句. Select Case可以用许多高档次的方式来使用,比如将多个结果值放在一个Case行上。 这些条件互相之间可能毫不相关。这与Select Case结构完全相反。在Select Case结构中,通过对一个(通常是非布尔)测试表达式与Case语句中的每个表达式进行比较,从而构成了各个条件。 1) 即使不需要,也应在每个Select Case构造中包含Case Else语句。如果始终都加上Case Else子句,代码将更夹苠楚明了,就不会迫使其他编程人员去猜测为什么要处理Case语句中的没有特殊理由的结果。 2) 所有Case语句都应使用便于理解的顺序。 不能出现条件范围大的Case子句出现在前面情况。 如:Select Case lngAge Case is <17 Case is <13 ... End Select 这样的结构导致第二个Case子句不能被执行,从而产生逻辑上的错误。 3) 不要编写决不会产生True结果的Case语句。 3. 对表达式进行格式化 对表达式进行正确的格式化可以减少代码出错的可能性,增加代码的可读性。 1) 要将布尔表达式与True或False相比较。 如: 错误:If rsEmployees.Eof = True then 正确:If rsEmployees.Eof then 布尔表达式与True或False相比较在Select Case 子句中更容易产生错误。 2) 建的布尔变量名应反映肯定的条件而不是否定的条件。使过程变得过分复杂的一个典型例子是创建一个反映否定条件的布尔变量名。根据这种变量进行判断,就会使代码变得更加复杂。代码就增加了出错的可能性。 3) 了清楚起见,用括号将表达式括起来。即使不要求,也要使用括号。不要书写复杂的依靠运算符优先级来执行的表达式,在必要的位置使用括号强调其运算优先级。 4) oTo标识全部使用大写字母。GoTo语句使得代码很难阅读。通过将GoTo标识全部使用大写字母,就可以减少查找过程的GoTo标识所需的工作量。 10. 创建对象和工程模板 如果要创建许多个项目,那么通过创建和使用对象和项目模板,就可以节省大量的开发时间,并增强应用程序的一致性。 10.1 使用对象模板 例如,假设创建了一个窗体对象,并希望在每次从Project菜单中选择Add Form(添加窗体)时使该窗体对象出现在Add Form对话框中,只需将窗体文件的拷贝放入Template文件夹的Forms子文件夹中。如果窗体拥有一个与其相关联的二进制文件(即.frx文件),该文件也必须放入Forms子文件夹中。若不希望对象出现在模板中,就从Template文件夹的相应子文件夹中删除或移走该对象的文件。 当模板对象被添加给一个项目时,便创建该对象的一个新实例,对该对象所作的修改并不传给模板本身。 10.2 设置模板文件夹 将项目中的所有对象模板放入这个自定义模板文件夹中,并让所有开发人员将新文件夹的路径输入他们的Template Directory文本框。 10.3 使用对象和项目模板的目的: 1) 代码的复用 2) 缩短新项目和现有项目的开发时间 10.4 编程原则: 1) 不要将对象模板中的特定应用程序的值或特定组件的值进行硬编码。 对象模板应该尽可能做到通用。 注意:在对象模板中用常量取代硬编码的“幻数”,这个问题很重要,这样开发人员就能更容易理解和替换各个值。 2) 不要将对象模板中的路径进行硬编码。不同的应用程序和不同的安装,其路径也不一样。就象不应该对任何对象中的路径进行硬编码一样,也不应该将对象模板中的路径进行硬编码。 3) 不要将对象模板中的应用程序进行硬编码。 4) 不要将对象模板中的版本号进行硬编码。 5) 展示模板对象的属性,以便接受来自主应用程序的数据。不要展示公用变量或使用全局变量,而应该使用Property 过程。如果使用Property过程,那么当值变更时,就能进行数据验证并执行代码。 10.5 在对象模板中提供内容广泛的注释。 将模板对象添加给项目时,不对它进行修改,这种情况是很少的。应该尽可能使开发人员将模板对象添加给项目时能够非常容易得了解必须在何处进行哪些修改,才能将对象与项目集成起来。要做到这一点的方法之一是使用统一的方法来加上注释,以便说明所做的必要修改,并将这个说明记录在程序模块的Declaration(说明)部分中。这样,开发人员就能非常容易的搜索注释,并进行必要的修改。
2007年03月05日 01点03分 7
level 7
呵呵,mugua,把你的附录贴出来,看看吧!嘻嘻!
2007年03月05日 01点03分 8
level 1
为了大家你够辛苦的
2007年03月05日 02点03分 9
level 1
QIANG
2007年03月05日 05点03分 10
level 7
陌生是最可靠的信任,我爱自己,所以要先喜欢你们! ——沐蓝苛
2007年03月05日 06点03分 11
level 0
编译的一个关于天然气加热的迭代方程,中间需要调用过程进行密度的计算。将计算实际气体的BWRS程序作为计算密度的子过程调用,程序运行总是显示编译错误,变量未定义。请各位大虾给予帮助。急!急!急!急!急!急!急!
程序如下:
Option Explicit
Option Base 1
Const R As Single = 8.3145 'R 为通用气体常数
Dim k(1 To 18, 1 To 18) As Single '二元交互系数
Dim A(11) As Single, B(11) As Single '通用常数
Dim Aoi(18) As Single, Boi(18) As Single, Coi(18) As Single, Doi(18) As Single, Eoi(18) As Single
Dim ai(18) As Single, bi(18) As Single, ci(18) As Single, di(18) As Single, af(18) As Single, gama(18) As Single
Dim A0 As Single, B0 As Single, C0 As Single, D0 As Single, E0 As Single
Dim aa As Single, bb As Single, cc As Single, dd As Single, a_af As Single, g_gama As Single
Dim X(18) As Single  ' 各组分的摩尔分数
Dim Tc(18)  As Single, Pc(18) As Single, rou_c(18) As Single, W(18) As Single '各组分的临界温度、临界压力、临界密度、偏心因子
Dim u(18) As Single 'u为各纯组分的分子量
Dim U_H As Single 'U_H为混合物的分子量
Dim z As Single 'z为压缩因子
Dim B_B(18)  As Single, C_C(18) As Single, D_D(18) As Single, E_E(18) As Single, F_F(18) As Single '求解定压比热、定容比热、节流效应系数、焓、熵的常数
Dim Cpi0(18) As Single, Cp0 As Single 'Cpi0为单一组分低压下的定压比热。 Cp0为混合物低压下的定压比热
Dim Cv0 As Single ' Cv0为混合物低压下的定容比热
Dim CV As Single, CP As Single '高压下的定容比热、定压比热
Private Sub Check2_Click()
If Check2.Value = 1 Then
   Combo1.Text = Text1.Text
   Combo2.Text = Text11.Text
   Text1.Enabled = True
   Text2.Enabled = True
   Text11.Enabled = True
   Text12.Enabled = True
   Text13.Enabled = True
Else
   Text1.Enabled = False
   Text2.Enabled = False
   Text11.Enabled = False
   Text12.Enabled = False
   Text13.Enabled = False

2009年09月03日 09点09分 12
level 0
End If
End Sub
Sub a1(row1, Tx)
Dim i As Integer, ii As Single, j As Integer 'j代表组分数
Dim Record(18) As Single 'Record是记录所选组分的序号
Dim kk(1 To 18, 1 To 18) As Single 'kk所选组分的二元交互系数
Dim rou1 As Single, rou2 As Single, rou3 As Single, Tx As Single, Px As Single, Ep As Single
Dim B_B1(18)  As Single, C_C1(18) As Single, D_D1(18) As Single, E_E1(18) As Single, F_F1(18) As Single '所选组分的定压比热、定容比热、节流效应系数、焓、熵的常数
Dim pian_p_t As Single, pian_p_rou As Single
Dim D_i As Single '焦耳—汤姆逊效应系数
Dim Mol_sum As Single '摩尔分数和
Dim fhz As Single
A0 = 0: B0 = 0: C0 = 0: D0 = 0: E0 = 0: aa = 0: bb = 0: cc = 0: dd = 0: g_gama = 0: a_af = 0: U_H = 0
Tx = Val(Combo2.Text): Px = Val(Combo1.Text) * 1000 '系统压力单位为kpa
If Check2.Value = 1 Then
  Tx = Val(Text11.Text)
  Px = Val(Text1.Text) * 1000
End If
Ep = 0.0001 '收敛指标
'读入基本参数
j = 0: Mol_sum = 0
For i = 0 To 17
  If Check1(i).Value = 1 Then
    j = j + 1
    Record(j) = i + 1
    X(j) = Val(Text3(i).Text) / 100
    Tc(j) = Val(Form2.Text1(i).Text)
    Pc(j) = Val(Form2.Text2(i).Text) '注意单位
    rou_c(j) = Val(Form2.Text3(i).Text)
    W(j) = Val(Form2.Text4(i).Text)
    u(j) = Val(Form2.Text5(i).Text)
    Mol_sum = Mol_sum + X(j)
  End If
Next
'纯组分i的各参数
For i = 1 To j
  Boi(i) = (A(1) + B(1) * W(i)) / rou_c(i)
  Aoi(i) = (A(2) + B(2) * W(i)) * R * Tc(i) / rou_c(i)
  Coi(i) = (A(3) + B(3) * W(i)) * R * Tc(i) ^ 3 / rou_c(i)
  gama(i) = (A(4) + B(4) * W(i)) / rou_c(i) ^ 2

2009年09月03日 09点09分 13
level 0
  bi(i) = (A(5) + B(5) * W(i)) / rou_c(i) ^ 2
  ai(i) = (A(6) + B(6) * W(i)) * R * Tc(i) / rou_c(i) ^ 2
  af(i) = (A(7) + B(7) * W(i)) / (rou_c(i)) ^ 3
  ci(i) = (A(8) + B(8) * W(i)) * R * Tc(i) ^ 3 / rou_c(i) ^ 2
  Doi(i) = (A(9) + B(9) * W(i)) * R * Tc(i) ^ 4 / rou_c(i)
  di(i) = (A(10) + B(10) * W(i)) * R * Tc(i) ^ 2 / rou_c(i) ^ 2
  Eoi(i) = (A(11) + B(11) * W(i) * Exp(-3.8 * W(i))) * R * Tc(i) ^ 5 / rou_c(i)
  U_H = U_H + u(i) * X(i)
Next
    
'把选中的组分的所需的系数赋给新的数组
For i = 1 To j
  B_B1(i) = B_B(Record(i))
  C_C1(i) = C_C(Record(i))
  D_D1(i) = D_D(Record(i))
  E_E1(i) = E_E(Record(i))
  F_F1(i) = F_F(Record(i))
  For ii = 1 To j
    kk(i, ii) = k(Record(i), Record(ii))
  Next
Next
'按混合规则计算11个参数
Cp0 = 0: Cv0 = 0
For i = 1 To j
  Cpi0(i) = B_B1(i) + 2 * C_C1(i) * Tx + 3 * D_D1(i) * Tx ^ 2 + 4 * E_E1(i) * Tx ^ 3 + 5 * F_F1(i) * Tx ^ 4
  Cp0 = Cp0 + Cpi0(i) * X(i) 'Cp0、Cpi0(单位为kJ/(kg.k)
  
  B0 = B0 + X(i) * Boi(i)
  aa = aa + X(i) * ai(i) ^ (1 / 3)
  bb = bb + X(i) * bi(i) ^ (1 / 3)
  cc = cc + X(i) * ci(i) ^ (1 / 3)
  dd = dd + X(i) * di(i) ^ (1 / 3)
  g_gama = g_gama + X(i) * gama(i) ^ (1 / 2)
  a_af = a_af + X(i) * af(i) ^ (1 / 3)
  For ii = 1 To j
    A0 = A0 + X(i) * X(ii) * Sqr(Aoi(i)) * Sqr(Aoi(ii)) * (1 - kk(i, ii))
    C0 = C0 + X(i) * X(ii) * Sqr(Coi(i)) * Sqr(Coi(ii)) * (1 - kk(i, ii)) ^ 3

2009年09月03日 09点09分 14
level 0
    D0 = D0 + X(i) * X(ii) * Sqr(Doi(i)) * Sqr(Doi(ii)) * (1 - kk(i, ii)) ^ 4
    E0 = E0 + X(i) * X(ii) * Sqr(Eoi(i)) * Sqr(Eoi(ii)) * (1 - kk(i, ii)) ^ 5
  Next
Next
aa = aa ^ 3: bb = bb ^ 3: cc = cc ^ 3: dd = dd ^ 3: a_af = a_af ^ 3: g_gama = g_gama ^ 2
'用正割法求解密度
 rou1 = 0: rou2 = Px / (R * Tx)
 Do
   rou3 = (rou1 * F_rou(rou2, Tx, Px) - rou2 * F_rou(rou1, Tx, Px)) / (F_rou(rou2, Tx, Px) - F_rou(rou1, Tx, Px))
   rou1 = rou2: rou2 = rou3
 Loop Until Abs(rou2 - rou1) <= Ep
Cp0 = Cp0 * U_H '把Cp0单位为kJ/(kmol.k)
Cv0 = Cp0 - R '在低压时,将混合气体看作理想气体处理
CV = Cv0 + (6 * C0 / Tx ^ 3 - 12 * D0 / Tx ^ 4 + 20 * E0 / Tx ^ 5) * rou3 + dd * rou3 ^ 2 / Tx ^ 2 - 0.4 * a_af * dd * rou3 ^ 5 / Tx ^ 2 + 3 * cc / (g_gama * Tx ^ 3) * ((g_gama * rou3 ^ 2 + 2) * Exp(-g_gama * rou3 ^ 2) - 2)
pian_p_t = rou3 * R + (B0 * R + 2 * C0 / Tx ^ 3 - 3 * D0 / Tx ^ 4 + 4 * E0 / Tx ^ 5) * rou3 ^ 2 + (bb * R + dd / Tx ^ 2) * rou3 ^ 3 - a_af * dd * rou3 ^ 6 / Tx ^ 2 - 2 * cc * rou3 ^ 3 / Tx ^ 3 * (1 + g_gama * rou3 ^ 2) * Exp(-g_gama * rou3 ^ 2)
pian_p_rou = R * Tx + 2 * (B0 * R * Tx - A0 - C0 / Tx ^ 2 + D0 / Tx ^ 3 - E0 / Tx ^ 4) * rou3 + 3 * (bb * R * Tx - aa - dd / Tx) * rou3 ^ 2 + 6 * a_af * (aa + dd / Tx) * rou3 ^ 5 + 3 * cc * rou3 ^ 2 / Tx ^ 2 * (1 + g_gama * rou3 ^ 2 - 2 / 3 * g_gama ^ 2 * rou3 ^ 4) * Exp(-g_gama * rou3 ^ 2)

2009年09月03日 09点09分 15
level 0
        qiu = 16300
        End If
        
        If 14400 < tim <= 18000 Then
        Q = 13800
        qiu = 16300
        End If
        
        If 18000 < tim <= 21600 Then
        Q = 13800
        qiu = 16300
        End If
        
        If 21600 < tim <= 25200 Then
        Q = 13800
        qiu = 16300
        End If
        
        If 25200 < tim <= 28800 Then
        Q = 13800
        qiu = 16300
        End If
        
        For e = 2 To m
            tw1xin = tw1 + (Q - mdian * CP * s) * dt / cw1 / mw1
            t1t1(e) = 4 * k1 * (tw1 - t1(i)) * dt / row / d / CP - 4 * mdian * (t1(i) - t1(i - 1)) * dt / dx / row / pi / d / d + t1(i)
            Call a1(row, t1t1(e))
        Next e
         
        
        ' Text5.Text = Text5.Text + Str(t1t1(22))
         'Text5.Text = Text5.Text + Str(tim)
        ' Print t1t1(22)
         s = t1t1(m)

2009年09月03日 09点09分 18
level 0
        Next f
        End If
         
         If tim = 10800 Then
         Text14.Text = Text14.Text + Str(tw1xin)
        Text16.Text = Text16.Text + Str(tw2xin)
         For e = 1 To m
            Text15.Text = Text15.Text + Str(t1(e))
        Next e
         For f = m + 1 To n
            Text17.Text = Text17.Text + Str(t(f))
        Next f
        End If
        
        If tim = 14400 Then
          Text14.Text = Text14.Text + Str(tw1xin)
        Text16.Text = Text16.Text + Str(tw2xin)
         For e = 1 To m
            Text15.Text = Text15.Text + Str(t1(e))
        Next e
         For f = m + 1 To n
            Text17.Text = Text17.Text + Str(t(f))
        Next f
        End If
        
        If tim = 18000 Then
         Text14.Text = Text14.Text + Str(tw1xin)
        Text16.Text = Text16.Text + Str(tw2xin)
         For e = 1 To m
            Text15.Text = Text15.Text + Str(t1(e))
        Next e
         For f = m + 1 To n
            Text17.Text = Text17.Text + Str(t(f))

2009年09月03日 09点09分 21
level 0
        Next f
        End If
        
        Next tim
End Sub
Private Sub Command2_Click()
Form2.Show
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Form_Load()
Dim i As Integer, j As Integer
'给二元交互系数赋值
k(1, 1) = 0#: k(1, 2) = 0.01:  k(1, 3) = 0.01: k(1, 4) = 0.021: k(1, 5) = 0.023: k(1, 6) = 0.0275: k(1, 7) = 0.031: k(1, 8) = 0.036: k(1, 9) = 0.041: k(1, 10) = 0.05: k(1, 11) = 0.06: k(1, 12) = 0.07: k(1, 13) = 0.081: k(1, 14) = 0.092: k(1, 15) = 0.101: k(1, 16) = 0.025: k(1, 17) = 0.05: k(1, 18) = 0.05
k(2, 2) = 0#: k(2, 3) = 0#:    k(2, 4) = 0.003: k(2, 5) = 0.0031: k(2, 6) = 0.004: k(2, 7) = 0.0045: k(2, 8) = 0.005: k(2, 9) = 0.006: k(2, 10) = 0.007: k(2, 11) = 0.0085: k(2, 12) = 0.01: k(2, 13) = 0.012: k(2, 14) = 0.013: k(2, 15) = 0.015: k(2, 16) = 0.07: k(2, 17) = 0.048: k(2, 18) = 0.045
k(3, 3) = 0#: k(3, 4) = 0.003: k(3, 5) = 0.0031: k(3, 6) = 0.004: k(3, 7) = 0.0045: k(3, 8) = 0.005: k(3, 9) = 0.006: k(3, 10) = 0.007: k(3, 11) = 0.0085: k(3, 12) = 0.01: k(3, 13) = 0.012: k(3, 14) = 0.013: k(3, 15) = 0.015: k(3, 16) = 0.07: k(3, 17) = 0.048: k(3, 18) = 0.045
k(4, 4) = 0
#: k(4, 5) = 0#
:    k(4, 6) = 0.003: k(4, 7) = 0.0035: k(4, 8) = 0.004: k(4, 9) = 0.0045: k(4, 10) = 0.005: k(4, 11) = 0.0065: k(4, 12) = 0.008: k(4, 13) = 0.01: k(4, 14) = 0.011: k(4, 15) = 0.013: k(4, 16) = 0.1: k(4, 17) = 0.045: k(4, 18) = 0.04
k(5, 5) = 0#: k(5, 6) = 0.003: k(5, 7) = 0.0035: k(5, 8) = 0.004: k(5, 9) = 0.0045: k(5, 10) = 0.005: k(5, 11) = 0.0065: k(5, 12) = 0.008: k(5, 13) = 0.01: k(5, 14) = 0.011: k(5, 15) = 0.013: k(5, 16) = 0.1: k(5, 17) = 0.045: k(5, 18) = 0.04

2009年09月03日 09点09分 23
level 0
k(6, 6) = 0
#: k(6, 7) = 0#
:    k(6, 8) = 0.008: k(6, 9) = 0.001: k(6, 10) = 0.0015: k(6, 11) = 0.0018: k(6, 12) = 0.02: k(6, 13) = 0.0025: k(6, 14) = 0.003: k(6, 15) = 0.003: k(6, 16) = 0.11: k(6, 17) = 0.05: k(6, 18) = 0.036
k(7, 7) = 0#: k(7, 8) = 0.008: k(7, 9) = 0.001: k(7, 10) = 0.0015: k(7, 11) = 0.0018: k(7, 12) = 0.002: k(7, 13) = 0.0025: k(7, 14) = 0.003: k(7, 15) = 0.003: k(7, 16) = 0.12: k(7, 17) = 0.05: k(7, 18) = 0.034
k(8, 8) = 0#: k(8, 9) = 0
#: k(8, 10) = 0#
: k(8, 11) = 0
#: k(8, 12) = 0#
: k(8, 13) = 0
#: k(8, 14) = 0#
: k(8, 15) = 0#: k(8, 16) = 0.134: k(8, 17) = 0.05: k(8, 18) = 0.028
k(9, 9) = 0#: k(9, 10) = 0
#: k(9, 11) = 0#
: k(9, 12) = 0
#: k(9, 13) = 0#
: k(9, 14) = 0
#: k(9, 15) = 0#
: k(9, 16) = 0.148: k(9, 17) = 0.05: k(9, 18) = 0.02
k(10, 10) = 0
#: k(10, 11) = 0#
: k(10, 12) = 0
#: k(10, 13) = 0#
: k(10, 14) = 0
#: k(10, 15) = 0#
: k(10, 16) = 0.172: k(10, 17) = 0.05: k(10, 18) = 0#
k(11, 11) = 0#: k(11, 12) = 0#: k(11, 13) = 0#: k(11, 14) = 0#: k(11, 15) = 0#: k(11, 16) = 0.2: k(11, 17) = 0.05: k(11, 18) = 0#
k(12, 12) = 0#: k(12, 13) = 0#: k(12, 14) = 0#: k(12, 15) = 0#: k(12, 16) = 0.228: k(12, 17) = 0.05: k(12, 18) = 0#
k(13, 13) = 0#: k(13, 14) = 0#: k(13, 15) = 0#: k(13, 16) = 0.264: k(13, 17) = 0.05: k(13, 18) = 0#
k(14, 14) = 0#: k(14, 15) = 0#: k(14, 16) = 0.294: k(14, 17) = 0.05: k(14, 18) = 0#
k(15, 15) = 0#: k(15, 16) = 0.322: k(15, 17) = 0.05: k(15, 18) = 0#

2009年09月03日 09点09分 24
level 0
k(16, 16) = 0
#: k(16, 17) = 0#
: k(16, 18) = 0#
k(17, 17) = 0#: k(17, 18) = 0.035
k(18, 18) = 0#
For i = 1 To 18
  For j = 1 To i
   k(i, j) = k(j, i)
  Next
Next
'给通用常数赋值
A(1) = 0.44369: A(2) = 1.28438: A(3) = 0.356306: A(4) = 0.544979: A(5) = 0.528629: A(6) = 0.484011: A(7) = 0.0705233: A(8) = 0.504087: A(9) = 0.0307452: A(10) = 0.0732828: A(11) = 0.00645
B(1) = 0.115449: B(2) = -0.920731: B(3) = 1.70871: B(4) = -0.270896: B(5) = 0.349621: B(6) = 0.75413: B(7) = -0.044448: B(8) = 1.32245: B(9) = 0.179433: B(10) = 0.463492: B(11) = -0.022143
'给求解定压比热、定容比热、节流效应系数、焓、熵的常数赋值
B_B(1) = 2.39359: B_B(2) = 0: B_B(3) = 1.10899: B_B(4) = 0: B_B(5) = 0.72265: B_B(6) = 0.19545: B_B(7) = 0.4127: B_B(8) = -0.1319: B_B(9) = -0.0117: B_B(10) = 0.95923: B_B(11) = 0.7545: B_B(12) = 0.72467: B_B(13) = 0.7078: B_B(14) = 0.85137: B_B(15) = 0: B_B(16) = 0: B_B(17) = 0: B_B(18) = 0
C_C(1) = -22.18007: C_C(2) = 0: C_C(3) = -1.88512: C_C(4) = 0: C_C(5) = 7.08716: C_C(6) = 25.23143: C_C(7) = 20.28601: C_C(8) = 35.41155: C_C(9) = 33.16498: C_C(10) = -6.14724: C_C(11) = 2.61728: C_C(12) = 3.67845: C_C(13) = 4.38048: C_C(14) = -2.63041: C_C(15) = 0: C_C(16) = 0: C_C(17) = 0: C_C(18) = 0
D_D(1) = 57.4022: D_D(2) = 0: D_D(3) = 39.6558: D_D(4) = 0: D_D(5) = 29.23895: D_D(6) = 1.95651: D_D(7) = 7.02953: D_D(8) = -13.33225: D_D(9) = -11.7051: D_D(10) = 61.42103: D_D(11) = 43.66359: D_D(12) = 41.42833: D_D(13) = 39.69342: D_D(14) = 55.21815: D_D(15) = 0: D_D(16) = 0: D_D(17) = 0: D_D(18) = 0
E_E(1) = -372.7905: E_E(2) = 0: E_E(3) = -314.0209: E_E(4) = 0: E_E(5) = -261.5071: E_E(6) = -77.26149: E_E(7) = -102.5871: E_E(8) = 25.14633: E_E(9) = 19.96476: E_E(10) = -616.0952: E_E(11) = -448.4511: E_E(12) = -424.0198: E_E(13) = -404.3158: E_E(14) = -563.1732: E_E(15) = 0: E_E(16) = 0: E_E(17) = 0: E_E(18) = 0
F_F(1) = 85.49685: F_F(2) = 0: F_F(3) = 80.08189: F_F(4) = 0: F_F(5) = 70.00548: F_F(6) = 23.86087: F_F(7) = 28.83394: F_F(8) = -1.29589: F_F(9) = -0.86652: F_F(10) = 208.6819: F_F(11) = 148.421: F_F(12) = 137.3406: F_F(13) = 128.7595: F_F(14) = 188.8545: F_F(15) = 0: F_F(16) = 0: F_F(17) = 0: F_F(18) = 0
For i = 1 To 18
  C_C(i) = C_C(i) * 10 ^ (-4)
  D_D(i) = D_D(i) * 10 ^ (-7)
  E_E(i) = E_E(i) * 10 ^ (-11)
  F_F(i) = F_F(i) * 10 ^ (-14)
Next
Text1.Enabled = False: Text2.Enabled = False: Text11.Enabled = False: Text12.Enabled = False: Text13.Enabled = False
End Sub
Private Sub Text1_Change()
Combo1.Text = Text1.Text
End Sub
Private Sub Text11_Change()
Combo2.Text = Text11.Text
End Sub
2009年09月03日 09点09分 25
level 1
楼主辛苦了
2011年08月05日 07点08分 26
1