textmess.tex 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. \begin{FPCList}
  2. \item[Example]
  3. \begin{verbatim}
  4. Program textmess;
  5. uses crt, go32;
  6. const columns = 80;
  7. rows = 25;
  8. screensize = rows*columns*2;
  9. text = '! Hello world !';
  10. var textofs : Longint;
  11. save_screen : array[0..screensize-1] of byte;
  12. curx, cury : Integer;
  13. begin
  14. randomize;
  15. dosmemget($B800, 0, save_screen, screensize);
  16. curx := wherex; cury := wherey;
  17. gotoxy(1, 1); Write(text);
  18. textofs := screensize + length(text)*2;
  19. dosmemmove($B800, 0, $B800, textofs, length(text)*2);
  20. dosmemfillchar($B800, 0, screensize, #0);
  21. while (not keypressed) do
  22. begin
  23. dosmemfillchar($B800,
  24. textofs + random(length(text))*2 + 1,
  25. 1, char(random(255)));
  26. dosmemmove($B800, textofs, $B800,
  27. random(columns)*2+random(rows)*columns*2,
  28. length(text)*2);
  29. delay(1);
  30. end;
  31. readkey;
  32. readkey;
  33. dosmemput($B800, 0, save_screen, screensize);
  34. gotoxy(curx, cury);
  35. end.\end{verbatim}
  36. \end{FPCList}