| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen   | 
	 
	
	
		| Autor | 
		Nachricht | 
	 
	
		Seppel •-->
  
  
  Anmeldedatum: 22.09.2005 Beiträge: 59 Wohnort: Wiesbaden
  | 
		
			
				 Verfasst am: 22.09.2005 - 18:55    Titel: on error | 
				     | 
			 
			
				
  | 
			 
			
				Hallo Ihr Lieben,
 
 
ich bin sowas wie ein Absolute Beginner und raffe einfach nicht, warum AS mal so und mal reagiert.
 
 
Hier ein kleines Script, was ich auf die zur Fehlerbeschreibung notwendigen Elemente reduziert habe:
 
 
set errMsg to "0"
 
 
if procId = "Ordner wählen" then
 
	try
 
		set filepath to choose folder with prompt dialogTxt
 
	on error errMsg number errNum
 
	end try
 
end if
 
 
if not errMsg = "0" then
 
	tell me to display dialog errMsg as string
 
end if
 
 
Klicke ich beim Ordnerdialog auf "Cancle", erhalte ich wie gewünscht die Meldung. Wähle ich dagegen tatsächlich einen Ordner aus, erhalte ich die Meldung, dass die Variable errMsg nicht definiert sei.
 
 
Zu Testzwecken habe ich nach dem 'end try' nochmals die Variable errMsg auf 0 gesetzt und das Script lief fehlerfrei.
 
 
Irgendwie scheint also die Variable beim Durchlauf des Try-Blocks ohne Error ihre Definition zu verlieren. Aber warum?
 
 
Natürlich will ich nur mit der Fehlernummer arbeiten und diese an FileMaker zwecks Weiterverarbeitung übergeben. Auch kann ich das Script nach Error abbrechen und zuvor Filemaker die errNum mitteilen. Ich würde es aber gerne verstehen.
 
 
Hat jemand eine Idee, warum das so ist und wie dem Beizukommen ist?
 
 
Vorab besten Dank für Euer Bemühen.
 
 
Liebe Grüße
 
Seppel   | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Snow Administrator
  
  
  Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
  | 
		
			
				 Verfasst am: 22.09.2005 - 19:23    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hallo Seppel,
 
 
eine Variable existiert erst, wenn ihr ein Wert zugewiesen wird.
 
 
Das geschieht jedoch in deinem Skript in der Zeile:
 
 
set errMsg to "0"
 
 
Das Problem dürfte dann eigentlich gar nicht bestehen.
 
 
Nun verwendest du diese Variable aber im 'on error'-Teil.
 
Ich kann dir jetzt nur meine Vermutung liefern.
 
 
'on error' ist ja eine ganz spezielle Funktion. Die Variable, die dabei zur Speicherung des Fehlertextes verwendet wird unterliegt ebenfalls einer speziellen Verwendung. Das sieht man daran, dass allein durch
 
 
on error errMsg
 
 
dieser Variablen ein Wert zugewiesen werden kann. Die normale Wertezuweisung würde aber durch 'set' oder 'copy' erfolgen.
 
 
Deshalb vermute ich, dass die Variable errMsg an dieser Stelle initialisiert wird. Tritt kein Fehler auf wird praktisch ihr vorher zugewiesener Inhalt gelöscht. Eine Variable, der kein Inhalt zugewiesen ist, existiert aber nicht.
 
 
Du schreibst, du möchtest die Fehlernummer an FileMaker übergeben, verwendest aber die Variable mit dem Fehlertext. Das ist etwas verwirrend.
 
 
Aber lassen wir uns davon nicht abschrecken.
 
Alles, was du im Fehlerfall machen möchtest, gehört in den 'on error'-Teil.
 
 
Die Werte des Fehlers, also Fehlermeldung und -nummer hast du ja bereits richtig abgefangen und in den Variablen untergebracht.
 
 
Die Übergabe an FileMaker muss nun im 'on error'-Teil erfolgen, dann kannst du dir die ganze Überprüfung von wegen error number = 0 ersparen, da dieser Teil ja nur aktiv wird, wenn ein Fehler auftritt.
 
 
Wenn alle Anweisungen erledigt sind, die im Fehlerfall ausgeführt werden sollen, beendest du das Skript mit 'return'. Nachfolgende Befehle, auch außerhalb des try-Blocks werden dann nicht mehr ausgeführt.
 
 
Hier das entsprechende Beispiel:
 
 
try
 
    set filepath to choose folder with prompt dialogTxt
 
