PowerScript 编程问题

Adey 2000-02-25 08:29:00
窗口内有两个mle椌件
 mle_1中文件格式:
* 0 18-02 03:00:01 SLIP 0431 1 4643
* 0 18-02 03:00:12 SLIP 0011 1 4643
* 0 18-02 06:00:27 SLIP 1002 1 4643
* 0 18-02 03:00:04 SLIP 1103 1 4643
* 0 18-02 06:00:11 SLIP A336 1 4643
* 0 18-02 03:00:34 SLIP 9501 1 4643
* 0 18-02 00:00:19 SLIP 0712 1 4643
* 0 18-02 00:00:31 SLIP 1304 1 4643
想转换成mle_2中的格式:
A:0&02&18&03&00&01
A:0&02&18&03&00&12
A:0&02&18&06&00&27
A:0&02&18&03&00&04
A:0&02&18&06&00&11
A:0&02&18&03&00&34
A:0&02&18&00&00&19
A:0&02&18&00&00&31
我以StreamMode!模式把文件读入mle_1中的,我的部分程序如下:
string sText,ls_1,ls_2,ls_3,ls_4,ls_5,ls_6,ls_7,ls_string
integer li_a,li_line
li_line=mle_1.LineCount()
FOR li_a=1 TO li_line
ls_string=mle_1.Text
ls_1=mid(ls_string,31,4)
IF ls_1="SLIP" THEN
ls_2=Mid(ls_string,19,2)
ls_3=Mid(ls_string,16,2)
ls_4=Mid(ls_string,22,2)
ls_5=Mid(ls_string,25,2)
ls_6=Mid(ls_string,28,2)
ls_7="A:"+"0&"+ls_2+"&"+ls_3+"&"+ls_4+"&"+ls_5+"&"+ls_6
sText=sText+ls_7+'~r~n'
END IF
NEXT

mle_2.text = sText
结果只能转换成功第一行(相同的8行),请指教我该怎么办?盼复。

...全文
215 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
rmh 2000-02-28
  • 打赏
  • 举报
回复
ls_string=mle_1.Text应该是ls_string=mid(mle_1.Text,37*(li_a - 1)+ 1)
ls_1=mid(ls_string,31,4)应该是ls_1=mid(ls_string,21,4)
losed 2000-02-28
  • 打赏
  • 举报
回复
在循环中
ls_string=mle_1.Text
的取值永远是第一行的数据
Kanfu 2000-02-28
  • 打赏
  • 举报
回复
自己跟踪调试一下,不就好了.
radish 2000-02-25
  • 打赏
  • 举报
回复
好久没用PB了,不知道说的对不对,我觉的是下面的第二行应要改在循环外,在循环内应该是读取第li_a的文本给LS_STRING
FOR li_a=1 TO li_line
ls_string=mle_1.Text
ls_1=mid(ls_string,31,4)

740

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