TC官方合作论坛

 找回密码
 立即注册
查看: 1009|回复: 6

[已解决] 求大神看看问题在哪

[复制链接]
发表于 2016-9-5 17:09:31 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
  1. 功能 计算线程()
  2.     变量 返回串=开始运算1(编辑框获取文本("编辑框2"))
  3.     如果(字符串截取(返回串,字符串长度(返回串)-1,字符串长度(返回串))=="|")
  4.         返回串=返回串&"0"
  5.     结束
  6.     字符串分割(返回串,"|",分割串)
  7.     遍历(变量 fg = 0; fg < 数组大小(分割串); fg++)
  8.         如果(fg==0)
  9.             结果=分割串[fg]
  10.         否则
  11.             选择(下标数组[fg-1])
  12.                 条件 1
  13.                 结果=结果+分割串[fg]
  14.                 条件 2
  15.                 结果=结果-分割串[fg]
  16.                 条件 3
  17.                 结果=结果*分割串[fg]
  18.                 条件 4
  19.                 结果=结果/分割串[fg]
  20.             结束
  21.         结束
  22.     结束
  23.     标签设置文本("结果",结果)
  24. 结束
复制代码
编辑框一直+可以计算  一直-也可以计算
比如1+2+3+4 或者10-1-2-3-4
但是1+2+3-4计算就错误了 为什么啊?

回复

使用道具 举报

发表于 2016-9-5 18:23:24 | 显示全部楼层
看起来貌似还要“乘除”,那就是个计算器喽! 那就把这个这样改下
  1. 功能 执行()
  2.     变量 字串=编辑框获取文本("编辑框0")
  3.     变量 字串1=字符串替换(字串,"+",",+")
  4.     变量 字串2=字符串替换(字串1,"-",",-")
  5.     变量 字串3=字符串替换(字串2,"*",",*")
  6.     变量 字串真=字符串替换(字串3,"/",",/")
  7.     变量 字符集,计算数=0
  8.     变量 总数=字符串分割(字串真,",",字符集)
  9.     遍历(变量 i = 0; i < 总数; i++)
  10.         如果(字符串截取左侧(字符集[i],1)=="*")
  11.             变量 单数=取整(字符串修剪(字符集[i],"*"))
  12.             计算数=计算数*单数
  13.         否则如果(字符串截取左侧(字符集[i],1)=="/")
  14.             变量 单数=取整(字符串修剪(字符集[i],"/"))
  15.             计算数=(计算数*1.0)/单数
  16.         否则
  17.             变量 单数=取整(字符集[i])
  18.             计算数=计算数+单数
  19.         结束
  20.     结束   
  21.     调试输出(计算数)
  22.     编辑框设置文本("编辑框0",计算数)
  23.     运算中=假
  24. 结束
复制代码
回复 支持 反对

使用道具 举报

发表于 2016-9-5 17:36:26 | 显示全部楼层
之前也答复你了,试试这个怎样?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-5 19:47:50 | 显示全部楼层
liuhaiyan008 发表于 2016-9-5 18:23
看起来貌似还要“乘除”,那就是个计算器喽! 那就把这个这样改下

