MEMO的中使文本对齐问题(50分)

  • 主题发起人 主题发起人 okjc
  • 开始时间 开始时间
O

okjc

Unregistered / Unconfirmed
GUEST, unregistred user!
在数据表中的查询多列结果放到MEMO中,使每列上下对齐,字符长度不等,我想用空字符填补,但我不知道
空字符的ANSI是多少,请指教。
 
何谓空字符的ansi?是空字符的asc吧,如果是呢我告诉你是032,我的想法是你应该确定最长的
字符查询结果然后依次和其他的结果进行减,然后加上该家的空格了,不知道你要的是不是这意
思,主要是没明白你的意思。
 
可否按字段长确定各列宽度,小于的用‘ ’补齐,
memo.Lines.Add(str1+str2+...),按列对齐,在memo中可实现。
如果将查询结果输入到word表中应该很好。
 
linsb你说的方法,我也是这样想,但具体一个字段的每个纪录长度不一样,有的需要补一个‘ ’有的需要
补3个‘ ’,具体用什么方法,另外能不能加上网格。
 
用Format就可以了。。。看看Help吧。。

将内容格式化输出。。。
 
给一个例子供参考:
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
i, j: Integer;
f: array[0..1] of byte;
str: array[0..1] of string;
begin
f[0] := 1;
f[1] := 10;
with table1 do begin
open;
first;
while not eof do begin
s := '';
for i := 0 to 1 do begin
str := fields.asstring;
for j := 1 to (f - length(str) + 2) do
str := str + ' ';
s := s + str;
end;
memo1.lines.add(s);
next;
end;
end;
end;
 
使每列上下对齐是怎么样啊?加回车符号不就上下对齐了吗
 
多人接受答案了。
 
后退
顶部