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

Question @ Spirigwi & Snow

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


Anmeldedatum: 04.11.2003
Beiträge: 125
Wohnort: .DS_Store

BeitragVerfasst am: 06.01.2006 - 15:24    Titel: Question @ Spirigwi & Snow Antworten mit Zitat

Also Ich hab ja von euch beiden das SuchT ErsatzT skript... so da dieses jetzt mit nem on handler versehen sind... krieg ich schwierigkeiten mit xCode und ich kann mit auch kein on Idle skript machen Sad Jetzt wollt ich fragen ob man das nich einfach normal ins skript einfügen könnte... also anstadt
Code:

set ZuErsetzenText to the_Variable
set ErsetzterText to my SuchErsAusWerteListeWL1()
set the_Variable to ZuErsetzenText


Das ganz ausschreiben sprich die On Handler verschwinden lassen. Ich hoff ihr wisst was ich mein
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 06.01.2006 - 23:45    Titel: Antworten mit Zitat

Damit Snow das Schlusswort bleibt stürze ich mich nun über Klippe:

Hallo Mouse der Scripter! tapfer, wie du dich durchschlägst mit den handlern. Wenns ohne gehen soll:

hast du im posting von Snow :
http://www.fischer-bayern.de/phpBB2/viewtopic.php?t=690
schon die Handler-lose Variante von Armin Egginger gelesen?
mit diesem Konzept könnte dir (durch umgehen der Handler) das Bauen etwas leichter fallen.

Aber, nicht vergessen:
die handler machen nicht etwas falsches und es enteht auch keine Einschränkung der Funktionsbreite damit, sondern der Umgang ist lediglich etwas kniffliger.
Handler können übrigens auch mehrere verwertbare Zwischenresultate liefern .(Global-Technik)
Andererseits lässt sich mit etwas Handler-Training(igs zu Hanteln-Training=Muskeltraining, das fürs AppleSkripten ungeeignet ist! es gibt ja auch hier so einen ! einzigen Muskelprotzer) wesentlich leichter "Brockenweise" vorgehen (= Test-Abschnitte bauen), vor allem wenn es um grosse Ersatz-Texte geht, bei denen man ZB solcherart " Zeichen" noch in die Variable füttern muss, dann braucht man andere Programme dazu, welche einem Gesamt-Texte mit solchem Inhalt als einen einzigen Variablen-Inhalt liefern, u.a zur Mehrfachverwertung für das AppleSkript.

Der Handler-Aufbau dienst auch als Ersatz von "Eingabemasken", mit denen man immerwieder v.a mehrmals denselben Ersetzen-Process losstarten kann, aus beliebiger Stelle des laufenden Skriptes heraus, ohne dass man jedesmal die ganzen mono-funktionalen Zeilen erneut tippen muss.

Tipp:
Bei der Skript Korrektur dienen einem obtische Marker für die Stellen der
on handlerER() --ZB so oooooooooooooooooooooooooooooooo
--
...
end handlerER

--
oder den Startpunkt im Skript sichtbaer machen:
my handlerER() --ZB so oooooooooooooooooooooooooooooooo


mit einem Handler kann man auch "Probeläufe" in einem 2. Skriptfenster machen, was ich als den grössten Vorteil betrachte: Damit kann man Funktionsabschnitte des zu bauenden Skriptes Brockenweise auf seine Fehlern untersuchen.

Kurz: Armin Egginger nicht vergessen, der zeigt seine Modelle MIT und OHNE HANDLER.

