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的情况下起作用。

最佳答案

您的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;

关于graphics - Pascal得到了预期的短字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13444948/

10-12 04:15