format 怎么不行? 看我的程序.
procedure TForm1.Button1Click(Sender: TObject);
var
s1: string;
s2: string;
begin
s1 := format('%-20s', ['str']);
s2 := format('%-20s', ['stsfdr']);
Memo1.Lines.Add(s1 + s2);
Memo1.Lines.Add(IntToStr(Length(s1)) + ' ' + IntToStr(Length(s2)));
end;
procedure TForm1.Button2Click(Sender: TObject);
var
s1, s2: string;
begin
s1 := format('%-20s', ['stsfdsr']);
s2 := format('%-20s', ['sr']);
Memo1.Lines.Add(s1 + s2);
Memo1.Lines.Add(IntToStr(Length(s1)) + ' ' + IntToStr(Length(s2)));
end;
其中不对齐是因为字体的缘故, 不是等长字体, 只要选一种是等长字体就可以了.
(我不知道等长字体的名字叫什么).