I've written some simple source code for testing and retraining myself. It works completely nad properly in the CLI IDE, but, while it is EXACTLY the same in the GUI (Lazarus) IDE and compiles, it does not show the output. Here's the code.
PROGRAM Test_While ;
VAR
x, y : INTEGER;
PROCEDURE Loop(inner, outer: INTEGER) ;
VAR
inner1 : INTEGER ;
BEGIN
WHILE outer > 0 DO
BEGIN
inner1 := inner ;
WHILE inner1 > 0 DO
BEGIN
WRITE('outer = ', outer);
WRITELN(' inner = ', inner1);
inner1 := inner1 -1 ;
END ;
outer := outer - 1 ;
END ;
END ;
BEGIN
x := 4;
y := 7;
Loop(x,y);
READLN ;
END.