关于Pascal中GotoXY的一个问题

来源:百度知道 编辑:UC知道 时间:2024/09/28 10:30:01
在Free Pascal中,需要多次用到GotoXY过程并在光标位置打印文字,但所打印出的内容却并不在要求的位置?这是为什么?谢谢
我的输入:
program test;
uses crt;
begin
clrscr;
gotoXY(2,10);
write('Pascal');
writeln;
gotoXY(5,39);
write('Pascal');
readln;
end.
输出:
第9行:一个空格和“Pascal”
第10行:“Pascal”

实际上goto语句是一种无条件转向语句,其格式为goto 标号。当执行这一句goto语句时他就直接跳到有对应标号的那一句。如:
begin
a:=5;
goto n;
writeln(a);
n:a:=10;
end.
得到的结果是10,上程序运行顺序如下:a:=5;goto n;n:a:=a10;writeln(a);

gotoXY(2,10); {2,10表示把光标移动到x=2,y=10的位置}
write('Pascal'); {表示从光标所在的位置开始打印Pascal}
writeln;
gotoXY(5,39); {把光标移动到x=5,y=39}
write('Pascal');
readln;

第9行:一个空格和“Pascal”
第10行:“Pascal”
应该把上面的内容改为:
gotoxy(2,9);write('Pascal');
gotoxy(1,10);write('Pascal');

gotoXY(2,10); {2,10表示把光标移动到x=2,y=10的位置}
write('Pascal'); {表示从光标所在的位置开始打印Pascal}
writeln;
gotoXY(5,39); {把光标移动到x=5,y=39}
write('Pascal');
readln;

第9行:一个空格和“Pascal”
第10行:“Pascal”
应该把上面的内容改为:
gotoxy(2,9);write('Pascal');
gotoxy(1,10);write('Pascal');

括号内的第一个数为横轴 X,第二个数为纵轴 Y.

不知道你的pascal是哪一版的?
如果是free pascal可以试试用
go30v2版的fp.e