2011-11-06 8 views
1

私は非常に簡単な質問があります。 Pascalで書かれている私のコードを見てのt:ページの中央に単語を表示 - Pascal

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

私はそれを行うにはどのように、ページの真ん中に「質問」単語を表示したいですか?このような

+0

画面の中央を意味しますか? – TridenT

+0

このコードを実行すると、コンソールアプリケーションが開き、背景が黒であることがわかります!私はこの黒い背景の真ん中にこの言葉を示したい:)どのような方法? – Nofuzy

答えて

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; 
+0

こんにちは、返信ありがとう、それは私にいくつかのエラーを与えた。 1-識別子が見つかりませんTCONSOLESCREENBUFFERINFO 2-識別子が見つかりませんTCOORD。だから何をすべきか? – Nofuzy

+0

'はWindows、SysUtilsを使用します。 –

+0

ありがとう、完成しました:) – Nofuzy

1

あなたは私のConsoleユニットを試みることができます。それはこれといくつかのことをもっと行います。それは機能を表示する簡単なデモが付属しています。

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. 

希望に役立ちます。

+0

こんにちは、あなたも以前の回答の前のコードと同じように小さなコードです。 Well Done Man;) – Nofuzy

+1

FWIW、Delphi用のCRTユニットはありません。しかし私のコンソールユニットは可能な限りそれを模倣しています。 –

関連する問題