home *** CD-ROM | disk | FTP | other *** search
- {
- Author : BERNIE PALLEK
-
- > Thanks to those of you who have been answering my question about
- > writing to the last position on the far right bottom of the screen.
- > As you will recall, the trouble I had was that when you Write to that
- > position (position 80, line 25) using a Write (not a Writeln) statement
-
- Another solution would be to create a Procedure that directly Writes to the
- video ram, like this:
- }
-
- Const
- vidSeg = $B800; { $B000 For monochrome monitors }
-
- Procedure WriteAt(x1, y1 : Byte; msg : String);
- Var
- i : Integer;
- begin
- For i := 1 to Length(msg) do
- Mem[vidSeg : (x1 + i - 1) * 2 + (y1 - 1) * 160] := msg[i];
- end;
-
- {
- This will change the Text on any place on the screen, disregarding the cursor
- position. Be careful, though! if you Write a message With, say, 20
- Characters, and start it at 80, 25, only the first letter will be visible, and
- the rest of the String will over-Write other areas of ram, which could cause
- mayhem! Use With caution!
- }