textmess.pp 992 B

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