Foxtable(狐表)用户栏目专家坐堂 → [求助]锻件毛坯重量计算方法的软件


  共有19460人关注过本帖树形打印复制链接

主题:[求助]锻件毛坯重量计算方法的软件

帅哥哟,离线,有人找我吗?
pyh6918
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1135 积分:11099 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/5/26 18:49:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:锻件毛坯重量计算.table


回复此贴用了半个小时,网速不给力呀!!!


 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1135 积分:11099 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/5/26 19:17:00 [显示全部帖子]

挂个代理,速度还行了

 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1135 积分:11099 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/5/27 13:42:00 [显示全部帖子]

我把圆饼形和矩形的窗口名给弄反了,你自己调过来吧,依照我做好的窗口做另一个。

 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1135 积分:11099 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/6/2 18:20:00 [显示全部帖子]

     才有时间,我给你写一下。我可费了不少时间啊,你一定要仔细看,那段不懂提出来,大家都会帮你的。

一、设计思路:

    1、这是一个简单的计算,通过不同的锻件形状,给出不同的参数,计算出锻件毛坯重量。计划建立一个表,加入全部参数字段。再做一个窗口,窗口中加入所需字段,做一个计算按钮,在按钮中加入计算代码计算出毛坯重量。

    2、由于锻件形状有多个,且每个形状的锻件参数都不同。计划每个形状的锻件做一个窗口。

    3、做一个前导窗口,通过这个窗口中输入的锻件形状来打开对应的锻件计算窗口。

二、动手了:

    1、重命名"A”计算表,加入列名称,选择类型。 

 

锻件形状() ----> 字符型(16)

锻件材质() ----> 字符型(16)

长度() ----> 双精度小数

宽度() ----> 双精度小数

高度() ----> 双精度小数

系数() ----> 双精度小数

烧损重量() ----> 双精度小数

毛坯重量() ----> 双精度小数  

以上字段只对矩形需求所设计,其他形状的锻件可按需求添加。

    2、由于不同的锻件形状和材质都有一个固定的数值参加计算,我称它为“系数”。其实我不懂这个数到底是个什么东西。因此增加一个“系数”表,在“计算表”中录入[锻件形状][锻件材质]后将系数值自动取到“计算表”中的[系数]列。

锻件形状() ----> 字符型(16)

锻件材质() ----> 字符型(16)

系数() ----> 双精度小数


 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1135 积分:11099 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/6/2 18:21:00 [显示全部帖子]

 

3、设计前导窗口“选择锻件形状”。在窗口中加入两个组合框控件,分别绑定到[锻件形状][锻件材质]

1)在窗口的AfterLoad事件中加入代码:

Dim xz As WinForm.ComboBox = e.Form.Controls("ComboBox1")

xz.ComboList=DataTables("系数").GetComboListString("锻件形状")

目的是[锻件形状]列的内容通过“系数”表中录入的[锻件形状]列生成列表来进行选择。

2)在绑定[锻件材质]的控件ComBobox2Enter事件中加入代码:

Dim xz As WinForm.ComboBox = e.Form.Controls("ComboBox1")

Dim cz As WinForm.ComboBox = e.Form.Controls("ComboBox2")

cz.ComboList=DataTables("系数").GetComboListString("锻件材质","[锻件形状]='" & xz.Value & "'")

目的是按着[锻件形状]列录入的内容生成[锻件材质]列表,如果[锻件材质]只有碳钢、低合金钢不锈钢这几种是没必须这么做的,在ComBobox2控件的列属性-自定义项目中设置就可以了。只所以在Enter事件中加入代码是为了以后增加其他材质时不用在修改列表项目。

3)在表的DataColChanged事件中加入代码:

If e.DataCol.Name = "锻件形状" Or e.DataCol.Name ="锻件材质" Then

    If e.NewValue Is Nothing Then

        e.DataRow("系数") = Nothing

    Else

        Dim dr As DataRow = DataTables("系数").Find("[锻件形状] = '" & e.DataRow("锻件形状") & "' and [锻件材质]='" & e.DataRow("锻件材质") & "'")

        If dr IsNot Nothing Then

            e.DataRow("系数") = dr("系数")

        End If

    End If

End If

目的是自动录入[系数]列的值。


 回到顶部
帅哥哟,离线,有人找我吗?
pyh6918
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1135 积分:11099 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2012/6/2 18:22:00 [显示全部帖子]

 

4)窗口中加入一个按钮控件,名称为“下一步”,Click事件代码为:

Dim h As Row = Tables("计算表").Current

If h.IsNull("锻件形状") Or h.IsNull("锻件材质") Then

    MessageBox.Show("请输入完整内容!","提示")

    Return

End If

Forms(h("锻件形状")).Open()

解释一下:[锻件形状]列和[锻件材质]列的内容不能为空。关键是这句:

Forms(h("锻件形状")).Open()

这句的意思是按着[锻件形状]列中的内容,打开对应的窗口。如果[锻件形状]列选择的是“矩形”,那么就需要有一个名称为“矩形”的窗口。

4、设计“矩形”窗口。

增加一个窗口,重命名为“矩形”,开始设计:

1)在窗口中增加所需控件:

锻件形状、锻件材质、系数 这三个设为只读,不能在此窗口更改;

长度、 宽度 、高度 、烧损重量 这四项内容需要手工录入;

毛坯重量 通过计算得出。  

2)增加一个计算按钮,其代码为:

Dim h As Row=Tables("计算表").Current

If h.IsNull("长度") Or h.IsNull("宽度") Or h.IsNull("高度") Or h.IsNull("烧损重量") Then

    MessageBox.Show("条件不足!","提示")

    Return

End If

h("毛坯重量")=Math.Floor((h("系数")*h("长度")*h("宽度")*h("高度")+h("烧损重量"))*100+0.5)/100

代码的意思是需要手工录入的这四项内容不能有空值,因为这些参数都是计算[毛坯重量]的必要条件,[毛坯重量]的结果是按照你给出的公式计算后四舍五入的数据。

-----这样你在“选择锻件”窗口录入[锻件形状]为“矩形”时,在点击下一步时,将打开“矩形”窗口。

-----如果你在“选择锻件”窗口录入[锻件形状]为“圆饼形”时,在点击下一步时,将打开“圆饼形”窗口。

5、设计“圆饼形”窗口。

1)通过查看“计算表”表结构,增加“圆饼形”所需的参数字段。

2)增加一个窗口,重命名为“圆饼形”。

3)在窗口中增加所需控件。

4)写计算按钮代码。

6、设计其他锻件形状窗口。


 回到顶部