#99 Article 442 Posted at 1992/09/15 01:40:38 by Mai (MAP2260) [Q.PASCAL]

Subject: Re:*10 まだ登録書も出してないパスカルの質問。 /441 .... /433 /432

えーと、ちゃいさん&桑野さんのご指摘の通りですね。
Turbo-Pascalの場合(標準Pascalもそうなのかもしれませんが、私はTPしか
使ったことが無いので)、Unit節では、使用するユニットを宣言するだけで、
どの手続きを使うかを指定する必要はありません。

CとかMASMとかのextrn宣言とはこの辺が違います。
あと、ドキュメントを慌てて書いたのでいまいち分かりにくかったのかもしれませんが
  P := 0;
  P := 1;
  P := 0;
  P := 1;
  P := 0;
  P := 1;

  中略(笑)

  P := 0;
  P := 1;

では、disppageは呼出されません。
桑野さんのご指摘通り、
  InitGDC;
  GrON;
  DispPage(0);
  DispPage(1);
  DispPage(0);
ってな感じでいいと思います。

ただ、disppage自体が、vsyncとかを見て同期を取ってませんので、お望みの結果は
得られないと思います。
あと、マシンにもよりますが、遅い機械だとTPで書いても1/60秒での書き換えは
苦しいかもしれません。
(やったことないから自信無いけど。)
まあ、その辺を考えず、単に表/裏の表示切り替えをするのなら、
program dpc;

uses Vram;

begin
  InitGDC;
  GrON;
  while true do begin
    DispPage(0);
    DispPage(1);
  end;
end.

みたいになると思います。
(実際にこれを実行すると、無限ループに入って止まらなくなっちゃいます。(^_^;))

Mai