0
***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 数据窗口另存为文本看起来像这样粗体文本是要添加的附加文本,其余文本是当前另存为文本结果。

4

3 回答 3

2

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

于 2012-10-31T14:37:35.637 回答
1

好吧,您没有提到您使用的是哪个版本的 PB,所以我假设是最近的版本,在这种情况下,您有一些更好的选项,例如SaveAscii和/或SaveAsFormattedText,它们在显示列标题、计算字段时提供了更大的灵活性,等等

如果您想添加顶部部分,我会在您的数据对象中添加一个或多个额外的虚拟列(或计算字段)以获取额外的数据。然后在检索后手动填充虚拟列,或者通过计算字段中的表达式。您可以将所有这些放在一个计算域中,或者使用四个不同的计算域(例如 process_date_label、process_datetime、group_status、status)。

两个较新版本的 SaveAs 将更适合您,因为它们显示列标题值而不是列标题名称。SaveAscii 很早就在 PowerBuilder 版本 7 附近出现。SaveAsFormattedText 相对较新,大约在 PB 版本 11 左右出现,它与 SaveAsAscii 很相似,但它允许您选择文件编码。

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

于 2012-10-31T19:50:43.223 回答
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
于 2012-11-02T17:52:06.583 回答