| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jul 2002 Ort: Kulmbach, Bayern
Beiträge: 59
|
Hallo Leute! Wahrscheinlich ganz einfach, aber ich komme einfach nicht zum Ziel. es geht eigentlich um drei Punkte, die zu einem Ziel führen: 1. ich lade eine externe Textdatei ins Flash mit loadVariablesNum ("herachie.txt", 0); 2. diesen String möchten ich in ein String Objekt übergeben. s2 = new String(this.test); 3. das String Objekt möchte ich dann mit .split an den Zeilenumbrüchen in einzelne Arrays oder Strings aufteilen splitArray = []; var tmpArray = []; tmpArray =s2.split("/n"); for (var i = 0; i< tmpArray.length; i++) { splitArray[i] = []; splitArray[i] = tmpArray[i].split("/n"); } Ist das überhaupt der richtige Weg? Im Endeffekt soll aus: test.txt mit Inhalt: &test= name1 name2 name3 folgendes werden: Array[]=name1, name2, ... bzw. String1 = name1 String2= name2 ...[/B] Hoffentlich kann jemand helfen... so langsam hab ich nämlich das gefühl, das ich mich verrenne. Grüße, Marcel |
| | |
| | #2 (permalink) | |
| Gast
Beiträge: n/a
| Zitat:
loadVariables und (schlimmer noch) loadVariablesNum sind alte Überbleibsel aus F4/F5-Zeiten. Sie haben den Nachteil, dass sie asynchron sind, d.h. der Steuerkopf, bzw. das Script warten nicht, bis der Befehl abgesetzt wurde und eine Rückmeldung erfolgt ist, sondern gehen sofort zum nächsten Befehl. Wenn sich der jetzt auf die Variablen bezieht, die loadVariables bringen soll, läuft das Script ins Leere... Deswegen benötigst du zumindest eine Frameschleife, die die Rückgabewerte abfängt. Weiterhin bekommst du überhaupt keine Rückmeldung, ob das Laden funktioniert hat. Wenn z.B. das Script nicht existiert oder gefunden werden konnte, läuft sich dein Script 'nen Wolf. Außerdem kannst du einem Middleware-Script wie PHP nicht gezielt Variablen übersenden, weil loadVariables einfach alle Variablen der aktuellen Zeitleiste überträgt. Abhilfe schafft die LoadVars-Klasse: damit bekommst du Rückmeldungen, ob das Laden funktioniert hat, du hast explizit einen onLoad-Callback, der nach dem Laden im Script fortfahren kann und du hast die Möglichkeit, gezielt Variablen an die LoadVars-Instanz zu übergeben. Hier mal ein Beispiel: Im Textfile mein.txt steht folgendes: Code: &test=name1,name2,name3& ActionScript:
| |
|
| | #3 (permalink) |
| Neuer User Registriert seit: Jul 2002 Ort: Kulmbach, Bayern
Beiträge: 59
|
Hallo agedoubleju! Erstmal vielen Dank für Deinen Tread und kurz vor ab... ich versuche immer erst die Forumsbeiträge zu durchforschen, Bücher zu wälzen, bevor ich hier poste... wenn ich nicht mehr weiter weiß und die Zeitinvestition in keinem Verhältnis steht, dann... Nun zu meinem Problem... ich habe die alten Scripte benutzt, weil ich mit dem neuen Zeug kein Ergebnis bekommen habe und ich versucht habe immer weiter zu reduzieren. Über Error Handling habe ich mir noch keine Gedanken gemacht, weil ich erstmal mit trace meine Ausgaben für mich geprüft habe. Also ich habe Deinen Code bei mir getestet, komme aber zu keinem Ergebnis, bzw. es funzt irgendwie nicht... die Frage war auch noch ob es auch mit Zeilenumrüchen auch geht? Muss ich dann mit /n splitten? Es wird kein Fehler Ausgegeben, aber auch kein Ergebnis, nur der String vom tracebefehl??? Es wäre wirklich sehr nett, wenn ich nochmals Hilfe bekomme! Ich stecke echt fest! Danke, Marcel |
| | |
| | #4 (permalink) | |
| Gast
Beiträge: n/a
| Zitat:
Zeilenumbrüche kannst du mit "\n" schalten, aber evtl. wird dann ein zweiter Backslash mit übertragen, den du im String mit einer split-join-Kombination löschen musst. In HTML-Text geht es natürlich auch mit einem br-Tag. | |
|
| | #5 (permalink) |
| Neuer User Registriert seit: Jul 2002 Ort: Kulmbach, Bayern
Beiträge: 59
|
Sorry, war etwas missverständlich... er gibt nix aus! Nur den String "this.test=" Mit /n hab ich schon probiert, denke es liegt aber wo anders, das Problemchen. Hilfe! Das kann doch alles nicht so schwer sein.... Marcel
|
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Jul 2002 Ort: Kulmbach, Bayern
Beiträge: 59
|
Hallo Holger! Ich gebe so schnell nicht auf!! Das Problem besteht wohl eher in meinem Verständnis... Dein Script scheint zu funktionieren. Ich kann nur die einzelnen Textstrings nicht weiter verarbeiten, bzw. weiß irgendwie nicht wie, trotz Deiner Kommnetare. Ich hatte gedacht, das ich einfach nur _global.meineVar[i] auslesen muss und diese dann weiter verarbeiten kann? Aber anscheinend bin ich wohl ein wenig zu dusselig dafür. Also die Testausgabe wie gesagt wirft nix aus, aber wenn ich die Variablen aufliste, findet man das Textfile?????? Code: Globale Variablen
Variable _global.meineVar = [Objekt #1, Klasse 'Array'] [
0:"\nAutohaus\n?rztehaus\nKosmetikstudio\nKrankenhaus\nordner6\nordner7\nordner8\nordner9\nordner10\nWerbung\n"
]
Stufe #0:
Variable _level0.$version = "MAC 6,0,21,0"
Variable _level0.geladen = [Funktion 'onLoad']
Variable _level0.LadeObj = [Objekt #3, Klasse 'LoadVars'] {
onLoad:[Funktion 'onLoad'],
herachie:"\nAutohaus\n?rztehaus\nKosmetikstudio\nKrankenhaus\nordner6\nordner7\nordner8\nordner9\nordner10\nWerbung\n"
} Vielen lieben Dank! Marcel
|
| | |
| | #8 (permalink) |
| Gast
Beiträge: n/a
|
Das funktioniert doch... Allerdings nicht so, wie du es dir vorgestellt hast, du musst schon - wie ich weiter oben angegeben habe - die Variablen im Textfile mit Kommas trennen. Sonst macht ein String.split auf Kommas auch irgendwie nicht viel Sinn. Das Array kannst du dann bspw. so weiterverwenden: ActionScript:
|
|
| | #9 (permalink) |
| Neuer User Registriert seit: Jul 2002 Ort: Kulmbach, Bayern
Beiträge: 59
|
Hey sorry und vielen Dank! Irgendwie hab ich auf der Leitung gestanden... es funzt. Ich habe nur nen /n geschrieben statt \n ... Der Fehler liegt im Detail Hab aber noch eine ergänzende Frage: Wie überprüfen ich, bzw. gebe die Anzahl der gefüllten Variablen wieder zurück... mit .length kriege ich es nicht hin, worauf ich eine While Schleife gebaut habe und darin eine Abfrage auf ungefüllt mache. Geht aber auch nicht, weil die Abfrage nicht funzt: _global.meineVar[z]==null ?? _global.meineVar[z]=null ?? _global.meineVar[z]="" ?? Vielleicht hast Du darauf auch noch eine Antwort. Vielen lieben Dank, dann solte ich es endlich haben! Marcel |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |