string.pas 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. PROGRAM Stringtest;
  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. App : pTR_App;
  15. begin
  16. if not Assigned(TritonBase) then
  17. begin
  18. writeln('cannot open ' + TRITONNAME);
  19. Halt(5);
  20. end;
  21. App := TR_CreateAppTags([
  22. TRCA_Name, AsTag('Triton String Demo'),
  23. TRCA_Release, AsTag('1.0'),
  24. TRCA_Date, AsTag('03-06-1998'),
  25. TAG_DONE]);
  26. if App <> nil then begin
  27. ProjectStart;
  28. WindowID(1);
  29. WindowTitle('String');
  30. VertGroupA;
  31. Space;
  32. HorizGroupAC;
  33. Space;
  34. TextID('_String',3);
  35. Space;
  36. StringGadget('Please change',3);
  37. Space;
  38. EndGroup;
  39. Space;
  40. EndGroup;
  41. EndProject;
  42. Project := TR_OpenProject(App,@tritontags);
  43. IF Project <> NIL THEN BEGIN
  44. close_me := FALSE;
  45. WHILE NOT close_me DO BEGIN
  46. dummy := TR_Wait(App,0);
  47. REPEAT
  48. trmsg := TR_GetMsg(App);
  49. IF trmsg <> NIL THEN BEGIN
  50. IF (trmsg^.trm_Project = Project) THEN BEGIN
  51. CASE trmsg^.trm_Class OF
  52. TRMS_CLOSEWINDOW : begin
  53. writeln('The text was: ',TR_GetString(Project,3));
  54. close_me := True;
  55. end;
  56. TRMS_ERROR: WriteLN(TR_GetErrorString(trmsg^.trm_Data));
  57. TRMS_NEWVALUE : IF trmsg^.trm_ID = 3 then writeln('<RETURN> or <TAB> was pressed in stringgadget');
  58. END;
  59. END;
  60. TR_ReplyMsg(trmsg);
  61. END;
  62. UNTIL close_me OR (trmsg = NIL);
  63. END;
  64. TR_CloseProject(Project);
  65. end;
  66. TR_DeleteApp(App);
  67. END ELSE writeln('Can''t create application');
  68. end.