» 重要的是我们没必要关心是装饰ttextfile ,还是tlineprinter }
» if converttouppercase then
» result := tuppercasefilter.create(result, true);
end;
procedure tclient.listcontents;
var
t: ttextstream;
begin
t := createoutput;
{ 在这里,我们并不知道是否使用了装饰}
try
{往t写内容 }
t.writeline('contents');
finally
t.free;
end;
end;