| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 595 人关注过本帖, 1 人收藏
标题:新手遇到难题 求给个思路 或者帮忙解决一下
只看楼主 加入收藏
translitelis
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-8-25
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:8 
新手遇到难题 求给个思路 或者帮忙解决一下
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

在form5里点击复选框 选择你想要的东西
然后在form6里的text1里就会显示出来你选的东西的名字
同时点击普通价 会员价  后面的text里就计算出价格
到底应该怎么做 丝毫想不出来
谢谢各位的帮忙!
搜索更多相关主题的帖子: 会员 
2014-08-26 21:40
translitelis
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-8-25
收藏
得分:0 
是不是该建立起一个什么变量什么的  不懂啊
请指教
2014-08-26 21:54
chen3523
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:33
帖 子:223
专家分:1165
注 册:2013-2-12
收藏
得分:0 
if 检查框1.value=1 then text1.text= "印度奶茶"
if 检查框2.value=1 then text1.text=text1.text & chr(13) & chr(10) & "丝袜奶茶"
if 检查框3.value=1 then text1.text=text1.text & chr(13) & chr(10) & "珍珠奶茶"
.
.
if 检查框1.value=1 then text2.text= 15
if 检查框2.value=1 then text2.text=val(text2.text) +15
if 检查框3.value=1 then text2.text=val(text2.text) +10
.
.

调试失败3次后,关机睡觉,当醒来时多有收获。
2014-08-27 21:40
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:20 
来点高级点吧。

定义一个全局的类型吧

--------BAS------------
程序代码:
Option Explicit
Public Type 货物类型
   名称 As String
   价格 As Single
   会员价 As Single
   选择 As Boolean
End Type

Public 货物(1 To 12) As 货物类型
Const 货物文件名 = "货物.txt"

Public Path As String

Public Sub init()
Path = App.Path
If Right(Path, 1) <> "\" Then
    Path = Path & "\"
End If

Dim fr As Long
fr = FreeFile

Dim i As Long
Dim fj() As String
Dim s As String

i = 0
Open Path & 货物文件名 For Input As #fr
Do While Not EOF(fr)
    Line Input #fr, s           '读一行
    s = Trim(s)                 '去掉空格
    
    If Len(s) > 0 Then          '如果不为空行
        If Left(s, 1) <> ";" Then       '如果不是分号,分号做为注释用
            If InStr(1, s, ",") > 0 Then '如果最少可以分为二段
                fj = Split(s, ",")
                i = i + 1                '数据有效,计数 + 1
                With 货物(i)
                    .名称 = fj(0)
                    .价格 = CSng(fj(1))
                    If UBound(fj) > 1 Then '存在第三段,会员价
                        .会员价 = CSng(fj(2))
                    Else
                        .会员价 = Int(.价格 * 0.85)
                    End If
                End With
            End If
        End If
    End If
    If i = 12 Then Exit Do
Loop
Close #fr
End Sub

Public Sub main()           '该函数是本程序的第一个执行的过程

Call init           '程序初始化

Load Form1          '载入窗体1
Form1.Show          '显示窗体1
End Sub

------------Form1-----------------
程序代码:
Option Explicit

Private Sub Command1_Click()

Dim i As Long
For i = 0 To 11
    If Check1(i).Value = 1 Then             '如果选择了
        货物(i + 1).选择 = True             '则设置为选择了
    Else
        货物(i + 1).选择 = False            '否则设置为没选择。因为清选择时,没清这个位置,所以这里必须要给否
    End If
Next i

Load Form2          '加载窗体
Form2.Show          '显示
End Sub

Private Sub Command2_Click()
Call 清除选择       '调用清除选择,如果窗体外调用就是 call form1.清除选择
End Sub

Private Sub Form_Load()

Dim i As Long
For i = 0 To 11             '显示每个的内容
    Check1(i).Caption = "" & Format(货物(i + 1).价格, "0.00") & " " & 货物(i + 1).名称
Next i

End Sub

Public Sub 清除选择()
Dim i As Long
For i = 0 To 11
    Check1(i).Value = 0     '设置为不选择
Next i

End Sub


--------Form2----------
程序代码:
Option Explicit

Private Sub Form_Load()

Dim s As String
Dim i As Long
Dim zj1 As Single
Dim zj2 As Single

s = "选择了:"          '第一行
For i = 1 To 12         '所有的货物
    With 货物(i)
        If .选择 Then   '如果选择了
            s = s & vbCrLf & .名称 & "    价格¥" & .价格 & " 会员价:¥" & .会员价        '组合成显示部分
            zj1 = zj1 + .价格               '计算普通价合计
            zj2 = zj2 + .会员价             '计算会员价合计
        End If
    End With
Next i

Text1.Text = s                  '显示
Text2.Text = zj1
Text3.Text = zj2

End Sub

Private Sub Form_Unload(Cancel As Integer)
'退出时,自动清 选择
Call Form1.清除选择

End Sub



收银.rar (3.86 KB)

授人于鱼,不如授人于渔
早已停用QQ了
2014-08-27 23:46
translitelis
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-8-25
收藏
得分:0 
回复 4 楼 风吹过 b
非常感谢!
2014-08-28 19:56
translitelis
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-8-25
收藏
得分:0 
回复 4 楼 风吹过 b
可不可以来个低端一点的..不要这么高端的..就按我那个思维来..
2014-08-28 20:25
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
按你那思维来,就是 3楼的写法。

if 检查框1.value=1 then text1.text= "印度奶茶"
if 检查框2.value=1 then text1.text=text1.text & chr(13) & chr(10) & "丝袜奶茶"
if 检查框3.value=1 then text1.text=text1.text & chr(13) & chr(10) & "珍珠奶茶"
.
.
if 检查框1.value=1 then text2.text= 15
if 检查框2.value=1 then text2.text=val(text2.text) +15
if 检查框3.value=1 then text2.text=val(text2.text) +10


实在是不愿打字了。。

授人于鱼,不如授人于渔
早已停用QQ了
2014-08-28 21:40
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:0 
那就用控件集合完成吧。
你只要把form5的checkbox控件按你的要求摆放并填好名称价格,代码不用任何修改即能运行,得到你需要的。
图片附件: 游客没有浏览图片的权限,请 登录注册

买饮料.rar (2.63 KB)
2014-08-28 21:46
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:0 
form5代码
Public Function retJiaGe(ByRef Nr As String) As Single
  Dim o As Object, y As String, n As String, a As String, i As Integer, b As String
  Dim s As Single
  Nr = ""
  For Each o In Me.Controls
    If TypeName(o) = "CheckBox" And o Then
      a = o.Caption
      y = ""
      n = ""
      For i = 1 To Len(a)
        b = Mid(a, i, 1)
        If IsNumeric(b) Or b = "." Then y = y & b
        If (Asc(b) < 0 Or Asc(b) > 128) And b <> "¥" Then n = n & b
      Next
      Nr = Nr & "    " & n & vbCrLf
      s = s + Val(y)
    End If
  Next
  retJiaGe = s
End Function
Private Sub Command1_Click()
  Dim a As String
  Form6.Show
  retJiaGe a
  Form6.Text1 = "您选择的饮料有:" & vbCrLf & a
End Sub

Private Sub Command2_Click()
  End
End Sub

Private Sub Form_Unload(Cancel As Integer)
  End
End Sub

form6代码
Private Sub Command1_Click()
  Dim a As String
  Text2 = "普通价:" & Form5.retJiaGe(a)
  Text1 = "您选择的饮料有:" & vbCrLf & a
End Sub

Private Sub Command2_Click()
  Dim a As String
  Text3 = "会员价:" & Form5.retJiaGe(a) * 0.8   '会员价8折
  Text1 = "您选择的饮料有:" & vbCrLf & a
End Sub
2014-08-28 22:19
快速回复:新手遇到难题 求给个思路 或者帮忙解决一下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032487 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved