vb6.0 窗帘价格计算程序

前端之家收集整理的这篇文章主要介绍了vb6.0 窗帘价格计算程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

〇、下载地址

工程文件下载地址:http://pan.baidu.com/s/1eQowEyQ

一、程序需求

1)一个窗帘由布和纱组成。给出一种窗帘花式,所用布的种类(单价)和纱的种类(单价)可以唯一确定。

2)根据加工方式的不同收取加工费,布和纱可能采用不同的方式加工,但使用同一种加工方式时,加工任何材质的布料、纱料的单位长度加工费都是一定的。

3)布料和纱料的加工方式可能不同。

4)窗帘可以选择多个,程序统计最终的总价格,然后给出计算的详细步骤与说明

5)总结后的计算公式如下:

布总价=(单位布料价格+单位布料加工费)*布料购买单位数

纱总价=(单位纱料价格+单位纱料加工费)*纱布料购买单位数

窗帘价格=布总价+纱总价

总价格=购买窗帘价格的总和

二、程序界面

1)总操作界面

总操作界面是进入程序后的第一个界面,可以对选取的窗帘进行增加删除和计算总价的操作

单击按钮“添加一条新数据”,可以进入新增窗帘界面

单击按钮“计算总价格”,可以进入输出展示板界面

2)新增窗帘界面

指定窗帘类型、布料加工方式、纱料加工方式、布料购买长度、纱料购买长度,可以新增一个窗帘的数据

3)输出展示板界面

输出展示板,可以将程序生成的窗帘总价格计算信息整理后输出

三、总操作界面(frmMain.frm)的控件及源码

控件信息(采集自用Notepad++打开的frmMain.frm文件

  1. VERSION 5.00
  2. Begin VB.Form frmMain
  3. BackColor = &H00E0E0E0&
  4. BorderStyle = 1 'Fixed Single
  5. Caption = "窗帘价格计算程序"
  6. ClientHeight = 7245
  7. ClientLeft = 45
  8. ClientTop = 390
  9. ClientWidth = 8205
  10. LinkTopic = "Form1"
  11. MaxButton = 0 'False
  12. MinButton = 0 'False
  13. ScaleHeight = 7245
  14. ScaleWidth = 8205
  15. StartUpPosition = 2 '屏幕中心
  16. Begin VB.CommandButton cmdCalculate
  17. BackColor = &H00000000&
  18. Caption = "计算总价格"
  19. BeginProperty Font
  20. Name = "宋体"
  21. Size = 24
  22. Charset = 134
  23. Weight = 700
  24. Underline = 0 'False
  25. Italic = 0 'False
  26. Strikethrough = 0 'False
  27. EndProperty
  28. Height = 735
  29. Left = 4200
  30. TabIndex = 4
  31. Top = 6240
  32. Width = 3735
  33. End
  34. Begin VB.CommandButton cmdClearAll
  35. Caption = "清空所有的数据"
  36. BeginProperty Font
  37. Name = "宋体"
  38. Size = 18
  39. Charset = 134
  40. Weight = 700
  41. Underline = 0 'False
  42. Italic = 0 'False
  43. Strikethrough = 0 'False
  44. EndProperty
  45. Height = 735
  46. Left = 240
  47. TabIndex = 3
  48. Top = 6240
  49. Width = 3735
  50. End
  51. Begin VB.CommandButton cmdDeleteCurrent
  52. Caption = "删除选中的数据"
  53. BeginProperty Font
  54. Name = "宋体"
  55. Size = 18
  56. Charset = 134
  57. Weight = 700
  58. Underline = 0 'False
  59. Italic = 0 'False
  60. Strikethrough = 0 'False
  61. EndProperty
  62. Height = 735
  63. Left = 4200
  64. TabIndex = 2
  65. Top = 5280
  66. Width = 3735
  67. End
  68. Begin VB.CommandButton cmdAddNewItem
  69. Caption = "添加一条新数据"
  70. BeginProperty Font
  71. Name = "宋体"
  72. Size = 18
  73. Charset = 134
  74. Weight = 700
  75. Underline = 0 'False
  76. Italic = 0 'False
  77. Strikethrough = 0 'False
  78. EndProperty
  79. Height = 735
  80. Left = 240
  81. TabIndex = 1
  82. Top = 5280
  83. Width = 3735
  84. End
  85. Begin VB.ListBox lstDisplay
  86. Height = 4920
  87. ItemData = "Curtain.frx":0000
  88. Left = 240
  89. List = "Curtain.frx":0007
  90. TabIndex = 0
  91. Top = 240
  92. Width = 7695
  93. End
  94. End
  95. Attribute VB_Name = "frmMain"
  96. Attribute VB_GlobalNameSpace = False
  97. Attribute VB_Creatable = False
  98. Attribute VB_PredeclaredId = True
  99. Attribute VB_Exposed = False

窗体源码

  1. '主窗体初始化
  2. Private Sub Form_Load()
  3.  
  4. '清空列表
  5. lstDisplay.Clear
  6. End Sub
  7.  
  8. '按钮:添加一条新数据
  9. Private Sub cmdAddNewItem_Click()
  10.  
  11. frmAddItem.Show
  12. End Sub
  13.  
  14. '按钮:删除当前选中数据
  15. Private Sub cmdDeleteCurrent_Click()
  16.  
  17. '删除当前选中的数据
  18. Dim item As Integer
  19. If lstDisplay.SelCount > 0 Then
  20. For item = lstDisplay.ListCount - 1 To 0 Step -1
  21. If lstDisplay.Selected(item) Then
  22. lstDisplay.RemoveItem item
  23. End If
  24. Next
  25. End If
  26.  
  27. End Sub
  28.  
  29. '按钮:清空列表中所有数据
  30. Private Sub cmdClearAll_Click()
  31.  
  32. '清空列表
  33. lstDisplay.Clear
  34. End Sub
  35.  
  36. '按钮:计算总价格
  37. Private Sub cmdCalculate_Click()
  38.  
  39. '根据lstDisplay中的各项计算总价格
  40. Dim c As Currency '统计总价
  41. Dim s As String '输出文本
  42. '题头
  43. s = "价格明细表" & vbCrLf & vbCrLf
  44. s = s & "========================" & vbCrLf & vbCrLf
  45. '输出各个窗帘计算明细
  46. c = 0
  47. Dim i As Integer
  48. For i = 0 To lstDisplay.ListCount - 1
  49. 'list内容分三段 0段为该项价格,第1段为拆解后各参数,第2段为计算公式
  50. '分别装在 x(0) x(1) x(2)中
  51. Dim x() As String
  52. 'MsgBox lstDisplay.List(i)
  53. x = Split(lstDisplay.List(i),"|")
  54. '累计价格
  55. c = c + Val(x(0))
  56. '列出明细和公式
  57. s = s & "布料名称:" & x(1) & vbCrLf
  58. Dim y() As String
  59. y = Split(x(2),";")
  60. s = s & "-----------" & vbCrLf
  61. s = s & "单位布料价格: " & y(0) & "元" & vbCrLf
  62. s = s & "单位布料加工费: " & y(1) & "元" & vbCrLf
  63. s = s & "布料购买单位数: " & y(2) & vbCrLf
  64. s = s & "单位纱料价格: " & y(3) & "元" & vbCrLf
  65. s = s & "单位纱料加工费: " & y(4) & "元" & vbCrLf
  66. s = s & "纱料购买单位数: " & y(5) & vbCrLf
  67. s = s & "-----------" & vbCrLf
  68. s = s & "计算公式:(" & y(0) & "+" & y(1) & ")*" & y(2) & "+" & _
  69. "(" & y(3) & "+" & y(4) & ")*" & y(5) & "=" & x(0) & vbCrLf & vbCrLf
  70. Next
  71. '价格总计
  72. s = s & "========================" & vbCrLf & vbCrLf
  73. s = s & "价格总计:" & c & vbCrLf & vbCrLf
  74. '结尾部分:公式
  75. s = s & "========================" & vbCrLf & vbCrLf
  76. s = s & "计算公式" & vbCrLf
  77. s = s & "布总价=(单位布料价格+单位布料加工费)*布料购买单位数" & vbCrLf
  78. s = s & "纱总价=(单位纱料价格+单位纱料加工费)*纱料购买单位数" & vbCrLf
  79. s = s & "窗帘价格=布总价+纱总价" & vbCrLf
  80. s = s & "总价格=购买窗帘价格的总和" & vbCrLf & vbCrLf
  81. '时间戳
  82. s = s & Format(Now,"yyyy/MM/dd hh:mm:ss")
  83. frmDisplayResult.Show
  84. frmDisplayResult.txtDisplayBoard.Text = s
  85.  
  86. End Sub
  87.  
  88. '关闭主窗体时,关闭所有窗体并退出程序
  89. Private Sub Form_Unload(Cancel As Integer)
  90. MsgBox "谢谢使用 --Tsybius 2014/11/2"
  91. '关闭所有的窗体
  92. Unload frmAddItem
  93. Unload frmDisplayResult
  94. Unload Me
  95. End Sub

四、新增窗帘界面(frmAddItem.frm)的控件和源码

注:控件前缀 ①TextBox:txt-②ComboBox:cmb ③Command:btn/cmd

控件信息(采集自用Notepad++打开的frmAddItem.frm文件

  1. VERSION 5.00
  2. Begin VB.Form frmAddItem
  3. BackColor = &H00E0E0E0&
  4. BorderStyle = 1 'Fixed Single
  5. Caption = "添加新项"
  6. ClientHeight = 6525
  7. ClientLeft = 45
  8. ClientTop = 390
  9. ClientWidth = 5775
  10. LinkTopic = "Form1"
  11. MaxButton = 0 'False
  12. MinButton = 0 'False
  13. ScaleHeight = 6525
  14. ScaleWidth = 5775
  15. StartUpPosition = 2 '屏幕中心
  16. Begin VB.ComboBox cmbYarnProcessType
  17. BeginProperty Font
  18. Name = "宋体"
  19. Size = 12
  20. Charset = 134
  21. Weight = 400
  22. Underline = 0 'False
  23. Italic = 0 'False
  24. Strikethrough = 0 'False
  25. EndProperty
  26. Height = 360
  27. Left = 3600
  28. Style = 2 'Dropdown List
  29. TabIndex = 17
  30. Top = 2760
  31. Width = 1335
  32. End
  33. Begin VB.ComboBox cmbClothProcessType
  34. BeginProperty Font
  35. Name = "宋体"
  36. Size = 12
  37. Charset = 134
  38. Weight = 400
  39. Underline = 0 'False
  40. Italic = 0 'False
  41. Strikethrough = 0 'False
  42. EndProperty
  43. Height = 360
  44. Left = 3600
  45. Style = 2 'Dropdown List
  46. TabIndex = 16
  47. Top = 1560
  48. Width = 1335
  49. End
  50. Begin VB.CommandButton cmdCancel
  51. Caption = "取消"
  52. BeginProperty Font
  53. Name = "宋体"
  54. Size = 15
  55. Charset = 134
  56. Weight = 700
  57. Underline = 0 'False
  58. Italic = 0 'False
  59. Strikethrough = 0 'False
  60. EndProperty
  61. Height = 735
  62. Left = 2880
  63. TabIndex = 15
  64. Top = 5280
  65. Width = 2055
  66. End
  67. Begin VB.ComboBox cmbCurtainType
  68. BeginProperty Font
  69. Name = "宋体"
  70. Size = 12
  71. Charset = 134
  72. Weight = 400
  73. Underline = 0 'False
  74. Italic = 0 'False
  75. Strikethrough = 0 'False
  76. EndProperty
  77. Height = 360
  78. Left = 2400
  79. Style = 2 'Dropdown List
  80. TabIndex = 13
  81. Top = 360
  82. Width = 2535
  83. End
  84. Begin VB.CommandButton btnAddItem
  85. Caption = "添加"
  86. BeginProperty Font
  87. Name = "宋体"
  88. Size = 15
  89. Charset = 134
  90. Weight = 700
  91. Underline = 0 'False
  92. Italic = 0 'False
  93. Strikethrough = 0 'False
  94. EndProperty
  95. Height = 735
  96. Left = 720
  97. TabIndex = 12
  98. Top = 5280
  99. Width = 2055
  100. End
  101. Begin VB.TextBox txtClothPricePerUnit
  102. Enabled = 0 'False
  103. BeginProperty Font
  104. Name = "宋体"
  105. Size = 12
  106. Charset = 134
  107. Weight = 400
  108. Underline = 0 'False
  109. Italic = 0 'False
  110. Strikethrough = 0 'False
  111. EndProperty
  112. Height = 375
  113. Left = 2400
  114. TabIndex = 5
  115. Text = "0.00"
  116. Top = 960
  117. Width = 2535
  118. End
  119. Begin VB.TextBox txtClothLength
  120. BeginProperty Font
  121. Name = "宋体"
  122. Size = 12
  123. Charset = 134
  124. Weight = 400
  125. Underline = 0 'False
  126. Italic = 0 'False
  127. Strikethrough = 0 'False
  128. EndProperty
  129. Height = 375
  130. Left = 2400
  131. TabIndex = 4
  132. Text = "0"
  133. Top = 3960
  134. Width = 2535
  135. End
  136. Begin VB.TextBox txtClothProcessCost
  137. Enabled = 0 'False
  138. BeginProperty Font
  139. Name = "宋体"
  140. Size = 12
  141. Charset = 134
  142. Weight = 400
  143. Underline = 0 'False
  144. Italic = 0 'False
  145. Strikethrough = 0 'False
  146. EndProperty
  147. Height = 375
  148. Left = 2400
  149. TabIndex = 3
  150. Text = "0.00"
  151. Top = 1560
  152. Width = 975
  153. End
  154. Begin VB.TextBox txtYarnPricePerUnit
  155. Enabled = 0 'False
  156. BeginProperty Font
  157. Name = "宋体"
  158. Size = 12
  159. Charset = 134
  160. Weight = 400
  161. Underline = 0 'False
  162. Italic = 0 'False
  163. Strikethrough = 0 'False
  164. EndProperty
  165. Height = 375
  166. Left = 2400
  167. TabIndex = 2
  168. Text = "0.00"
  169. Top = 2160
  170. Width = 2535
  171. End
  172. Begin VB.TextBox txtYarnLength
  173. BeginProperty Font
  174. Name = "宋体"
  175. Size = 12
  176. Charset = 134
  177. Weight = 400
  178. Underline = 0 'False
  179. Italic = 0 'False
  180. Strikethrough = 0 'False
  181. EndProperty
  182. Height = 375
  183. Left = 2400
  184. TabIndex = 1
  185. Text = "0"
  186. Top = 4560
  187. Width = 2535
  188. End
  189. Begin VB.TextBox txtYarnProcessCost
  190. Enabled = 0 'False
  191. BeginProperty Font
  192. Name = "宋体"
  193. Size = 12
  194. Charset = 134
  195. Weight = 400
  196. Underline = 0 'False
  197. Italic = 0 'False
  198. Strikethrough = 0 'False
  199. EndProperty
  200. Height = 375
  201. Left = 2400
  202. TabIndex = 0
  203. Text = "0.00"
  204. Top = 2760
  205. Width = 975
  206. End
  207. Begin VB.Shape Shape1
  208. BackColor = &H80000002&
  209. BorderColor = &H80000002&
  210. FillColor = &H0000FF00&
  211. FillStyle = 0 'Solid
  212. Height = 135
  213. Left = 480
  214. Top = 3480
  215. Width = 4815
  216. End
  217. Begin VB.Label Label7
  218. Caption = "窗帘类型"
  219. Height = 375
  220. Left = 720
  221. TabIndex = 14
  222. Top = 480
  223. Width = 1215
  224. End
  225. Begin VB.Label lbl1
  226. Caption = "单位布料价格"
  227. Height = 375
  228. Left = 720
  229. TabIndex = 11
  230. Top = 1080
  231. Width = 1335
  232. End
  233. Begin VB.Label Label1
  234. Caption = "布料裁取宽度"
  235. Height = 375
  236. Left = 720
  237. TabIndex = 10
  238. Top = 4080
  239. Width = 1335
  240. End
  241. Begin VB.Label Label2
  242. Caption = "单位布料加工费"
  243. Height = 375
  244. Left = 720
  245. TabIndex = 9
  246. Top = 1680
  247. Width = 1335
  248. End
  249. Begin VB.Label Label3
  250. Caption = "单位纱料价格"
  251. Height = 255
  252. Left = 720
  253. TabIndex = 8
  254. Top = 2280
  255. Width = 1335
  256. End
  257. Begin VB.Label Label4
  258. Caption = "纱料裁取宽度"
  259. Height = 255
  260. Left = 720
  261. TabIndex = 7
  262. Top = 4680
  263. Width = 1335
  264. End
  265. Begin VB.Label Label5
  266. Caption = "单位纱料加工费"
  267. Height = 375
  268. Left = 720
  269. TabIndex = 6
  270. Top = 2880
  271. Width = 1335
  272. End
  273. End
  274. Attribute VB_Name = "frmAddItem"
  275. Attribute VB_GlobalNameSpace = False
  276. Attribute VB_Creatable = False
  277. Attribute VB_PredeclaredId = True
  278. Attribute VB_Exposed = False

窗体源码

  1. '加工费
  2. Dim gNothingCharge As Currency
  3. Dim gHookChrage As Currency
  4. Dim gPunchCharge As Currency
  5. Dim gSFoldCharge As Currency
  6.  
  7. '加载窗体
  8. Private Sub Form_Load()
  9.  
  10. '初始化控件内容
  11. '布加工方式
  12. cmbClothProcessType.AddItem "不加工"
  13. cmbClothProcessType.AddItem "挂钩加工"
  14. cmbClothProcessType.AddItem "打孔加工"
  15. cmbClothProcessType.AddItem "S折加工"
  16. cmbClothProcessType.Text = "不加工"
  17. txtClothProcessCost.Text = gNothingCharge
  18. '纱加工方式
  19. cmbYarnProcessType.AddItem "不加工"
  20. cmbYarnProcessType.AddItem "挂钩加工"
  21. cmbYarnProcessType.AddItem "打孔加工"
  22. cmbYarnProcessType.AddItem "S折加工"
  23. cmbYarnProcessType.Text = "不加工"
  24. txtYarnProcessCost.Text = gNothingCharge
  25.  
  26. '读取配置文件:从INI配置文件中读取加工费和窗帘类型
  27. Dim i As Integer
  28. '读取纱布加工单价
  29. Dim ProcessingCharge() As String
  30. ProcessingCharge = GetInfoSection("Process",App.Path & "\config.ini")
  31. For i = 1 To UBound(ProcessingCharge)
  32. Dim temp() As String
  33. temp = Split(ProcessingCharge(i),"=")
  34. If temp(0) = "Nothing" Then
  35. gNothingCharge = Trim(temp(1))
  36. End If
  37. If temp(0) = "Hook" Then
  38. gHookChrage = Trim(temp(1))
  39. End If
  40. If temp(0) = "Punch" Then
  41. gPunchCharge = Trim(temp(1))
  42. End If
  43. If temp(0) = "SFold" Then
  44. gSFoldCharge = Trim(temp(1))
  45. End If
  46. Next
  47. '读取各种类窗帘纱布单价
  48. Dim Curtain() As String
  49. Curtain = GetInfoSection("Curtain",App.Path & "\config.ini")
  50. For i = 1 To UBound(Curtain)
  51. '提取每种窗帘的值部分
  52. Dim x As String
  53. x = Mid(Curtain(i),InStr(Curtain(i),"=") + 1)
  54. '提取窗帘名称
  55. Dim item() As String
  56. item = Split(x,";")
  57. cmbCurtainType.AddItem item(0)
  58. If i = 1 Then
  59. cmbCurtainType.Text = Trim(item(0))
  60. txtClothPricePerUnit.Text = Trim(item(1))
  61. txtYarnPricePerUnit.Text = Trim(item(2))
  62. End If
  63. Next
  64. End Sub
  65.  
  66. '以下是三个重选下拉菜单触发的事件
  67. '注:(ComboBox)_Change()函数,在vb6.0中,只会在手动输入更改comboBox时触发
  68.  
  69. '重选下拉菜单:布加工方式
  70. Private Sub cmbClothProcessType_Click()
  71.  
  72. If cmbClothProcessType.Text = "不加工" Then
  73. txtClothProcessCost.Text = gNothingCharge
  74. End If
  75. If cmbClothProcessType.Text = "挂钩加工" Then
  76. txtClothProcessCost.Text = gHookChrage
  77. End If
  78. If cmbClothProcessType.Text = "打孔加工" Then
  79. txtClothProcessCost.Text = gPunchCharge
  80. End If
  81. If cmbClothProcessType.Text = "S折加工" Then
  82. txtClothProcessCost.Text = gSFoldCharge
  83. End If
  84.  
  85. End Sub
  86.  
  87. '重选下拉菜单:纱加工方式
  88. Private Sub cmbYarnProcessType_Click()
  89.  
  90. If cmbYarnProcessType.Text = "不加工" Then
  91. txtYarnProcessCost.Text = gNothingCharge
  92. End If
  93. If cmbYarnProcessType.Text = "挂钩加工" Then
  94. txtYarnProcessCost.Text = gHookChrage
  95. End If
  96. If cmbYarnProcessType.Text = "打孔加工" Then
  97. txtYarnProcessCost.Text = gPunchCharge
  98. End If
  99. If cmbYarnProcessType.Text = "S折加工" Then
  100. txtYarnProcessCost.Text = gSFoldCharge
  101. End If
  102. End Sub
  103.  
  104. '修改窗帘类型
  105. Private Sub cmbCurtainType_Click()
  106.  
  107. If cmbCurtainType.Text = "" Then
  108. Exit Sub
  109. End If
  110. '读取配置文件:从XML中读取窗帘类型
  111. Dim i As Integer
  112. Dim Curtain() As String
  113. Curtain = GetInfoSection("Curtain",";")
  114. If item(0) = cmbCurtainType.Text Then
  115. txtClothPricePerUnit.Text = Trim(item(1))
  116. txtYarnPricePerUnit.Text = Trim(item(2))
  117. End If
  118. Next
  119.  
  120. End Sub
  121.  
  122. '以下是两个按钮点击后触发的事件
  123.  
  124. '按钮:添加一个窗帘的价格
  125. Private Sub btnAddItem_Click()
  126. On Error Resume Next
  127. '总价格为0,则不添加
  128. If Trim(txtClothLength.Text) = "0" And Trim(txtYarnLength.Text) = "0" Then
  129. MsgBox "总价格为0,添加失败"
  130. Unload Me
  131. Exit Sub
  132. End If
  133. '输入合法性校验
  134. '1
  135. If Not IsNumeric(txtClothPricePerUnit.Text) Then
  136. txtResult.Text = "单位布料价格必须为非负数字"
  137. MsgBox "单位布料价格必须为非负数字"
  138. Exit Sub
  139. ElseIf txtClothPricePerUnit.Text < 0 Then
  140. txtResult.Text = "单位布料价格必须为非负数字"
  141. MsgBox "单位布料价格必须为非负数字"
  142. Exit Sub
  143. End If
  144. '2
  145. If Not IsNumeric(txtClothLength.Text) Then
  146. txtResult.Text = "布料宽度必须为非负数字"
  147. MsgBox "布料宽度必须为非负数字"
  148. Exit Sub
  149. ElseIf txtClothLength.Text < 0 Then
  150. txtResult.Text = "布料宽度必须为非负数字"
  151. MsgBox "布料宽度必须为非负数字"
  152. Exit Sub
  153. End If
  154. '3
  155. If Not IsNumeric(txtClothProcessCost.Text) Then
  156. txtResult.Text = "单位布料加工费必须为非负数字"
  157. MsgBox "单位布料加工费必须为非负数字"
  158. Exit Sub
  159. ElseIf txtClothProcessCost.Text < 0 Then
  160. txtResult.Text = "单位布料加工费必须为非负数字"
  161. MsgBox "单位布料加工费必须为非负数字"
  162. Exit Sub
  163. End If
  164. '4
  165. If Not IsNumeric(txtYarnPricePerUnit.Text) Then
  166. txtResult.Text = "单位纱料价格必须为非负数字"
  167. MsgBox "单位纱料价格必须为非负数字"
  168. Exit Sub
  169. ElseIf txtYarnPricePerUnit.Text < 0 Then
  170. txtResult.Text = "单位纱料价格必须为非负数字"
  171. MsgBox "单位纱料价格必须为非负数字"
  172. Exit Sub
  173. End If
  174. '5
  175. If Not IsNumeric(txtYarnLength.Text) Then
  176. txtResult.Text = "纱料宽度必须为非负数字"
  177. MsgBox "纱料宽度必须为非负数字"
  178. Exit Sub
  179. ElseIf txtYarnLength.Text < 0 Then
  180. txtResult.Text = "纱料宽度必须为非负数字"
  181. MsgBox "纱料宽度必须为非负数字"
  182. Exit Sub
  183. End If
  184. '6
  185. If Not IsNumeric(txtYarnProcessCost.Text) Then
  186. txtResult.Text = "单位纱料加工费必须为非负数字"
  187. MsgBox "单位纱料加工费必须为非负数字"
  188. Exit Sub
  189. ElseIf txtYarnProcessCost.Text < 0 Then
  190. txtResult.Text = "单位纱料加工费必须为非负数字"
  191. MsgBox "单位纱料加工费必须为非负数字"
  192. Exit Sub
  193. End If
  194. '布料单价+布料加工费
  195. Dim cClothUnivalence As Currency
  196. cClothUnivalence = Val(txtClothPricePerUnit.Text) + Val(txtClothProcessCost.Text)
  197. '纱料单价+纱料加工费
  198. Dim cYarnUnivalence As Currency
  199. cYarnUnivalence = Val(txtYarnPricePerUnit.Text) + Val(txtYarnPricePerUnit.Text)
  200. '总共价格
  201. Dim cPriceTotal As Currency
  202. cPriceTotal = _
  203. cClothUnivalence * Val(txtClothLength.Text) + _
  204. cYarnUnivalence * Val(txtYarnLength.Text)
  205. '生成信息栏
  206. Dim sItemInfo As String
  207. sItemInfo = cPriceTotal & "|" & Trim(cmbCurtainType.Text) & "|" & _
  208. txtClothPricePerUnit.Text & ";" & txtClothProcessCost.Text & ";" & _
  209. Trim(txtClothLength.Text) & ";" & txtYarnPricePerUnit.Text & ";" & _
  210. txtYarnProcessCost.Text & ";" & Trim(txtYarnLength.Text)
  211. frmMain.lstDisplay.AddItem sItemInfo
  212. '关闭本窗体
  213. Unload Me
  214. End Sub
  215.  
  216. '按钮:取消添加当前项
  217. Private Sub cmdCancel_Click()
  218.  
  219. '关闭本窗体
  220. Unload Me
  221. End Sub

五、输出展示板界面(frmDisplayResult.frm)的控件和源码

控件信息(采集自用Notepad++打开的frmDisplayResult.frm文件

  1. VERSION 5.00
  2. Begin VB.Form frmDisplayResult
  3. Caption = "输出展示板"
  4. ClientHeight = 4905
  5. ClientLeft = 120
  6. ClientTop = 465
  7. ClientWidth = 7950
  8. LinkTopic = "Form1"
  9. ScaleHeight = 4905
  10. ScaleWidth = 7950
  11. StartUpPosition = 3 '窗口缺省
  12. Begin VB.TextBox txtDisplayBoard
  13. Height = 4695
  14. Left = 120
  15. MultiLine = -1 'True
  16. ScrollBars = 2 'Vertical
  17. TabIndex = 0
  18. Text = "DisplayResult.frx":0000
  19. Top = 120
  20. Width = 7695
  21. End
  22. End
  23. Attribute VB_Name = "frmDisplayResult"
  24. Attribute VB_GlobalNameSpace = False
  25. Attribute VB_Creatable = False
  26. Attribute VB_PredeclaredId = True
  27. Attribute VB_Exposed = False

窗体源码:无

六、INI配置文件读取模块

INI配置文件读取模块:mdlIniHelper

里面有一个函数GetInfoSection,作用为读取INI配置中指定节中的所有键值对

函数参考了这个资源

  1. '下载自:http://download.csdn.net/detail/veron_04/3057337
  2.  
  3. Option Explicit
  4.  
  5. Private Declare Function GetPrivateProfileSection _
  6. Lib "KERNEL32" _
  7. Alias "GetPrivateProfileSectionA" ( _
  8. ByVal lpAppName As String,_
  9. ByVal lpReturnedString As String,_
  10. ByVal nSize As Long,_
  11. ByVal lpFileName As String) _
  12. As Long
  13.  
  14. '读取INI配置中指定节中的所有键值对
  15. Public Function GetInfoSection(strSection As String,strIniFile As String) As String()
  16. Dim strReturn As String * 32767
  17. Dim strTmp As String
  18. Dim nStart As Integer
  19. Dim nEnd As Integer
  20. Dim i As Integer
  21. Dim sArray() As String
  22. Call GetPrivateProfileSection(strSection,strReturn,Len(strReturn),strIniFile)
  23. strTmp = strReturn
  24. i = 1
  25. Do While strTmp <> ""
  26. nStart = nEnd + 1
  27. nEnd = InStr(nStart,vbNullChar)
  28. strTmp = Mid$(strReturn,nStart,nEnd - nStart)
  29. If Len(strTmp) > 0 Then
  30. ReDim Preserve sArray(1 To i)
  31. sArray(i) = strTmp
  32. i = i + 1
  33. End If
  34. Loop
  35. GetInfoSection = sArray
  36. End Function

七、关于配置文件config.ini

  1. #|---------------------------
  2. #|窗帘价格计算程序配置文件
  3. #|注意:不要添加多余的空格
  4. #|---------------------------
  5. #|Process 单位纱布加工价格
  6. #|Nothing 不加工价格
  7. #|Hook 挂钩加工价格
  8. #|Punch 打孔加工价格
  9. #|SFold S折加工价格
  10. #|---------------------------
  11. #|Curtain 窗帘
  12. #|键名任意,值信息依次为 窗帘名称;单位布价格;单位纱价格
  13. #|---------------------------
  14. [Process]
  15. Nothing=0.00
  16. Hook=2.22
  17. Punch=3.33
  18. SFold=4.44
  19. [Curtain]
  20. Curtain1=Tsybius;3.14;6.28
  21. Curtain2=Galatea;1.57;4.71

END

猜你在找的VB相关文章