PowerBuilder中大于(>)运算符的字符串

时间:2017-06-12 20:19:49

标签: string operators powerbuilder

我想知道是否有人可以告诉我以下代码行实际上会做什么。我不是PowerBuilder开发人员,但我试图用现代语言重新创建一个软件,并且只是想知道这一行的确切内容。

var_1 = ' ';
var_2 = ' ';
var_3 = ' ';

....
//some logic that might change var_1, var_2, or var_3
....

var_all = var_1 + var_2 + var_3
if trim(var_all) > "    " and trim(var_all) > "" then //that's 4 spaces
    //some logic
end if

我有一种感觉,这是检查长度,但无法确定是什么>运算符在PowerBuilder中使用字符串。

我认为应该发生的事情是var_all字符串的总长度是否大于4,请//some logic,但我无法确定。

4 个答案:

答案 0 :(得分:3)

简而言之:字符串运算符<,>和=根据您当前的区域设置对两个字符串进行区分大小写的字母比较。

EX:区域设置 =丹麦排序=> 'AA'在'Z'后排序('AA'相当于'Å')

  • Trim(var_all)删除所有前导和尾随空格(但只有ASCII空格= ASCII值0x20)
  • ... > ""实现“任何非空字符串
  • ... > " "实现“任何字符串排序 空格字符后
    • 空格字符前排序的主要字符示例:Escape,Form-Feed,回车,换行和标签

在您的上下文中,可以在PowerScript中获取等效行为,如下所示:

IF Trim(var_all) > " " THEN
   ...
END IF

答案 1 :(得分:2)

你要把它改成现代语言......哈哈哈...我解释一下:Trim()删除字符串两边的空格,任何空字符串都不符合输入if的条件,但是如果var_all例如是:Var_all =" 1"遇见并进入if。您实际上是在验证var_all是否具有不是目标的值。

答案 2 :(得分:0)

您可以使用以下代码检查var_all buy的长度: var_1var_2var_3声明为1个空格,函数trim()将删除所有空格。

if len(trim(var_all)) > 0 then 
    //some logic
end if

答案 3 :(得分:-1)

使用小于和大于字符串是不正常的。它总是会返回false。要比较字符串长度,您必须使用Len函数。