Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-07-2011, 17:14   #1 (permalink)
Neuer User
 
Benutzerbild von velocity.
 
Registriert seit: May 2005
Beiträge: 310
Verständnissproblem mit eval()

Hi!

So, nach einer kleinen pause wollte ich jetzt weiter programmieren und musste feststellen, dass ein Quellcode der früher ging, jetzt nicht mehr funktioniert. Anscheinend gibt es eval() nciht mehr wirklich bzw. darf es bei einer Gleichung nicht links stehen, also habe ich nachgeforscht und bin auf die Methode this[] gestoßen. Diese kenne ich, habe aber trotzdem bei folgendem kleinen Quellcode ein Verständnissproblem, folgender Code liegt vor:

Ich möchte einfach nur zum Testen, dass immer wenn ich etwas in das Textfeldschreibe, mir das per trace ausgegeben wird und dann der Inhalt des Textfeldes wieder gelöscht wird. Ist also echt easy, aber ich möchte das dynamisch lösen, also so, dass ich, wenn das Textfeld einmal anders initalisiert wird, dass ich dann nur den Textfeldnamen und die Textfeldvariable ändern muss. In dem Quellcode, steht bei dem zweiten Tracebefehl, schon das Problem. Warum gibt er mir mit dem Befehl nicht in den Inhalt des Textfeldes aus?

Zitat:
onSelfEvent (load)
{
var Textfeldname = _parent.test;
var Textfeldvariable = _parent.inhalt;


this["Textfeldname"]._text.onChanged=function()
{
trace(_parent.inhalt);
//FUNKTIONIERT

trace (this[Textfeldvariable]);
//FUNKTIONIERT NICHT - WARUM?



}


}
__________________
- we start 2009 -


http://www.aelfsciene.com - © Copyright. All rights reserved.

Geändert von velocity. (18-07-2011 um 17:15 Uhr)
velocity. ist offline   Mit Zitat antworten
Alt 18-07-2011, 17:37   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
ojeeee, was eine verkabelung :=0

schau dir mit
trace(this);
an, was jeweils this ist.
sinngemäss mit allen anderen variablen.


var Textfeldname = _parent.test;
damit ist Textfeldname eine referenz auf _parent.test (was ist das? ein textfeld, ein string?)
dann kann das hier nicht gehen:
this["Textfeldname"]..
wenn überhaupt, dann
this[Textfeldname]..
sinngemäss wäre das:
this[_parent.test].. // und achtung, ausserhalb der funktion ist this u.U. ein anderes this als in der funktion


Code:
onSelfEvent (load)
{
var Textfeldname = _parent.test;
var Textfeldvariable = _parent.inhalt;

_parent.test._text.onChanged=function()
{ // hier ist this == _parent.test
trace(_parent.inhalt); // das wäre dann _parent.test._parent.inhalt ??
trace (this[Textfeldvariable]); // das wäre dann _parent.test[_parent.inhalt] ??
}
}
hmmmm, aus der nummer musst du dich selbst befreien :-)
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (18-07-2011 um 17:47 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 18-07-2011, 18:35   #3 (permalink)
Neuer User
 
Benutzerbild von velocity.
 
Registriert seit: May 2005
Beiträge: 310
Ok, also irgendwie komplizierter!
Das komische ist, es ging schon mal alles, da habe ich komplett mit eval() gearbeitet. Eval scheint aber nicht sehr sinnvoll zu sein, oder!
__________________
- we start 2009 -


http://www.aelfsciene.com - © Copyright. All rights reserved.
velocity. ist offline   Mit Zitat antworten
Alt 18-07-2011, 19:27   #4 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.040
Zitat:
Zitat von velocity. Beitrag anzeigen
Eval scheint aber nicht sehr sinnvoll zu sein, oder!
eval is evil.
__________________
anbei Grüße vom milchreis: Viva la [Silb]
"Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!"

[Von null auf Flash in einem Klick.] <<< klick
milchreis ist offline   Mit Zitat antworten
Alt 18-07-2011, 19:48   #5 (permalink)
Neuer User
 
Benutzerbild von velocity.
 
Registriert seit: May 2005
Beiträge: 310
Ja, stimmt...aber ein Lösungsvorschlag wäre gut! *g*
__________________
- we start 2009 -


http://www.aelfsciene.com - © Copyright. All rights reserved.
velocity. ist offline   Mit Zitat antworten
Alt 18-07-2011, 21:16   #6 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.040
Zitat:
Zitat von velocity. Beitrag anzeigen
Ja, stimmt...aber ein Lösungsvorschlag wäre gut! *g*
Warum verwendest du den isntanznamen und die variable?
Die Variable von Textfeldern ist Quatsch. Braucht kein Mensch.

Und was ist denn dieses onSelfEvent Dingens? Swishmax irgendwas habe ich gelesen.

Zitat:
Zitat von velocity. Beitrag anzeigen
Ich möchte einfach nur zum Testen, dass immer wenn ich etwas in das Textfeldschreibe, mir das per trace ausgegeben wird und dann der Inhalt des Textfeldes wieder gelöscht wird.
Dann pack das einfach in eine klasse:

//benutzung
PHP-Code:
var tfp:TextFeldPutze = new TextFeldPutze(textFeld);
tfp.machSauber(); 
wobei "textFeld" der isntanzname deines Textfeldes ist.

//klasse
PHP-Code:
/**
* politisch korrekter hätte es wohl "Fachkraft für Textfeldbereinigung" heißen müssen
* @author milchreis
*/

class TextFeldPutze 
{
    private var 
_tf:TextField;
    
    public function 
TextFeldPutze (ziel:TextField)
    {
        
_tf ziel;
    }
    
    public function 
machSauber():Void
    
{
        
_tf.addListener(this);
    }
    
    public function 
machUrlaub():Void
    
{
        
_tf.removeListener(this);
    }
    
    public function 
onChanged (changedField:TextField):Void 
    
{
        
trace(changedField.text);
        
changedField.text "";
    }
    

__________________
anbei Grüße vom milchreis: Viva la [Silb]
"Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!"

[Von null auf Flash in einem Klick.] <<< klick
milchreis 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Verständnissproblem zu MouseEvents Littich ActionScript 3 5 08-02-2009 15:23
Verständnissproblem: Cookie per Actionscript übergeben? bakaselwatsch ActionScript 2 2 29-01-2007 16:49
Verständnissproblem HansBrackhaus Komponenten und SmartClips 1 01-03-2006 00:35
MovieClipLoader / Listener Verständnissproblem cdash ActionScript 1 3 16-02-2005 07:48
Verständnissproblem Objektpfad und _y Position Henner_p2 ActionScript 1 3 29-12-2003 13:08


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:44 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele