home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / GFX / Misc / PWP522.DMS / in.adf / Rexx / SlideShow.pwx < prev    next >
Encoding:
Text File  |  1994-10-27  |  3.4 KB  |  175 lines

  1. /* $VER: SlideShow.pwx 1.3 (23.5.94)
  2. **
  3. ** Ein relativ einfaches Diaschau-Programm.
  4. ** Um es benutzen zu können, muß ein Anzeigemodul
  5. ** ausgewählt sein. Unter Umständen kann es Schwierigkeiten
  6. ** bereiten, das Programm abzubrechen. Sollte dieser Fall
  7. ** eintreten, empfehlen wir, ein Shell-Fenster zu öffnen
  8. ** und den Befehl "hi" einzutippen. "hi" steht für "Halt
  9. ** interrupt" und bricht alle gerade laufenden ARexx-Programme
  10. ** ab. Das "hi"-Programm befindet sich üblicherweise in der
  11. ** "Rexxc"-Schublade Ihrer Systempartition.
  12. **
  13. ** Geschrieben von Olaf Barthel
  14. */
  15.  
  16. /* Befehlsergebnisse zugänglich machen. */
  17.  
  18. options results
  19.  
  20. /* Fehler sollten abgefangen werden. */
  21.  
  22. options failat 100
  23.  
  24. /* Falls ein Abbruchsignal eingeht, soll aufgeräumt werden. */
  25.  
  26. signal on halt
  27. signal on break_c
  28. signal on break_d
  29. signal on break_e
  30. signal on break_f
  31.  
  32. /* Fensteraktivierungsoption merken. */
  33.  
  34. getattr application field activate
  35.  
  36. activation = result
  37.  
  38. /* Anzeigeoption merken. */
  39.  
  40. getattr settings field photoviewonly
  41.  
  42. viewonly = result
  43.  
  44. /* "Nur anzeigen" Option aktivieren. */
  45.  
  46. setattr settings field photoviewonly val off
  47.  
  48. /* Kontaktabzuginformationen der gerade eingelegten
  49.  * Photo CD aulesen.
  50.  */
  51.  
  52. getattr contactsheet name cd stem contactsheet
  53.  
  54. /* Soweit alles in Ordnung? */
  55.  
  56. if rc = 0 then do
  57.  
  58.     /* Fensteraktivierung abschalten. */
  59.  
  60.     setattr application field activate val on
  61.  
  62.     /* Benutzeroberfläche für Eingaben sperren. */
  63.  
  64.     lockgui
  65.  
  66.     /* Ein schwarzer Bildschirmhintergrund wird erzeugt. */
  67.  
  68.     backdrop on
  69.  
  70.     /* Fensteraktivierung einschalten. */
  71.  
  72.     setattr application field activate val off
  73.  
  74.     /* Alle Fotos anzeigen. */
  75.  
  76.     do i = contactsheet.first to contactsheet.last
  77.  
  78.         /* Das Foto wird in der Base/4-Auflösung geöffnet. */
  79.  
  80.         open number i size base4 hidden nodisplay
  81.  
  82.         /* Nach Fehler oder Abbruchmeldung schauen. */
  83.  
  84.         if rc > 0 then do
  85.             if rc ~= 5 then do
  86.                 /* Fehlernummer auslesen. */
  87.  
  88.                 fault photoworx.lasterror
  89.  
  90.                 /* Fehlermeldung ausgeben. */
  91.  
  92.                 requestnotify result
  93.             end
  94.  
  95.             break
  96.         end
  97.  
  98.         /* Name des eben geöffneten Fotos auslesen. */
  99.  
  100.         loadedproject = result
  101.  
  102.         /* Das Foto etwa fünf Sekunden lang anzeigen. */
  103.  
  104.         view project loadedproject timeout 5
  105.  
  106.         /* Das eben geladene Foto wird freigegeben.
  107.          * Hinweis: dies schließt auch alle anderen
  108.          * Projekte gleichen Namens.
  109.          */
  110.  
  111.         close project loadedproject force
  112.     end
  113.  
  114.     /* Benutzeroberfläche wieder zugänglich machen. */
  115.  
  116.     unlockgui
  117.  
  118.     /* Der schwarze Bildschirmhintergrund wird abgeschaltet. */
  119.  
  120.     backdrop off
  121. end; else do
  122.  
  123.     /* Fehlernummer auslesen. */
  124.  
  125.     fault photoworx.lasterror
  126.  
  127.     /* Fehlermeldung erzeugen. */
  128.  
  129.     if symbol('RESULT') == "VAR" then do
  130.         message = "Es kann kein Kontaktabzug gelesen werden." result
  131.     end; else do
  132.         message = "Es kann kein Kontaktabzug gelesen werden."
  133.     end
  134.  
  135.     /* Hinweis ausgeben. */
  136.  
  137.     requestnotify message
  138. end
  139.  
  140. /* Funktionswerte wiederherstellen. */
  141.  
  142. setattr application field activate val activation
  143. setattr settings field photoviewonly val viewonly
  144.  
  145. /* Dieses Programm beenden. */
  146.  
  147. exit 0
  148.  
  149. /* Zu dieser Stelle springt das Programm, falls ein
  150.  * Fehler aufgetreten ist.
  151.  */
  152.  
  153. halt:
  154. break_c:
  155. break_d:
  156. break_e:
  157. break_f:
  158.  
  159.     /* Benutzeroberfläche wieder zugänglich machen. */
  160.  
  161.     unlockgui
  162.  
  163.     /* Der schwarze Bildschirmhintergrund wird abgeschaltet. */
  164.  
  165.     backdrop off
  166.  
  167.     /* Funktionswerte wiederherstellen. */
  168.  
  169.     setattr application field activate val activation
  170.     setattr settings field photoviewonly val viewonly
  171.  
  172.     /* Dieses Programm beenden. */
  173.  
  174.     exit 0
  175.