通过将 4GL 输出 longchar 分成块来进行屏幕显示
Progress 4GL output longchar to screen by splitting it up into chunks
我正在使用 progress 并且在数据库中有一个 longchar 类型的字段。
我无法输出内容,因为 input/output longchar 类型不允许使用函数。
有没有办法将 longchar 分成块,然后我可以将其存储为 char 类型,以便将 longchar 的全部内容输出到屏幕上?
谢谢
有不止一种方法可以做到这一点。一种这样的方式如下。它将 LONCHAR 变量拆分为块并以块的形式显示它们。但是你应该记住,一个 CHARACTER 变量不能超过 32000 个字符(实际上略少于 32000 个字符),所以你不能将整个 LONGCHAR 存储到一个 CHARACTER 变量中并显示它。
DEF VAR l_var AS LONGCHAR.
DEF VAR chunk_size AS INT64 INIT 30000.
DEF VAR tot_size AS INT INIT 0.
DEF VAR char_piece AS CHAR.
COPY-LOB FROM FILE "myfile.txt" TO l_var.
DO WHILE tot_size < LENGTH(l_var):
char_piece = SUBSTR(l_var,1,chunk_size,"character").
MESSAGE char_piece.
tot_size = tot_size + chunk_size.
END.
据我所知,数据库中不能有 LONGCHAR 字段。
其实可以输出LONGCHARS。我可能不实用(取决于变量的内容)但是可以做到。
在基本 ABL 中,您可以使用 "view-as editor large" 显示 longchar - 然后您需要设置行数和字符宽度。
DEFINE VARIABLE c AS LONGCHAR NO-UNDO.
c = FILL("a", 20000).
DISPLAY c VIEW-AS EDITOR LARGE INNER-LINES 60 INNER-CHARS 100 WITH FRAME f1 WIDTH 120.
在 Webspeed 中,您可以使用 {&OUT-LONG} 预处理器轻松地将 longchar 输出到网络流。
{&OUT-LONG} variableName.
我正在使用 progress 并且在数据库中有一个 longchar 类型的字段。
我无法输出内容,因为 input/output longchar 类型不允许使用函数。
有没有办法将 longchar 分成块,然后我可以将其存储为 char 类型,以便将 longchar 的全部内容输出到屏幕上?
谢谢
有不止一种方法可以做到这一点。一种这样的方式如下。它将 LONCHAR 变量拆分为块并以块的形式显示它们。但是你应该记住,一个 CHARACTER 变量不能超过 32000 个字符(实际上略少于 32000 个字符),所以你不能将整个 LONGCHAR 存储到一个 CHARACTER 变量中并显示它。
DEF VAR l_var AS LONGCHAR.
DEF VAR chunk_size AS INT64 INIT 30000.
DEF VAR tot_size AS INT INIT 0.
DEF VAR char_piece AS CHAR.
COPY-LOB FROM FILE "myfile.txt" TO l_var.
DO WHILE tot_size < LENGTH(l_var):
char_piece = SUBSTR(l_var,1,chunk_size,"character").
MESSAGE char_piece.
tot_size = tot_size + chunk_size.
END.
据我所知,数据库中不能有 LONGCHAR 字段。
其实可以输出LONGCHARS。我可能不实用(取决于变量的内容)但是可以做到。
在基本 ABL 中,您可以使用 "view-as editor large" 显示 longchar - 然后您需要设置行数和字符宽度。
DEFINE VARIABLE c AS LONGCHAR NO-UNDO.
c = FILL("a", 20000).
DISPLAY c VIEW-AS EDITOR LARGE INNER-LINES 60 INNER-CHARS 100 WITH FRAME f1 WIDTH 120.
在 Webspeed 中,您可以使用 {&OUT-LONG} 预处理器轻松地将 longchar 输出到网络流。
{&OUT-LONG} variableName.