使用与\ n类似的东西,而不是在free pascal

时间:2018-05-05 09:24:38

标签: freepascal

procedure A();
//Do something useful    
WriteLn('This is a message');

procedure B();
//Do something else useful
WriteLn();                 //<---Empty WriteLn();
WriteLn('This is another message');

procedure C();
//Do something else useful
A();
B();
WriteLn();                 //<---Empty WriteLn();
WriteLn('This is another message from C');

这只是3个程序,我的程序有3个以上这样的程序......有没有办法让我不必把空的WriteLn(); (由于美学原因,在大多数程序中类似于h中的\ n)?

谢谢!

1 个答案:

答案 0 :(得分:0)

执行此操作的正确方法实际上是使用空Writeln。第二个最好的,也与平台无关的方法是使用类似的东西:

Writeln(sLineBreak + sLineBreak + 'This is another message');

sLineBreak在单位System,AFAIK中定义。

但是如果您已经认为使用空Writeln太多了,那么您可以在字符串中插入回车符和换行符,如下所示:

只需添加回车符(#13)/换行符(#10)组合:

procedure B();
begin
  //Do something else useful
  WriteLn(#13#10'This is another message');
end;

你甚至可以有多个这样的空行:

  Writeln(#13#10#13#10'Hello');
  Writeln('-----'#13#10#13#10);

非Windows

如果您使用的是非Windows平台,可能会#10(换行符)。大多数非Windows平台不需要回车。

FWIW,您可以使用#10而不是^J代替#13,而不是^M,您可以使用 Writeln(^M^J^M^J'Hello'); Writeln('-----'^M^J^M^J); 。这些是等价物:

^M

^J是Ctrl + M,其ASCII码为77 - 64 = 13! <DigestMethod/>是74 - 64 = 10.