在页面中间显示一个单词 - Pascal

时间:2011-11-06 09:37:33

标签: delphi pascal

我有一个非常简单的问题。看看我用Pascal编写的代码:

Program Example;
Begin
Writeln('Question');
Readln;
End.

我想在Page中间显示“Question”字样,怎么做?

3 个答案:

答案 0 :(得分:6)

也许是这样的(我假设你实际上使用的是Delphi或兼容的东西):

var
  csbi: TConsoleScreenBufferInfo;
  crd: TCoord;
  h: THandle;

const
  S = 'Hello World!';

begin
  h := GetStdHandle(STD_OUTPUT_HANDLE);
  GetConsoleScreenBufferInfo(h, csbi);
  crd.Y := csbi.dwSize.Y div 2;
  crd.X := (csbi.dwSize.X - length(S)) div 2;
  SetConsoleCursorPosition(h, crd);
  Write(S);
  Readln;

答案 1 :(得分:1)

您可以试用我的Console单元。它会做到这一点以及更多的事情。它附带一个显示功能的简单演示。

答案 2 :(得分:1)

如果您使用80列25行(行)的控制台模式,则可以更轻松地完成。不需要花哨的代码,只需假设第12行(因为25 div 2是12.5,我使用12)。请注意,我只是使用Borland Pascal ...

Uses CRT;

Const
  YourText = 'Hello World!';

Begin
  GotoXY(40 - Length(YourText) div 2, 12);
  WriteLn(YourText);
End.

希望有所帮助。