SWiSH Forum
Forum użytkowników programów SWiSH

SWiSH Max - Kolor tekstu

vanioch - Pią 28 Paź, 2011 14:31
Temat postu: Kolor tekstu
Witam. Mam duszka a w nim kod odpowiedzialny za wczytanie tekstu:
Kod:

a=loadVariables("http://serwer_zewnetrzny/plik.txt");
if(a==undefined){
    pole.textColor=0x990000;
    pole.text=2;
   } else{
      pole.text=a;
      pole.textColor=0xffffff;
   }

Prosty kodzik ale coś nie działa. Zamiarem jest to aby po owocnym wczytaniu danych w pole.text wyświetliła się wczytana wartość na biało a jeśli serwer nie będzie dostępny ma się wyświetlić wartość domyślna 2 na czerwono. Co robię źle?

Januszr - Pią 28 Paź, 2011 16:03

Spróbuj nadać kolor po wczytaniu textu. Czyli na kolejnej klatce po załadowaniu. Napisz czy działa :)
vanioch - Pią 28 Paź, 2011 19:23

OK kod teraz wygląda tak:
Kod:

onSelfEvent (load)
{
a=loadVariables("http://serwer_zewnetrzny/plik.txt");
}
onFrame(2)
{
if(a==undefined){
    pole.textColor=0x990000;
    pole.text=2;
   } else{
      pole.text=a;
      pole.textColor=0xffffff;
   }
}

Tekst się zmienia ok. Jest połaczenie z serwerem mam oczekiwaną wartość, nie ma połączenia ma wartość domyślną, lecz niestety kolor pozostaje jeden - czerwony niezależnie od danych

Januszr - Sro 02 Lis, 2011 08:56

To nie wiem albo/i nie rozumiem. Kiedyś dawałem tutaj pliki dotyczące sprawdzania wartości w ładowanym tekście, ale teraz nie wiem gdzie to jest...
Czy ten undefined to wyraz znajdujący się w pliku ładowanym, czy może odpowiedź FlashPlayera na fakt, że pliku nie odnalazł? Może inaczej warunek trzeba zapisać? nie wiem..

vanioch - Sro 02 Lis, 2011 20:48

undefined wziąłem stąd że gdy adres do pliku specjalnie podałem zły to trace wyrzucił w zmiennej "a" właśnie undefined i tu pewnie jest cały problem tzn sprawdzania wartości w ładowanym tekście :/ albo inaczej sprawdzenia czy tekst się w ogóle załadował
Januszr - Sro 02 Lis, 2011 21:13

A może to: http://swish.wodip.opole....oad.php?id=2254 pozwoli na rozwiązanie problemu.
Tutaj dokładniej: http://www.webdesign.org/...xists.1237.html
Albo to:
http://www.kirupa.com/net...xtfiles_pg4.htm

...bo ja to to nie wiem...

espe1 - Sro 02 Lis, 2011 21:38

Kod:


onSelfEvent (enterFrame) {
a.load("http://adblocklist.org/adblock-pxf-polish.txt"); //pierwszy plik jaki znalazłem w necie
a = new LoadVars();
a.onLoad = function(success) {
if(success) {
pole.text=a;
pole.textColor=0xffffff;
} else {
pole.textColor=0x990000;
pole.text=2;
}
}
}


u mnie śmiga, tzn. po załadowaniu wyświetlają się białe krzaki, a po odłączeniu neta wyświetla się bordowa 2.

i jeszcze jedna uwaga pole tekstowe o nazwie "pole" nie może być zaznaczone jako movie clip (target).

Przerabiałem to przy okazji robienia pogody w XML od google:

http://imageshack.us/phot...1102230008.jpg/

i generatora lotto:

http://imageshack.us/phot...otto231251.jpg/

vanioch - Czw 03 Lis, 2011 08:15

espe1 Twój kod działa, tylko stanąłem przed małym problemem, jako że w pliku mam sporo &&&& zmiennych ;) to chciałem w głównej scenie napisać funkcję a potem wywoływać ją z dowolnego movieclipa z polem tekstowym, jaśniej oto okd funkcji
Kod:

onSelfEvent (load) {
   
   
    function dane(pole1,zm)
    {
      ;
      var a=new LoadVars();
      a.load("http://serw/plik.txt");
      a.onLoad = function(success) {
      if(success) {
      pole1.text=a.zm;
      pole1.textColor=0xffffff;
} else {
      pole1.textColor=0x990000;
      pole1.text=2;
}
}   
    }
   


i dowolny movie clip w scenie z polem tekstowym

Kod:

onSelfEvent (load) {
   
  _root.dane(pole,zmiennawpliku);
   
}



wyrzuca mi błąd "Cannot find zmiennawpliku, problem jest chyba w tym jak przekazać do funkcji coś co jeszcze nie istnieje, btw jeśli zamiast argumentu zmiennawpliku dam jakąś liczbe błędu nie ma

espe1 - Czw 03 Lis, 2011 10:49

Bez pliku txt, ciężko stwierdzić o co co chodzi.
vanioch - Czw 03 Lis, 2011 14:01

Treść pliku.txt
Kod:

&zmienna1=5.77&
&zmienna2=5.27&
&zmiennawpliku&=5.87&

espe1 - Pią 04 Lis, 2011 20:32

w 3 zmiennej jest chyba błąd, powinno być tak
Kod:

&zmienna1=5.77&
&zmienna2=5.27&
&zmiennawpliku=5.87&

vanioch - Sob 05 Lis, 2011 11:33

To bląd przy pisaniu posta w programie jest ok, nie wiem czemu ale ta funkcja poprostu nie działa

[ Dodano: Sro 09 Lis, 2011 15:11 ]
Ponawiam pytanie czy ktoś wie dlaczego ta funkcja zwraca undefined
Kod:

function dane(pole1,zm)
    {
   
      var a=new LoadVars();
      a.load("http://serw/plik.txt");
      a.onLoad = function(success) {
      if(success) {
      pole1.text=a.zm; //tu jest blad (nie znaleziono zm);
      pole1.textColor=0xffffff;
} else {
      pole1.textColor=0x990000;
      pole1.text=2;
}
}   

ale ta sama funkcja (bez drugiego parametru) która zamiast zm ma konkretna zmienna w pliku działa
Kod:

function dane(pole1)
    {
   
      var a=new LoadVars();
      a.load("http://serw/plik.txt");
      a.onLoad = function(success) {
      if(success) {
      pole1.text=a.zmienna1 //poprawnie wyświetlona wartość
      pole1.textColor=0xffffff;
} else {
      pole1.textColor=0x990000;
      pole1.text=2;
}
}   

espe1 - Pon 14 Lis, 2011 21:11

Proste:

zm - nie jest nigdzie zdefiniowana i nie ma żadnej wartości!

a= wczytany plik tekstowy (plik.txt)

a.zmienna1=5.77 (zmienna1 z "a", czyli pliku.txt)

a.zm = undefined (nie ma "zm" w "a", czyli pliku.txt)

vanioch - Czw 17 Lis, 2011 08:11

Zgadza się ale spójrz na funckje, zm to ma być parametr (argument funkcji) wywołanie funkcji jest dane(pole1, zmiennawplikutxt) i wówczas funkcja ma postać

Kod:

function dane(pole1,zm)
    {
   
      var a=new LoadVars();
      a.load("http://serw/plik.txt");
      a.onLoad = function(success) {
      if(success) {
      pole1.text=a.zm; //-------tu ten argument czyli mamy a.zmiennawplikutxt-----------
      pole1.textColor=0xffffff;
} else {
      pole1.textColor=0x990000;
      pole1.text=2;
}
}   

Chcę jako argument wysłać po prostu nazwę zmiennej która jest w pliku żeby funkcja liczyła tą zmienną którą chce. Tą którą jest na pewno w pliku


Powered by phpBB modified by Przemo © 2003 phpBB Group