[GastForen Programmierung/Entwicklung JavaScript "is in" aus der Applesckript

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

"is in" aus der Applesckript

jekyll
Beiträge gesamt: 2047

30. Apr 2006, 12:30
Beitrag # 1 von 6
Bewertung:
(2243 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Allerseits,
ich bin auf der suche nach der obigen Befehl, oder nach eine andere Lösung auf Javascript.
Hier mein Problem in der Zeile 9, dort müsste ich prüfen ob die Eingabe in den Liste spotNamen vorhanden ist:
Code
datRef = app.activeDocument; 
soptAnzahl = datRef.spots.length;
spotNamen = datRef.spots;
farbZahl = prompt("Wie viele Spotfarben sollen, von " + soptAnzahl + " vorhandene, geändert werden?", "1");
for (einSpot = 0; einSpot<farbZahl; einSpot ++){
var check = 0;
while(check <= 0){
var spotFarb = prompt( "Nr "+einSpot+". Welche Spotfarbe soll geändert werden?\n"+ spotNamen, datRef.spots [1]);
if (spotFarb = ?? ){
check = 1;
}
if(check <= 0){
alert('Bitte eine vorhandenen Spot name eingeben!');
}
}
}


Könnte da jemand helfen?
Vielen Dank schon mal :o)
X

"is in" aus der Applesckript

jekyll
Beiträge gesamt: 2047

1. Mai 2006, 22:29
Beitrag # 2 von 6
Beitrag ID: #226535
Bewertung:
(2224 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,
ich habe mal inzwischen eine function geschrieben, aber an eine eleganteren Lösung wäre ich immer noch interessiert :o)


als Antwort auf: [#226416]

"is in" aus der Applesckript

Markus Walker
Beiträge gesamt: 494

2. Mai 2006, 21:25
Beitrag # 3 von 6
Beitrag ID: #226701
Bewertung:
(2210 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sándor

Elegante Lösungen für sowas bieten die Regular Expressions. Diese sind auf Strings anwendbar. Strings können aber aus vielen Daten-Typen erzeugt werden. Wenn im vorliegenden Beispiel die Liste in einem Array abgelgt ist, könnte das etwa so aussehen:

Code

var spotFarb = prompt( "Nr "+einSpot+". Welche Spotfarbe soll geändert werden?\n"+ spotNamen, datRef.spots [1]);
var spotFarbPattern = new RegExp(spotFarb, "g");
if (spotFarbPattern.test(aListeSpotFarben) ){



Siehe hierzu auch: http://de.selfhtml.org/...ekte/regexp.htm#test

HTH


als Antwort auf: [#226535]

"is in" aus der Applesckript

jekyll
Beiträge gesamt: 2047

2. Mai 2006, 23:18
Beitrag # 4 von 6
Beitrag ID: #226717
Bewertung:
(2204 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Markus,
vielen Dank für Deine Hilfe!!

Ich habe es getestet, läuft noch nicht :o(

Antwort auf: new RegExp(spotFarb, "g")

Was bedeutet hier das "g", ist das gleich mit:
Zitat von SELFHTML findet "aus" so oft wie es in dem gesamten zu durchsuchenden Bereich vorkommt. Die Fundstellen werden intern in einem Array gespeichert.

?

Antwort auf: spotFarbPattern.test(aListeSpotFarben)

Ist die lieferte Wert bolean? Also ich muss mit false oder true vergleichen?

Antwort auf: Wenn im vorliegenden Beispiel die Liste in einem Array abgelgt ist

Meine ist eine String in dem die Items mit eine \n getrennt sind :o( Was kann ich damit tun?


als Antwort auf: [#226701]

"is in" aus der Applesckript

Markus Walker
Beiträge gesamt: 494

3. Mai 2006, 19:55
Beitrag # 5 von 6
Beitrag ID: #226962
Bewertung:
(2190 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sándor

Ich hatte natürlich alles abgekürzt (siehe Motto vom Forum ;-) ).

Das "g" könnte hier weggelassen werden (ist auch optional), da die Methode test() ja nur true/false zurück gibt und es im vorleigenden Fall auch nicht drauf an kommt ob und wie offt etwas mehrfach in der Liste enthalten ist.

Code
spotFarbPattern.test(aListeSpotFarben) 

heisst in deutsch:
Teste im String ‹aListeSpotFarben› (hier gibt es eine dynamische Typen-Konversion z.B. von Array nach String, falls die betreffende Variable nicht schon vom Type String ist) ob das Pattern (Muster einer Zeichenfolge) enthalten ist, welches mit dem RegExp-Objekt ‹spotFarbPattern› definiert wurde. Falls ja, nimmt dieser Term den Wert true an, anderfalls halt false.


Antwort auf: Meine ist eine String in dem die Items mit eine \n getrennt sind

Um so besser! Die \n werden kaum stören, da du ja nicht nach diesen suchst.

noch ein Beispiel:
Code
var sListe = "juppi\nhey\nhallo\nna so was\nHallo\njetzt aber"; 
var sGesuchtesString = "Hallo";
var oPattern = new RegExp(sGesuchtesString);
alert(oPattern.test(sListe) )


Das Selbe kommt raus, wenn:
Code
var sListe = "juppi\nhey\nhallo\nna so was\nHallo\njetzt aber"; 
var oPattern = /(Hallo)/;
alert(oPattern.test(sListe) )

Hier kann aber der String für das Pattern nicht per Variable übergeben werden.


HTH


als Antwort auf: [#226717]
(Dieser Beitrag wurde von Markus Walker am 3. Mai 2006, 19:57 geändert)

"is in" aus der Applesckript

jekyll
Beiträge gesamt: 2047

4. Mai 2006, 18:00
Beitrag # 6 von 6
Beitrag ID: #227207
Bewertung:
(2172 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Markus,
Danke Schön!! So klappt´s :o)


als Antwort auf: [#226962]
X