[Back to SCREEN SWAG index] [Back to Main SWAG index] [Original]

    {
     SO> Got a question For you all out there..... How the heck can I Write a
     SO> Character  into the bottom right corner of a Window without the Window
     SO> scrolling?
     SO>
     SO> if anyone knows some way to keep the Write command from Forwarding the
     SO> cursor  position Pointer, that would be fine enough For me.....

    Sean, here is a way to do it without resorting to poking the screen.
    }

    {$A+,B+,D+,E-,F+,G-,I+,L+,N-,O+,P+,Q+,R+,S+,T-,V-,X+,Y+}
    {$M 8192,0,0}

    Uses
      Crt;
    Var
      index1, Index2: Byte;

    begin
      ClrScr;

    {******************************************
     First Write top line of bordered display
    ******************************************}

      Write ('É');                     {Write top Left Corner}
      For Index1 := 1 to 78 do         {Write top Horizontal line }
        Write ('Í');
      Write ('»');                     {Write top Right Corner}

    {*******************************************
     Now Write Bottom line of bordered display
    *******************************************}

      Write ('È');                     {Write Bottom Left Corner}
      For Index1 := 1 to 78 do         {Write Bottom horizontal line}
        Write ('Í');
      Write ('¼');                     {Write Bottom Right Corner}

    {********************************************************************
     Now inSERT 23 lines of Left&Right bordered display, pushing bottom
     line down as we do
    ********************************************************************}

      For Index1 := 1 to 23 do begin   { Repeat 23 times }
        GotoXY (1, 2);                 {Move cursor back to Col 1, Line 2}
        InsLine;                       {Insert blank line (Scroll Text down)}
        Write ('º');                   {Write Left border vertical caracter}
        For Index2 := 1 to 78 do       {Write 78 spaces}
          Write (' ');
        Write ('º');                   {Write Right border vertical caracter}
      end;

    {***********************************************************
     I added this so the Program would pause For a key. This way
     it will allow you to see that it does not scroll up since
     the cursor never Writes to position 25,80
    ***********************************************************}

      Asm                              {Assembler code to flush keyboard}
        mov Ax, 0C00h;
        Int 21h;
      end;
      ReadKey ;                        {Wait For a keypress}

    end.

    {
    BTW, this was written, Compiled and Tested in BP 7.0 but should work in
    TP 4.0 and up if you remove the Assembler stuff.
    }

[Back to SCREEN SWAG index] [Back to Main SWAG index] [Original]