Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-06-2005, 01:00   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2002
Ort: Kulmbach, Bayern
Beiträge: 59
Question Klasse loadVar, [type funktion] und .txt

Hallo Leute!

Eigentlich eine simple Geschichte, die aber leider nicht funzt. Ich will einen Newstext laden. Früher hab ich das über loadVariable gemacht... macht man ja nicht mehr, von daher habe ich mich in der Klasse loadVar eingelesen und folgendes zusammengestrickt:

ActionScript:
  1. //Newstext laden
  2. System.useCodepage = true;
  3. var myLoadVars = new LoadVars();
  4. myLoadVars.load("news.txt");
  5. myLoadVars.onLoad = function(success){
  6.   if(success){
  7.     for(var i in myLoadVars){
  8.         if(myLoadVars[i] != onLoad){
  9.             _root.navi.news = myLoadVars[i];
  10.             break;
  11.         }
  12.     }
  13. }
  14.   else{
  15.     _root.navi.news = "Fehler beim Laden der Datei! Error data handling!";
  16.        }
  17. }

Offline passt es! Online bekomme ich den folgende Fehler im Textfeld angezeigt:

[type funktion]

Habe schon dutzende Varianten durch und die halbe Nacht damit verbracht. Kann mir bitte jemand damit helfen?

Vielen lieben Dank!

Marcel
dragon ist offline   Mit Zitat antworten
Alt 15-06-2005, 01:12   #2 (permalink)
zimmer 101
 
Benutzerbild von ricobeck
 
Registriert seit: Jul 2003
Ort: LE
Beiträge: 1.581
Zitat:
Zitat von dragon
ActionScript:
  1. _root.navi.news = myLoadVars[i];

ähm: meinst du ein textfeld, dem du den wert einer variablen zuweisen möchtest?
dann wäre
_root.navi.news.text
zur zuweisung wesentlich geeigneter.

was bezweckst du mit der klausel if(myLoadVars[i] != onLoad) ???


etwas mehr hilfestellung für die hilfesteller wäre nett


l.g.
rick
__________________
Illogical comparison with NaN. Any comparison operation involving NaN will evaluate to false because NaN != NaN.
ricobeck.de
ricobeck ist offline   Mit Zitat antworten
Alt 15-06-2005, 01:14   #3 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
ei, wo hast du denn das gelesen? "..if(myLoadVars[i] != onLoad){.."

onLoad ist eine function, just selbige, in der 'wir' uns gerade befinden. die kannst du doch nicht mit einem textstring vergleichen. schmeiss diesen test komplett raus!

das erfolgreich geladen wurde, wurde dir ja schon mit if(success){ bestätigt.

und das ist auch unsinnig:
_root.navi.news = myLoadVars[i];
wenn du z.b. 12 news geladen hasst, dann speicherts du die hier alle in eine einzige variable ab? da bleibt nicht viel von übrig ;-)

das umspeichern brauchst du eigentlich überhaupt nicht. die haben schon alle einen platz (den namen, den du ihnen gegeben hast).
wenn doch, sowas z.b. würde sinn machen:
_root.navi.news='';
..
_root.navi.news += myLoadVars[i]+'\p';

alle news aneinander hängen. aber dann kannst du sie auch gleich so senden?

probier mal weiter.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 15-06-2005, 10:16   #4 (permalink)
Neuer User
 
Registriert seit: Jul 2002
Ort: Kulmbach, Bayern
Beiträge: 59
Unhappy oh weiha

Erstmal vielen Dank für Eure Antwort. Stimmt schon da passt definitiv was nicht! Hab ich heute nacht nicht mehr gecheckt... Schlaf tut gut. Die Geschichte habe ich von einem Tutorial auf Flashkit.com, nachdem ich mit den vielen Einträgen in diesem Forum nicht das gewünschte Ergebnis erzielt habe.

Bitte erklärt mir doch bitte wo mein Problem ist. Wenn ich Euch richtig verstanden habe würde es also reichen, das ich folgendes schreibe:

ActionScript:
  1. //Newstext laden
  2. var test = new LoadVars();
  3. test.load("news.txt");
  4. test.onLoad = function(success){
  5.     if(success){
  6.         _root.navi.news += test;  //oder _root.navi.text = test;
  7.         }
  8.     else{
  9.         _root.navi.news = "Error";
  10.     }
  11. }

Das passt aber doch auch nicht, weil LoadVars doch kein String ist, den ich eigentlich übergeben möchte. (_root.navi.news ist übrigens ein dyn Textfeld in einem Movieclip). Bzw. laut Eurer Antwort benötige ich doch gar keine Übergabe... ergo reicht dann nicht:

ActionScript:
  1. var _root.navi.news = new LoadVars();
  2. _root.navi.news.load("news.txt");

Was aber auch nicht stimmen kann, weil die Deklaration nicht stimmt.
Oder wie früher:

ActionScript:
  1. loadVariables("news.txt", _root.navi);

Das geht aber auch nur offline???! Ich stehe auf dem Schlauch! Bringt doch mal Licht in mein Dunkel.

Vielen Lieben Dank! Marcel
dragon ist offline   Mit Zitat antworten
Alt 15-06-2005, 16:25   #5 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
kann nirgens lesen, das wir dir sowas
_root.navi.news += test;
geschrieben hätten?
du solltest den unsinnigen test rauswerfen!
ActionScript:
  1. if(success){
  2. for(var i in myLoadVars){
  3. _root.navi.news += myLoadVars[i]+"\p"; // ***
  4. }
  5. }
ansonsten lade deine files hoch, dann müssen wir nicht rätzelraten.

*** früher ging das hier im forum. da steht backslash-p im script: \p das esc-zeichen für return und nicht wie hier angezeigt nur p!
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (16-06-2005 um 00:37 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 15-06-2005, 23:06   #6 (permalink)
Neuer User
 
Registriert seit: Jul 2002
Ort: Kulmbach, Bayern
Beiträge: 59
Hallo nochmals!

Also ich hab es, wenn auch ein wenig anders.

ActionScript:
  1. var myLoadVars = new LoadVars();
  2. myLoadVars.load("news.txt");
  3. myLoadVars.onLoad = function(success){
  4.     if (success) {
  5.             for(var i in myLoadVars){
  6.                 _root.navi.news += myLoadVars[i].toString();
  7.                 break;
  8.             }
  9.         } else {
  10.        _root.navi.news = "Fehler beim Laden der Datei! Error data handling!";      
  11.     }
  12. }


Trotzdem hab ich noch eine zusätzliche Frage. Da ich das Textfeld scrollen will hab ich es mit der scroll komponente verbunden. Da am Anfang kein Text enthalten ist, funzt der scroller nicht, klar wenn keine Stringmenge definiert ist. Wie kann ich das Problemchen lösen!?

Danke nochmals für die nette Hilfe!

Gruß, Marcel
dragon ist offline   Mit Zitat antworten
Alt 16-06-2005, 01:02   #7 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
"..Also ich hab es, wenn auch ein wenig anders.."
schön, wenn's dich glücklich macht ;-)

wozu das toString? bestehen deine newstexte aus zahlen?
und wozu das break? was soll das denn da machen?



"..mit der scroll komponente verbunden.."
es gibt keine scroll komponente in MX 2004 ???

es gibt eine TextArea- komponente (genau das richtige für dich)
und da geht das wunderbar mit dem scrollen.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 19-06-2005, 21:28   #8 (permalink)
Neuer User
 
Registriert seit: Jul 2002
Ort: Kulmbach, Bayern
Beiträge: 59
Um den Treat abzuschliessen, da die Kommentierung nicht weiter führt, sage ich vielen lieben Dank!

LG
dragon 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 18:27 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele