home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Exec 3 / CD_Magazyn_EXEC_nr_3.iso / Recent / biz / swood / FW_AllInOne.lha / Makros / TabSchrift < prev    next >
Text File  |  1998-02-26  |  6KB  |  231 lines

  1. /* Optimized with RexxOpt 1.7 */
  2.  
  3. Parse ARG FW
  4. if ~show('L',"rexxreqtools.library") then
  5. if ~addlib('rexxreqtools.library',0,-30,0) then;do
  6. 'ShowMessage 1 1 "Fehler...." "Benötige Libs:rexxreqtools.library" " A B B R U C H ! !" "Okay" "" ""'
  7. exit
  8. end
  9. IF ~show('L','tritonrexx.library') then
  10. IF ~ADDLIB('tritonrexx.library',10,-30,0) THEN;DO
  11. 'ShowMessage 2 1 "Fehler...." "Benötige Libs:tritonrexx.library" "" "Abbruch" "" ""'
  12. exit
  13. END
  14. R='0A'X
  15. If FW='' then;do
  16. Address='FinalW'
  17. Options results
  18. STATUS PORTNAME
  19. FW=result
  20. End
  21. address(FW)
  22. SIGNAL ON SYNTAX
  23. address "REXX"
  24. If open('Hilfe',"S:FW_Paket.prefs","R") then;do
  25. HilfeVerz=readln('Hilfe')
  26. Call Close('Hilfe')
  27. End
  28. else HilfeVerz=''
  29. If open('pref','S:FW_TabSchrift.prefs','R')~=0 then;do
  30. fo=readln('pref')
  31. si=readln('pref')
  32. ausrichtung=readln('pref')
  33. Call close('pref')
  34. END
  35. else;do
  36. fo="SoftSans";si=12;ausrichtung=1
  37. END
  38. pos=max(index(fo,':'),lastpos('/',fo))
  39. If pos~=0 then fond=Delstr(fo,1,pos)
  40. else fond=fo
  41. ausrichtung.0=5
  42. ausrichtung.1='  -----'
  43. ausrichtung.2='  links'
  44. ausrichtung.3='zentriert'
  45. ausrichtung.4=' rechts'
  46. ausrichtung.5='Blocksatz'
  47. apptags='TRCA_Name     TabSchrift',
  48. 'TRCA_LongName "Schrift einer Tabelle"',
  49. 'TRCA_Info     "Makro für Finalwriter"',
  50. 'TRCA_Version  "1.0 registered"',
  51. 'TRCA_Release  "3"',
  52. 'TRCA_Date     "09.01.98"',
  53. 'TAG_END'
  54. windowtags=WindowID(1),
  55. WindowPosition('TRWP_CENTERDISPLAY'),
  56. WindowFlags('TRWF_NOMINTEXTWIDTH'),
  57. PubScreenName('FinalWriterPubScreen'),
  58. WindowTitle('Tabellenschrift'),
  59. BeginMenu('Projekt'),
  60. MenuItem('Q_Verlassen',104),
  61. BeginMenu('?'),
  62. MenuItem('?_Info',101),
  63. MenuItem('H_Hilfe',103),
  64. 'HorizGroupAC',
  65. 'SpaceS',
  66. 'VertGroupA SpaceS',
  67. 'HorizGroupAC',
  68. TextID('S_chriftart:',1),
  69. 'SpaceS',
  70. GetEntryButton(1),
  71. StringGadget(fond,2),
  72. 'EndGroup',
  73. 'HorizGroupAC',
  74. TextID('Schrift_größe:',3),
  75. 'SpaceS',
  76. StringGadget(si,3),
  77. 'EndGroup',
  78. 'HorizGroupAC',
  79. TextID('Aus_richtung:',4),
  80. 'SpaceS',
  81. CycleGadget('ausrichtung',ausrichtung-1,4) 'TRAT_Flags TRCY_RIGHTLABELS',
  82. 'EndGroup',
  83. 'SpaceS',
  84. 'HorizSeparator',
  85. 'SpaceS',
  86. 'HorizGroupEC',
  87. Button('_Anwenden',10),
  88. 'SpaceS',
  89. Button('Ab_bruch',20),
  90. 'EndGroup SpaceS',
  91. 'EndGroup SpaceS',
  92. 'EndGroup SpaceS',
  93. 'EndProject'
  94. app=TR_CREATEAPP('TRCA_Name TabSchrift')
  95. IF app ~='00000000'x THEN;DO
  96. window=TR_OPENPROJECT(app,windowtags)
  97. IF window ~='00000000'x THEN;DO
  98. ende=0
  99. DO WHILE ~ende
  100. CALL TR_WAIT(app,'')
  101. DO WHILE TR_HANDLEMSG(app,'event')
  102. IF event.trm_class='TRMS_CLOSEWINDOW' THEN ende=1
  103. IF event.trm_class='TRMS_NEWVALUE' THEN;DO
  104. SELECT
  105. WHEN event.trm_id=4 THEN ausrichtung=event.trm_data+1
  106. OTHERWISE NOP
  107. END
  108. END
  109. IF event.trm_class='TRMS_ACTION' THEN;DO
  110. SELECT
  111. WHEN event.trm_id=1 THEN;Do
  112. fond=rtfilerequest("FWFonts/SWOLFonts",,"Font auswählen...",,"rt_pubscrname=FinalWriterPubScreen")
  113. if fond~='' then;do
  114. fo=fond
  115. pos=max(index(fond,':'),lastpos('/',fond))
  116. If pos~=0 then fond=Delstr(fond,1,pos)
  117. CALL TR_SETATTRIBUTE(window,2,'TROB_String',fond)
  118. End
  119. END
  120. WHEN event.trm_id=10 THEN;Do
  121. Call Auslesen
  122. if okay=1 then;do
  123. Call program
  124. address "REXX"
  125. Call Open("prefs","s:FW_TabSchrift.prefs","W")
  126. Writeln('prefs',fo)
  127. Writeln('prefs',si)
  128. Writeln('prefs',ausrichtung)
  129. Call Close("prefs")
  130. End
  131. END
  132. WHEN event.trm_id=20 THEN ende=1
  133. WHEN event.trm_id=101 THEN Call rtezrequest("Aus dem Makro-Paket:"||R||R||"Tabellenschrift V1.0 für FW"||R||"© 1998 Heiko Schröder","Danke für Ihre Registrierung.","Info","rt_pubscrname=FinalWriterPubScreen")
  134. WHEN event.trm_id=103 THEN address command "run Multiview PUBSCREEN=FinalWriterPubScreen "||d2c(34)||HilfeVerz||"TabSchrift.guide"||d2c(34)
  135. WHEN event.trm_id=104 THEN ende=1
  136. OTHERWISE NOP
  137. END
  138. END
  139. END
  140. END
  141. CALL TR_CLOSEPROJECT(window)
  142. END
  143. CALL TR_DELETEAPP(app)
  144. END
  145. ELSE
  146. CALL quit('Kann das Fenster nicht öffnen',10)
  147. Exit
  148. Auslesen:
  149. okay=0
  150. xy=TR_GETATTRIBUTE(window,2,'TROB_String')
  151. If xy='' then;do
  152. fo='';fond=''
  153. End
  154. si=TR_GETATTRIBUTE(window,3,'TROB_String')
  155. Select
  156. When si='' then NOP
  157. When Datatype(si,'W')=0 then;do
  158. x=rtezrequest("Die SCHRIFTGRÖßE bitte ganzzahlig angeben!","_Achso","Eingabe-Fehler","rt_pubscrname=FinalWriterPubScreen")
  159. Call TR_SendMessage(window,7,'TROM_ACTIVATE',0)
  160. return
  161. end
  162. Otherwise;do
  163. If si<4 then si=4
  164. If si>360 then si=360
  165. End
  166. End
  167. okay=1
  168. Return
  169. Program:
  170. Call rtezrequest("Cursor in die erste Zelle stellen.","_Getan","ACHTUNG!","rt_pubscrname=FinalWriterPubScreen")
  171. address(FW)
  172. TableGetActiveCell
  173. If Words(result)=2 then;do
  174. Anfx=Word(result,1)
  175. Anfy=Word(result,2)
  176. end
  177. else;do
  178. 'ShowMessage 1 0 "Fehler..." "" "" "Ende" "" ""'
  179. Return
  180. End
  181. Call rtezrequest("Cursor in die letzte Zelle stellen.","_Getan","ACHTUNG!","rt_pubscrname=FinalWriterPubScreen")
  182. TableGetActiveCell
  183. If Words(result)=2 then;do
  184. Endx=Word(result,1)
  185. Endy=Word(result,2)
  186. end
  187. else;do
  188. 'ShowMessage 1 0 "Fehler..." "" "" "Ende" "" ""'
  189. Return
  190. End
  191. If Anfx>Endx then;do
  192. help=Anfx;Anfx=Endx;Endx=help
  193. End
  194. If Anfy>Endy then;do
  195. help=Anfy;Anfy=Endy;Endy=help
  196. End
  197. Do x=Anfx to Endx
  198. Do y=Anfy to Endy
  199. TableSetActiveCell x y
  200. SelectAll
  201. If fo~='' then Font fo
  202. If si~='' then FontSize si
  203. Select
  204. When ausrichtung=2 then Justify Left
  205. When ausrichtung=3 then Justify Center
  206. When ausrichtung=4 then Justify Right
  207. When ausrichtung=5 then Justify Full
  208. otherwise NOP
  209. End
  210. End
  211. End
  212. Redraw
  213. Return
  214. SYNTAX:
  215. CALL quit('Fehler' rc 'in Zeile' sigl '-' ERRORTEXT(rc)||R||SOURCELINE(sigl)||R||'Bitte informieren Sie den Autor...',20)
  216. quit:
  217. PARSE ARG message,rcode
  218. IF app ~='00000000'x THEN;DO
  219. IF message ~='' THEN
  220. ret=rtezrequest(message,"_Okay","ACHTUNG!","rt_pubscrname=FinalWriterPubScreen")
  221. CALL TR_DELETEAPP(app)
  222. END
  223. ELSE
  224. IF message ~='' THEN;DO
  225. SAY message
  226. SAY
  227. OPTIONS PROMPT 'Bitte <RETURN> drücken'
  228. PULL taste
  229. END
  230. address command "flushtrx all"
  231. EXIT(rcode)