home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / OTL-MS01.DMS / in.adf / Macros / multiexport.rx < prev    next >
Encoding:
Text File  |  1995-07-09  |  3.0 KB  |  115 lines

  1. /*
  2.  
  3. MultiExport.rx
  4.  
  5. Copyright MS MacroSystem Computer GmbH
  6.  
  7. Edwin Bielawski 8.7.95
  8.  
  9. Dieses Skript exportiert fortlaufend numerierte Einzelbilder.
  10.  
  11. Bei der Export-Einstellung 'Halbbilder', werden die Bilder
  12. paarweise gespeichert (doppelte Anzahl).
  13.  
  14. */
  15.  
  16. ADDRESS MOVIESHOP
  17. OPTIONS RESULTS
  18. OPTIONS FAILAT 21
  19.  
  20. VERSION 2 5
  21. If (RC=0) Then
  22. Do
  23.   GETPUBSCREENNAME
  24.   TITEL = 'CON:0/600/2000/200/Multi Export/ALT1000/600/40/60/CLOSE/SCREEN'RESULT
  25.  
  26.   If Open('WINDOW',TITEL) Then Do
  27.     SCREENTOFRONT
  28.  
  29.     READ EXPORTCOUNTERSTART
  30.     If (RC>0) Then Call MSError 99
  31.     OLDOFFSET = RESULT
  32.  
  33.     COUNTEROFFSET = 1
  34.     READ EXPORTPICTYPE
  35.     If (RESULT = 'FIELDS') Then COUNTEROFFSET = 2
  36.  
  37.     Call WriteLn('WINDOW','Einzelbildweises Exportieren einer Szene.')
  38.  
  39.     Call WriteCh('WINDOW','Welche Szene soll exportiert werden? (RETURN=Aktuelle): ')
  40.     SCENENAME = ReadLn('WINDOW')
  41.     If eof('WINDOW') Then Break
  42.     If (SCENENAME ~= '') Then GOTOSCENE """"SCENENAME""""
  43.     If (RC>0) Then Call MSError 1
  44.     ASLREQUEST 'Dateiname FILENAME' """"SCENENAME"""" 'SAVE'
  45.     If (RC>0) Then Call MSError 7
  46.     FILENAME = RESULT
  47.     If eof('WINDOW') Then Break
  48.  
  49.     Call WriteCh('WINDOW','Startbild? (RETURN=0): ')
  50.     FIRSTFRAME = ReadLn('WINDOW')
  51.     If eof('WINDOW') Then Break
  52.     If (FIRSTFRAME='') Then FIRSTFRAME = 0
  53.  
  54.     Call WriteCh('WINDOW','EndBild? (RETURN=Alle): ')
  55.     LASTFRAME = ReadLn('WINDOW')
  56.     If eof('WINDOW') Then Break
  57.     If (LASTFRAME='') Then Do
  58.       GETFRAMENUMBER
  59.       If (RC>0) Then Call MSError 3
  60.       LASTFRAME = RESULT
  61.     End
  62.  
  63.     Call WriteCh('WINDOW','Wieviel Vollbilder sollen übersprungen werden? (RETURN=10): ')
  64.     FRAMESKIP = ReadLn('WINDOW')
  65.     If eof('WINDOW') Then Break
  66.     If (FRAMESKIP='') Then FRAMESKIP = 10
  67.     If (FRAMESKIP<1) Then FRAMESKIP = 1
  68.  
  69.     COUNT = FIRSTFRAME
  70.     Do While (COUNT <= LASTFRAME)
  71.       GOTOFRAME 'NUMBER' COUNT
  72.       If (RC>0) Then Call MSError 2
  73.  
  74.       BLOCK MARK FORCE
  75.       If (RC>0) Then Call MSError 4
  76.       BLOCK COPY FORCE
  77.       If (RC>0) Then Call MSError 5
  78.  
  79.       EXPORTBLOCK """"FILENAME""""
  80.       If (RC>0) Then Call MSError 6
  81.  
  82.       READ EXPORTCOUNTERSTART
  83.       If (RC>0) Then Call MSError 99
  84.       EXPORTCOUNTERSTART RESULT + COUNTEROFFSET
  85.     End
  86.     Call WaitForClose 'Operation erfolgreich abgeschlossen.'
  87.   End
  88. End
  89. Exit
  90.  
  91. MSError:
  92.   Arg X
  93.   Select
  94.     When (X=1) Then Call WaitForClose 'Fehler bei GOTOSCENE.'
  95.     When (X=2) Then Call WaitForClose 'Fehler bei GOTOFRAME.'
  96.     When (X=3) Then Call WaitForClose 'Fehler bei GETFRAMENUMBER.'
  97.     When (X=4) Then Call WaitForClose 'Fehler bei BLOCK MARK.'
  98.     When (X=5) Then Call WaitForClose 'Fehler bei BLOCK COPY.'
  99.     When (X=6) Then Call WaitForClose 'Fehler bei EXPORTBLOCK.'
  100.     When (X=7) Then Call WaitForClose 'Abbruch im FileRequester'
  101.     Otherwise WaitForClose 'Es ist ein Fehler aufgetreten.'
  102.   End
  103.   Exit
  104.  
  105. WaitForClose:
  106.   Parse Arg MSG
  107.   EXPORTCOUNTERSTART OLDOFFSET
  108.   Call WriteLn('WINDOW','')
  109.   Call WriteLn('WINDOW',MSG)
  110.   Call WriteLn('WINDOW','')
  111.   Call WriteLn('WINDOW','Bitte das Fenster schließen!')
  112.   Call ReadLn('WINDOW')
  113.   call close ('WINDOW')
  114.   Return
  115.