Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Probleme mit Routine

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
JHFMS
•->
•->


Anmeldedatum: 13.05.2012
Beiträge: 17

BeitragVerfasst am: 16.09.2014 - 21:43    Titel: Probleme mit Routine Antworten mit Zitat

Hallo zusammen. Ich habe mit ein kleines Skript zur Bildskalierug gebastelt.
Dieses soll als Droplet & Applet funktionieren. Soweit so gut. Mein Problem ist allerdings, das beim Applet Alles funktioniert, beim Droplet aber nicht.

Mal ein wenig Skript, das nützlich sein könnte:

Droplet:

Code:
on open theImage
   my scaleTheImage(theImage)
   -- With this feature you can simply drag & drop your image to the icon of this script. Only one image per time
   
end open


Das Applet sieht so aus:

Code:
property ImageCounter : 0 -- This should prevert an error if ImageCounter isnt' defined. But this should never happens


Code:
on run -- With this feature you can launch the script and select an image thru a dialog
   
   (*
   set theImage to choose file with prompt "Select an image" with multiple selections allowed
   
   
   *)
   set correctEntry to false -- Some user friendly clause
   repeat while correctEntry is false
      -- User sets the number of files
      display dialog "How many files do you want to resize" default answer "1" buttons {"Next"} with title "please enter an integer" with icon note
      set ImageCounter to the text returned of the result
      try
         -- ImageCounter is a text now. we need to convert it into an integer
         set ImageCounter to ImageCounter as integer
         set correctEntry to true -- Again a user friendly thing
      on error
         try
            -- Tests if ImageCounter is an fractional number
            set ImageCounter to ImageCounter as number
            set the error_text to "Error: " & the error_number & ". " & the error_message
            -- the following line evokes the sub-routine to write the error into an error log created on the desktop
            -- if the file "ImageScalerErrorLog.txt" already exists, it will add one line to the log
            my write_error_log(the error_text)
            display dialog "You entered a fractional number instead of an integer (like 2)" buttons {"OK"} with title "Error: Wrong type" with icon caution
         on error
            -- ImageCounter is not a number, so it's text
            set the error_text to "Error: " & the error_number & ". " & the error_message
            -- the following line evokes the sub-routine to write the error into an error log created on the desktop
            -- if the file "ImageScalerErrorLog.txt" already exists, it will add one line to the log
            my write_error_log(the error_text)
            display dialog "You entered a text instead of an integer (like 2)" buttons {"OK"} with title "Error: Wrong type" with icon caution
         end try
      end try
   end repeat
   
   repeat ImageCounter times -- Asks as many times as the user defined it above
      set theImage to choose file with prompt "Select an image"
      -- User selects the file
      my scaleTheImage(theImage)
   end repeat
end run


Und die Routine ScaleTheImage so:


Code:
on scaleTheImage(theImage)
   
   
   try
      display dialog "Define the length of the longer side in pixel" default answer "50" buttons {"Next"} default button 1 with title "Define length" with icon note
      set PixelScale to the text returned of the result
      tell application "Image Events"
         set this_image to open theImage
         scale this_image to size PixelScale
         save this_image in theImage
         close this_image
      end tell
      
      
   on error the error_message number the error_number
      set the error_text to "Error: " & the error_number & ". " & the error_message
      -- the following line evokes the sub-routine to write the error into an error log created on the desktop
      -- if the file "Script Error Log.txt" already exists, it will add one line to the log
      my write_error_log(the error_text)
      display dialog error_text buttons {"Quit"} default button 1 with icon caution with title "Error" & error_number
   end try
   
   
end scaleTheImage


Das Dropplet gibt folgende Fehlermeldung aus:
Zitat:
Error: -1700. Image Events got an error: Can’t make missing value into type specifier.


Irgendwie finde ich den fehlenden Wert nicht. Wäre froh wenn mir jemand helfen könnte Very Happy

Danke

Jonas


PS: wen die Copy + Paste Funktion write_error_to_log interessiert:
on write_error_log(this_error) --Writes the error to the log
Code:
   set the error_log to ((path to desktop) as text) & "ImageScalerErrorLog.txt"
   try
      open for access file the error_log with write permission
      write (this_error & return) to file the error_log starting at eof
      close access file the error_log
   on error
      try
         close access file the error_log
      end try
   end try
end write_error_log
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter