Here is the framework of my program, at least the part where you can derive control from. I will not publish the entire program here, to keep the overview as simple as possible. Things unrelated to program control have been left out. But this should be enough to track down the error. I hope you can find it. Sincerely, Karel.
Code:
#pragma mode( separator(.,;) integer(h32) )
CURSORTOUCH(n,cx,cy);
START()
BEGIN
LOCAL N,input,exit,,cx,cy;
input:=−1; exit:=0;
REPEAT
input:=WAIT(−1);
CASE
IF N==0 THEN END;
IF TYPE(input)==6 THEN
CASE
IF input(1)==#0h THEN
cx:=B→R(input(2));
cy:=B→R(input(3));
END;
IF input(1)==#1h THEN
cx:=B→R(input(2));
cy:=B→R(input(3));
END;
IF input(1)==#2h THEN
END;
IF input(1)==#3h THEN
cx:=B→R(input(2));
cy:=B→R(input(3));
END;
IF input(1)==#4h THEN
cx:=B→R(input(2));
cy:=B→R(input(3));
END;
IF input(1)==#5h THEN
cx:=B→R(input(2));
cy:=B→R(input(3));
END;
IF input(1)==#6h THEN
cx:=B→R(input(2));
cy:=B→R(input(3));
END;
IF input(1)==#7h THEN
cx:=B→R(input(2));
cy:=B→R(input(3));
END;
END;
CURSORTOUCH(N,cx,cy);
END;
IF TYPE(input)==0 THEN
CASE
. . . // More IF THEN END statements
IF input==−1 THEN END;
IF input==19 THEN exit:=1 END;
. . . // More IF THEN END statements
IF input==37 THEN N:=4 END;
IF input==38 THEN N:=5 END;
IF input==39 THEN N:=6 END;
. . . // More IF THEN END statements
DEFAULT END;
END;
END;
CASE // Display section, This part manages the screen.
IF N==4 THEN . . . END;
IF N==5 THEN . . . END;
IF N==6 THEN . . . END;
END;
FREEZE;
UNTIL exit==1;
STARTVIEW(−4,1);
END;
CURSORTOUCH(n,cx,cy)
BEGIN
. . . // Part where x and y coordinates are processed.
END;