Program ANSIThing;

{
	This program demonstrates a few of the features of the console
    made possible by ANSI codes.
}

    Procedure Delay(f : Integer);
	External;
    Function strlen(s : String) : Integer;
	External;

procedure GotoXY(x, y : Short);
begin
    Write('\c', y, ';', x, 'H');
end;

Procedure ClrEOL;
begin
    Write('\cK');
end;

Procedure ClrScr;
begin
{
    GotoXY(1, 1);
    Write('\cJ');
}
    Write(Chr(12));
end;

Procedure Insert(s : String);
begin
    Write('\c', StrLen(s), Chr($40));
    Write(s);
end;

var
    I : integer;
begin
    GotoXY(50, 12);
    Delay(20);
    GotoXY(60, 14);
    Delay(20);
    GotoXY(4, 4);
    Delay(20);
    GotoXY(1,1);
    for I := 1 to 20 do
	Writeln('This is thejlasdflskajdflsadjflsakjdfsldjf');
    for I := 1 to 20 do begin
	GotoXY(5, I);
	Delay(20);
	ClrEOL;
	Delay(20);
    end;
    ClrScr;
    Delay(20);
    for I := 1 to 20 do
	Writeln('ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890');
    Delay(20);
    for I := 1 to 8 do begin
	GotoXY(4,4);
	Delay(20);
	Insert("Froombaba");
    end;
    Delay(20);
    GotoXY(1,21);
end.