(Hey, ScriptingMouse, eine Frage noch: Warum wohl dieser gescheite Kopf von Armin Egginger denn überhaupt eine on handler()-Version anbietet, wenns ja auch ohne geht?, irgend ein Grund wird wohl dahinter stecken¿

PS:
ganz ohne handler kommen die SHELL-SKRIPTER aus (ZB hweber) aber zu der Zunft gehöre ich nur gegen Vorhalten einer Pistole und die heisst FileMaker-Server, wohl kaum dein Problem Confused
(nur noch so nebenbei: im FileMaker client drin bist du ohne handler meist ein Tiefseetaucher mit Schnorchel: aus! fertig! amen !)
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius


Zuletzt bearbeitet von spirigwi am 07.01.2006 - 23:00, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
scriptingmouse13
•-->
•-->


Anmeldedatum: 04.11.2003
Beiträge: 125
Wohnort: .DS_Store

BeitragVerfasst am: 07.01.2006 - 21:04    Titel: Antworten mit Zitat

Ok ... Ich sag dann erstmal danke Smile Das Beispiel von Armin Egginger hat mit seeeehhhr geholfen Smile Hab einfach ein Paar Variablen Geändert und Anstadt den ASCII einfach normale "Characters" genommen Smile ... Das Ganze sieht dann so aus :

Code:


set omg to "ABCDEGHIJKLLMNOPQRSTUVWXYZ*+'#-.,_<>!\"§$%&/()=?ß|~"
set TTEXT to omg
set charList to {"ä", "ö", "ü", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "[AE]", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "Ö", "Ü", "ß", "!", "~", "+", "#", "'", "*", "<", ">", "=", ")", "(", "/", "|", "&", "%", "$", "~", "_", "\"", ".", ",", "?"}
set cList to {"^1[^9a^7e^1]^7", "^1[^9o^7e^1]^7", "^1[^9u^7e^1]^7", "^9A^7", "^9B^7", "^9C^7", "^9D^7", "^9E^7", "^9F^7", "^9G^7", "^9H^7", "^9I^7", "^9J^7", "^9K^7", "^9L^7", "^9M^7", "^9N^7", "^9O^7", "^9P^7", "^9Q^7", "^9R^7", "^9S^7", "^9T^7", "^9U^7", "^9V^7", "^9W^7", "^9X^7", "^9Y^7", "^9Z^7", "^1[^9A^7E^1]^7", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "^1[^9O^7E^1]^7", "^1[^9U^7E^1]^7", "^1[^9S^1]^7", "^1!^7", "^1~^7", "^1+^7", "^1#^7", "^1'^7", "^1*^7", "^1<^7", "^1>^7", "^1=^7", "^1)^7", "^1(^7", "^1/^7", "^1|^7", "^1&^7", "^1%^7", "^1$^7", "^1~^7", "^1_^7", "^1\"^7", "^1.^7", "^1,^7", "^1?^7"}
repeat with n from 1 to (count every item in charList)
   set prevTID to AppleScript's text item delimiters
   set AppleScript's text item delimiters to (item n of charList)
   set TTEXT to text items of TTEXT
   set AppleScript's text item delimiters to (item n of cList)
   set TTEXT to TTEXT as text
   set AppleScript's text item delimiters to prevTID
end repeat

return TTEXT


also danke Spirigwi Smile ich glaub von jetzt an komm ich allein zurecht *g* ... aber besser du guckst in 1 - 2 Tagen nochmal... falls ich nich doch noch ne frage hab Smile Thx !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 07.01.2006 - 21:18    Titel: Antworten mit Zitat

Was gibt's den für Schwierigkeiten mit Handlern in XCode? Da ist doch sowieso schon jede Kleinigkeit in Handler verpackt - on clicked, on launched, on ...

Eigene Handler zu verwenden ist absolut problemlos.
Eine Kleinigkeit fällt mir ein: Beim Aufruf eines eigenen Handlers ist es zuverlässiger, die folgende Form zu verwenden:

HandlerName() of me

anstatt

my HandlerName()

Ansonsten sind mir keine Probleme damit bekannt.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
scriptingmouse13
•-->
•-->


Anmeldedatum: 04.11.2003
Beiträge: 125
Wohnort: .DS_Store

BeitragVerfasst am: 07.01.2006 - 21:34    Titel: Antworten mit Zitat

Bei mir is das problem... ich hab n großen on clicked handler und dann is halt dieser teil mit drin verpackt :

set ZuErsetzenText to the_song
set ErsetztertText to my ErsatzPaarWL()
set the_song to ZuErsetztenText

und ganz unten im skript sind halt dann diese 3 On Handler von Spirigwi ( mit SuchT und ErsetzT und dann zeigt er mir entweder an, dass es irgend ne variable net gibt... oder er machts einfach nich und lässt den text unverändert... aber jetz is es egal, da ich ja das ohne on handler hab Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 07.01.2006 - 22:45    Titel: Antworten mit Zitat

Hallo Snow,
bist du denn kein bisschen stolz auf deinen Schüler ScriptingMouse, der hat sich ja zum Skripter-Elefanten durchgeschlagen, in so kurzer Zeit solches in Listen zu packen "^1[^9a^7e^1]^7"..caracho! da staune ich halt nur so

Snow hat Folgendes geschrieben:
zuverlässiger..
HandlerName() of me
wann versagt der andere?

my handlerNAME()

darf ich verraten warum ich den vorziehe( Embarassed )
• 1) er hat eine Wort weniger zum tippen (dh bei mir wimmelt es nur so von handlern, dann summiert sich das ..)
• 2) hat man schon mal mit ach und Krach ein Probekript-Ablauf in einen handler verpackt, so:
on handlerNAME()
--
end handlerNAME


genügt ein Kleiner Copy-Kniff für die Handler-Aufrufe Zeile:
aus:
on handlerNAME()

wird durch Doppelklick auf on + tippe my zu :
my handlerNAME()
Crying or Very sad muss ich das verlassen?

@Scriptingmouse:
Tipp:
gib Snow noch eine Antwort auf
Snow hat Folgendes geschrieben:
Was gibt's den für Schwierigkeiten mit Handlern in XCode?

Solche Angebote sollte man sich nicht entgehen lassen, du lernst dabei fürs ganze Leben! dein Musik-Autoren-gag ist super! aber hinsichtlich AppleSkript ist er eine äusserst kurzlebige Angelegenheit. Also wuchte dein Fehlerskript hinein! Exclamation Exclamation Juchuu
nicht kneiffen grollend
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
scriptingmouse13
•-->
•-->


Anmeldedatum: 04.11.2003
Beiträge: 125
Wohnort: .DS_Store

BeitragVerfasst am: 08.01.2006 - 01:43    Titel: Antworten mit Zitat

Ok .... Dann wuchte ich mal das FehlerSkript rein Smile
ABER ES IS LAAAAANG Smile und ohne Code Formatter *g*

[code]
-- iTunes.applescript
-- CT-iT-rCoN

-- Created by Christoph Eiswirth on Wed Nov 16 2005.
-- Copyright (c) 2003 __Christoph Eiswirth__. All rights reserved.

on clicked theObject
-- BGcolor
set BGColor to contents of text field "BGColor" of window "Main" of tab view item "Preferences"
--NColor
set NColor1 to contents of text field "NColor1" of window "Main" of tab view item "Preferences"
set NColor2 to contents of text field "NColor2" of window "Main" of tab view item "Preferences"
set NColor3 to contents of text field "NColor3" of window "Main" of tab view item "Preferences"
set NColor4 to contents of text field "NColor4" of window "Main" of tab view item "Preferences"
set NColor5 to contents of text field "NColor5" of window "Main" of tab view item "Preferences"
--NF
set NF1 to contents of text field "NF1" of window "Main" of tab view item "Preferences"
set NF2 to contents of text field "NF2" of window "Main" of tab view item "Preferences"
set NF3 to contents of text field "NF3" of window "Main" of tab view item "Preferences"
set NF4 to contents of text field "NF4" of window "Main" of tab view item "Preferences"

set tnoto to the name of theObject
set iTunesAblage to contents of text field "iTunesAblage" of window "Main" of tab view item "iTunes"
if tnoto is "iTunes" then
global the_artist, the_song, ErsetzterText, ZuErsetzenText, SuchErsetzPaarWLblabla
set nix to " " -- To Replace all the lines

-------------
--_ArtistNames_--
-------------
tell application "iTunes"
set the_artist to artist of current track
set the_song to name of current track
end tell
set GreenDay to "^2Green Day"
set Evanescence to "^1E^0vane^1S^0cence"
set Hoobastank to "^7H^4oobastank"
-------------
--_ArtistNames_--
-------------
if iTunesAblage is "Normal" then
tell application "iTunes" to set the_artist to artist of current track

else if iTunesAblage is "Color" then
if the_artist is "Evanescence" then -- Evanescence
set the_artist to Evanescence
else if the_artist is "Hoobastank" then -- Hoobastank
set the_artist to Hoobastank
else if the_artist is "Green Day" then
set the_artist to GreenDay
else
set ZuErsetzenText to the_artist
set ErsetzterText to my SuchErsAusWerteListeWL1()
set the_artist to ZuErsetzenText

end if
end if
if iTunesAblage is "Normal" then
tell application "iTunes" to set the_song to name of current track
else if iTunesAblage is "Color" then
if the_song is "Going Under" then -- Going Under
set the_song to "^1G^0oing ^1U^0nder"

else if the_song is "Bring Me To Life" then -- Bring me To Life
set the_song to "^1B^0ring ^1M^0e ^1T^0o ^1L^0ife"

else if the_song is "My Immortal" then -- My Immortal
set the_song to "^1M^0y ^1I^0mmortal"

else if the_song is "My Immortal(Band Version)" then -- My Immortal BV
set the_song to "^1M^0y ^1I^0mmortal"

else if the_song is "Haunted" then -- Haunted
set the_song to "^1H^0aunted"

else if the_song is "Field of Innocence" then -- Field of Innocence
set the_song to "^1F^0ield ^1O^0f ^1I^0nnocence"

else if the_song is "Surrender" then
set the_song to "^1S^0urrender"

else if the_song is "Everybody's Fool" then
set the_song to "^1E^0verybody^1'^0s ^1F^0ool"

else if the_song is "Tourniquet" then
set the_song to "^1T^0ourniquet"

else if the_song is "Imaginary" then
set the_song to "^1I^0maginary"

else if the_song is "Taking Over Me" then
set the_song to "^1T^0akingOverMe"

else if the_song is "Hello" then
set the_song to "^1H^0ello"

else if the_song is "My Last Breath" then
set the_song to "^1M^0y ^1L^0ast ^1B^0reath"

else if the_song is "Whisper" then
set the_song to "^1W^0hisper"

----_Hoobastank_-----

else if the_song is "Out of Control" then
set the_song to "^7O^4ut ^7o^4f ^7C^4ontrol"

else if the_song is "Unaffected" then
set the_song to "^7U^4naffected"

else if the_song is "Just One" then
set the_song to "^7J^4ust ^7O^4ne"

else if the_song is "Running Away" then
set the_song to "^7R^4unning ^7A^4way"

else if the_song is "What Happened To Us?" then
set the_song to "^7W^4hat ^7H^4appened ^7T^4o ^7U^4s ^3?"

else if the_song is "Too Little Too Late" then
set the_song to "^7T^4oo ^7L^4ittle ^7T^4oo ^7L^4ate"

else if the_song is "" then
set the_song to ""

else if the_song is "" then
set the_song to ""

else if the_song is "" then
set the_song to ""

else if the_song is "" then
set the_song to ""

else if the_song is "" then
set the_song to ""

else if the_song is "" then
set the_song to ""

else if the_song is "" then
set the_song to ""

else if the_song is "" then
set the_song to ""

else if the_song is "" then
set the_song to ""

else if the_song is "" then
set the_song to ""

