SWiSH Forum Strona Główna SWiSH Forum
Forum użytkowników programów SWiSH

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload

Poprzedni temat «» Następny temat
Uważaj na nazwy zmiennych przy loadVariables(. , .)
Autor Wiadomość
Johanson 
Przyjaciel


Dołączył: 05 Lut 2009
Posty: 56
Skąd: Grudziądz
Wysłany: Pon 26 Paź, 2009 22:52   Uważaj na nazwy zmiennych przy loadVariables(. , .)

Czasami zachodzi potrzeba załadowania zmiennych ze zbioru zewnętrznego.
W takim przypadku tworzy się plik tekstowy (np. plik.txt)
i umieszcza się w nim przyporządkowanie zmiennej umieszczone pomiędzy dwoma znakami '&' - ampersand, np.
&Zmienna1=Abecadlo&
Powyższa definicja spowoduje ciągu znaków 'Abecado' w zmiennej Zmienna1.
Oczywiście znak '&' na początku i na końcu jest tylko i wyłacznie separatrem, czyli rozdzielnikiem, więc nie może być użyty ani w nazwie zmiennej, ani w ciągu tekstowym wstawianym do tej zmiennej.

Ale . . .
UWAGA na SPACJE ! ! !
===============
Swish NIE ignoruje w nazwie zmiennych spacji wiodących i końcowych,
więc utworzy zmienne ze spacją w nazwie (oczywiście NIEZGODNIE ze zwoimi ustaleniami, które mówią, że nazwa zmiennej może składać się TYLKO ze znaków: a...z, A...Z, 0...9, i _ (podkreślnik).
&Zmienna1=Ala&
& Zmienna2=As&
&Zmienna3 =las&
& Zmienna4 =Wilk&

Tak więc przy powyższych deklaracjach dostęp wprost będzie dostępny tylko dla pierwszej zmiennej:
trace(Zmienna1) => Ala

trace( Zmienna2) => Undefined
trace(Zmienna2) => Undefined

trace(Zmienna3 ) => Undefined
trace(Zmienna3) => Undefined

trace( Zmienna4 ) => Undefined
trace(Zmienna4) => Undefined

Jest co prawda wyjście z całej tej sytacji,
trace(eval('Zmienna1')) => Ala
trace(eval(' Zmienna2')) => As
trace(eval('Zmienna3 ')) => las
trace(eval(' Zmienna4 ')) => Wilk
ale fakt pozostanie faktem: aktorzy Swish'a dali .... (autocenzura)
Nie tylko tu zresztą.

Powodzenia
 
     
eden
Ekspert


Pomógł: 35 razy
Dołączył: 04 Sty 2008
Posty: 265
Skąd: warsaw
Wysłany: Pon 26 Paź, 2009 23:59   

Słusznie zauważyłeś, choć nie widze tutaj nic dziwnego. W dokumentacji napisano zeby nie dawac znaku spacji w tych zmiennych, dlatego tylko pierwsza wersja jest prawidłowa &Zmienna1=Ala&. Nie powiedział bym ze programiści swish zle wykonali tą funkcję, gdyż adobe flash robi w takim przypadku dokładnie to samo.
 
     
UndefinedMan 
Mistrz


Pomógł: 7 razy
Dołączył: 30 Mar 2007
Posty: 154
Skąd: Nysa City
Wysłany: Wto 27 Paź, 2009 09:46   

to Ty dałeś dupy, bo to jest oczywisty fakt programistyczny. Więc również nie widzę niczego nadzwyczajnego.
 
     
Johanson 
Przyjaciel


Dołączył: 05 Lut 2009
Posty: 56
Skąd: Grudziądz
Wysłany: Wto 27 Paź, 2009 20:22   ???

Ja 'dałem dupy', bo autorzy Swish'a/Flash'a budują zmienne ze spacją w nazwie?
Ciekawe podejście do problemu.

Powinien pojawić się komunikat o niemożności utworzenia zmiennej,
albo utworzyć zmienną po odrzuceniu spacji, tak jak to jest w innych językach programowania, KOLEGO.

Poniżej przykładowy powód całego zamieszania.

Wersja 1
======
&Cena1=0.56&Kolor1=Czerwony&Dlugosc=1.23&
&Cena56=148.69&Kolor38=Pomarańczowy&Dlugosc=67341.25&
&Cena583=22.11&Kolor0=Żólty&Dlugosc=0.01&
&Cena176=14.56&Kolor100=Czarny&Dlugosc=666.33&
&Cena1=14.56&Kolor7=Biały&Dlugosc=0.99&
&Cena1=14.56&Kolor1=Seledynowy&Dlugosc=500.00&

Wersja 2 Uwaga: spacje zastąpione znakiem '_'
======
&Cena1__=__0.56&Kolor1__=Czerwony____&Dlugosc=1.23____&
&Cena56_=148.69&Kolor38_=Pomarańczowy&Dlugosc=67341.25&
&Cena583=_22.11&Kolor0__=Żólty________&Dlugosc=0.01____&
&Cena176=_14.56&Kolor100=Czarny______&Dlugosc=666.33__&
&Cena1__=_14.56&Kolor7__=Biały________&Dlugosc=0.99____&
&Cena1__=_14.56&Kolor1__=Seledynowy__&Dlugosc=500.00__&
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  


Powered by phpBB modified by Przemo © 2003 phpBB Group
Nowe zasady dotyczące cookies. Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki.
         
Strona wygenerowana w 0.09 sekundy. Zapytań do SQL: 9