home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 13 / AACD13.ISO / AACD / Graphics / PPT / Contrib / Rexx / Convert_AdPro-Conv.prx
Text File  |  1998-09-27  |  3KB  |  132 lines

  1. /*
  2.     This is a script to convert AdPro Convolution bitmaps to
  3.     PPT-Format.
  4.  
  5.     $VER: Convert_AdPro-Conv.prx 1.0 (26.09.98) Andreas Boerner
  6.  
  7.     $Id: Convert_AdPro-Conv.prx 1.0 1998/09/26 18:24:40 jj Exp jj $
  8. */
  9.  
  10. /*-------------------------------------------------------------------*/
  11. /*  I suggest you use this header as-is and add your own code below  */
  12.  
  13. OPTIONS RESULTS
  14. SIGNAL ON ERROR
  15. IF ADDRESS() = REXX THEN DO
  16.     startedfromcli = 1
  17.     ADDRESS PPT
  18. END
  19. ELSE DO
  20.     startedfromcli = 0
  21.     ADDRESS PPT
  22. END
  23. RESULT = 'no result'
  24.  
  25. /*-------------------------------------------------------------------*/
  26. /* Add your code here */
  27.  
  28. nl="10"X
  29.  
  30. IF Exists("libs:rexxsupport.library") THEN
  31.   CALL AddLib('rexxsupport.library',0,-30,0)
  32. ELSE DO
  33.   'SHOWERROR "RexxSupport-Library not found!"'
  34.   EXIT 5
  35. END
  36.  
  37. 'ASKFILE TITLE "Choose AdPro Conv. Dir" Pos OK ID AdPro:Convolutions'
  38.  
  39. sdir=RESULT
  40. dummy=LastPos("/",sdir)
  41. IF dummy=0 THEN
  42.   dummy=LastPos(":",sdir)
  43.  
  44. IF dummy>0 THEN
  45.   sdir=Left(sdir,dummy)
  46.  
  47. 'ASKFILE TITLE "Choose PPT-Conv. Dir" Pos OK ID modules/convolutions SAVE'
  48.  
  49. ddir=RESULT
  50. dummy=LastPos("/",ddir)
  51. IF dummy=0 THEN
  52.   dummy=LastPos(":",ddir)
  53.  
  54. IF dummy>0 THEN
  55.   ddir=Left(ddir,dummy)
  56.  
  57. str.type="STRING"
  58. str.maxchars=30
  59. str.initialstring="AP_*.conv"
  60.  
  61. 'ASKREQ TEXT "Choose Name Pattern:*N*NThe asterisk represents the old Name*Nof the Adpro Convolution map.*NOnly one asterisk is allowed!" Pos Convert NEG Cancel STR'
  62.  
  63. ok=Close(stdout)
  64. ok=Open(stdout,"con://///Close/WAIT")
  65.  
  66. IF RESULT=0 THEN DO
  67.   pat=str.value
  68.   dummy=Pos("*",pat)
  69.   IF dummy=0 THEN DO
  70.     'SHOWERROR "No asterisk found!"'
  71.     EXIT 5
  72.   END
  73.  
  74.   pat=Left(pat,dummy)Compress(SubStr(pat,dummy+1),"*")
  75.  
  76.   sfiles=ShowDir(sdir)
  77.   DO a=1 TO Words(sfiles)
  78.     sfile=Word(sfiles,a)
  79.  
  80.     SAY "Convert" sfile "("a"/"Words(sfiles)")"
  81.  
  82.     IF ~open(read,sdir||sfile) THEN DO
  83.       'SHOWERROR "Cannot Open file 'sdir||sfile'!"'
  84.       EXIT 5
  85.     END
  86.  
  87.     dfile=Left(pat,dummy-1)sfile||SubStr(pat,dummy+1)
  88.     IF ~open(writ,ddir||dfile,"w") THEN DO
  89.       'SHOWERROR "Cannot Open file 'ddir||dfile'!"'
  90.       EXIT 5
  91.     END
  92.  
  93.     CALL WriteLn(writ,"; PPT Convolution file")
  94.     CALL WriteLn(writ,"; $VER: AdPro->PPT-Convolution-Converter 1.0 (26.09.98) Converted AdPro convolution bitmap")
  95.     CALL WriteLn(writ,"3")
  96.     CALL WriteLn(writ,"0")
  97.     CALL WriteLn(writ,"1")
  98.  
  99.     CALL ReadCh(read)
  100.     CALL WriteLn(writ,"0 0 0 0 0 0 0")
  101.     DO FOR 5
  102.       cl="0"
  103.       DO FOR 5
  104.         cl=cl C2D(ReadCh(read,4))
  105.       END
  106.       cl=cl "0"
  107.       CALL WriteLn(writ,cl)
  108.     END
  109.     CALL WriteLn(writ,"0 0 0 0 0 0 0")
  110.  
  111.     CALL Close(read)
  112.     CALL Close(writ)
  113.   END
  114. END
  115.  
  116. EXIT 0
  117.  
  118. /*-------------------------------------------------------------------*/
  119. /* Again, keep this part intact. This is the error handler. */
  120. ERROR :
  121. returncode = RC
  122. IF startedfromcli = 1 THEN DO
  123.     SAY 'ERROR ' returncode ' on line ' SIGL ': ' RC2
  124.     PPT_TO_BACK
  125. END
  126. ELSE
  127.     SHOWERROR '"'RC2'"' SIGL
  128. EXIT returncode
  129.  
  130. Andreas
  131.  
  132.