home *** CD-ROM | disk | FTP | other *** search
- {
- >It's just a Fileviewer, I'm working on. I just want to be able to
- >scroll the File up, down, etc.
- }
-
- Program ScrollDemo;
- Uses
- Crt;
- Type
- UpDown = (Up, Down);
- { Scroll Text screen up or down. }
-
- Procedure Scroll({input } Direction : UpDown;
- Lines2Scroll,
- Rowtop,
- RowBot,
- ColStart,
- ColStop,
- FillAttr : Byte);
- begin
- if (Direction = Up) then
- Asm
- mov ah, 06h
- mov al, Lines2Scroll
- mov bh, FillAttr
- mov ch, Rowtop
- mov cl, ColStart
- mov dh, RowBot
- mov dl, ColStop
- int 10h
- end
- else
- Asm
- mov ah, 07h
- mov al, Lines2Scroll
- mov bh, FillAttr
- mov ch, Rowtop
- mov cl, ColStart
- mov dh, RowBot
- mov dl, ColStop
- int 10h
- end
- end; { Scroll }
-
- { Pause For a key press. }
- Procedure Pause;
- Var
- chTemp : Char;
- begin
- While KeyPressed do
- chTemp := ReadKey;
- Repeat Until(KeyPressed)
- end; { Pause }
-
- Var
- Index : Byte;
- stTemp : String[80];
- begin
- ClrScr;
- { Display 24 lines of Text. }
- For Index := 1 to 24 do
- begin
- stTemp[0] := #80;
- fillChar(stTemp[1], length(stTemp), (Index + 64));
- Write(stTemp)
- end;
- { Pause For a key press. }
- Pause;
- { Scroll Text down by 1 line. Use the Crt's Textattr }
- { Variable as the Text color to fill with. }
- Scroll(Down, 1, 0, 24, 0, 79, Textattr);
- { Pause For a key press. }
- Pause;
- { Scroll Text up by 1 line. Use the Crt's Textattr }
- { Variable as the Text color to fill with. }
- Scroll(Up, 1, 0, 24, 0, 79, Textattr);
- { Pause For a key press. }
- Pause
- end.