else if the_song is "" then
set the_song to ""

else if the_song is "" then
set the_song to ""

else if the_song is "" then
set the_song to ""

else if the_song is "" then
set the_song to ""

else if the_song is "" then
set the_song to ""

else if the_song is "" then
set the_song to ""

else if the_song is "" then
set the_song to ""

else if the_song is "" then
set the_song to ""

else if the_song is "" then
set the_song to ""
else
set ZuErsetzenText to the_song
set ErsetzterText to my SuchErsAusWerteListeWL1()
set the_song to ZuErsetzenText
end if
end if

----------------------------------------------------------------------------------
if iTunesAblage is "Color" then
tell application "iTunes"
if player state is playing then
set end1 to BGColor & the_song & " ^3-" & BGColor & " " & the_artist & " ^1=>" & NColor3 & NF3 & BGColor & "Tun" & NColor2 & NF2 & BGColor & "s" -- Normal
tell application "Call of Duty MP" to activate
tell application "System Events"
keystroke ">"
keystroke end1
keystroke "<"
end tell
else if player state is paused then -- Paused

set end3 to NColor3 & NF3 & BGColor & "Tun" & NColor2 & NF2 & BGColor & "s" & NColor3 & NF3 & BGColor & "s N" & NColor4 & NF4 & BGColor & "t Pl" & NColor1 & NF1 & BGColor & "y" & NColor3 & NF3 & BGColor & "ng"
tell application "Call of Duty MP" to activate
tell application "System Events"
keystroke ">"
keystroke end3
keystroke "<"
end tell

else if player state is stopped then --Stopped

set end3 to NColor3 & NF3 & BGColor & "Tun" & NColor2 & NF2 & BGColor & "s" & NColor3 & NF3 & BGColor & "s N" & NColor4 & NF4 & BGColor & "t Pl" & NColor1 & NF1 & BGColor & "y" & NColor3 & NF3 & BGColor & "ng"
tell application "Call of Duty MP" to activate
tell application "System Events"
keystroke ">"
keystroke end3
keystroke "<"
end tell
end if
end tell

else if iTunesAblage is "Normal" then
tell application "iTunes"
if player state is playing then
set end1 to "^7" & the_song & " - " & the_artist & " =>" & " iTunes" -- Normal
tell application "Call of Duty MP" to activate
tell application "System Events"
keystroke ">"
keystroke end1
keystroke "<"
end tell
else if player state is paused then -- Paused

set end3 to "iTunes is Not Playing"
tell application "Call of Duty MP" to activate
tell application "System Events"
keystroke ">"
keystroke end3
keystroke "<"
end tell

else if player state is stopped then --Stopped

set end3 to "iTunes is Not Playing"
tell application "Call of Duty MP" to activate
tell application "System Events"
keystroke ">"
keystroke end3
keystroke "<"
end tell
end if
end tell
end if

else if tnoto is "iTunesColored" then
set contents of text field "iTunesAblage" of window "Main" of tab view item "iTunes" to "Normal"
else if tnoto is "iTunesNormal" then
set contents of text field "iTunesAblage" of window "Main" of tab view item "iTunes" to "Color"


end if

end clicked


----------------

on SuchErsAusWerteListeWL1()
global ErsetzterText, ZuErsetzenText, SuchErsetzPaarWLblabla
-- BGcolor
set BGColor to contents of text field "BGColor" of window "Main" of tab view item "Preferences"
--NColor
set NColor1 to contents of text field "NColor1" of window "Main" of tab view item "Preferences"
set NColor2 to contents of text field "NColor2" of window "Main" of tab view item "Preferences"
set NColor3 to contents of text field "NColor3" of window "Main" of tab view item "Preferences"
set NColor4 to contents of text field "NColor4" of window "Main" of tab view item "Preferences"
set NColor5 to contents of text field "NColor5" of window "Main" of tab view item "Preferences"
--NF
set NF1 to contents of text field "NF1" of window "Main" of tab view item "Preferences"
set NF2 to contents of text field "NF2" of window "Main" of tab view item "Preferences"
set NF3 to contents of text field "NF3" of window "Main" of tab view item "Preferences"
set NF4 to contents of text field "NF4" of window "Main" of tab view item "Preferences"
--Anfang Skript ( Such und Ersatz )
set SuchErsetzPaarWLblabla to {¬
{SuchT:"e", ErsatzT:"" & NColor2 & NF2 & BGColor}, ¬
{SuchT:"a", ErsatzT:"" & NColor1 & NF1 & BGColor}, ¬
{SuchT:"i", ErsatzT:"" & NColor3 & NF3 & BGColor}, ¬
{SuchT:"o", ErsatzT:"" & NColor4 & NF4 & BGColor}, ¬
{SuchT:"I", ErsatzT:"" & NColor4 & NF4 & BGColor}, ¬
{SuchT:"A", ErsatzT:"" & NColor1 & NF1 & BGColor}, ¬
{SuchT:"E", ErsatzT:"" & NColor2 & NF2 & BGColor}, ¬
{SuchT:"O", ErsatzT:"" & NColor4 & NF4 & BGColor}, ¬
{SuchT:"-", ErsatzT:"" & NColor5 & "-" & BGColor}, ¬
{SuchT:"+", ErsatzT:"" & NColor5 & "+" & BGColor}, ¬
{SuchT:"<", ErsatzT:"" & NColor5 & "<" & BGColor}, ¬
{SuchT:">", ErsatzT:"" & NColor5 & ">" & BGColor}, ¬
{SuchT:"=", ErsatzT:"" & NColor5 & "=" & BGColor}, ¬
{SuchT:")", ErsatzT:"" & NColor5 & ")" & BGColor}, ¬
{SuchT:"(", ErsatzT:"" & NColor5 & "(" & BGColor}, ¬
{SuchT:"/", ErsatzT:"" & NColor5 & "/" & BGColor}, ¬
{SuchT:"#", ErsatzT:"" & NColor5 & "#" & BGColor}, ¬
{SuchT:"|", ErsatzT:"" & NColor5 & "|" & BGColor}, ¬
{SuchT:"&", ErsatzT:"" & NColor5 & "&" & BGColor}, ¬
{SuchT:"%", ErsatzT:"" & NColor5 & "%" & BGColor}, ¬
{SuchT:"$", ErsatzT:"" & NColor5 & "$" & BGColor}, ¬
{SuchT:"~", ErsatzT:"" & NColor5 & "~" & BGColor}, ¬
{SuchT:"*", ErsatzT:"" & NColor5 & "*" & BGColor}, ¬
{SuchT:"_", ErsatzT:"" & NColor5 & "_" & BGColor}, ¬
{SuchT:"!", ErsatzT:"" & NColor5 & "!" & BGColor} ¬
}

my SuchErsetzPaarRepeater()
end SuchErsAusWerteListeWL1

on SuchErsetzPaarRepeater()
set LangSuchErsetzPaarWL to count SuchErsetzPaarWLblabla
repeat with ItZa from 1 to LangSuchErsetzPaarWL
set AktSuchErsPaarWLZeile to item ItZa of SuchErsetzPaarWLblabla
set SuchT to SuchT of AktSuchErsPaarWLZeile
set ErsatzT to ErsatzT of AktSuchErsPaarWLZeile
set ZuErsetzenText to ¬
TexErsetzer(ZuErsetzenText, SuchT, ErsatzT)
end repeat
end SuchErsetzPaarRepeater

on TexErsetzer(ZuErsetzenText, SuchT, ErsatzT)
tell (a reference to AppleScript's text item delimiters)
set {od, contents} to {contents, {SuchT}}
try
set {ZuErsetzenTextList, contents} to {(text items of ZuErsetzenText), {ErsatzT}}
set {ZuErsetzenText2, contents} to {(ZuErsetzenTextList as text), od}
return item 1 of result
on error errMeld number errZA
set contents to od
error errMeld number errZA
end try
end tell
end TexErsetzer
[code]

Als Fehler Unterstreicht mir XCode die Zeile :
set SuchErsetzPaarWLblabla to {¬
und meint " Expected expression, etc. but found unkown token. ( -2741 )
[/code]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 08.01.2006 - 10:07    Titel: Antworten mit Zitat

Die einzelnen Anführungszeichen jeweils am Ende einer Zeile stören und halten XCode davon ab, das skript zu kompilieren.

Ohne diese Anführungszeichen geht's:

set SuchErsetzPaarWLblabla to
    {SuchT:"e", ErsatzT:"" & NColor2 & NF2 & BGColor}, ¬
    {
SuchT:"a", ErsatzT:"" & NColor1 & NF1 & BGColor}, ¬
    {
SuchT:"i", ErsatzT:"" & NColor3 & NF3 & BGColor}, ¬
    {
SuchT:"o", ErsatzT:"" & NColor4 & NF4 & BGColor}, ¬
    {
SuchT:"I", ErsatzT:"" & NColor4 & NF4 & BGColor}, ¬
    {
SuchT:"A", ErsatzT:"" & NColor1 & NF1 & BGColor}, ¬
    {
SuchT:"E", ErsatzT:"" & NColor2 & NF2 & BGColor}, ¬
    {
SuchT:"O", ErsatzT:"" & NColor4 & NF4 & BGColor}, ¬
    {
SuchT:"-", ErsatzT:"" & NColor5 & "-" & BGColor}, ¬
    {
SuchT:"+", ErsatzT:"" & NColor5 & "+" & BGColor}, ¬
    {
SuchT:"<", ErsatzT:"" & NColor5 & "<" & BGColor}, ¬
    {
SuchT:">", ErsatzT:"" & NColor5 & ">" & BGColor}, ¬
    {
SuchT:"=", ErsatzT:"" & NColor5 & "=" & BGColor}, ¬
    {
SuchT:")", ErsatzT:"" & NColor5 & ")" & BGColor}, ¬
    {
SuchT:"(", ErsatzT:"" & NColor5 & "(" & BGColor}, ¬
    {
SuchT:"/", ErsatzT:"" & NColor5 & "/" & BGColor}, ¬
    {
SuchT:"#", ErsatzT:"" & NColor5 & "#" & BGColor}, ¬
    {
SuchT:"|", ErsatzT:"" & NColor5 & "|" & BGColor}, ¬
    {
SuchT:"&", ErsatzT:"" & NColor5 & "&" & BGColor}, ¬
    {
SuchT:"%", ErsatzT:"" & NColor5 & "%" & BGColor}, ¬
    {
SuchT:"$", ErsatzT:"" & NColor5 & "$" & BGColor}, ¬
    {
SuchT:"~", ErsatzT:"" & NColor5 & "~" & BGColor}, ¬
    {
SuchT:"*", ErsatzT:"" & NColor5 & "*" & BGColor}, ¬
    {
SuchT:"_", ErsatzT:"" & NColor5 & "_" & BGColor}, ¬
    {
SuchT:"!", ErsatzT:"" & NColor5 & "!" & BGColor} ¬
        }

_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1529
Wohnort: Olten-CH

BeitragVerfasst am: 08.01.2006 - 11:43    Titel: Antworten mit Zitat

Na, Script- Maus der Mouse, hab ich mit dem Snow-Tipp etwa zu viel versprochen? da staunste wohl nicht schlecht Wink

Auch im handler war noch ein Anf-Zeichen zu viel, nun sollte alles problemlos laufen
Zitat:
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

on SuchErsAusWerteListeWL1() --oooooooooooooooooooooooooooooooooooooooooooooooo
   
global ErsetzterText, ZuErsetzenText, SuchErsetzPaarWLblabla
   (*
--XCode Teil, der ist o.k
-- BGcolor
set BGColor to contents of text field "BGColor" of window "Main" of tab view item "Preferences"
--NColor
set NColor1 to contents of text field "NColor1" of window "Main" of tab view item "Preferences"
set NColor2 to contents of text field "NColor2" of window "Main" of tab view item "Preferences"
set NColor3 to contents of text field "NColor3" of window "Main" of tab view item "Preferences"
set NColor4 to contents of text field "NColor4" of window "Main" of tab view item "Preferences"
set NColor5 to contents of text field "NColor5" of window "Main" of tab view item "Preferences"
--NF
set NF1 to contents of text field "NF1" of window "Main" of tab view item "Preferences"
set NF2 to contents of text field "NF2" of window "Main" of tab view item "Preferences"
set NF3 to contents of text field "NF3" of window "Main" of tab view item "Preferences"
set NF4 to contents of text field "NF4" of window "Main" of tab view item "Preferences"
*)
   --
Anfang Skript ( Such und Ersatz )
   --
so wie von Snow korrigiert:
   
set SuchErsetzPaarWLblabla to
      {
SuchT:"e", ErsatzT:"" & NColor2 & NF2 & BGColor}, ¬
      {
SuchT:"a", ErsatzT:"" & NColor1 & NF1 & BGColor}, ¬
      {
SuchT:"i", ErsatzT:"" & NColor3 & NF3 & BGColor}, ¬
      {
SuchT:"o", ErsatzT:"" & NColor4 & NF4 & BGColor}, ¬
      {
SuchT:"I", ErsatzT:"" & NColor4 & NF4 & BGColor}, ¬
      {
SuchT:"A", ErsatzT:"" & NColor1 & NF1 & BGColor}, ¬
      {
SuchT:"E", ErsatzT:"" & NColor2 & NF2 & BGColor}, ¬
      {
SuchT:"O", ErsatzT:"" & NColor4 & NF4 & BGColor}, ¬
      {
SuchT:"-", ErsatzT:"" & NColor5 & "-" & BGColor}, ¬
      {
SuchT:"+", ErsatzT:"" & NColor5 & "+" & BGColor}, ¬
      {
SuchT:"<", ErsatzT:"" & NColor5 & "<" & BGColor}, ¬
      {
SuchT:">", ErsatzT:"" & NColor5 & ">" & BGColor}, ¬
      {
SuchT:"=", ErsatzT:"" & NColor5 & "=" & BGColor}, ¬
      {
SuchT:")", ErsatzT:"" & NColor5 & ")" & BGColor}, ¬
      {
SuchT:"(", ErsatzT:"" & NColor5 & "(" & BGColor}, ¬
      {
SuchT:"/", ErsatzT:"" & NColor5 & "/" & BGColor}, ¬
      {
SuchT:"#", ErsatzT:"" & NColor5 & "#" & BGColor}, ¬
      {
SuchT:"|", ErsatzT:"" & NColor5 & "|" & BGColor}, ¬
      {
SuchT:"&", ErsatzT:"" & NColor5 & "&" & BGColor}, ¬
      {
SuchT:"%", ErsatzT:"" & NColor5 & "%" & BGColor}, ¬
      {
SuchT:"$", ErsatzT:"" & NColor5 & "$" & BGColor}, ¬
      {
SuchT:"~", ErsatzT:"" & NColor5 & "~" & BGColor}, ¬
      {
SuchT:"*", ErsatzT:"" & NColor5 & "*" & BGColor}, ¬
      {
SuchT:"_", ErsatzT:"" & NColor5 & "_" & BGColor}, ¬
      {
SuchT:"!", ErsatzT:"" & NColor5 & "!" & BGColor} ¬
         }
   
my SuchErsetzPaarRepeater() --ooooooooooooooooooooooooooooooooooooooooooooo
end SuchErsAusWerteListeWL1

on SuchErsetzPaarRepeater() --ooooooooooooooooooooooooooooooooooooooooooooo
   
set LangSuchErsetzPaarWL to count SuchErsetzPaarWLblabla
   
repeat with ItZa from 1 to LangSuchErsetzPaarWL
      
set AktSuchErsPaarWLZeile to item ItZa of SuchErsetzPaarWLblabla
      
set SuchT to SuchT of AktSuchErsPaarWLZeile
      
set ErsatzT to ErsatzT of AktSuchErsPaarWLZeile
      --
dasselbe natürlich auch für den handler: hier kein Anführungszeichen!
      --
Soviel`s mir ist, hats im Modell im Pool ebenfalls keine AnfZeichen, sonst würde das Modell auch nicht laufen
      
set ZuErsetzenText to ¬
         
TexErsetzer(ZuErsetzenText, SuchT, ErsatzT)
   
end repeat
end SuchErsetzPaarRepeater

on TexErsetzer(ZuErsetzenText, SuchT, ErsatzT) --oooooooooooooooooooooooooo
   
tell (a reference to AppleScript's text item delimiters)
      
set {od, contents} to {contents, {SuchT}}
      
try
         
set {ZuErsetzenTextList, contents} to {(text items of ZuErsetzenText), {ErsatzT}}
         
set {ZuErsetzenText2, contents} to {(ZuErsetzenTextList as text), od}
         
return item 1 of result
      
on error errMeld number errZA
         
set contents to od
         
error errMeld number errZA
      
end try
   
end tell
end TexErsetzer


PS zu
OS X-Snippets-skript : SUCHEN/ERSETZEN "EINGABEMASKE" AppleScript pur! :

Ich hätte das niemals hingekriegt ohne die sorgfältige, geduldige Hilfe von Snow und aber! insbesondere die geniale Werte-Listen-Erzeugung !, dann diese enorm übersichtlichen und kurzgepressten Funktionshandler enstammen allesamt SNOW`s Konzept.
Ich hab das lediglich mit Snows Hilfe in eine "Eingabemaske" ähnliche Struktur zusammenfügen können. Ich hoffe dass man das im OS X-Snippets auch so sieht, anders wäre das ja "sich mit fremden Federn schmücken".
Kurz: wenn du Snow(und oft genügt auch schon sein Forum) richtig einsetzest für AppleSkript dann resultiert:

• er liefert die Sprache(Vokabeln, Grammatik, idioms) und Korrektur, wo man oft blind vor hellerleuchteten Bildschirm sitzt.
• Du bist der Poet

Damit kann man einen Apple-Rechner(und nur einen solchen, Dosen machen da von Anfang an schlapp) voll und ganz in den Griff kriegen
Einziges Restproblem: Druckerdialoge
ansonsten, hugh.
_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius


Zuletzt bearbeitet von spirigwi am 08.01.2006 - 12:52, insgesamt 5-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
scriptingmouse13
•-->
•-->


Anmeldedatum: 04.11.2003
Beiträge: 125
Wohnort: .DS_Store

BeitragVerfasst am: 08.01.2006 - 12:21    Titel: Antworten mit Zitat

Hmn ... ja gut jetzt gehts... aber irgendwie hatt ich da auch keine Anführungszeichen hingemacht Confused .. Achso ja das könnnte daran liegen dass ich mitlerweile XCode auf den neuesten stand gebracht hab... hatte vorher noch 1.0 Rolling Eyes ... ok aber ich hab 1 Problem noch...wenn wir schon über xCode sprechen und ihr auch grade so schöne tipps gebt ^^ (danke nochmal hat mich jetz echt weitergebracht) ... Ich hab so meine Probleme mit Erscheinen und Verschwinden lassen gewisser objekte ... z.b. das Text Feld (NS Text Field) Jetzt mach ich doch set visible of Text Field "bla" of window "Blabla" to false/true oder ?... das selbe bei den ganzen Buttons -.- gibts da irgendwo ne liste oder sowas ? Confused Wäre nett wenn mir jmd. hilft Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 08.01.2006 - 13:39    Titel: Antworten mit Zitat

Du musst dir die Möglichkeiten der einzelnen Objekte im Funktionsverzeichnis ansehen. Dieses findest du ja in jedem Projekt unter
Resources --> AppleScriptKit.sdef


'visible' true/false funktioniert mit dem Textfeld und auch mit Buttons, da beide diese Eigenschaft von 'view' erben.

Anmerkung: hier mit XCode 2.0 getestet
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
scriptingmouse13
•-->
•-->


Anmeldedatum: 04.11.2003
Beiträge: 125
Wohnort: .DS_Store

BeitragVerfasst am: 08.01.2006 - 15:17    Titel: Antworten mit Zitat

Also ich hab jetzt mitlerweile 1.2 und lad jetz im moment 1.5 ... geht eigentlich 2.0 auf 10.3.9 ? ... Naja auf jedenfall hab ich :

2 Radio Buttons... mit denen ich Zwischen groß und kleinschreibung verstell ( ich hab 26 Text Fields ... für jeden buchstaben 1) wobei ich hier noch fragen wollte ob man per Applescript Groß und klein zerteilen kann.. also sagen wir ... eine Variable hat den text "a" und ich will jetzt aber das als großbuchstaben... wie könnt ich das machen ( ich bräucht das selbe natürlich auch umgekehrt... )... So weit so gut, jetzt soll wenn ich auf den Radio Button "Klein" drück zum testen 1 Text Field verschwinden .. T1 genannt... also hab ich dieses script :



Code:

on clicked theObject
   set TN to the name of theObject
   --*******************************--
   -- Text Field Variables ( Prefs )
   set T1 to text field "T1" of window "Main" of tab view item "Preferences"
   --*******************************--
   if TN is "Klein" then
      set visible of T1 to false
   end if
end clicked


So... ( ach ja danke nochmal für dieses set name of theObject @ Snow... das is absolut genial Smile )

So ... also klick ich auf Buld + Run... keine fehler... keine warnungen... gut... geh auf das Tab View Item "Preferences" und klick auf den Radio Button "klein" ... toll jetzt bekomm ich folgenden error :
NSCannotCreateScriptCommandError (10)
Hab nachgeschaut *g*
the application received an invalid or unrecognized Apple event

.... Jetzt hab ich doch mal nur so aus fun auf den Radio Button "Groß" gedrückt und bekomm den gleichen error, obwohl der noch gar keine aktion zugeordnet bekommen hat :/ ... Ich hab im Applescript window ( Apfel + 7 ) die namen angegeben, clicked und natürlich das script angeklickt.... Confused Hilfe Laughing
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 08.01.2006 - 15:34    Titel: Antworten mit Zitat

Habe das Thema mal verschoben, da es sich ja um eine reine AppleScript Studio Angelegenheit handelt.

Zu deinem Problem mit den Radiobuttons. Du schreibst, dass du keine Aktion zugewiesen hast - aber du hast den Radiobuttons den "on clicked"-Handler zugewiesen.

Dadurch werden natürlich auch Befehle ausgeführt - und zwar diese, die nicht extra durch eine if-Bedingung gefiltert werden:

set TN to the name of theObject
--*******************************--
-- Text Field Variables ( Prefs )
set T1 to text field "T1" of window "Main" of tab view item "Preferences"


Stimmt diese Referenzierung?

text field "T1" of window "Main" of tab view item "Preferences"

Bei meinen eigenen Projekten war window "Main" stets das Hauptfenster.
Es hätte bei mir dann so geheißen:

text field "T1" of tab view item "Preferences" of window "Main"

Hängt natürlich alles davon ab, wie du das Programm im Interface Builder gestaltet hast.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
scriptingmouse13
•-->
•-->


Anmeldedatum: 04.11.2003
Beiträge: 125
Wohnort: .DS_Store

BeitragVerfasst am: 08.01.2006 - 16:02    Titel: Antworten mit Zitat

Hmn ... Ja ich hab schon alles gemacht... also ich hab mein Window "Main" dann hab ich n Tab View dazu gemacht, eins davon "Preferences" genannt ( auch im AS Fenster ) und dann halt noch die 2 Radio Buttons... die ich wie schon gesagt Groß und Klein genannt hab ( auch im AS fenster... )

Ok ich hab jetz zumindest mal den fehler... also es liegt wohl an dem "of tab view item "Preferences" denn wenn ich dies weglösche, dann zeigt er mir den (4) fehler an... d.h object nich gefunden oder so.. Also schätz ich mal dass es nich tab view item heisst Confused kein plan... echt
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 08.01.2006 - 16:43    Titel: Antworten mit Zitat

Radiobuttons sind Teil einer Matrix. Das siehst du im Interface Builder, wenn du das Objekt mit den Radio Buttons nur einmal anklickst. Der Titel der Inspector-Palette sollte nun "NSMatrix Inspector" lauten. Die Markierung sollte um alle Radiobuttons herum gehen.

Dieser Matrix kannst du nun im AppleScript-Panel einen Namen geben.

Nun zu den einzelnen Buttons: Mit einem Doppelklick auf eine Reihe, wird nur ein Radiobutton und dessen Beschriftung grau hinterlegt. Dies ist das Objekt "Button Cell". Bitte im AppleScript Panel einen Namen vergeben.

Das gleiche machst du für den zweiten Radio Button.

Hier nun ein Skriptbeispiel, mit dem du den aktuell ausgewählen Radiobutton abfragen kannst (habe das in "awake from nib" verpackt) und in einem Textfeld einen entsprechenden Wert anzeigen lassen kannst, je nach dem, welcher Button geklickt wird.

    on clicked theObject
        set TN to name of theObject
        
        
if TN = "BtnGross" then
            set content of text field "Anzeige" of window "main" to "Grossschreibung"
        else if TN = "BtnKlein" then
            set content of text field "Anzeige" of window "main" to "Kleinschreibung"
        end if
    end clicked
    
    
on awake from nib theObject
        set selBtn to title of current cell of matrix "BtnMatrix" of window "main"
        
set content of text field "Anzeige" of window "main" to selBtn
    end awake from nib


Ich hoffe, das bringt dich etwas weiter.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Studio Forum 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