帕斯卡得到了预期的短字

时间:2012-11-18 21:44:57

标签: graphics syntax-error pascal

program MouseInput;
Uses WinCrt,WinMouse, Graph;
Var
   GraphicsDriver, GraphicsMode,
   ErrCode : smallint;
   x, y: shortstring;

Begin
x:=GetMouseX;
Y:=GetMouseY;

     Writeln('Initialising Graphics, please wait...');
     GraphicsDriver := Detect;
     InitGraph(GraphicsDriver, GraphicsMode,'');
     GetmouseX();
     GetmouseY();
     OuttextXY(0,0,x);
     readln();
end.

它给我错误: 23/20 mouse.pas  错误:不兼容的类型:得到“WORD”预期“SHORTSTRING” 但我不知道如何改变它,因此GetmouseX需要成为Word。

2 个答案:

答案 0 :(得分:1)

将X,Y更改为单词并将outtextxy行更改为

      OuttextXY(0,0,inttostr(x));

确保“sysutils”在您的使用条款

答案 1 :(得分:0)

你的GetMouseX和GetMouseY函数没有返回结果,你调用它们的地方没有读取结果,我以为你会因为自己调用而得到堆栈溢出错误(或者这是编译错误)。

刚刚看到paulsm的评论(我记不起Turbo Pascal函数)我认为你的代码应该是这样的:

 InitGraph(GraphicsDriver, GraphicsMode,'');
 x := GetmouseX();
 y := GetmouseY();
 OuttextXY(0,0,x);

来自Your link

InitGraph(GraphicsDriver, GraphicsMode,'');
InitMouse;
x := GetmouseX;
y := GetmouseY;