ncrt_demo.pp 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. Program ncrt_demo;
  2. {---------------------------------------------------------------------------
  3. CncWare
  4. (c) Copyright 1999
  5. ---------------------------------------------------------------------------
  6. Filename..: ncrt_demo.pp
  7. Programmer: Ken J. Wright
  8. Date......: 11/22/99
  9. Purpose - Demonstrate the use of nCrt.
  10. -------------------------------<< REVISIONS >>--------------------------------
  11. Ver | Date | Prog | Description
  12. -------+----------+------+----------------------------------------------------
  13. 1.00 | 11/22/99 | kjw | Initial Release.
  14. ------------------------------------------------------------------------------
  15. }
  16. uses ncrt;
  17. var
  18. win,win1,
  19. stdscr : pwin;
  20. s : string;
  21. c : char;
  22. i,x,y : integer;
  23. Begin
  24. {---------------------------------------
  25. Initialize ncurses screen & keyboard.
  26. **** This MUST be called ****
  27. ---------------------------------------}
  28. if Not StartCurses(stdscr) then Begin
  29. writeln('ncurses failed to initialize');
  30. halt;
  31. End;
  32. nClrScr(stdscr,7);
  33. nDrawBox(btSingle,1,1,80,3,31);
  34. FWrite(27,2,30,0,'nCrt Demomstration Program');
  35. nNewWindow(win1,9,9,71,16);
  36. nWinColor(win1,95);
  37. nWriteScr(win1,3,2,95,'This is a background window.');
  38. nWriteScr(win1,10,3,95,'It was built first, then displayed later.');
  39. FWrite(1,24,15,80,'Enter some text, press [Enter]');
  40. nWindow(win,10,10,70,15);
  41. nClrScr(win,31);
  42. nGotoXY(win,1,1);
  43. nEcho(true);
  44. s := nReadln(win);
  45. FWrite(1,24,15,80,'Enter some more text, press [Enter]');
  46. nGotoXY(win,nWhereX(win),nWhereY(win));
  47. s := nReadln(win);
  48. FWrite(1,24,79,80,'Please wait...');
  49. nGotoXY(win,1,1);
  50. Delay(500);
  51. nDelLine(win);
  52. Delay(500);
  53. nInsLine(win);
  54. Delay(500);
  55. nFrame(win1);
  56. nRefresh(win1);
  57. Delay(4000);
  58. nRefresh(win);
  59. Delay(2000);
  60. ClrScr;
  61. FWrite(1,24,14,80,'Enter even more text, press [Enter]');
  62. s := nReadln(stdscr);
  63. nClrScr(win,47);
  64. FWrite(1,24,11,80,'Press some keys, followed by [Esc]');
  65. nGotoXY(win,5,1);
  66. x := nWhereX(win);
  67. y := nWhereY(win);
  68. i := 0;
  69. nEcho(false);
  70. repeat
  71. c := nReadkey(win);
  72. DelLine;
  73. inc(i);
  74. until (c = #27) or (i >= 8);
  75. While i > 0 Do Begin
  76. InsLine;
  77. dec(i);
  78. End;
  79. str(x:0,s);
  80. nWrite(win,'x = '+s+', ');
  81. str(y:0,s);
  82. nWrite(win,'y = '+s);
  83. nWriteln(stdscr,'press a key...');
  84. readkey;
  85. nDrawBox(btSingle,11,11,69,14,63);
  86. FWrite(30,11,79,49,' nCrt Demo Program');
  87. nDelWindow(win);
  88. nDelWindow(win1);
  89. nWindow(win,2,2,79,24);
  90. nFrame(stdscr);
  91. nFrame(win);
  92. nDelWindow(win);
  93. { close ncurses & release all data structures }
  94. EndCurses;
  95. End.