妹子继续来求各位小哥哥的帮忙了!!很急很急

yuty0926 2017-10-31 10:08:34
Dim deLT, deBT, total As Double
RichTextBox1.AppendText(vbTab & vbTab & " Details About Staff Wages" & vbCrLf)
RichTextBox1.AppendText("Username:" & Login.TextBox1.Text & vbCrLf)
RichTextBox1.AppendText(" " & vbCrLf)

RichTextBox1.AppendText("Working Time (Hours):" & ClockoutWork.Label7.Text + vbTab)
RichTextBox1.AppendText("Working Gross Wages:" & ClockoutWork.Label8.Text & vbCrLf)
RichTextBox1.AppendText(" " & vbCrLf)

RichTextBox1.AppendText("Lunch Time Break(Minutes):" & ClockoutLunchbreak.Label7.Text + vbTab)

If ClockoutLunchbreak.Label8.Text = ("As Paid") Then
deLT = 0

Else
If 60 < ClockoutLunchbreak.Label7.Text <= 120 Then
deLT = 5
ElseIf 120 < ClockoutLunchbreak.Label7.Text <= 180 Then
deLT = 10
Else
deLT = 15
End If
End If
RichTextBox1.AppendText("Lunch Time Wage Deduction:" & deLT & vbCrLf)
RichTextBox1.AppendText(" " & vbCrLf)

RichTextBox1.AppendText("Personal Break Time(Minutes):" & ClockoutPersonalbreak.Label7.Text + vbTab)
If ClockoutPersonalbreak.Label7.Text <= 15 Then
deBT = 0
ElseIf 15 < ClockoutPersonalbreak.Label7.Text <= 30 Then
deBT = 3
ElseIf 30 < ClockoutPersonalbreak.Label7.Text <= 60 Then
deBT = 5
Else
deBT = 10
End If

RichTextBox1.AppendText("Personal Break Wage Deduction:" & deBT & vbCrLf)
RichTextBox1.AppendText(" " & vbCrLf)

RichTextBox1.AppendText("Total Deduction:" & (deBT + deLT) & vbTab & vbTab)
total = ClockoutWork.Label8.Text - deBT - deLT
RichTextBox1.AppendText("Gross Wages:" & total & vbCrLf)

RichTextBox1.AppendText("==================================================================== " & vbCrLf)
RichTextBox1.AppendText(vbTab & Today & vbTab & TimeOfDay & vbCrLf)
RichTextBox1.AppendText("====================================================================" & vbCrLf)
End Sub
...全文
507 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
舉杯邀明月 2017-12-27
  • 打赏
  • 举报
回复
熊孩子开学喽 2017-12-26
  • 打赏
  • 举报
回复
引用 12 楼 chewinggum 的回复:
虽然我个人是赞成代码要有良好的缩进习惯。但python这样强制缩进也是很难接受,真特么侵犯自由!! 歪楼了,大家别理我,继续帮妹子。
你太天真了, 不知道Python其实是全世界最大的游标卡尺供应商嘛!
赵4老师 2017-12-15
  • 打赏
  • 举报
回复
引用 12 楼 chewinggum 的回复:
虽然我个人是赞成代码要有良好的缩进习惯。但python这样强制缩进也是很难接受,真特么侵犯自由!! 歪楼了,大家别理我,继续帮妹子。
我跟着继续歪: http://bbs.csdn.net/topics/380157851 http://bbs.csdn.net/topics/392094659
熊孩子开学喽 2017-12-14
  • 打赏
  • 举报
回复
我是进来看妹子的, 楼上几位负责代码.
无·法 2017-11-03
  • 打赏
  • 举报
回复
哈哈,路过~
赵4老师 2017-11-02
  • 打赏
  • 举报
回复
脆皮大雪糕 2017-11-02
  • 打赏
  • 举报
回复
虽然我个人是赞成代码要有良好的缩进习惯。但python这样强制缩进也是很难接受,真特么侵犯自由!! 歪楼了,大家别理我,继续帮妹子。
赵4老师 2017-11-01
  • 打赏
  • 举报
回复
在任何计算机语言中(好象除Python以外),都不能象“数学公式”那样表达比较关系。
舉杯邀明月 2017-11-01
  • 打赏
  • 举报
回复
引用 2 楼 yuty0926 的回复:
If ClockoutPersonalbreak.Label7.Text <= 15 Then deBT = 0 ElseIf 15 < ClockoutPersonalbreak.Label7.Text <= 30 Then deBT = 3 ElseIf 30 < ClockoutPersonalbreak.Label7.Text <= 60 Then deBT = 5 Else deBT = 10 End If RichTextBox1.AppendText("Personal Break Wage Deduction:" & deBT & vbCrLf) 这一段的问题也一样,除了都是0 之外 其余所有情况只能出现3 这该怎么办
引用 3 楼 yuty0926 的回复:
是我的逻辑问题吗,还是说语法问题?? 妹子求各位小哥哥帮忙,要交论文了,我才发现这么一个bug
从“语法(计算机语言的语法)”角度来说,是逻辑问题; 从“编程水平”来说,你的是“语法错误”造成的Bug(因为在任何计算机语言中,都不能象“数学公式”那样表达比较关系)。 你这样写的后果,就是: 当符合 ClockoutPersonalbreak.Label7.Text <= 15 时,deBT = 0  按你的代码猜测,这儿是“正常”的; 当 ClockoutPersonalbreak.Label7.Text > 15 时,   就只会进入“ElseIf 15 < ClockoutPersonalbreak.Label7.Text <= 30 Then”这个“逻辑分支”了! 你肯定不知道逻辑表达式:15 < ClockoutPersonalbreak.Label7.Text <= 30 的运算过程! 能“运行到”这个分支处,说明 ClockoutPersonalbreak.Label7.Text 的数值肯定是大于15的。 在逻辑比较运算时,< 和<= 是“平级的”,所以从左到右运算: 首先是计算: 15 < ClockoutPersonalbreak.Label7.Text    刚说了,能“走到这一步”,15 < ClockoutPersonalbreak.Label7.Text 肯定为 True的; 然后就是运算: True <= 30   在VB中,True=-1 (楼主应该是VB.NET的代码,在这点上是一样的) 这样,“第二步逻辑运算”结果肯定也是True了! 也就是:只要“第1分支”为False,那么“第二分支”必定是True !!! 你“后面的逻辑分支”已经没有任何作用了。 首先纠正你的“语法错误”(只是你“写错”而已,在VB中因“自动类型转换”能成功执行,这样写也符合语法): 15 < ClockoutPersonalbreak.Label7.Text <= 30 的正确写法是(后面的分支“类推”): 15 < ClockoutPersonalbreak.Label7.Text And ClockoutPersonalbreak.Label7.Text <= 30 其次说下“冗余逻辑”问题(也是冗余代码): 15 < ClockoutPersonalbreak.Label7.Text的结果必然是为“True”的,这儿写上它纯属多余!  只要ClockoutPersonalbreak.Label7.Text<=30这一个条件就行了!!! 如果要用 If ……ElseIf……来写,应该是这样:
If ClockoutPersonalbreak.Label7.Text <= 15 Then
   deBT = 0
ElseIf ClockoutPersonalbreak.Label7.Text <= 30 Then
   deBT = 3
ElseIf ClockoutPersonalbreak.Label7.Text <= 60 Then
   deBT = 5
Else
   deBT = 10
End If
舉杯邀明月 2017-11-01
  • 打赏
  • 举报
回复
引用 9 楼 zhao4zhong1 的回复:
在任何计算机语言中(好象除Python以外),都不能象“数学公式”那样表达比较关系。
Python可以? 好吧,对它不了解。 我之前接触过的语言: BASIC、C/C++、FORTRAN(FORTRAN 77)、COBOL、java、Delphy/Pascal、还有FoxBase等等,   都是不支持这样的“数学公式”式的写法的。 因此我觉得各种语言应该都采用的这个“标准”吧。  大概一个多月前,下载了老外的一个工具软件,就是用Python写的GUI程序,  “试用”之后,觉得它跟易语言那种垃圾写的程序一个屌样:垃圾……
吉普赛的歌 2017-10-31
  • 打赏
  • 举报
回复
你首先应该学会的不是这些, 而是如何调试程序: http://www.360doc.com/content/14/1031/13/17799864_421417365.shtml 不会调试, 谈不上学过程序。 ClockoutPersonalbreak.Label7.Text 这个是文本, 不是真正的 Int 型数值, 你先新加一个 int 变量 intValue , 将文本转换成数字, 用数字来判断吧:
If intValue <= 15 Then
    deBT = 0
ElseIf 15 < intValue <= 30 Then
    deBT = 3
ElseIf 30 < intValue <= 60 Then
    deBT = 5
Else
    deBT = 10
End If
如果你不会调试, 可以用 MessageBox.Show( intValue ); 输出转换后 intValue 的值。
yuty0926 2017-10-31
  • 打赏
  • 举报
回复
是我的逻辑问题吗,还是说语法问题?? 妹子求各位小哥哥帮忙,要交论文了,我才发现这么一个bug
yuty0926 2017-10-31
  • 打赏
  • 举报
回复
If ClockoutPersonalbreak.Label7.Text <= 15 Then deBT = 0 ElseIf 15 < ClockoutPersonalbreak.Label7.Text <= 30 Then deBT = 3 ElseIf 30 < ClockoutPersonalbreak.Label7.Text <= 60 Then deBT = 5 Else deBT = 10 End If RichTextBox1.AppendText("Personal Break Wage Deduction:" & deBT & vbCrLf) 这一段的问题也一样,除了都是0 之外 其余所有情况只能出现3 这该怎么办
yuty0926 2017-10-31
  • 打赏
  • 举报
回复
我是想要在rich text box里显示出我之前算出的金钱和时间,但是 If ClockoutLunchbreak.Label8.Text = ("As Paid") Then deLT = 0 Else If 60 < ClockoutLunchbreak.Label7.Text <= 120 Then deLT = 5 ElseIf 120 < ClockoutLunchbreak.Label7.Text <= 180 Then deLT = 10 Else deLT = 15 End If End If RichTextBox1.AppendText("Lunch Time Wage Deduction:" & deLT & vbCrLf) 这一段出现了问题,如果我label里的数字是>120的 但是结果还是只显示出5
赵4老师 2017-10-31
  • 打赏
  • 举报
回复
注释掉所有On Error Resume Next语句,在VB6 IDE中运行, 出错后点击调试,光标会停在出错的那条语句处, 或者 事先在怀疑可能有逻辑错误的语句处设置断点,运行经过断点时中断, 此时可以在立即窗口中使用 ?变量名 或 ?函数名(函数参数) 或 过程名(参数) 辅助调试。
  • 打赏
  • 举报
回复
稍微改动下 Else deBT = 10 ===> Case Else deBT = 10
  • 打赏
  • 举报
回复
改成select case 比较好
    Select Case  ClockoutPersonalbreak.Label7.Text 
    Case Is <= 15
        deBT = 0
    Case Is <= 30
        deBT = 3
    Case Is <= 60
        deBT = 5
    Else
        deBT = 10
    End Select

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