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

String PowerBuilder中大于(>;)运算符的字符串,string,operators,powerbuilder,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 tr

我想知道是否有人能告诉我下面这行代码的实际用途。我不是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\u all
字符串的总长度大于4,则执行
//某些逻辑,但我不能确定。

您可以使用以下代码检查var\u all buy的长度:
var_1
var_2
var_3
用1个空格声明,使用函数
trim()
将删除所有空格

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

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

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

你要把它改成现代语言。。。哈哈哈。。。我解释一下:Trim()删除字符串两侧的空格,任何空白字符串都不符合输入if的条件,但是如果var_all例如是:var_all=“1”满足并输入if。实际上,您正在验证var_all是否有一个不是目标的值。

您要将其更改为现代语言。。。哈哈哈。。。我解释一下:Trim()删除字符串两侧的空格,任何空白字符串都不符合输入if的条件,但是如果var_all例如是:var_all=“1”满足并输入if。实际上,您正在验证var_all的值是否不是目标值。

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

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


  • Trim(var_all)
    删除所有前导和尾随空格(但仅ASCII空格=ASCII值0x20)
  • …>“
    实现“任何非空字符串”
  • …>“
    实现了在空格字符之后的任何字符串排序”
    • 在空格字符之前排序的前导字符示例:转义、换行、回车、换行和制表符
在您的上下文中,可以在PowerScript中获得等效行为,如下所示:

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

简而言之:String操作符,and=根据当前区域设置对两个字符串进行区分大小写的字母顺序比较

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


  • Trim(var_all)
    删除所有前导和尾随空格(但仅ASCII空格=ASCII值0x20)
  • …>“
    实现“任何非空字符串”
  • …>“
    实现了在空格字符之后的任何字符串排序”
    • 在空格字符之前排序的前导字符示例:转义、换行、回车、换行和制表符
在您的上下文中,可以在PowerScript中获得等效行为,如下所示:

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

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

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

谢谢-我不想知道如何检查长度或修改代码。请重读。我正试图弄清楚上面的代码到底做了什么。即使如此,这个解决方案也能完成与原始代码相同的任务。Trim删除空格,使变量中的空字符串或变量中的空格不匹配和的两侧。编写原始代码的程序员显然感到困惑。如果不是Isnull(var_name)和Len(Trim(var_name))>0,我会这样写,然后执行您的逻辑。第一部分介绍空值,有时在比较空值时会得到意外的结果。fwiw@RichBianco例如,您忽略了以“-”开头的字符串的排序和忽略。这个答案并没有解决这一部分,所以它是不平等的。看起来以前的开发人员希望确保在排序时忽略以空格前面的字符开头的字符串。此外,正如几次所说,你会做什么并不重要。未编辑或维护此代码。它是用另一种语言重新编写的,所以我只需要知道它的功能,而不需要知道它应该如何编写。这个答案并没有解决我原来的问题。谢谢-我不是在寻找如何检查长度或修改代码。请重读。我正试图弄清楚上面的代码到底做了什么。即使如此,这个解决方案也能完成与原始代码相同的任务。Trim删除空格,使变量中的空字符串或变量中的空格不匹配和的两侧。编写原始代码的程序员显然感到困惑。如果不是Isnull(var_name)和Len(Trim(var_name))>0,我会这样写,然后执行您的逻辑。第一部分介绍空值,有时在比较空值时会得到意外的结果。fwiw@RichBianco例如,您忽略了以“-”开头的字符串的排序和忽略。这个答案并没有解决这一部分,所以它是不平等的。看起来以前的开发人员希望确保在排序时忽略以空格前面的字符开头的字符串。此外,正如几次所说,你会做什么并不重要。未编辑或维护此代码。它是用另一种语言重新编写的,所以我只需要知道它的功能,而不需要知道