Guten morgen!
vielen Dank Tobias für deine Mühen. Das Script von dir scheint genau das zu sein, was ich gesucht habe, jedoch müssten wir noch was dran pfeilen.
Ich bin in AS noch nicht so bewandert wie du und weiß daher nicht, was so manche AS Codezeilen von dir bewirken. Ich kommentier dein Script mal....wär super wenn einer dies auf Richtigkeit überprüfen könnte...denn letztendlich will ich ja auch was lernen dabei und den von dir geschriebenen Code verstehen
PHP:
function checkWords(str, words) {
//Definieren einer Funktion names checkWords, welche aus strings und einzelnen wörtern bestehen kann
str = str.split(",").join(" ");
str = str.split(".").join(" ");
str = str.split('"').join(" ");
str = str.split(" ");
// Hier werden alle Satzzeichen entfernt, die bei der Eingabe gemacht wurden um lediglich die Strings herauszufiltern
for (var i in str) {
//verstehe ich nicht ganz...schleifenaufruf mit der variablendeklaration "i"
for (var h=0; h<words.length; h++) {
//Schleife, die die einzelnen Zeichen durchläuft."wenn h< als Wortlänge erhöhe h um 1"
if (str[i].toLowerCase() == words[h].toLowerCase()) {
//hier werden alle großbuchstaben in kleinbuchstaben umgewandelt, sowohl in den strings als auch den einzelnen Wörtern (?)
words.splice(h, 1);
//hab ich noch nie gesehn..flash hilfe sagt:Fügt einem Array Elemente hinzu bzw. entfernt diese. Bei dieser Methode werden Änderungen am Array vorgenommen, ohne eine Kopie zu erstellen...bitte um genauere erklärung ^^
break;
//gibt Flash an den restlichen Teil der Schleife zu überspringen
}
}
}
return (words.length == 0);
//Gibt den von einer Funktion zurückgegebenen Wert an...sagt die Flash Hilfe..aber warum wird die "wortlänge = 0 gesetzt" ?
}
var d = checkWords("Hallo, du böse Welt", new Array("Hallo", "welt"));
// Variablendeklaration(d) die die funktion "checkWords" durchläuft, welche aus dem string"Hallo, du böse Welt" und den einzelnen Wörtern "Hallo" und "welt" besteht (?)
trace(d); // Ausgabe: "true"
//Ausgabe der Variable d
Ok soviel zu deinem geschriebenen Code...so ganz habe ich ihn noch nicht verstanden...denke ich
Nun aber weiter, denn, wenn ich nun deinen Code verwende und die benötigten Wörter bei "var d = checkWords("Anschreiben, Lebenslauf, Zeugnisse", newArray("Anschreiben", "Lebenslauf", "Zeugnisse")); reinschreibe...liefert er mir natürlich den Wert "true" im Ausgabefenster. Soweit so gut....
...aber nun müsste ich diesen Schleifendurchlauf noch mit dem Eingabetextfeld verbinden. Sprich eine stetige Abfrage der eingetragenen Wörter auf Richtigkeit. Wenn dann all diese Wörter eingetragen wurden, soll im feedback (dynamisches Textfeld) eine entsprechende Nachricht generiert werden.
Ich habe mal die "trace(d)" zeile auskommentiert und folgendes drangehängt:
PHP:
if (d= true) {
feedback.text = "Alles richtig!"
}
else
{
feedback.text = "Falsch!"
}
Nun gibt er mir natürlich, dadurch das ich diese Abfrage nicht mit dem Eingabetextfeld verbunden habe direkt ein "Alles richtig" im Feedback textfeld zurück.
Daher die Frage, wie ich diese ganze Schleife mit dem Eingabetextfeld verbinden kann?
Schönen gruß
Maddin