Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-01-2005, 21:18   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
textdatei aufspalten

Hallo

Habe eine Frage!
möchte eine Textdatei in mein Swf einlesen!
Das einlesen hab ich so gemcht!
var textdateiData = this.loadVariables("textdatei.txt", 0);
In der Texdatei steht jetzt zB:
THomas;Franz,markus
kalium;toni,sep,karl,abc
Im film möchte ich jetzt der Variable a1THomas zuweisen und der Variable a2 kalium!FRanz möchte ich dann der Variable a11, markus der Variable a12 Zuweisen toni der variable a21 sep der variable a22 karl der Variable a23 usw!
wie mache ich sowas?

mfg jochi
Jochi ist offline   Mit Zitat antworten
Alt 01-01-2005, 21:29   #2 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Lass am Besten die Finger von Textdateien. Mach's lieber mit XML-Files - geht schneller, ist einfacher & du hast mehr Möglichkeiten.
__________________
Mediendesign-Student
johanness ist offline   Mit Zitat antworten
Alt 01-01-2005, 21:43   #3 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Benutz zumindest nicht loadvariables sondern LoadVars...
Probier mal so (untested):
ActionScript:
  1. /*
  2. Struktur der txt:
  3. &names=karl;uwe;hans;tom;peter;manfred; ... &
  4. */
  5. var tl = this;
  6. var numVars;
  7. //
  8. function assignVars() {
  9.   this.ary = this.names.split(";");
  10.   for(var i in this.ary) {
  11.     tl["a" + i] = this.ary[i];
  12.   }
  13. }
  14. //
  15. var txtLoader = new LoadVars();
  16. txtLoader.onLoad = function() {
  17.   assignVars.call(this);
  18. }
  19. txtLoader.load("deine.txt");
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)

Geändert von sonar (01-01-2005 um 21:47 Uhr)
sonar ist gerade online   Mit Zitat antworten
Alt 01-01-2005, 23:17   #4 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
johanness
WIe meinst du denn das mit xml files?
wie geht das kannst mal ein script posten?
aja sonar werd dein script jetzt mal ausprobieren!

Habs jetzt ausprobiert!
Funktioniert irgendwei nicht!
Hab mal meine Version angehängt!
vielleicht könntest du ja noch ein paar erklärungen reinmachen zumindest an der stelle wo alles aufgespalten wird!

mfg jochi
Angehängte Dateien
Dateityp: rar txt loader.rar (3,6 KB, 4x aufgerufen)

Geändert von Jochi (01-01-2005 um 23:31 Uhr)
Jochi ist offline   Mit Zitat antworten
Alt 02-01-2005, 00:28   #5 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
1. deine txt hatte nicht die geforderte Struktur:
&variablenname=Wert&

2. mit dem for...in lief's nicht. Jetzt gehts aber.
Angehängte Dateien
Dateityp: zip txt loader.zip (6,0 KB, 8x aufgerufen)
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist gerade online   Mit Zitat antworten
Alt 02-01-2005, 14:18   #6 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
auch hübsch:
ActionScript:
  1. System.useCodepage=true;
  2. //myM ist das textfeld
  3. this.myM.html=true;
  4.  
  5.  
  6.  
  7. MovieClip.prototype.loadTxt = function(txt,tar,param) {
  8.     obj = new LoadVars(tar,param);
  9.     obj.onLoad = function(good) {
  10.             if(param == 'all'){
  11.     for (var i in this){
  12.     ausg =  this[i].split("\r").join("") + ausg;
  13.     }
  14.             }else{
  15.               ausg = this[param].split("\r").join("");
  16.             }
  17.  
  18.             tar.htmlText = (good) ? ausg: "Meldung: Fehler !";
  19.     }
  20. obj.load(txt);
  21. }
  22.  
  23. this.loadTxt('myMenu.txt',this.myM,'all');

1. param ist die text-datei, die geladen werden soll
2. param ist der instanzname des textfeldes
3. param kann verschiedene werte haben:
* 'all' lädt die ganze datei in das textfeld
*'work',menu,scripte,kontakte,impress
diese sind die einzelnen vars in der textdatei, die
einzel aufgerufen werden können.
hier könnt ihr dann eure einzelnen vars angeben...


die textdatei kann nun so aussehen ( wesentlich einfacher zu pflegen und zu lesen)

ActionScript:
  1. &menu=[Base]
  2.  
  3. &work=[Work]
  4.   [online]
  5.   [offline]
  6.   [private]
  7.  
  8. &scripte=[Scripts]
  9.   [prototypes]
  10.   [functiions]
  11.   [objects]
  12.      -[sound]
  13.      -[text]
  14.      -[movieclips]
  15.      -[loadVars]
  16.      -[XML]
  17.  
  18. &kontakte=[Contact]
  19.   [phone]
  20.   [email]
  21.   [guestbook]
  22.   <font color='#CCCCCC'><a href='http://www.flashforum.de'>[forum]</a></font>
  23.  
  24. &impress=[Impressum]


wie ihr sehen könnt wesentlich leserlicher...

nur noch als utf-8 abspeichern ( geht wunderbar mit dem notepad oder ähn.)



greetz

kelor

Geändert von kelor (02-01-2005 um 14:20 Uhr)
kelor ist offline   Mit Zitat antworten
Alt 02-01-2005, 16:17   #7 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
kelor bei deinem script kann ich die textdatei nicht richtig einlesen!
hab meine Version mal hochgeladen!
was ist denn da falsch?
Angehängte Dateien
Dateityp: zip kelor.zip (5,5 KB, 6x aufgerufen)
Jochi ist offline   Mit Zitat antworten
Alt 02-01-2005, 17:58   #8 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
ok...da waren ein zwei fehler drin.

1. du hattest die textdatei versehentlich 'myMenü' genannt.
also nen umlaut genommen.

dann war aber noch was...
und zwar sollte man die 'onLoad' funktion innerhalb einer for-in schleife rausfiltern.
und natürlich MUSS man in flash mx2004 die variable 'ausg' vorher definieren und - VOR ALLEM - mit einem leeren string füttern


der code sieht so aus...

ActionScript:
  1. // für flash mx ist codePage=true; notwendig, ansonsten nicht
  2. System.useCodepage=false;
  3. //myM ist das textfeld
  4. this.myM.html=true;
  5. MovieClip.prototype.loadTxt = function(txt,tar,param) {
  6.     var ausg='';
  7.     obj = new LoadVars(tar,param);
  8.     obj.onLoad = function(good) {
  9.             if(param == 'all'){
  10.                for (var i in this){
  11.                     if( i != 'onLoad'){
  12.                        //ausg = (! ausg.length) ? this[i].split("\r").join("") : this[i].split("\r").join("") + ausg;
  13.                        ausg = this[i].split("\r").join("") + ausg;
  14.                     }
  15.                }
  16.             }else{
  17.                     ausg = this[param].split("\r").join("");
  18.             }
  19.    
  20.             tar.htmlText = (good) ? ausg: "Meldung: Fehler !";
  21.     }
  22. obj.load(txt);
  23. }
  24.  
  25. this.loadTxt('myMenu.txt',this.myM,'all');

das auskommentierte geht dann auch, wenn man die var 'ausg' nicht definert hatte.



jetzt sollte es aber gehen



greetz

kelor
kelor ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 11:33 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele