checkbox.pas 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. PROGRAM CheckBoxGad;
  2. uses triton, tritonmacros, utility;
  3. {
  4. A demo in FPC Pascal using triton.library
  5. Updated for fpc 1.0.7
  6. 09 Jan 2003
  7. [email protected]
  8. }
  9. VAR
  10. App : pTR_App;
  11. Project : pTR_Project;
  12. close_me : BOOLEAN;
  13. trmsg : pTR_Message;
  14. dummy : Longint;
  15. procedure CleanUp(why : string; err : longint);
  16. begin
  17. if assigned(Project) then TR_CloseProject(Project);
  18. if assigned(App) then TR_DeleteApp(App);
  19. if why <> '' then writeln(why);
  20. halt(err);
  21. end;
  22. begin
  23. if not Assigned(TritonBase) then
  24. begin
  25. writeln('cannot open ' + TRITONNAME);
  26. Halt(5);
  27. end;
  28. App := TR_CreateAppTags([TRCA_Name, AsTag('Triton CheckBox'),
  29. TRCA_Release, AsTag('1.0'),
  30. TRCA_Date, AsTag('03-06-1998'),
  31. TAG_DONE]);
  32. if App = nil then CleanUp('Can''t create application',20);
  33. ProjectStart;
  34. WindowID(1);
  35. WindowTitle('CheckBox');
  36. VertGroupA;
  37. Space;
  38. HorizGroupAC;
  39. Space;
  40. TextID('_CheckBox',10);
  41. Space;
  42. CheckBox(10);
  43. Space;
  44. EndGroup;
  45. Space;
  46. EndGroup;
  47. EndProject;
  48. Project := TR_OpenProject(App,@tritontags);
  49. IF Project = NIL THEN CleanUp('Can''t create Project',20);
  50. close_me := FALSE;
  51. WHILE NOT close_me DO BEGIN
  52. dummy := TR_Wait(App,0);
  53. REPEAT
  54. trmsg := TR_GetMsg(App);
  55. IF trmsg <> NIL THEN BEGIN
  56. IF (trmsg^.trm_Project = Project) THEN BEGIN
  57. CASE trmsg^.trm_Class OF
  58. TRMS_CLOSEWINDOW : begin
  59. if TR_GetCheckBox(Project,10) then
  60. writeln('CheckBox was on')
  61. else
  62. writeln('CheckBox was off');
  63. close_me := True;
  64. end;
  65. TRMS_ERROR: WriteLN(TR_GetErrorString(trmsg^.trm_Data));
  66. TRMS_NEWVALUE : begin
  67. IF trmsg^.trm_ID = 10 then begin
  68. if trmsg^.trm_Data = 0 then
  69. writeln('CheckBox off')
  70. else
  71. writeln('CheckBox on');
  72. end;
  73. end;
  74. END;
  75. END;
  76. TR_ReplyMsg(trmsg);
  77. END;
  78. UNTIL close_me OR (trmsg = NIL);
  79. END;
  80. CleanUp('',0);
  81. end.