我有一个非常简单的问题。看看我用Pascal编写的代码:
Program Example;
Begin
Writeln('Question');
Readln;
End.
我想在Page中间显示“Question”字样,怎么做?
答案 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.
希望有所帮助。