Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-09-2004, 09:52   #1 (permalink)
=)
 
Benutzerbild von dante
 
Registriert seit: Jun 2003
Beiträge: 499
Question Variable anhand von Bezeichnung laden?

hallo!


bevor meinem anliegen: ich habe hier gesucht (natürlich) und habe keine lösung/brauchbaren ansatz gefunden.


das problem:

ich habe eine textdatei mit einer unbekannten anzahl von variablen.
jede variable hat einen eindeutigen namen (z.B 002 oder 097)
nach einem aufruf soll genau eine davon in einem festen textfeld positioniert werden.


mit einem array kann ich das ja nicht lösen, da die namen der variablen eigetnlich nur die "id" des anzuzeigenden textes sind. es kann also vorkommen dass es 001-020 gibt dann aber erst bei 043 weitergeht. ich kann also nicht einfach die werte in ein array kopieren und dann daraus den gebrauchten wert anzeigen lassen, da die namen ( die "id's") keine feste reihenfolge etc haben.



wie kann ich nun eine bestimmte variable aus der textdatei ansprechen?
__________________
x 600.6
y 123.3
dante ist offline   Mit Zitat antworten
Alt 01-09-2004, 10:04   #2 (permalink)
Neuer User
 
Benutzerbild von lukasboehle
 
Registriert seit: Jul 2004
Ort: Köln
Beiträge: 102
Moin,

du kannst eine *.txt mit loadVariablesNum("*.txt",0); einladen (die null steht dabei für level0). In der Datei müssen natürlich schon die Variablen stehen zB: var1="blabla"&var2="tritratrullala". Nun kannst du die Variablen in ein dynamisches Textfeld (Mehrzeilig) laden, indem du deine Variable angibst (Var: var1 bzw. Var: _root.var1)...

Gruss, Lukas.
lukasboehle ist offline   Mit Zitat antworten
Alt 01-09-2004, 12:29   #3 (permalink)
=)
 
Benutzerbild von dante
 
Registriert seit: Jun 2003
Beiträge: 499
Unhappy

mmh ich habs nach deinem prinzip eingebaut aber es funktiniert immer noch nicht...

PHP-Code:
HelpCenterModel.prototype.ladeVar = function() {
        
trace("ladeVar aufgerufen");
        
        
        
this.loadVariablesNum(VARIABLEN0
        
        
this.onData=function() 
            { 
                
varnummer _global.id
                
inhalt _root.varnummer
                trace
(inhalt);
                
        
// vorschau füllen
        
_root.vorschau.titel.text _global.kap;        
        
_root.vorschau.copytext.text inhalt;                
            } 
ich bin mir eben beim ansprechen einer variable aus der txt-datei nicht sicher...
__________________
x 600.6
y 123.3
dante ist offline   Mit Zitat antworten
Alt 01-09-2004, 12:45   #4 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Zwei Tipps mal vorab:

- warum benutzt du nicht ein LoadVars-Objekt? Das is eigentlich das geschickteste zum Laden externer txt-Dateien.

- Bezeichner (egal ob für Variablen, MCs etc.), die nur aus Zahlen bestehen oder mit einer Zahl anfangen, gehen gar nicht!

Also flugs mal nach LoadVars schauen und anständige Namen für die Variablen überlegen...
__________________
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 offline   Mit Zitat antworten
Alt 01-09-2004, 12:48   #5 (permalink)
Neuer User
 
Benutzerbild von lukasboehle
 
Registriert seit: Jul 2004
Ort: Köln
Beiträge: 102
Tja, der Profi bin ich nicht, aber ich meinte das so:

var1="Meine Mama kocht super."&var2="Meine auch." // Inhalt der txt

loadVariablesNum("meine.txt", 0); //Befehl im AS

So, jetzt zB in nen MC ein dynamisches Textfeld öffnen. Bei dem kann man nun eine Variable anwählen (da wo man auch Schriftgrösse, Farbe etc einstellt). Wenn da jetzt steht: _root.var1 müsste die swf daraufhin: Meine Mama kocht super.

Ansonsten schau dir mal meine anderen Beiträge an (sind bisher noch sehr übersichtlich ), da hab ich mir diesbezüglich auch schon Tipps geholt.

Gruss, Lukas.
lukasboehle ist offline   Mit Zitat antworten
Alt 01-09-2004, 12:49   #6 (permalink)
Neuer User
 
Benutzerbild von lukasboehle
 
Registriert seit: Jul 2004
Ort: Köln
Beiträge: 102
... und recht hat der sonar
lukasboehle ist offline   Mit Zitat antworten
Alt 01-09-2004, 12:56   #7 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Nee, Lukas, so wird des nix... TF-Variablen verwendet man eigentlich so gut wie gar nicht mehr. Vor allem, wenn Dante eine große Zahl an Variablen hat - wie viele TF mit Variable willst dann erstellen...?
__________________
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 offline   Mit Zitat antworten
Alt 01-09-2004, 13:08   #8 (permalink)
=)
 
Benutzerbild von dante
 
Registriert seit: Jun 2003
Beiträge: 499
Arrow

@ lukasboehle

danke für deine hilfe.
das problem ist, ich kann vorher wählen welche der variablen zu laden ist.
und genau die muss ins textfeld rein.

eventuell verstehe ich dich auch falsch!



@ sonar

klar. im eifer des gefechts mal eben die Variablen restriktion vergessen


mein aktueller stand:

PHP-Code:

    HelpCenterModel
.prototype.ladeVar = function() {
        
trace("ladeVar aufgerufen");
        
        
daten = new LoadVars();
        
daten.load(VARIABLEN);
        
        
daten.onLoad = function() {
            
// wie komme ich jetzt zB an die Var be001?
            
            
meineVar VID _global.id// = be001
            
_root.vorschau.copytext.text meineVar;
            
            
/* 
            er zeigt mit jetzt be001 an anstatt dem text der IN be001 ist 
und ich weiss nich wie ich es berichtigen kann
            */
            
            
}

        


//////////////// EDIT:

_root.vorschau.copytext.variable = meineVar;

löst es irgendwie auch nciht
__________________
x 600.6
y 123.3

Geändert von dante (01-09-2004 um 13:14 Uhr)
dante ist offline   Mit Zitat antworten
Alt 01-09-2004, 13:15   #9 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Das hatten wir doch letztens erst... "dynamische Bezeichner" heißt das Zauberwort:
ActionScript:
  1. meineVar = this["VID" + _global.id]; // = be001
  2.  
__________________
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 offline   Mit Zitat antworten
Alt 01-09-2004, 13:18   #10 (permalink)
=)
 
Benutzerbild von dante
 
Registriert seit: Jun 2003
Beiträge: 499
Lightbulb



danke!!!

//////EDIT:

es werden so 600 stück sein.
__________________
x 600.6
y 123.3

Geändert von dante (01-09-2004 um 13:28 Uhr)
dante ist offline   Mit Zitat antworten
Alt 01-09-2004, 13:37   #11 (permalink)
=)
 
Benutzerbild von dante
 
Registriert seit: Jun 2003
Beiträge: 499
Question

mmh

noch eine abschlussfrage:

wenn ich die funktion das erste mal aufrufe wird alles richtig ausgeführt, wird sie nen zweites mal aufgerufn bekomme ich undefinied für meine variable.




PHP-Code:

    HelpCenterModel
.prototype.ladeVar = function() {
        
trace("ladeVar aufgerufen");
        
        if(!
daten) {
            
            
daten = new LoadVars();
            
daten.load(VARIABLEN);
        
                
daten.onLoad = function() {
                        
                
meineVar this[VID _global.id]; // = be001
                
trace("neu geladen | "+meineVar);
                
_root.vorschau.copytext.text meineVar;
                
_root.vorschau.titel.text _global.kap;    
                }
            } else {
                
                
meineVar this[VID _global.id]; // = be001
                
trace("im speicher | "+meineVar);
                
_root.vorschau.copytext.text meineVar;
                
_root.vorschau.titel.text _global.kap;    
                
                }
        
        
            

    } 
also getraced wird "im speicher | undefinied"
__________________
x 600.6
y 123.3
dante ist offline   Mit Zitat antworten
Alt 01-09-2004, 13:47   #12 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Klar. Du verlierst ja die Referenz auf das LoadVars-Objekt, da die onLoad-Methode nur im if-Teil definiert is. Im else-Teil kann das "this" nicht mehr zugeordnet werden (bzw. es wir wahrscheinlich der übergeordneten Timeline zugeordnet und da lebt keine Var namens "VID" + _global.id)

Also die Objekt-Instanzierung raus aus der Bedingung und per if z.B. nur checken, obs die Variable schon gibt, und dann das Laden davon abhänging machen... tät ich mal sagen.
__________________
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 offline   Mit Zitat antworten
Alt 01-09-2004, 14:21   #13 (permalink)
=)
 
Benutzerbild von dante
 
Registriert seit: Jun 2003
Beiträge: 499
Post

PHP-Code:
meineVar daten[VID _global.id]; // = be001 
im else teil statt "this" und alles fliesst =)

danke für deine hilfe
__________________
x 600.6
y 123.3
dante ist offline   Mit Zitat antworten
Alt 01-09-2004, 14:31   #14 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Oder so...
__________________
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 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 08:22 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele