PowerBuilder中二维数组整体显示及非文本框式代码调试输出方法咨询
解答PowerBuilder数组显示与终端输出问题
一、将二维数组整体显示为可读字符串
PowerBuilder的string()函数确实不支持直接把整个数组转换为友好的字符串格式,你需要手动遍历数组元素并拼接成目标字符串。我给你写一个实用的示例代码,把二维数组的元素按行排列拼接:
decimal {2} arr[2, 2] arr[1, 1] = 10 arr[1, 2] = 20 arr[2, 1] = 30 arr[2, 2] = 40 string ls_result int li_row, li_col // 遍历二维数组的行和列,拼接元素 FOR li_row = 1 TO 2 FOR li_col = 1 TO 2 // 元素间用逗号+空格分隔 ls_result += string(arr[li_row, li_col]) + ", " NEXT // 移除每行末尾多余的分隔符,添加换行符 ls_result = Left(ls_result, Len(ls_result) - 2) + "~r~n" NEXT // 移除最后一行多余的换行符 ls_result = Left(ls_result, Len(ls_result) - 2) // 把拼接好的字符串显示到单行编辑器 sle_1.text = ls_result
运行后sle_1会显示:
10, 20 30, 40
你可以根据需求调整分隔符(比如制表符、空格)或者排版格式。
二、无需文本框,直接查看运行结果
PowerBuilder有几种方式可以跳过文本框,直接输出结果:
1. 使用DebugPrint(调试首选)
DebugPrint()会把内容输出到PowerBuilder IDE的Debug输出窗口,非常适合调试时快速查看变量值。用法示例:
// 输出单个数组元素 DebugPrint("arr[1,1] 的值:", string(arr[1,1])) // 输出拼接好的完整数组字符串 DebugPrint("数组完整内容:~r~n" + ls_result)
你可以通过IDE菜单View > Debug Window > Output打开输出窗口,运行程序后就能看到结果了。
2. 用MessageBox临时弹窗查看
如果只是临时验证结果,弹窗是最快捷的方式:
MessageBox("数组内容", ls_result)
3. 调用Windows API创建控制台窗口(类C/Python终端)
如果想要真正的终端窗口,可以通过Windows API实现。在窗口的Open事件中添加以下代码:
// 声明需要的Windows API函数 FUNCTION boolean AllocConsole() LIBRARY "kernel32.dll" FUNCTION long WriteConsoleA(long hConsoleOutput, ref string lpBuffer, long nNumberOfCharsToWrite, ref long lpNumberOfCharsWritten, long lpReserved) LIBRARY "kernel32.dll" FUNCTION long GetStdHandle(long nStdHandle) LIBRARY "kernel32.dll" // 常量定义 CONSTANT long STD_OUTPUT_HANDLE = -11 long ll_handle, ll_written string ls_output // 创建控制台窗口 AllocConsole() ll_handle = GetStdHandle(STD_OUTPUT_HANDLE) // 准备输出内容并打印到控制台 ls_output = "数组内容如下:~r~n" + ls_result + "~r~n" WriteConsoleA(ll_handle, ls_output, Len(ls_output), ll_written, 0)
运行程序后会弹出一个控制台窗口,直接显示数组内容。
内容的提问来源于stack exchange,提问作者Mahdi Esmaeili
相关产品推荐
相关产品推荐