on error errMsg number errNum
 
    tell application "FileMaker Pro"
 
        tell current record
 
            set cell "Fehlermeldung" to errMsg
 
            set cell "Fehlernummer" to errNum
 
        end tell
 
    end tell
 
    return
 
end try
 
 
Die Anweisungen an FileMaker sind hier nur stilisiert. Kann sein, dass du je nach Version noch extra eine 'database' oder ab v7 'table' ansprechen musst. _________________ Peter
 
-
 
Fischer-Bayern.de|Shadetreemicro.com | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Seppel •-->
  
  
  Anmeldedatum: 22.09.2005 Beiträge: 59 Wohnort: Wiesbaden
  | 
		
			
				 Verfasst am: 22.09.2005 - 19:54    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hallo Snow,
 
 
erstmal herzlichen Dank für die rasche Antwort.
 
 
Ich habe so was in der Art auch vermutet, weil selbst ein Neustart des Rechners nichts gebracht hatte. Soll ja manchmal funktionieren  !
 
 
Ich versuche jetzt sämtliche Fehler über einen Abbruch-Handler abzubrechen und den Fehlercode an FM zu übergeben. Diesen Handler kann ich dann in jedem Try-Block aufrufen - die Scripte sind ja doch ein bischen länger - und hoffentlich ohne Fehlermeldung zu FM zurückkehren. Ich wusste bis heute nur nicht, mit welchem Befehl ein Script beendet wird. Dafür vielen Dank, da tun sich ganz neue Welten auf  
 
 
Liebe Grüße aus Wiesbaden
 
 
Seppel   | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Snow Administrator
  
  
  Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
  | 
		
			
				 Verfasst am: 22.09.2005 - 22:33    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Du kannst übrigens innerhalb des 'on error'-Teils auch auf verschiedene Fehler reagieren.
 
 
Die Fehlernummer hast du ja in der Variablen errNum erfasst. 
 
 
Beim prüfen der Fehlernummer bitte daran denken, dass dies ein Zahlenwert ist und kein Textwert. Also nicht in Anführungszeichen schreiben!
 
 
try
 
    set filepath to choose folder with prompt "Ordner wählen"
 
    
 
on error errMsg number errNum
 
    
 
    if errNum is -128 then
 
        -- Aktion falls "Abbrechen" angeklickt wurde
 
    else
 
        tell application "FileMaker Pro"
 
            tell current record
 
                set cell "Fehlermeldung" to errMsg
 
                set cell "Fehlernummer" to errNum
 
            end tell
 
        end tell
 
    end if
 
    
 
    return
 
    
 
end try _________________ Peter
 
-
 
Fischer-Bayern.de|Shadetreemicro.com | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Seppel •-->
  
  
  Anmeldedatum: 22.09.2005 Beiträge: 59 Wohnort: Wiesbaden
  | 
		
			
				 Verfasst am: 23.09.2005 - 01:48    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hallo Snow,
 
 
vielen Dank für diesen Hinweis und vor allem vielen Dank für Deine Mühe.
 
 
Ich habe das Script vorhin fertig gemacht und es liefert mir alle Fehler direkt nach FM, wo ich drauf reagieren kann. Mir ist aber zweierlei aufgefallen:
 
 
1. Die zwei Variablen errNum und errMsg können nicht direkt an einen Handler übergeben werden. Ich wollte ja so ein Abbruch-Handler schreiben! Im Anschluss an on error errMsg number errNum müssen sie zunächst an zwei Globale Vars übergeben werden, bevor Sie vom Handler verarbeitet werden können.
 
 
2. Der Script-Beenden-Befehl return scheint nicht in Handler zu funktionieren. Aber warum, ich muss doch an beliebiger Stelle das Script abbrechen können/dürfen.
 
 
Für heute aber erst mal genug und viele Grüße aus Wiesbaden
 
 
Seppel | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Snow Administrator
  
  
  Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
  | 
		
			
				 Verfasst am: 23.09.2005 - 14:39    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				1. Variablen müssen immer an Handler übergeben werden, außer sie werden als 'global' deklariert. Vgl. http://www.fischer-bayern.de/phpBB2/viewtopic.php?t=1713
 
 
