slider.pas 2.5 KB

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