2
0

AnsiConsole.pp 900 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. program AnsiConsole;
  2. {$mode objfpc}
  3. uses
  4. ctypes, nds9;
  5. var
  6. keys: integer;
  7. begin
  8. consoleDemoInit();
  9. // ansi escape sequence to clear screen and home cursor
  10. // #27 + [line;columnH
  11. iprintf(#27 + '[2J');
  12. // ansi escape sequence to set print co-ordinates
  13. // #27 + [line;columnH
  14. iprintf(#27 + '[10;10H' + 'Hello World!');
  15. // ansi escape sequence to move cursor up
  16. // #27 + [linesA
  17. iprintf(#27 + '[10A' + 'Line 0');
  18. // ansi escape sequence to move cursor left
  19. // #27 + [columnsD
  20. iprintf(#27 + '[28D' + 'Column 0');
  21. // ansi escape sequence to move cursor down
  22. // #27 + [linesB
  23. iprintf(#27 + '[19B' + 'Line 19');
  24. // ansi escape sequence to move cursor right
  25. // #27 + [columnsC
  26. iprintf(#27 + '[5C' + 'Column 20');
  27. while true do
  28. begin
  29. swiWaitForVBlank();
  30. scanKeys();
  31. keys := keysDown();
  32. if (keys and KEY_START) <> 0 then break;
  33. end;
  34. end.