使用一些额外的文本将数据窗口保存为powerbuilder中的文本

时间:2012-10-31 11:34:56

标签: text powerbuilder save-as datawindow

***Process Date From:           
01/05/2012 0:00         
Group;Member        

 Status:****            
 Rcp Cd    Health Num        Rcp Name          Rcp Dob
1042231         1                  MARIA TOVAR DIAS 14-Feb-05
1042256         2                  KHALID KHAN      04-Mar-70
1042257         3                  SAMREEN ISMAT    25-Mar-80
1042257         5                  SAMREEN ISMAT    25-Mar-80
1042257         4                  SAMREEN ISMAT    25-Mar-80

我希望我的Powerbuilder数据窗口另存为文本看起来像这样粗体文本是要添加的附加文本,其余是当前保存为文本结果。

3 个答案:

答案 0 :(得分:2)

文本文件不能包含格式。无法在纯文本文件中获取粗体文本。我建议将文本添加到数据窗口标题区域(粗体,使用表达式以确保它仅显示在第一页上),然后将结果保存为HTML。

答案 1 :(得分:1)

好吧,你没有提到你正在使用哪个版本的PB,所以我假设最近有一个版本,在这种情况下你有一些更好的选择,比如 SaveAsAscii 和/或 SaveAsFormattedText ,可以更灵活地显示列标题,计算字段等。

如果要添加顶部,我会向数据对象添加一个或多个其他虚拟列(或计算字段)以获取其他数据。然后在计算字段中检索,或通过表达式后手动填充虚拟列。您可以将所有内容放在一个包装的计算字段中,或者使用四个不同的字段(例如process_date_label,process_datetime,group_status,status)。

两个较新版本的SaveAs将更好地为您工作,因为它们显示列标题值而不是列标题名称。 SaveAsAscii很早就出现在PowerBuilder的第7版附近。 SaveAsFormattedText是相对较新的,在PB版本11附近出现,它很像SaveAsAscii,但它允许你选择文件编码。

如果您需要更详细的详细信息,请告诉我,但我相信您可以使用SaveAsAscii和额外的列来获得一些工作。

答案 2 :(得分:0)

伪码

Do the SaveAs to temp file
Open the temp file for read in line mode
Open output file for write (replace) in line mode 
Write your additional text lines to the output file (note: you can include CRLF to
write multiple lines at once)
Loop:
  Read line from temp file
  If EOF exit loop. Note: 0 is not EOF, -100 is EOF
  Write line to output file
Close temp file, output file
Delete temp file