0

我正在使用 PowerBuilder 12.5 Classic 开发计费系统,我需要为文本框设置 0;就像在 vb.net txtchange.Text = 0
我有两个下拉列表框

  1. ddlb_price(定义商品的价格值)
  2. ddlb_cash(客户给的现金金额)
  3. sle_change(收银员要给客户的零钱)

当收银员输入现金时,系统应设置 sle_change 的值。
1.这给了我语法错误;

if cash=price then
    sle_fare.settext=0
   end if


2. 这给出了“不兼容的类型”

    if cash=price then
      sle_fare.text=0
    end if
4

2 回答 2

4

单行编辑 (sle) 控件旨在保存文本。您正在尝试为其分配一个数值。如果您希望 sle 显示该数字,则必须将其更改为字符串:

sle_fare.text = "0" 

或者

sle_fare.text = string(variableHere) 
于 2012-07-17T19:28:42.900 回答
1

再一次,我将退后一步,忽略实际问题,看看 DataWindow 作为替代方案将如何提供帮助。

您似乎想要一个带有数据类型的控件。DataWindow 具有这些类型的控件。不要忘记 DataWindow 后面不必有 SELECT 语句;它可以在数据集后面有一个存储过程、Web 服务或什么都没有(外部 DataWindow)。一旦你有一个带有数字数据类型的控件,你就可以(免费)获得一些基本的编辑控件,例如不允许在字段中使用字母字符并确保输入的值确实是一个数字(例如“0-.2.1 “会失败)。

除此之外,还有一个步骤是查看您即将提出的要求之一:计算变化。在 DataWindow 上,您可以使用表达式创建一个计算,一旦输入价格和现金,该表达式将自动为您计算您的零钱。

我当然不想说你不能按照你的方式做事,但是有很多问题 DataWindow 会比其他方法消除。PowerBuilder 的优势在于 DataWindow。

祝你好运,

特里

于 2012-07-18T15:04:43.883 回答