home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #3 / Amiga Plus CD - 2002 - No. 03.iso / AmigaPlus / Tools / Development / envCPP31 / c++ / rexx / structure.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  2002-01-01  |  2.6 KB  |  126 lines

  1. /* rexx macro */
  2.  
  3. options results                             /* enable return codes     */
  4.  
  5. if (left(address(), 6) ~= "GOLDED") then    /* not started by GoldEd ? */
  6.  
  7.     address 'GOLDED.1'
  8.  
  9. 'LOCK CURRENT RELEASE=4'                    /* lock GUI, gain access   */
  10.  
  11. if (RC ~= 0) then
  12.  
  13.     exit
  14.  
  15. options failat 6                            /* ignore warnings         */
  16.  
  17. signal on syntax                            /* ensure clean exit       */
  18.  
  19. /* ------------------------- INSERT YOUR CODE HERE: ------------------ */
  20.  
  21. 'QUERY CAT'
  22.  
  23. if (RESULT = "deutsch") then do
  24.  
  25.     STRING.sNAME    = "Strukturname"
  26.     STRING.sCOMMENT = "<Beschreibung hier einfügen>"
  27. end
  28. else do
  29.  
  30.     STRING.sNAME    = "Structure name"
  31.     STRING.sCOMMENT = "<Insert description here>"
  32. end
  33.  
  34. 'REQUEST STRING TITLE "' || STRING.sNAME || '" VAR=NAME'
  35.  
  36. if ((RC = 0) & (NAME ~= "")) then do
  37.  
  38.     if (RC = 0) then do
  39.  
  40.         'QUERY OPTIONFOLDMARKERS VAR=OPTIONFOLDMARKERS'
  41.         'QUERY OPTIONCOMMENT     VAR=OPTIONCOMMENT'
  42.  
  43.         'QUERY FOLDA VAR FOLDSTART'
  44.         'QUERY FOLDB VAR FOLDEND'
  45.  
  46.         'INSERT LINE'
  47.  
  48.         if (OPTIONCOMMENT = "TRUE") then do
  49.  
  50.            HEAD  = '/** ' || CENTER(' ' || NAME || ' ', 77, '-')
  51.  
  52.             if (OPTIONFOLDMARKERS = "TRUE") then do
  53.  
  54.                 'FIRST'
  55.                 'TEXT T="' || FOLDSTART || ' "'
  56.                  'TEXT T="*"' || NAME || '*""'
  57.                 'CR'
  58.                 'CR'
  59.             end
  60.  
  61.             'FIRST'
  62.             'TEXT CR T="' || LEFT(HEAD, 81) || '"'
  63.             'CR'
  64.             'FIRST'
  65.             'TEXT CR T=" ' || STRING.sCOMMENT || '"'
  66.             'CR'
  67.             'FIRST'
  68.             'TEXT CR T="**/"'
  69.             'CR'
  70.         end
  71.         else if (OPTIONFOLDMARKERS = "TRUE") then do
  72.  
  73.             'FIRST'
  74.             'TEXT T="' || FOLDSTART || ' "'
  75.              'TEXT T="*"' || NAME || '*""'
  76.             'CR'
  77.             'CR'
  78.         end
  79.  
  80.         'FIRST'
  81.  
  82.         'TEXT STAY T="struct ' || NAME || '"'
  83.         'DOWN'
  84.         'INSERT LINE'
  85.  
  86.         'TEXT STAY T="{"'
  87.         'DOWN'
  88.         'INSERT LINE'
  89.  
  90.         'TAB'
  91.         'PING SLOT=0'
  92.         'FIRST'
  93.  
  94.         'DOWN'
  95.         'INSERT LINE'
  96.         'TEXT STAY T="};"'
  97.  
  98.         if (OPTIONFOLDMARKERS = "TRUE") then do
  99.  
  100.             'DOWN'
  101.             'INSERT LINE'
  102.  
  103.             'DOWN'
  104.             'INSERT LINE'
  105.  
  106.             'TEXT T="' || FOLDEND || '"'
  107.         end
  108.  
  109.         'PONG SLOT 0'
  110.     end
  111. end
  112.  
  113. /* ---------------------------- END OF YOUR CODE ----------------------- */
  114.  
  115. 'UNLOCK' /* VERY important: unlock GUI */
  116.  
  117. exit
  118.  
  119. SYNTAX:
  120.  
  121. SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
  122.  
  123. 'UNLOCK'
  124.  
  125. exit
  126.