2. 'return' hat in AppleScript viele Bedeutungen bzw. Funktionen.
 
 
Beispiel: 
 
 
set myText to "Erste Zeile des Textes." & return & "Zweite Zeile."
 
 
In Handlern dient return dazu, ein bestimmtes Ergebnis an die Stelle des Handleraufrufs zurück zu senden. Normalerweise wird das letzte Ergebnis innerhalb des Handlers zurück gegeben. Mit 'return' kannst du gezielt sicherstellen, dass das zurück gelieferte Ergebnis auch das ist, was du beabsichtigt hast.
 
 
Wenn dein Skript als Programm gespeichert ist, könntest du innerhalb des Handlers 'quit' benutzen, um das Skript abzubrechen.
 
 
Anders sieht es aus, wenn es ein kompiliertes Skript ist. Dann wird das Programm beendet, welches das Skript ausführt.
 
 
In dem Fall könntest du aber den Fehler (-128) im Handler abfangen, nach außen weitergeben, dort überprüfen und dann ggf. mit 'return' das Skript abbrechen.
 
 
Beispiel:
 
 
global SkriptCancel
 
set SkriptCancel to false
 
 
myHandler()
 
 
log SkriptCancel -- Wert im Eventprotokoll anzeigen
 
if SkriptCancel = true then
 
    return
 
end if
 
 
display dialog "Dieser Dialog dürfte nicht erscheinen, wenn das Skript abgebrochen wird."
 
 
 
on myHandler()
 
    try
 
        error number -128
 
    on error number errNum
 
        if errNum = -128 then
 
            set SkriptCancel to true
 
        end if
 
    end try
 
end myHandler
 
 
display dialog "Das Skript wurde abgebrochen. Deshalb kommt dieser Dialog auch nicht."
 
 
Das sieht ziemlich abenteuerlich aus. 
 
Eleganter ist die nächste Variante. Du setzt bereits den Handleraufruf in einen try-Block und prüfst in dessen 'on error'-Teil, ob der Fehler -128 aufgetreten ist. Falls ja: 'return'
 
 
Im Handler selbst brauchst du nur den entsprechenden Fehler zu erzeugen.
 
 
try
 
    myHandler()
 
on error number errNum
 
    if errNum = -128 then
 
        return
 
    end if
 
end try
 
 
display dialog "Dieser Dialog dürfte nicht erscheinen, wenn das Skript abgebrochen wird."
 
 
on myHandler()
 
    -- im Handler tritt der Fehler -128 auf (Vom Benutzer abgebrochen).
 
    error number -128
 
    
 
end myHandler
 
 
display dialog "Das Skript wurde abgebrochen. Deshalb kommt dieser Dialog auch nicht."
 
 
In beiden Beispielen dürfte beim Testen kein Dialog erscheinen. _________________ Peter
 
-
 
Fischer-Bayern.de|Shadetreemicro.com | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Seppel •-->
  
  
  Anmeldedatum: 22.09.2005 Beiträge: 59 Wohnort: Wiesbaden
  | 
		
			
				 Verfasst am: 23.09.2005 - 18:23    Titel: Was ich gestern noch fertig gemacht habe | 
				     | 
			 
			
				
  | 
			 
			
				Hallo Snow,
 
 
hier mal mein fertiges Script, welches ich über AppleScript senden aus FM6 heraus starte. Es dient, abgelegt in der globalen Steuerungsdatei als "universal"-Script zum Einlesen von Pfaden und Dateinamen. Die eingelesenen Werte werden dann von der jeweiligen Datei übernommen und verarbeitet.
 
 
Falls es jemand gebrauchen kann  
 
 
-- Beliebiger Pfad an FM übergeben:
 
-- ============================================================
 
-- Erstellt von KM am 25.05.2005
 
-- Überarbeitet von km am 22.09.2005 zu Version 1.1
 
-- Überarbeitet von ... am ... zu Version ...
 
-- ============================================================
 
 
--Globale Variablen deklarieren:
 
global errNo1, errMsg1, filepath, procId, fileInfo
 
 
-- Processdaten übernehmen:
 
tell application "FileMaker Developer"
 
	tell database "1MENU.fp6"
 
		set procId to cell "vMenAsPID_t" of first record --was tun
 
		set dialogTxt to cell "vMenAsPIDMsg_t" of first record --Wunschtext für MsgBoxen
 
	end tell
 
end tell
 
 
if not procId = "Ordner wählen" and not procId = "Datei wählen" and not procId = "1000" and not procId = "2000" then
 
	set errNo1 to "-10"
 
	set errMsg1 to "no practicable process declared"
 
	OnErrHandler()
 
	return
 
end if
 
 
-- Was soll gemacht werden:
 
if procId = "Ordner wählen" or procId = "1000" then
 
	try
 
		set filepath to choose folder with prompt dialogTxt
 
	on error errMsg number errNo
 
		set errMsg1 to errMsg
 
		set errNo1 to errNo
 
		OnErrHandler()
 
		return
 
	end try
 
	SuccessHandler()
 
end if
 
if procId = "Datei wählen" or procId = "2000" then
 
	try
 
		set filepath to choose file with prompt dialogTxt
 
	on error errMsg number errNo
 
		set errMsg1 to errMsg
 
		set errNo1 to errNo
 
		OnErrHandler()
 
		return
 
	end try
 
	SuccessHandler()
 
end if
 
 
--Abbruch-Handler bei Fehler:
 
on OnErrHandler()
 
	tell application "FileMaker Developer"
 
		tell database "1MENU.fp6"
 
			set cell "vMenAsPIDErrNo_t" of first record to errNo1
 
			set cell "vMenAsPIDErrMsg_t" of first record to errMsg1
 
		end tell
 
	end tell
 
	--return
 
end OnErrHandler
 
 
-- Erfolgs-Handler mit übergabe der Daten an die DB:
 
on SuccessHandler()
 
	tell application "FileMaker Developer"
 
		set fileInfo to info for filepath
 
		set cell "vMenAsPath_t" of record 1 of database "1MENU.fp6" to (filepath as string)
 
		if procId = "Datei wŠhlen" then
 
			set cell "vMenAsFile_t" of record 1 of database "1MENU.fp6" to displayed name of fileInfo
 
			set cell "vMenAsFileExtention_t" of record 1 of database "1MENU.fp6" to name extension of fileInfo
 
		end if
 
		set cell "vMenAsPIDErrNo_t" of record 1 of database "1MENU.fp6" to "0"
 
		set cell "vMenAsPIDErrMsg_t" of record 1 of database "1MENU.fp6" to "successful"
 
	end tell
 
	--return
 
end SuccessHandler
 
 
 
Das Script tuts einwandfrei, es reagiert sogar auf timeouts, ohne dass das laufende FM-Script nicht sauber abgefangen werden kann.
 
 
Viele Grüße aus Wiesbaden
 
Seppel   | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		spirigwi •----->
  
  
  Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
  | 
		
			
				 Verfasst am: 23.09.2005 - 22:01    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				vielen Dank!
 
-- Beliebiger Pfad an FM übergeben: 
 
-- ============================================================ 
 
-- Erstellt von KM am 25.05.2005 
 
-- Überarbeitet von km am 22.09.2005 zu Version 1.1 
 
-- Überarbeitet von ... am ... zu Version ... 
 
-- ============================================================ 
 
 
--Globale Variablen deklarieren: 
 
global errNo1, errMsg1, filepath, procID, fileInfo
 
 
-- Processdaten übernehmen: 
 
tell application "FileMaker Pro"
 
   tell database "1MENU.fp6"
 
      set procID to cell "vMenAsPID_t" of first record --was tun 
 
      set dialogTxt to cell "vMenAsPIDMsg_t" of first record --Wunschtext für MsgBoxen 
 
   end tell
 
end tell
 
 
if not procID = "Ordner wählen" and not procID = "Datei wählen" and not procID = "1000" and not procID = "2000" then
 
   set errNo1 to "-10"
 
   set errMsg1 to "no practicable process declared"
 
   OnErrHandler()
 
   return
 
end if
 
 
-- Was soll gemacht werden: 
 
if procID = "Ordner wählen" or procID = "1000" then
 
   try
 
      set filepath to choose folder with prompt dialogTxt
 
   on error errMsg number errNo
 
      set errMsg1 to errMsg
 
      set errNo1 to errNo
 
      OnErrHandler()
 
      return
 
   end try
 
   SuccessHandler()
 
end if
 
if procID = "Datei wählen" or procID = "2000" then
 
   try
 
      set filepath to choose file with prompt dialogTxt
 
   on error errMsg number errNo
 
      set errMsg1 to errMsg
 
      set errNo1 to errNo
 
      OnErrHandler()
 
      return
 
   end try
 
   SuccessHandler()
 
end if
 
 
--Abbruch-Handler bei Fehler: 
 
on OnErrHandler()
 
   tell application "FileMaker Pro"
 
      tell database "1MENU.fp6"
 
         set cell "vMenAsPIDErrNo_t" of first record to errNo1
 
         set cell "vMenAsPIDErrMsg_t" of first record to errMsg1
 
      end tell
 
   end tell
 
   --return 
 
end OnErrHandler
 
 
-- Erfolgs-Handler mit übergabe der Daten an die DB: 
 
on SuccessHandler()
 
   tell application "FileMaker Pro"
 
      set fileInfo to info for filepath
 
      set cell "vMenAsPath_t" of record 1 of database "1MENU.fp6" to (filepath as string)
 
      if procID = "Datei wS<caron>hlen" then
 
         --set cell "vMenAsFile_t" of record 1 of database "1MENU.fp6" to displayed name of fileInfo 
 
         --set cell "vMenAsFileExtention_t" of record 1 of database "1MENU.fp6" to name extension of fileInfo 
 
      end if
 
      set cell "vMenAsPIDErrNo_t" of record 1 of database "1MENU.fp6" to "0"
 
      set cell "vMenAsPIDErrMsg_t" of record 1 of database "1MENU.fp6" to "successful"
 
   end tell
 
   --return 
 
end SuccessHandler
 
(*
 
Hallo
 
1) 
 
Du könntest doch die Feldnamen  wesentlich höher, nämlich ganz oben,  bekannt geben mit propertys 
 
dann wären sie doch ganz einfach umschreibbar und für einen anderen user brauchbar,
 
was hälst du vom Vorschlag ZB so :
 
*)
 
property cellvMenAsPathT : "vMenAsPath_t"
 
 
--PS:
 
cellvMenAsPath_t --dies Variable kannst du nicht doppelklicken, stimmts?
 
 
(*2) ist das to "displayed name of fileInfo" ein Developper-Gag? im FM bei mir gehts nicht
 
 
*) _________________  Skript-Fan => ein  �  -Fan =>Scr¿¿-KongFuSius_Kurpfusius | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Seppel •-->
  
  
  Anmeldedatum: 22.09.2005 Beiträge: 59 Wohnort: Wiesbaden
  | 
		
			
				 Verfasst am: 24.09.2005 - 11:48    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hallo Spirigwi,
 
 
wenn ich es richtig verstanden habe:
 
 
 	  | Zitat: | 	 		  1)
 
Du könntest doch die Feldnamen wesentlich höher, nämlich ganz oben, bekannt geben mit propertys
 
dann wären sie doch ganz einfach umschreibbar und für einen anderen user brauchbar,
 
was hälst du vom Vorschlag ZB so :
 
*)
 
property cellvMenAsPathT : "vMenAsPath_t"  | 	  
 
 
Meinst Du damit, dass jeder User des AS seine eigenen Feldnamen in die Variablen (properties) schreibt, zB wenn er mit anderen Feldern arbeitet?
 
 
Klar könnte man das machen. Nur wir brauchen das in diesem Fall nicht, da das AS in einer Art "zentralen Steuerungsdatei" liegt. Da kann und sollte jeder mit der gleichen Art und Weise auf die "Schnittstelle" zugreifen. Damit werden im gesamten Projekt Zugriffe vereinheitlicht und jeder weiss genau, wie er mit der Steuerungsdatei zu sprechen hat. An dem Projekt arbeiten mehrer Entwickler! Das hilft u. a., schnell Fehler zu lokalisieren usw.
 
 
Oder habe ich da was missverstanden?
 
 
- 	  | Zitat: | 	 		  -PS:
 
cellvMenAsPath_t --dies Variable kannst du nicht doppelklicken, stimmts? 
 
 | 	  
 
 
Was meinst Du damit? Verstehe ich nicht.
 
 
 
 	  | Zitat: | 	 		  (*2) ist das to "displayed name of fileInfo" ein Developper-Gag? im FM bei mir gehts nicht
 
 
*) | 	  
 
 
Nö, der liefert mir den Dateinamen, so wie er vom Mac gesehen wird. So lese ich alle Files, insbesondere Bilddateien ein. Was ich allerdings noch nicht hinbekommen habe, ausser natürlich mit Photoshop, ist das Auslesen der Bildgröße (Höhe und Breite) sowie der Auflösung. Die liefert der Finder mir nicht direkt, wie beispielsweise bei Windows. Aber da ich meistens eh alle Bilddateien noch bearbeiten muss, hole ich mir bei dieser Aktion auch gleich diese Daten von Photoshop.
 
 
Liebe Grüße aus Wiesbaden
 
Seppel   | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		spirigwi •----->
  
  
  Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
  | 
		
			
				 Verfasst am: 24.09.2005 - 14:14    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Seppel hat Folgendes geschrieben: | 	 		  |  Meinst Du damit, dass jeder User des AS seine eigenen Feldnamen in die Variablen (properties) schreibt, zB wenn er mit anderen Feldern arbeitet?  | 	   ja genau, aber nicht nur! 
 
zum ersten:
 
 	  | Seppel hat Folgendes geschrieben: | 	 		   Falls es jemand gebrauchen kann    | 	  
 
zum zweiten:
 
 	  | Seppli hat Folgendes geschrieben: | 	 		   An dem Projekt arbeiten mehrer Entwickler! Das hilft u. a., schnell Fehler zu lokalisieren usw. 
 
  | 	  genau da hilft Property für Feldnamen der FileMaker gewaltig, da es zuerst quasi übersicht-mässig mal alle Namen deklariert an die man sich zu halten hat im Projekt, die sind nämlich nicht vom AS sondern vom FileMaker-file vorgegeben.
 
 
zum dritten:
 
 	  | spirigli hat Folgendes geschrieben: | 	 		  | cellvMenAsPath_t --dies Variable kannst du nicht doppelklicken, stimmts?   | 	  
 
will heissen: hättest du einen Automaten gebaut der dir automatisch alle Feld-namen des FM-Files in Propertys-Zeilen aufreit und du bei  File_Feld_Namen nicht so sondern so benamen würdest: 
 
 FileFeldNamen ja dann, das Paradies steht offen:
 
wenn du nun die Verwertung eines Feldes im AppleSkript suchen muss machst du auf den  FileFeldNamen einen doppelklick, dann æ_C= kopiert, dann in Smile æ_F= suchen, dann æ_V, dann den so deponierten suchgegenstand mit ENTER und æ_G sooft absuchen bis du ihn gefunden hast, was sich ja schon bei deinem relativ kurzen Skript bestens befähren würde bei der Fehlersuche
 
 
Ach ja: was passiert denn dann wenn du auf  File_Feld_Namen oder cellvMenAsPath_t  einen Doppeklick machst?
 
 
Das passiert:     
 
 File_Feld_Namen
 
 cellvMenAsPath_t
 
begriffen?
 
Für weitere Erläuterungen, lauter Leute und lauter Leute, gerne zu haben, da ich gerade härtestens an mir arbeite eine klarere Formulierungsweise einzuüben ich habe nämlich noch paar Fragen für Forum offen
 
 
PS!!!!!!! uitsch fast vergessen:
 
Die überkommene Tradition des "DOPPELKLICKS" stammt natürlich aus einer ZwischenAera der Komputer, zugegeben und wirkt schon etwas antiquiert, zugegeben:
 
 
Als ich noch 4 h morgens Geburtscheine ausfüllen musste konnte man auf den Schreibmaschinen der Schwesternstation noch keinen Text kopieren.
 
 
Dann kam dieser Schwachsinn mit den Word-haltigen-Komputern, und dort wars halt Tradition dass man gleiches Wort im Text (ZB: foeto-maternaler Exitus) doppel-geklickt hat,da das Zeichen - auch doppelklickbar ist aber nicht in FileMaker passen würde andererseits das kleinere Problem, wenn Mutter und Kind gleichzeitig starben, mit einem Doppelklick alles gesagt war mit: æ_C und dann weiter unten abladen mit æ_V. Wenigstens ein paar Stunden Schlaf hats einem schon gerettet.
 
 
Jetzt ist ja das auch nicht mehr nötig, da wir ja AppleSkript haben, und falls eine Geburt abverrecken würde, könnte  man  ein Tastatur-kürzel drücken , das eine ganze Textseite auf ein Blatt wuchtet und mit schwarzem Rahmen aus dem Drucker befördert, Schlaf gerettet! wie beneide ich nun meinen Sohn den jungen Assistenzarzt so sehr: AppleSkript machts möglich)
 
 
 ich vermute aber auch, dass ScriptEditor  in OSXs-Version  über die Markierung springt  beim  _  und beim -, und nun hab ich glaube ich meine Frage richtig ausformuliert zu haben? spende mir Trost , Seppi!
 
 
--> dh ich wollte wissen warum du im AppleScript-Forum und nicht im parallelen OSX-Snow-Forum schreibst, war halt nur so ne Fallfrage, die du auch gerade mit dem doppelklick beantwortet hättest ohne dich explizit danach fragen zu müssen, falls du den Tipp mit den Variable_Sollte_Man_NICHT_mit_DIesen_Unterstrichen_Bennen_vor ALLEM_Aber_NICHT_FileMakers_FEld_Namen  für einen schlechten Rat gehalten hättest.
 
 
Hirnakrobatik?
 
   (@Snow) _________________  Skript-Fan => ein  �  -Fan =>Scr¿¿-KongFuSius_Kurpfusius | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Snow Administrator
  
  
  Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
  | 
		
			
				 Verfasst am: 24.09.2005 - 16:12    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				@Willy
 
 
Dass Seppel 'displayed name' verwendet, lässt darauf schließen, dass er unter OS X scriptet. 
 
Im Skripteditor 2 gibt es kein Problem mit dem Doppelklicken von Variablennamen. Sowas "File_Feld_Namen" kann man also problemlos per Doppelklick selektieren.
 
 
Im ursprünglichen Beitrag ging es um's Fehlerabfangen. Das gilt unter OS 9 genauso wie unter OS X - also ist das Forum eigentlich egal. _________________ Peter
 
-
 
Fischer-Bayern.de|Shadetreemicro.com | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		spirigwi •----->
  
  
  Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
  | 
		
			
				 Verfasst am: 24.09.2005 - 17:07    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Snow hat Folgendes geschrieben: | 	 		  | per Doppelklick selektieren.  | 	   danke für das neue Vokabel   
 
 
 	  | Snow hat Folgendes geschrieben: | 	 		  | Im ursprünglichen Beitrag ging es um's Fehlerabfangen. | 	  
 
Genau und deshalb versuchte ich als erstes sein angebotenes Skript zu färben (Übersicht)
 
Dabei fällt als erster(ich meine) einziger Vorteil auf,  dass sich text-formatierte Feldnamen blau gefärbt zwar besser abheben als eine in Propertys vordefinierte Variable(rot) für den Namen der cell, hat aber auch Nachteile, vor allem je länger das Skript wird.
 
 
Nun sieht man ja durch die Farben besser die Handler von Seppel:
 
Da es leider meiner Ansicht nach viel zu wenig im AS-Forum vorkommt, dass über FileMaker Befehle, cells usw  berichtet wird, dachte ich wärs auch nicht 
 
ganz daneben diese seltenen Momente zu nutzen und etwas zu erweitern anhand eines konkreten Beispiels, das ja nun vorliegt? Und man sieht auch dass dem AS keine error Meldung rückgemeldet wird, was in dieser Handlerfunktion zwa irrelevant ist, in multifunktionelleren Skripts aber immer wieder die Frage der höchsten Kompetenz(FileMaker oder AS) auftritt, was an Seppels Beispiel auch nicht schlecht dirkutiert werden könnte...
 
 
--Abbruch-Handler bei Fehler: 
 
on OnErrHandler()
 
   tell application "FileMaker Pro"
 
      tell database "1MENU.fp6"
 
         set cell "vMenAsPIDErrNo_t" of first record to errNo1
 
         set cell "vMenAsPIDErrMsg_t" of first record to errMsg1
 
      end tell
 
   end tell
 
   --return 
 
end OnErrHandler
 
 
OK ich gebs freiwillig auf   _________________  Skript-Fan => ein  �  -Fan =>Scr¿¿-KongFuSius_Kurpfusius | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Seppel •-->
  
  
  Anmeldedatum: 22.09.2005 Beiträge: 59 Wohnort: Wiesbaden
  | 
		
			
				 Verfasst am: 24.09.2005 - 18:26    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Ihr seid ja rischdisch knuffig hier    So sollten Foren immer sein.
 
 
