home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / WordProcessors / BK-WW6E3.DMS / in.adf / Archive / WwRexx.lha / Import_AmigaGuide.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1996-06-25  |  2.2 KB  |  120 lines

  1. /*    Import_AmigaGuide
  2.  
  3.         Imports an AmigaGuide help file into Wordworth.
  4.         All AmigaGuide codes are stripped out, leaving
  5.         the text. Also, codes for bold, italic and
  6.         underline are recognised, and buttons are
  7.         displayed in bold.
  8.  
  9.         Digita ARexx Script for Wordworth 5
  10.         Copyright ©1996, Digita International Ltd.
  11.         
  12.         Created: 5 June 1996
  13.         Author:  MJ
  14. */
  15.  
  16.  
  17. OPTIONS RESULTS
  18.  
  19.  
  20. RequestFile TITLE "Select AmigaGuide file..." PATTERN "#?.guide"
  21. FileName = Result
  22.  
  23. If RC > 0 THEN
  24.     Exit
  25.  
  26.  
  27. If Open('MyFile', FileName, R) THEN DO
  28.  
  29.     New
  30.     Address Value Result
  31.  
  32.     Document A4 "0.5in" "0.5in" "0.6in" "1.0in"
  33.     Zoom 90
  34.     Paragraph 0 0 0 LEFT AUTO SINGLE NONE NONE
  35.  
  36.     Font NAME "Shannon Book" SIZE 10 PLAIN
  37.  
  38.     Para = ''
  39.  
  40.     DO Until EOF('MyFile')
  41.         MyLine = ReadLn('MyFile')
  42.  
  43.         Code = ''
  44.         IsCode = 0
  45.  
  46.         LengthLine = Length(MyLine)
  47.         DO Num = 1 to LengthLine
  48.              MyChar = SubStr(MyLine, Num, 1)
  49.             IF MyChar = '@' THEN
  50.                 IsCode = 1
  51.             IF MyChar = '}' THEN DO
  52.                 IsCode = 0
  53.                 Code = Code || MyChar
  54.                 MyChar = ''
  55.  
  56.                 /* Check for AmigaGuide codes */
  57.                 Text Para
  58.                 Para = ''
  59.  
  60.                 SubCode = SubStr(Code, 1, 3)
  61.                 Select
  62.                     When Code = '@{B}' THEN Bold
  63.                     When Code = '@{I}' THEN Italic
  64.                     When Code = '@{U}' THEN Underline
  65.                     When Code = '@{UB}' THEN Plain
  66.                     When Code = '@{UI}' THEN Plain
  67.                     When Code = '@{UU}' THEN Plain
  68.                     When SubCode = '@{"' THEN DO
  69.                         MyLength = Length(Code)
  70.                         NewCode = SubStr(Code, 4, MyLength-3)
  71.                         Count = 1
  72.                         Do Until Char = '"'
  73.                             Char = SubStr(NewCode, Count, 1)
  74.                             If Char ~= '"' THEN
  75.                                 Para = Para || Char
  76.                             Count = Count + 1
  77.                         END
  78.                         Bold
  79.                         Text Para
  80.                         Plain
  81.                         Para = ''
  82.                     END
  83.  
  84.                     Otherwise  NOP
  85.                 END
  86.                 Code = ''
  87.             END
  88.  
  89.             IF IsCode = 1 THEN
  90.                 Code = Code || MyChar
  91.             ELSE
  92.                 Para = Para || MyChar
  93.         END
  94.  
  95.         SkipLine = 0
  96.         SubCode = SubStr(Code, 1, 9)
  97.         If SubCode = '@Database' THEN
  98.             SkipLine = 1
  99.         SubCode = SubStr(Code, 1, 7)
  100.         If SubCode = '@Master' THEN
  101.             SkipLine = 1
  102.         SubCode = SubStr(Code, 1, 5)
  103.         If SubCode = '@Node' THEN
  104.             SkipLine = 1
  105.         SubCode = SubStr(Code, 1, 8)
  106.         If SubCode = '@EndNode' THEN
  107.             SkipLine = 1
  108.  
  109.         IF SkipLine = 0 THEN DO
  110.             Text Para
  111.             Para = ''
  112.             NewParagraph
  113.         END
  114.     END
  115.  
  116.     Call Close('MyFile')
  117. END
  118. ELSE
  119.     RequestNotify PROMPT "Error: Unable to open file!"
  120.