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。
答案 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;