Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
scriptingmouse13 •-->
![•--> •-->](/phpBB2/images/ranks/ranki1.gif)
![](images/avatars/56125063548aabe9de0e83.jpg)
Anmeldedatum: 04.11.2003 Beiträge: 125 Wohnort: .DS_Store
|
Verfasst am: 12.08.2005 - 20:14 Titel: Text in NSTextField einfügen |
|
|
Hi @ all !
Also ich will eigentlich nur was ganz simples machen aber irgendwie bin ich zu blöd dafür....
Also ich hab Ein NSTextField in der Mitte vom Fenster, dann hab ich untendrunter 7 Buttons mit den Beschriftungen ^ und 1-7... So jetzt will ich für jeden der Button ein einzelnes script machen und zwar. Sobal ich auf einen der Button klick soll (jenachdem welcher Button geklickt wurde) Im NSTextField ( text field im Applescript ) eine der Zahlen eingefügt werden ( also z.b. ^7 ) Mein script sieht so aus:
Code: |
on clicked theObject
set vorherigertitel to the title of text field "TextField"
set the title of text field "TextField" to vorherigertitel & "^1"
end clicked
|
... aber funz irgendwie nicht ... denn er bringt mir immer Code: | NSCannotCreateScriptCommandError (10) |
Ich hoffe diesmal warens genug Angaben !
P.s. Ja ich hab alle Buttons ( und auch das Fenster und das Text Feld ) Im Applescript Window bennant ( Apfel + 7 }
Ich bedanke mich jetzt schon für antworten ![Smile](images/smiles/icon_smile.gif) |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Snow Administrator
![Administrator Administrator](/phpBB2/images/ranks/ranki5.gif)
![](images/avatars/14843438503e582f0f04e8a.gif)
Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 12.08.2005 - 21:08 Titel: |
|
|
Wo befindet sich denn das Textfeld?
Dein Programm wird nicht danach suchen - also musst du es ihm sagen.
text field "TextField" of window "NameDesFensters"
Dem Fenster unbedingt auch einen Namen verpassen. Meistens wird dafür "main" hergenommen, wenn es das Hauptfenster eines Programms ist. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
scriptingmouse13 •-->
![•--> •-->](/phpBB2/images/ranks/ranki1.gif)
![](images/avatars/56125063548aabe9de0e83.jpg)
Anmeldedatum: 04.11.2003 Beiträge: 125 Wohnort: .DS_Store
|
Verfasst am: 12.08.2005 - 21:41 Titel: |
|
|
text field "TextField" of window "Main" |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
scriptingmouse13 •-->
![•--> •-->](/phpBB2/images/ranks/ranki1.gif)
![](images/avatars/56125063548aabe9de0e83.jpg)
Anmeldedatum: 04.11.2003 Beiträge: 125 Wohnort: .DS_Store
|
Verfasst am: 13.08.2005 - 17:46 Titel: |
|
|
Also mein Script sieht jetzt so aus :
Code: |
on clicked theObject
set TheTitle to the title of text field "TextField" of window "Main"
set the title of text field "TextField" of window "Main" to TheTitle & "^1"
end clicked
|
Und es funzt immer noch net |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Snow Administrator
![Administrator Administrator](/phpBB2/images/ranks/ranki5.gif)
![](images/avatars/14843438503e582f0f04e8a.gif)
Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 13.08.2005 - 23:23 Titel: |
|
|
Die Möglichkeiten, in XCode Fehler zu machen sind unbegrenzt - zumal es nicht nur um einen Skripttext geht, sondern dieser ja in direktem Zusammenhang mit einem selbst gestalteten Userinterface steht.
"Funzt immer noch net" ist eine recht magere Aussage.
Ich könnte dir darauf antworten, dass ich das Projekt eben mal gebaut habe und es bei mir funzt. - Das hilft dir dann genauso wenig weiter, wie mir deine allzu knappen Angaben.
Fehlerquelle Nr. 1: Interface Builder
Hast du allen Buttons einen Namen zugewiesen? Nicht nur einen 'title' - also eine Beschriftung, sondern einen Namen, mit dem sie per AppleScript angesprochen werden können?
Dies geschieht im Inspector unter AppleScript (den 'title' vergibt man unter Attributes).
Ist jedem einzelnen Button die Funktion "on clicked" zugewiesen?
Wenn ja, ist auch das zugehörige Skript angewählt?
Wenn dies alles richtig ist, gehts zurück zum Skript:
Da nun sieben Buttons dem 'on clicked'-Handler zugewiesen sind, muss dort unterschieden werden, welcher Button nun wirklich angeklickt wurde.
Ich habe mal ein Testprojekt angelegt.
Das Textfeld hat den 'title' "Textanzeige" - ist aber egal - braucht man nicht.
Der AppleScript-Name des Textfelds ist "myText"
Die Buttons haben die jeweiligen 'title' "^1" - "^7"
Die AppleScript-Namen der Buttons sind "btn1" - "btn7"
Das Skript sieht nun folgendermaßen aus:
on clicked theObject
set theName to name of theObject
tell window "main"
if theName = "btn1" then
set contents of text field "myText" to title of button "btn1"
else if theName = "btn2" then
set contents of text field "myText" to title of button "btn2"
else if theName = "btn3" then
set contents of text field "myText" to title of button "btn3"
else if theName = "btn4" then
set contents of text field "myText" to title of button "btn4"
else if theName = "btn5" then
set contents of text field "myText" to title of button "btn5"
else if theName = "btn6" then
set contents of text field "myText" to title of button "btn6"
else if theName = "btn7" then
set contents of text field "myText" to title of button "btn7"
else
display dialog "Hier läuft was ganz gewaltig schief!"
end if
end tell
end clicked
Und es funzt.
In ein Textfeld kann man etwas hinein schreiben - es hat dann einen Inhalt. Inhalt = content bzw. contents
Ein Button hat außer seiner Beschriftung eigentlich nichts.
Etwas verwirrend ist, dass XCode den title des Textfeldes als Ausgangswert für den Inhalt darstellt. Deshalb hast du wahrscheinlich angenommen, dass du den 'title' des Textfeldes ändern müsstest - geht aber nicht.
Wenn du das Funktionsverzeichnis (AppleScriptKit.sdef) findest du 'button' und 'text field' innerhalb der 'Control View Suite'.
Wenn du nun die Properties von 'button' anschaust, findest du dort 'title'. Es steht nicht 'r/o' dabei, was bedeuten würde, dass man diesen Wert nur lesen kann - nein, man kann ihn auch per AS ändern.
Bei 'text field' findest du 'title' nicht.
Allerdings sieht man auch nichts von 'content'.
Wenn man eine Property sucht, die man erwarten würde und dann doch nicht fündig wird, schaut man sich die Objekte an, von denen jeweils Properties geerbt werden.
Man erkennt das gleich an der ersten Zeile der Beschreibung:
text field?n [inh. control > view > responder > item] : A text field
text field erbt also auch Eigenschaften von control, view, responder und item.
Klicke dort mal auf 'control' und schau dir dann die Properties an: Hier ist schon das magische 'content' bzw. 'contents'
Alles klar? _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Snow Administrator
![Administrator Administrator](/phpBB2/images/ranks/ranki5.gif)
![](images/avatars/14843438503e582f0f04e8a.gif)
Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 13.08.2005 - 23:31 Titel: |
|
|
Ich habe gerade gesehen, dass du den Text immer an den schon bestehenden Inhalt anhängen willst.
Jetzt wird es natürlich zu einem kleinen Problem, dass das Textfeld zunächst seinen 'title' als Inhalt darstellt.
Du kannst jetzt entweder dem Textfeld KEINEN 'title' zuordnen oder du berücksichtigst es einfach im Skript. Ich habe mich für die zweite Möglichkeit entschieden.
Mein Textfeld hat wie bereits erwähnt den title "Textanzeige".
Das Skript sieht nun so aus:
on clicked theObject
set theName to name of theObject
tell window "main"
if contents of text field "myText" = "Textanzeige" then
set vorherigerTitel to ""
else
set vorherigerTitel to contents of text field "myText"
end if
if theName = "btn1" then
set contents of text field "myText" to vorherigerTitel & title of button "btn1"
else if theName = "btn2" then
set contents of text field "myText" to vorherigerTitel & title of button "btn2"
else if theName = "btn3" then
set contents of text field "myText" to vorherigerTitel & title of button "btn3"
else if theName = "btn4" then
set contents of text field "myText" to vorherigerTitel & title of button "btn4"
else if theName = "btn5" then
set contents of text field "myText" to vorherigerTitel & title of button "btn5"
else if theName = "btn6" then
set contents of text field "myText" to vorherigerTitel & title of button "btn6"
else if theName = "btn7" then
set contents of text field "myText" to vorherigerTitel & title of button "btn7"
else
display dialog "Hier läuft was ganz gewaltig schief!"
end if
end tell
end clicked _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
scriptingmouse13 •-->
![•--> •-->](/phpBB2/images/ranks/ranki1.gif)
![](images/avatars/56125063548aabe9de0e83.jpg)
Anmeldedatum: 04.11.2003 Beiträge: 125 Wohnort: .DS_Store
|
Verfasst am: 14.08.2005 - 03:45 Titel: |
|
|
Jo Jo danke... ... funzt alles bestens... vielen dank... ich fühl mich jetzt aber angegriffen von dir .. nee Quatsch... echt vielen danke... aber du hättest auch einfach nur sagen können dass es content of text field und nich title heisst hätte mir höchstwarscheinlich vollkommen ausgereicht.
Zitat: |
Das hilft dir dann genauso wenig weiter, wie mir deine allzu knappen Angaben.
|
Kennst mich doch
Ok das war nur der halbe teil ... Jetzt hab ich noch ein Fenster ... (JA ICH HAB ALLES IM APPLESCRIPT DINGSBUMS BENNANT !!! ) Da sind 3 NSTextFields ( Also System Font Texte ) so... Jetzt will ich unterschiedliches machen ... aber das wird höchstwarscheinlich seeehr kompliziert ... Also ich will jetzt aus dem Text von "TextField" aus window "Main" ( das window von dem ich gerade rede ist "Preview" ) den Text ausschneiden und in diese 3 TextFields einfügen... ABER !!! Ich will die nich einfach so einfügen .. sonder ich will, dass anstadt der zahlen ^1-^7 Farben sind und zwar ... ^1-rot, ^1 grün, ^3 gelb, ^4 blau, ^5 türkis, ^6 pink und ^7 weiss... die danachfolgenden buchstaben (bis ein neues ^# kommt ) in der entsprechenden farbe sind.
Danke
warscheinlich guckst du jetzt so " " |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
spirigwi •----->
![•-----> •----->](/phpBB2/images/ranks/ranki4.gif)
![](images/avatars/7063387742ebdb604cce3.jpg)
Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
|
Verfasst am: 14.08.2005 - 12:32 Titel: |
|
|
Lieber Herr Frankenthal, soweit die reichhaltigen Angaben zu deinem Vornamen
darf ich Snow etwas zu entlasten suchen mit einem link, der dir beim ersetzen des Textinhaltes durch Farb-codes weiterhilft?
http://www.fischer-bayern.de/phpBB2/viewtopic.php?t=1367 _________________ Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
scriptingmouse13 •-->
![•--> •-->](/phpBB2/images/ranks/ranki1.gif)
![](images/avatars/56125063548aabe9de0e83.jpg)
Anmeldedatum: 04.11.2003 Beiträge: 125 Wohnort: .DS_Store
|
Verfasst am: 14.08.2005 - 15:56 Titel: |
|
|
ACH DU ... Das mus sich erst mal verarbeiten gib mir mal ne woche zeit
Edit:
Ok Ich hab mir das jetzt grad eben mal schnell durchgelesen und hab auch kappiert wie das so ungefähr funktioniert... jetzt frag ich mich doch nur was das mit farben zu tun hat ... Ich versteh nich as ich dann bei Ersetzt einsetzen müsste ... also
Zitat: |
set SuchErsetzPaarWL to {¬
{SuchT:"^1", ErsatzT:" "}
}
my SuchErsetzPaarRepeater() --SuchErs_2ooooooooooooo -- Was is eigentlich das ??!?!
end SuchErsAusWerteListeWL1
|
Noch was... wie macht ihr eigentlich immer die farben in euer script ? ich glaub wohl kaum dass ihr alles per "Schrifarbe:" usw. Macht... ![motzen](images/smiles/motz.gif) |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
spirigwi •----->
![•-----> •----->](/phpBB2/images/ranks/ranki4.gif)
![](images/avatars/7063387742ebdb604cce3.jpg)
Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
|
Verfasst am: 14.08.2005 - 16:39 Titel: |
|
|
scriptingmouse13 hat Folgendes geschrieben: | ACH DU | war doch als kleines Bussgeld für fehlende Angaben gedacht, musst ja nicht gleich so erschrecken, nicht gemerkt?
zu deiner 1. Frage:
S.13 hat Folgendes geschrieben: | set SuchErsetzPaarWL to {¬
{SuchT:"^1", ErsatzT:" "}
} |
{SuchT:"^4", ErsatzT:" "} --> {SuchT:"^4", ErsatzT:"^4 blau"}
du hast uns aber mal nicht verraten wie deine Application die Farbe blau gerne ausformuliert hätte im Text
für Snows Forum weiss ich es
(um gleich auf deine 2. Frage zu stossen ) : [color=#1822CD] bedeutet blau
Nun bist du ganz nahe an der Lösung der 2. Frage musst nur dein Slogan umändern:
{SuchT:"Alles ist möglich, aber nur mit einem mac ", ErsatzT:"Alles ist möglich, aber nur mit einem Snow "}
Dann gehst du auf Snows download Seite und holst CodeFormatter
Genug Angaben?
zu deiner 3. Frage:
scriptingmouse13 hat Folgendes geschrieben: | my SuchErsetzPaarRepeater() --SuchErs_2ooooooooooooo -- Was is eigentlich das ??!?!
end SuchErsAusWerteListeWL1
| du musst ja nur wissen wie man was oben am Skript in den Briefkasten wirft, (noch) gar nicht wie das Produkt herausgegeben wird
Wenn du nämlich dieselben Fragen an Snows CodeFormatter(ein Skript das die Textformate des Skripteditors in das Forum überträgt) stellen würdest, wäre eine Woche wohl etwas knapp berechnet für das Verständnis
Solltest du aber lediglich eine Minuten-einheit dafür brauchen frage ich mich warum du denn deine Fragen so formuliert scriptingmouse13 hat Folgendes geschrieben: | Und es funzt immer noch net | ins Forum schreibst?
PS, ACH S.13, ums ja nicht zu vergessen ein Tipp für dich, das meiste kannst du ja von dir selbst erlernen:
Also: wenn du verstehst was dieser S.13 will mit:
S.13 hat Folgendes geschrieben: | ( das window von dem ich gerade rede ist "Preview" ) den Text ausschneiden und in diese 3 TextFields einfügen... ABER !!! Ich will die nich einfach so einfügen .. sonder ich will, dass anstadt der zahlen ^1-^7 Farben sind und zwar ... ^1-rot, ^1 grün, ^3 gelb, ^4 blau, ^5 türkis, ^6 pink und ^7 weiss... | und das weisst du doch hoffentlich?
ja dann ist es doch ein Kinderspiel für dich nun hier das richtige einzusetzen:
S.13 hat Folgendes geschrieben: | set SuchErsetzPaarWL to {¬
{SuchT:"^1", ErsatzT:" "}
} |
_________________ Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
scriptingmouse13 •-->
![•--> •-->](/phpBB2/images/ranks/ranki1.gif)
![](images/avatars/56125063548aabe9de0e83.jpg)
Anmeldedatum: 04.11.2003 Beiträge: 125 Wohnort: .DS_Store
|
Verfasst am: 15.08.2005 - 16:48 Titel: |
|
|
Rofl, Lmao, LOL ... dafür gibts keine bezeichnung wie ich mir grad einen abgelacht hab hehe... ihr jungs seid immer wieder witzig ... jaja ich versuch ja schon mehr angaben reinzuschreiben aber dann "Es funzt immer noch net" lol .... ... Naja ich versuch mich zu bessern ach ja danke Es funz alles Vielen Dank ihr helft mir echt immer wieder... ach ja schaut mal ins Applescript Forum rein ich hab da nähmlich n neuen Thread geöffnet... ich finds nähmlich absolut net |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
spirigwi •----->
![•-----> •----->](/phpBB2/images/ranks/ranki4.gif)
![](images/avatars/7063387742ebdb604cce3.jpg)
Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
|
Verfasst am: 16.08.2005 - 08:17 Titel: |
|
|
scriptingmouse13 hat Folgendes geschrieben: | Rofl, Lmao, LOL ... | ja hallo! super scriptingmMaus! das mit dem Slogan, völlig neue Erfindung: jetzt muss ich dich fragen wie du die Schrift verfäbst im Slogan? dann kann ich nämlich mehr Sonderzeichen zum abkopieren hineingeben und Snow sieht sie nicht! das ist dann wirklich cool
Noch eine Frage: das es ja jetzt furzt bei dir mit den Farben : wie hast du es denn nun gelöst? welche Lösung meine ich, bekommt man die denn auch noch zu sehen? Snow hat sich doch ziemlich Zeit und Mühe gegeben mit der Einleitung
@Snow...![Rolling Eyes](images/smiles/icon_rolleyes.gif) _________________ Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
scriptingmouse13 •-->
![•--> •-->](/phpBB2/images/ranks/ranki1.gif)
![](images/avatars/56125063548aabe9de0e83.jpg)
Anmeldedatum: 04.11.2003 Beiträge: 125 Wohnort: .DS_Store
|
Verfasst am: 17.08.2005 - 03:14 Titel: |
|
|
Ja Also das mit den Farben is easy lol machst einfach color=(z.b. red) in [] und dann machste [/Color] dahinter ;D aber du willst mich ja nur verarschen rofl . Das Programm ist letzendlich so fertig geworden indem es mir einfach genug war den ganzen mist auszuprobieren und ich "Farben" hingeschrieben hab... also anstadt ^1 .. Blau... ursprünglich wollt ich den text färben aber das geht ja anscheinend nich... zumindest kann ich das nich hehe... vielleicht kanns ja ein snow ... denn ich wisst ja.... .. Das Ergebnis bekommt ihr eher nich zu sehen, da ich so ziemlich alles was ich mach für mich alleine mache ![Very Happy](images/smiles/icon_biggrin.gif) |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
spirigwi •----->
![•-----> •----->](/phpBB2/images/ranks/ranki4.gif)
![](images/avatars/7063387742ebdb604cce3.jpg)
Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
|
Verfasst am: 17.08.2005 - 12:48 Titel: |
|
|
scriptingmouse13 hat Folgendes geschrieben: | "verarschen" | wirklich nicht mein Stil, du wirst staunen: ich bin gar nicht auf die Idee gekommen dass man Text-Formationen ins Profil des Snow-Forums geben kann! finde ich echt genial von dir
Damit sollte doch auch möglich sein in deinem Interface Text zu formatieren mit Farben:
scriptingmouse13 hat Folgendes geschrieben: | "Farben" hingeschrieben hab... also anstadt ^1 .. Blau... | in welches Feld denn? was wird dann blau durch scriptingmouse13 hat Folgendes geschrieben: | ".. Blau..." | ?
PS: Das Snow-Forum ist ja wohl eine Sonderelistung des Maestros ohne Bezahlung sozusagen, aber ein kleiner Tauschhandel wäre natürlich schon angebracht dass die übrigen Zuschauer auch von seinen Ratschlägen profitieren könnten wenn der Frager (im CH-Deutsch gibts noch den Ausdruck "Frögler") noch angibt wie er das Problem definitiv gelöst hat?
scriptingmouse13 hat Folgendes geschrieben: | so ziemlich alles was ich mach für mich alleine mache | für das was du aber im forum nachfragst eher eine kleine Notitz ZB in welches Feld man den Farb-wert einträgt um bei xy ein blau erhält wäre doch so eine kurze feed-back-Meldung wert,
![Question](images/smiles/icon_question.gif) _________________ Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Snow Administrator
![Administrator Administrator](/phpBB2/images/ranks/ranki5.gif)
![](images/avatars/14843438503e582f0f04e8a.gif)
Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 17.08.2005 - 14:00 Titel: |
|
|
scriptingmouse13 hat Folgendes geschrieben: | ursprünglich wollt ich den text färben aber das geht ja anscheinend nicht |
Im Funktionsverzeichnis steht unter "text view" die Property "text color" - also muss auch das benutzen von verschiedenen Textfarben funktionieren.
Ich verwende gleich mal mein bisheriges Beispiel:
on clicked theObject
set theName to name of theObject
tell window "main"
if contents of text field "myText" = "Textanzeige" then
set vorherigerTitel to ""
else
set vorherigerTitel to contents of text field "myText"
end if
if theName = "btn1" then
set contents of text field "myText" to vorherigerTitel & title of button "btn1"
set text color of text field "myText" to "red"
else if theName = "btn2" then
set contents of text field "myText" to vorherigerTitel & title of button "btn2"
set text color of text field "myText" to "blue"
else if theName = "btn3" then
set contents of text field "myText" to vorherigerTitel & title of button "btn3"
set text color of text field "myText" to "blue"
else if theName = "btn4" then
set contents of text field "myText" to vorherigerTitel & title of button "btn4"
set text color of text field "myText" to "green"
else if theName = "btn5" then
set contents of text field "myText" to vorherigerTitel & title of button "btn5"
set text color of text field "myText" to "yellow"
else if theName = "btn6" then
set contents of text field "myText" to vorherigerTitel & title of button "btn6"
set text color of text field "myText" to "black"
else if theName = "btn7" then
set contents of text field "myText" to vorherigerTitel & title of button "btn7"
set text color of text field "myText" to "magenta"
else
display dialog "Hier läuft was ganz gewaltig schief!"
end if
end tell
end clicked
@Willy
Hier wird kein Textfarben-Codierer gesucht. In AppleScript-Studio ist es möglich, farbigen Text darzustellen. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
|