checkbox.pas 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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. App := TR_CreateAppTags([TRCA_Name,'Triton CheckBox',
  24. TRCA_Release,'1.0',
  25. TRCA_Date,'03-06-1998',
  26. TAG_DONE]);
  27. if App = nil then CleanUp('Can''t create application',20);
  28. ProjectStart;
  29. WindowID(1);
  30. WindowTitle('CheckBox');
  31. VertGroupA;
  32. Space;
  33. HorizGroupAC;
  34. Space;
  35. TextID('_CheckBox',10);
  36. Space;
  37. CheckBox(10);
  38. Space;
  39. EndGroup;
  40. Space;
  41. EndGroup;
  42. EndProject;
  43. Project := TR_OpenProject(App,@tritontags);
  44. IF Project = NIL THEN CleanUp('Can''t create Project',20);
  45. close_me := FALSE;
  46. WHILE NOT close_me DO BEGIN
  47. dummy := TR_Wait(App,0);
  48. REPEAT
  49. trmsg := TR_GetMsg(App);
  50. IF trmsg <> NIL THEN BEGIN
  51. IF (trmsg^.trm_Project = Project) THEN BEGIN
  52. CASE trmsg^.trm_Class OF
  53. TRMS_CLOSEWINDOW : begin
  54. if TR_GetCheckBox(Project,10) then
  55. writeln('CheckBox was on')
  56. else writeln('CheckBox was off');
  57. close_me := True;
  58. end;
  59. TRMS_ERROR: WriteLN(TR_GetErrorString(trmsg^.trm_Data));
  60. TRMS_NEWVALUE : begin
  61. IF trmsg^.trm_ID = 10 then begin
  62. if trmsg^.trm_Data = 0 then
  63. writeln('CheckBox off')
  64. else writeln('CheckBox on');
  65. end;
  66. end;
  67. END;
  68. END;
  69. TR_ReplyMsg(trmsg);
  70. END;
  71. UNTIL close_me OR (trmsg = NIL);
  72. END;
  73. CleanUp('',0);
  74. end.