Also das mit dem Doppelklick habe ich ja nun verstanden   . 
 
 
Wie Snow richtig bemerkt, arbeite ich auf OSX, mittlerweile sogar auf OSX Discher. Als ich mit FM3 angefangen habe, arbeitete ich noch auf einem 8.? System. Dann einige Jahre auf PC's und jetzt auf beiden, weil wir sowohl auf PC als auch auf Mac entwickeln. Daheim herrscht mittlerweile die gleiche Situation, wobei ich doch lieber auf dem mac arbeite, auch wenn ich die ShortCuts vermisse. Ich habe mir vor ein paar Monaten so einen knuffigen MiniMac und ein tolles AppleDisplay geleistet, sieht einfach geil aus, das Teil!
 
 
Was das mit dem Färben angeht; ihr färbt doch nicht wirklich jedes Scriptelement einzeln. Mein Script habe ich über nen PC ins Forum reingebracht. Da war mir das ein wenig aufwendig   . Wie kriege ich also die Scriptelemente direkt gefärbt ins Forum?
 
 
Liebe Grüße aus Wiesbaden
 
 
Seppel   | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Seppel •-->
  
  
  Anmeldedatum: 22.09.2005 Beiträge: 59 Wohnort: Wiesbaden
  | 
		
			
				 Verfasst am: 24.09.2005 - 18:35    Titel: Falsches Forum | 
				     | 
			 
			
				
  | 
			 
			
				Manches muss ich dann doch zweimal lesen    
 
 
 	  | Zitat: | 	 		  | dh ich wollte wissen warum du im AppleScript-Forum und nicht im parallelen OSX-Snow-Forum schreibst, war halt nur so ne Fallfrage, die du auch gerade mit dem doppelklick beantwortet hättest ohne dich explizit danach fragen zu müssen, falls du den Tipp mit den Variable_Sollte_Man_NICHT_mit_DIesen_Unterstrichen_Bennen_vor ALLEM_Aber_NICHT_FileMakers_FEld_Namen für einen schlechten Rat gehalten hättest. | 	  
 
 
Ehrlich gesagt, habe ich darüber garnicht nachgedacht. Aber Snow hat mir ja schon einen Haltepunkt geliefert   
 
 
Muss ich mein zweites Thema jetzt im OSX posten?
 
 
Liebe Grüße aus Wiesbaden
 
 
Seppel | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Snow Administrator
  
  
  Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
  | 
		
			
				 Verfasst am: 24.09.2005 - 19:05    Titel: Re: Falsches Forum | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Seppel hat Folgendes geschrieben: | 	 		  Muss ich mein zweites Thema jetzt im OSX posten?
 
 | 	  
 
 
Wenn du unter OS X scriptest und dir nicht sicher bist, ob das Skript genauso unter OS 9 läuft, ist es im OS X Forum besser aufgehoben.
 
 
Wer sich dort ein Skriptbeispiel heraus kopiert, weiß zumindest, dass es unter OS X verfasst wurde. Wenn es also unter OS 9 nicht funktioniert, braucht man sich nicht weiter zu wundern.
 
 
Nun der andere Fall. Bleiben wir gleich beim bisherigen Skript. 'displayed name' gibt's unter OS 9 nicht. Dort hat 'name' genügt. Seit OS X sind eben Dateiendungen wichtiger geworden. Man kann sie allerdings auch ausblenden. 
 
 
Es gibt also 'name' und 'displayed name' unter OS X. 'name' würde immer den vollen Namen liefern - inkl. Dateiendung. 'displayed name' liefert das was man, je nach Einstellung, auch am Bildschirm sieht.
 
 
Zurück zum Thema der Beitragsunterbringung: Jemand kopiert sich also dein Skriptbeispiel aus dem OS 9 Forum und wundert sich, dass er es auf seinem OS 9 nicht kompilieren kann. - Dann stellt sich dieser Jemand bestimmt eine Menge Fragen. "Liegt es an seinem Rechner? An seiner AppleScript-Version? usw. - Bei anderen scheint es ja zu funktionieren."
 
 
Ich verschiebe nur Themen, die eindeutig in ein anderes Forum gehören. Wenn also im OS 9 irgendwas mit 'do shell script' auftaucht, verschiebe ich das nach OS X. Wenn ich was entdecke, das eindeutig nur bis OS 9 funktioniert wird's dorthin verschoben.
 
 
Ich musste bisher noch nicht oft regulierend eingreifen. _________________ Peter
 
-
 
Fischer-Bayern.de|Shadetreemicro.com | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
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 
		 | 
	 
 
 | 
 
 |