谢谢哈
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-5 21:56:47 | 显示全部楼层
本帖最后由 xiaoling2013 于 2016-9-5 21:58 编辑
liuhaiyan008 发表于 2016-9-5 17:36
之前也答复你了,试试这个怎样?
  1. 功能 计数器_内容改变()
  2.     变量 内容 = 编辑框获取文本("计数器"), 尾数, 组, 组2, 计数 = 0
  3.     尾数 = 字符串截取(内容, 字符串长度(内容) - 1, 字符串长度(内容))
  4.     如果(尾数 == "+" || 尾数 == "-" || 尾数 == "*" || 尾数 == "/")
  5.         内容 = 字符串截取(内容, 0, 字符串长度(内容) - 1)
  6.     结束
  7.     内容 = 字符串替换(内容, "+", ",+")
  8.     内容 = 字符串替换(内容, "-", ",-")
  9.     内容 = 字符串替换(内容, "*", ",*")
  10.     内容 = 字符串替换(内容, "/", ",/")
  11.     字符串分割(内容, ",", 组)
  12.     计数 = 组[0]
  13.     遍历(变量 i = 1; i < 数组大小(组); i ++)
  14.         如果(字符串截取(组[i], 0, 1) == "*")
  15.             字符串分割(组[i], "*", 组2)
  16.             计数 = 计数 * 组2[1]
  17.         否则
  18.             如果(字符串截取(组[i], 0, 1) == "/")
  19.                 字符串分割(组[i], "/", 组2)
  20.                 如果(字符串替换(字符串替换(组2[1], "0", ""), ".", "") == "")
  21.                     计数 = 计数 / 1
  22.                 否则
  23.                     计数 = 计数 / 组2[1]
  24.                 结束
  25.             否则
  26.                 计数 = 计数 + 组[i]
  27.             结束
  28.         结束
  29.     结束
  30.     如果(字符串截取(计数, 字符串长度(计数) - 5, 字符串长度(计数)) == "00000")
  31.         计数 = 字符串截取左侧(计数, 字符串长度(计数) - 5)
  32.     结束
  33.     如果(字符串截取(计数, 字符串长度(计数) - 4, 字符串长度(计数)) == "0000")
  34.         计数 = 字符串截取左侧(计数, 字符串长度(计数) - 4)
  35.     结束
  36.     如果(字符串截取(计数, 字符串长度(计数) - 3, 字符串长度(计数)) == "000")
  37.         计数 = 字符串截取左侧(计数, 字符串长度(计数) - 3)
  38.     结束
  39.     如果(字符串截取(计数, 字符串长度(计数) - 2, 字符串长度(计数)) == "00")
  40.         计数 = 字符串截取左侧(计数, 字符串长度(计数) - 2)
  41.     结束
  42.     如果(字符串截取(计数, 字符串长度(计数) - 1, 字符串长度(计数)) == "0")
  43.         计数 = 字符串截取左侧(计数, 字符串长度(计数) - 1)
  44.     结束
  45.     标签设置文本("金额", 计数)
  46. 结束
复制代码

你上面那个小数计算不了,而且除算输入0.几会提示除数不能为0
回复 支持 反对

使用道具 举报

发表于 2016-9-6 06:37:33 | 显示全部楼层
不要紧,你再试下这个咋样?回车直接就运算。
  1. 变量 运算中=假,ID

  2. 功能 按钮0_点击()
  3.     如果(运算中)
  4.         线程关闭(ID)
  5.         运算中=假
  6.     否则
  7.         运算中=真
  8.         ID=线程开启("执行","")
  9.     结束
  10. 结束

  11. 功能 执行()
  12.     变量 字串=编辑框获取文本("编辑框0")
  13.     变量 字串1=字符串替换(字串,"+",",+")
  14.     变量 字串2=字符串替换(字串1,"-",",-")
  15.     变量 字串3=字符串替换(字串2,"*",",*")
  16.     变量 字串真=字符串替换(字串3,"/",",/")
  17.     变量 字符集,计算数=0
  18.     变量 总数=字符串分割(字串真,",",字符集)
  19.     遍历(变量 i = 0; i < 总数; i++)
  20.         如果(字符串截取左侧(字符集[i],1)=="*")
  21.             变量 单数=转浮点型(字符串修剪(字符集[i],"*"))
  22.             如果(单数!=null)
  23.                 计算数=计算数*单数
  24.             结束
  25.         否则如果(字符串截取左侧(字符集[i],1)=="/")
  26.             变量 单数=转浮点型(字符串修剪(字符集[i],"/"))
  27.             如果(单数!=null)
  28.                 计算数=(计算数*1.0)/单数
  29.             结束
  30.         否则
  31.             变量 单数=转浮点型(字符集[i])
  32.             如果(单数!=null)
  33.                 计算数=计算数+单数
  34.             结束
  35.         结束
  36.     结束
  37.     计算数=转字符型(计算数)
  38.     遍历(变量 i = 0; i < 8; i++)
  39.         变量 字长=字符串长度(计算数)
  40.         如果(字符串截取右侧(计算数,1)=="."||(字长>1&&字符串截取右侧(计算数,1)=="0"))
  41.             计算数=字符串截取左侧(计算数,(字长-1))
  42.         否则
  43.             跳出
  44.         结束
  45.     结束
  46.     调试输出(计算数)
  47.     编辑框设置文本("编辑框0",计算数)
  48.     键盘按键(39,8)
  49.     运算中=假
  50. 结束

  51. 功能 运算测试_消息路由(句柄,消息,w参数,l参数,时间,x坐标,y坐标)
  52.     如果(消息==256&&w参数==13)
  53.         按钮0_点击()
  54.     结束
  55.     返回 假
  56. 结束
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-6 11:11:03 | 显示全部楼层
liuhaiyan008 发表于 2016-9-6 06:37
不要紧,你再试下这个咋样?回车直接就运算。

还有个问题想了解一下哈,选项卡里面没有消息路由反应
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-27 23:49 , Processed in 0.049652 second(s), 24 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表