Textfelder per AS erstellen

EM-Autotechnik

Erfahrenes Mitglied
Hallo Leute!

Versuche per As Textfelder zu generieren und zwar eine Anzahl die mir ein PHP Script mit einer Variablen vorschreibt.

Im Klartext, lade Daten aus einem PHP Script in einen Flash Movie.
und möchte mir nur so viele Tabellen anzeigen lassen wie mir auch Daten zur verfügung stehen. Jedem Datensatz wurde im PHP Script eine Variable zugewiesen.

Mein AS im Movie:

PHP:
tub_num = 10; 	//Anzahl der Tabellen (Variable von PHP)
count = 0; 		//ZählerStand deklarieren      		
xpos = -340;  	//X-position des 1. Textfeldes
ypos = 20;      //Y-position des 1. Textfeldes
h = 18;       	//höhe des Textfeldes
w = 100;                   	 //breite des Textfeldes
while (count<tub_num) {      //beginne Schleife so oft wie "tub_num" 	
	this.createTextField("tex", 1, xpos, ypos, w, h);   //erstelle Textfeld
	this.tex.backgroundColor = 0xDADADA;    
	this.tex.background = true;
	this.tex.border = false;
	this.tex.html = true;
	this.tex.type = "static";
	this.tex.variable = "text";                    
	ypos+=30;	                      //Y-position wird verändert
	count+=1; 		//Zähler wird um eins erhöht
}
stop();

Habe mir das in etwa so gedacht.
Mir ist klar das ich auch jedesmal einen neuen Feldnamen deklarieren muss.
Aber habe das hier mal weggelassen...
Wollte auf etwas anderes hinaus und zwar habe ich das Problem das ich jedesmal nur ein Textfeld angezeigt bekomme... da mir vermutlich erst die gesamten Variablen in jeder Schleife überschrieben werden.
Jetzt wollte ich wissen ob jemand noch eine andere Möglichkeit kennt Textfelder zu generieren. Und zwar in Abhängigkeit von PHP.
Wäre dankbar für jede Hilfe!

mfg Sebastian
 
Hi,

das ist prinzipiell fast schon richtig, ich würde nur folgendes ergänzen:
PHP:
_root.inhalt1 = "hallo1";
_root.inhalt2 = "hallo2";
_root.inhalt3 = "hallo3";
_root.inhalt4 = "hallo4";
_root.inhalt5 = "hallo5";
_root.inhalt6 = "hallo6";
_root.inhalt7 = "hallo7";
_root.inhalt8 = "hallo8";
_root.inhalt9 = "hallo9";
tub_num = 10;
//Anzahl der Tabellen (Variable von PHP)
count = 0;
//ZählerStand deklarieren              
xpos = 0;
//X-position des 1. Textfeldes
ypos = 0;
//Y-position des 1. Textfeldes
h = 18;
//höhe des Textfeldes
w = 100;
//breite des Textfeldes
for (count = 1; count < tub_num; count++) {
	//beginne Schleife so oft wie "tub_num"     
	Bezeichner = "tex" + count;
	// dyn. Instanznamen !
	Textinhaltsvariable = eval ("_root.inhalt" + count);
	_root.createTextField (Bezeichner, count, xpos, ypos, w, h);
	//erstelle Textfeld
	_root[Bezeichner].backgroundColor = 0xDADADA;
	_root[Bezeichner].border = true;
	_root[Bezeichner].text = Textinhaltsvariable;
	ypos += 30;
	//Y-position wird verändert
	//Zähler wird um eins erhöht
}
stop ();
ansonsten müsst ich auch wissen, wie das php aussieht, um dir zu sagen warum was nicht geht - probier mal im debugger (sehr wichtiges tool , lange von mir vernachlässigt) ob alle variablen auch die Werte haben, die du willst.....

Auf den zweiten Blick - du kannst keinem statischen Textfeld ne Variable geben, einem Textfeld mit Instanznamen würd ich nie zusätzlich noch eine Variable geben, etc... zieh dir noch mal die Objektbeschreibung vom Textfeld rein...

Grüsse B
 
Zuletzt bearbeitet:
... oder noch einmal gaaaaaaanz richtig :
PHP:
_root.inhalt1 = "<i> hallo1 </i>";
_root.inhalt2 = "<li> hallo2 </li>";
_root.inhalt3 = "<b> hallo3 </b>";
_root.inhalt4 = " hallo4 ";
_root.inhalt5 = "<u> hallo5 </u>";
_root.inhalt6 = "<b><i><u> hallo6 </i></u></b>";
_root.inhalt7 = "<li><i><u> hallo7 </i></u></li>";
_root.inhalt8 = "<P ALIGN = 'CENTER'><i> hallo8 </i>";
_root.inhalt9 = "<P ALIGN = 'RIGHT'><i> hallo9 </i>";
tub_num = 10;
//Anzahl der Tabellen (Variable von PHP)
count = 0;
//ZählerStand deklarieren              
xpos = 0;
//X-position des 1. Textfeldes
ypos = 0;
//Y-position des 1. Textfeldes
h = 18;
//höhe des Textfeldes
w = 100;
//breite des Textfeldes
for (count = 1; count < tub_num; count++) {
	for (count = 1; count < tub_num; count++) {
		//beginne Schleife so oft wie "tub_num"     
		Bezeichner = "tex" + count;
		// dyn. Instanznamen !
		Textinhaltsvariable = eval ("_root.inhalt" + count);
		_root.createTextField (Bezeichner, count, xpos, ypos, w, h);
		//erstelle Textfeld
		_root[Bezeichner].type = "dynamic";
		_root[Bezeichner].html = true;
		_root[Bezeichner].selectable = false;
		_root[Bezeichner].background = true;
		_root[Bezeichner].backgroundColor = 0xDADADA;
		_root[Bezeichner].border = true;
		_root[Bezeichner].htmlText = Textinhaltsvariable;
		_root[Bezeichner].textColor = 0xCC0000; 
		ypos += 30;
		//Y-position wird verändert
		//Zähler wird um eins erhöht
	}
}
stop ();
Grüsse B
 
Danke für eure Antworten!

Hi!

Danke für eure Antworten!

Werde mich nun mal durchbeissen!
Obwohl ich gerade dabei bin mir Flash 7 reinzuziehen....
Ich denke da werde ich ein paar mehr Optionen zu verfügung gestellt bekommen.
Obwohl ich noch keinen richtigen Durchblick habe.

Grüsse Seb
 

Neue Beiträge

Zurück