Toon posts:

[flash mx] variabele var uit txt-bestand

Pagina: 1
Acties:

Verwijderd

Topicstarter
om maar meteen met de deur in huis te vallen: ik zit met het volgende:

Ik heb een flash-movie waar ik tekst uit een .txt-bestand wil inladen in een dynamic textfield. Dit werkt uitstekend, dat is het niet. Ik heb in mijn txt-bestand echter verschillende variabelen op de volgende manier:

&titel1=testje
&titel2=testerdetest2
&berichtcounter=2

ik wil dus nu in mijn dynamic textfield de variabelen titel1 en titel2 tonen. Dit gebeurt door middel van een loop in actionscript, welke wordt uitgevoerd in het frame waar het dynamic textfield wordt getoond:


var j = 0;
ifFrameLoaded (1)
{
var s = new LoadVars();
s.onLoad = function()
{
if(s.berichtcounter==0)_root.shoutbox.htmlText += "Geen berichten..";
if(s.berichtcounter>0)
{
do
{
_root.shoutbox.htmlText += s.titel1 //werkt, ik krijg nu 2x "testje"
j++;
}
while(j<s.berichtcounter)
}
}
t.load("shout.txt");
}

Wat ik nu dus eigenlijk al WEKEN probeer te bereiken is om s.titel dynamisch te laten zijn, zodat ik de verschillende titels binnen kan halen en tonen. bij alles wat ik probeer (hier op GoT stond ergens iets van s['titel'+j] bijv.) krijg ik undefined als waarde terug. Ook met de eval( ) functie is het me nog niet gelukt meerdere variabelen met een getal uit de .txt-file te trekken.

Heeft iemand hier ervaring mee? Of kan het misschien ook anders?

Voor de liefhebbers: het is voor een nieuwe, 'compleet flashy' look and feel van mijn huidige website

Verwijderd

Topicstarter
schop! is er dan echt helemaal niemand die mij kan helpen? :'(

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 08:42

XangadiX

trepanatie is zóó kinderachtig

tuurlijk wel,

als je eerst eens [code] gebruikt om code weer te geven daar wordt het leesbaar van:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var j = 0;

ifFrameLoaded (1)  {
    var s = new LoadVars();
    s.onLoad = function() {
        if(s.berichtcounter==0) {
            _root.shoutbox.htmlText += "Geen berichten..";
        }
        
        if(s.berichtcounter>0) {    
            do {
                _root.shoutbox.htmlText += s.titel1 //werkt, ik krijg nu 2x "testje"
                j++;
            }
            while(j<s.berichtcounter)
        } 
    }
    t.load("shout.txt");
}


ik heb hem ook even herschreven, daar wordt ie ook leesbaar van, en je had wat foutjes met je } gemaakt. Maar goed. Waarom gebruik je s.loadVars, dat hoeft helemaal niet. Als je loadVariables("textfile.txt") doet heb je ook al je variabelen binnen. Daarna zijn (_root.)berichtcounter en (_root.)title1 gewoon geldig en ja dan is _root["title" add i] ook geldig. Met deze code (die bij mij niet werkt) moet in de 'do' functie (die niet nodig is) _root["title" add j]; gewoon werken.

Weet je zeker dat je niet de getallen 0 en 1 gebruikt in plaats van 1 en 2. Vergeet niet dat title0 niet bestaat, title 1 bestaat pas. Ik denk eerlijk gezegd dat daar je fout zit. Als je er dan nog niet uit komt dan moet ik even een computer zoeken met flash erop om het zelf uit te proberen, dit is eigenlijk allemaal een beetje speculatie ;)

Stoer; Marduq


Verwijderd

Topicstarter
bijna 2 weken verder, maar het is me gelukt...geheel volgens wens en ondertussen geintroduceerd. hier dan de uiteindelijke code, hopelijk heeft er nog iemand wat aan.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var i = 0; 
ifFrameLoaded(1) 
{
  loadVariables("msgs.txt", _root);
  if(_root.berichtcounter==0)_root.scrollingText.bericht.htmlText += "Geen berichten gevonden..";
  if(_root.berichtcounter>0)
  { 
    if(_root.berichtcounter>15){i=_root.berichtcounter-15;}
    do
    {
      _root.scrollingText.bericht.htmlText = ("<b>")
       add (_root['berichttitel' add (i+1)]) add ("</b> by ") 
       add (_root['plaatser' add (i+1)])
       add(",<br>")
       add(_root['bericht' add (i+1)]) add ("<br>.....................")
       add("<br>") add (_root.scrollingText.bericht.htmlText);
       i++;
    }
    while(i<_root.berichtcounter)
  }
}


@xangadix: bedankt voor de hele grote zet in de goeie richting!