R07 (5)


Część II. Budowanie szablonów
Rozdział 7. yródła danych
Gdy tworzymy szablon SWT przypisujemy do niego lub jego obiektów zródła danych, które
zawierają zmienne wykorzystywane przez ów szablon. Możemy przypisać zródło danych do głównej
animacji, do animacji znajdujących się w klipach filmowych, lub do samych obiektów Generatora.
yródłem danych może być zwykły plik tekstowy, znajdujący się na dysku lokalnym komputera, na
którym tworzony jest szablon lub znajdujący się w sieci lokalnej, adres URL pliku tekstowego lub
skryptu, który wygeneruje odpowiednie dane, wynik zapytania SQL uzyskany dzięki połączeniu z baza
danych poprzez JDBC/ODBC, lub dane bezpośrednio wpisane do okna Data source obiektu lub
animacji. Możemy również przekazywać zmienne poprzez URL (przetwarzanie online) lub wpisywać je
w linii poleceń (przetwarzanie offline).
Niezależnie od tego, który ze sposobów wybierzemy, dane muszą być przekazane do szablonu w
odpowiednim formacie. Formaty danych obiektów Generatora zostały omówione w rozdziale 5.
 Obiekty Generatora a w dodatku B.  Formaty zródeł danych znajdują się wyczerpujące informacje
na temat formatów danych poszczególnych obiektów Generatora.
Format danych
Gdy przypisujemy dane do głównej animacji, lub też do animacji znajdujących się w klipach
filmowych, korzystając z okna Set Environment (rys.7.1.) możemy dostarczać dane w dwóch
podstawowych formatach: Nazwa/Wartość (Name/Value) oraz Kolumny Nazwa/Wartość (Column
Name/Value).
Rysunek 7.1. Dwa podstawowe formaty danych w oknie Set Environment
Oba typy formatów różnią się ilością wartości jakie każda ze zmiennych może przyjąć. W przypadku
pierwszego formatu (Name/Value), każda zmienna może mieć tylko jedną wartość a w drugim
przypadku (Column Name/Value) każda zmienna może mieć wiele wartości.
Format Kolumny Nazwa/Wartość jest zalecany wtedy, gdy chcemy przekazać pewien zbiór
wartości o tych samych parametrach w postaci kolumny wartości. Ten format jest wykorzystywany
przez większość obiektów Generatora a do tej pory w tej książce spotkaliśmy się z nim wiele razy
(chociażby podając dane dla wykresu).
Format Nazwa/Wartość
Podając dane w formacie Nazwa/Wartość pierwszy wiersz zródła danych musi wyglądać
następująco:
Name, Value
Każdy kolejny wiersz jest oddzielnym zbiorem danych w pliku, a dane są podzielone na odpowiednie
kolumny dzięki przecinkowi (,). W trybie Nazwa/Wartość w kolumnie Name określamy nazwę
zmiennej, której wartość przypisujemy w kolumnie Value. Do każdej zmiennej może być
przyporządkowana tylko i wyłącznie jedna wartość. Cudzysłów ( " " ), w którym możemy zapisać
wartość zmiennej jest opcjonalny a jego użycie nie jest konieczne tak długo, jak długo nie będziemy
chcieli zawrzeć w wartości zmiennej znaku przecinka (wszystkie zmienne i tak są traktowane jako
łańcuchy tekstowe):
Name , Value
Zmienna1, "Wartość 1"
Zmienna2, "Wartość 2"
Zmienna3, "Wartość 3"
...
...
Format Kolumny Nazwa/Wartość
W tym formacie w pierwszym wierszu podajemy nazwy zmiennych a w kolejnych wierszach
odpowiednie wartości, tak jak widać to w poniższym przykładzie:
Zmienna1 , Zmienna2 , Zmienna3 , ...
"Wartość 1 ", "Wartość 2" , "Wartość 3" , ...
"Wartość 1a", "Wartość 2a", "Wartość 3a", ...
"Wartość 1b", "Wartość 2b", "Wartość 3b", ...
... , ... , ... , ...
Jest to naturalny format w jakim zwracane są odpowiedzi zapytań SQL.
Znaki specjalne
Ponieważ format danych wymaga zastosowania odpowiedniego zapisu, nie wszystkie znaki można
uzyskać, wpisując je bezpośrednio z klawiatury. Przykładowo nie możesz poprzez wpisanie uzyskać
znaku cudzysłowu czy też przejść do nowego wiersza z tekstem, ponieważ w cudzysłów jest używany
do określania całości wartości zmiennej a zwykłe przejście do nowego wiersza sygnalizuje obiektowi
Generatora, że ma do czynienia z nowym zestawem danych lub nową zmienną.
Generator umożliwia jednak dodanie znaków, które są wykorzystywane w zródłach danych do
innych celów. Aby tego dokonać należy skorzystać ze znaku lewego ukośnika ( \ ), który powinien
poprzedzać odpowiedni symbol literowy. Przykładowo:
" aby wartość zmiennej zawierała znak cudzysłowu należy użyć zapisu \ . Dzięki temu Generator
przetwarzający wzorzec  zrozumie , że powinien wstawić znak ( " ) do zmiennej:
zmienna = "Czytacie państwo książkę pt. \"Generator. Następny krok \" "
W wyniku tego przypisania zmienna zmienna będzie miała wartość:
Czytacie państwo książkę pt. "Generator. Następny krok"
" aby uzyskać przejście do nowego wiersza można skorzystać z zapisu \r lub \n. Wtedy Generator
wstawi w miejsce wystąpienia znaku specjalnego znak końca linii:
zmienna = "Oto pierwsza linia. \r \n Oto druga linia"
Zmienna będzie teraz miała następującą wartość:
Oto pierwsza linia
Oto druga linia
" znak lewego ukośnika \ możemy uzyskać jeśli po pierwszym znaku ukośnika, który informuje
Generator, że powinien spodziewać się znaku specjalnego, wpiszemy drugi lewy ukośnik ( \\ ):
zmienna = "Zdanie podzielone \\ lewym ukośnikiem"
Wartość zmiennej zmienna wynosi:
Zdanie podzielone \ lewym ukośnikiem
Od powyższej zasady istnieją dwa wyjątki. Pierwszy wyjątek wystąpi wtedy, gdy będziemy chcieli
uzyskać znak przecinka. Wystarczy wtedy ograniczyć wartość zmiennej cudzysłowem a przecinek,
który jest normalnie interpretowany przez Generator jako koniec danych w jednej kolumnie i
rozpoczęcie danych w drugiej kolumnie w jednym wierszu, zostanie w cudzysłowu zignorowany (tj.
potraktowany jako wartość zmiennej).
Drugim wyjątkiem jest próba umieszczenia w zmiennej znaków: otwarcia nawiasu klamrowego ( { )
oraz zamknięcia nawiasu klamrowego ( } ). Ponieważ wszystko co znajduje się wewnątrz nawiasów
klamrowych jest przez Generator traktowane jako jego zmienna wewnętrzna, taki ciąg tekstowy, np.:
zmienna = "Wartość w {nawiasach}"
nie zostanie wyświetlony, ponieważ Generator uzna że zmienna nawiasach zawiera łańcuch pusty
(albo, co gorsze, gdzieś w pliku z danymi mamy zmienną o takiej nazwie i w tym miejscu pojawią się
wartości, których może wcale nie chcielibyśmy oglądać). Aby móc wyświetlić znaki { oraz } trzeba
skorzystać z następującego zapisu:
zmienna = "Wartość w {{nawiasach}}"
Określanie koloru
Z kolorem spotkaliśmy się w tej książce już wielokrotnie więc pojęcie koloru i jego trzech
składowych czerwonej, zielonej i niebieskiej nie powinno być nam obce. Kolory dla obiektów
Generatora i jego zmiennych możemy określać na trzy sposoby:
" Podać kolory z bezpiecznej palety poprzez bezpośrednie określenie ich nazwy (np.: black);
" Podać kolor w postaci szesnastkowej z wykorzystaniem znaku # np.: #33AACC (wielkość liter nie
ma znaczenia);
" Podać kolor w tradycyjnej postaci szesnastkowej z wykorzystaniem przedrostka 0x (np.:
0x33AACC).
Kolory podane wg sposobu drugiego i trzeciego są identyczne.
Kolumna okna
Jeśli w zródle danych posiadamy kolumnę URL, w której znajduje się adres URL dokumentów, to
możemy również utworzyć kolumnę WINDOW, w której będzie można podać sposób w jaki Flash
Player powinien otworzyć żądany dokument w oknie przeglądarki. Możliwości jakimi dysponujemy to:
" _self  oznacza, że dokument HTML zostanie załadowany do tej samej ramki w oknie
przeglądarki, w której znajduje się animacja żądająca otworzenia dokumentu z pod podanego
adresu URL;
" _blank  oznacza, że dokument HTML zostanie otwarty w nowym oknie przeglądarki;
" _top  oznacza, że dokument HTML zostanie załadowany do najwyższej w hierarchii okna
ramki;
" _parent- oznacza, że dokument HTML zostanie załadowany do ramki nadrzędnej;
" jeśli wpiszemy nazwę, dokument HTML będzie załadowany do ramki o wyszczególnionej
nazwie. Jeśli taka ramka nie istnieje zostanie otworzone nowe okno.
Jak Generator interpretuje dane ze zródła danych
Podczas przetwarzania przez Generator szablonu SWT, ciąg tekstowy, który zawarty jest w oknie
Data source (a dokładniej w oknie Set Environment lub w oknie obiektu Generatora, które otwieramy
klikając na właściwości Data Source)) jest sprawdzany ze względy na występowanie znaku #
(rys.7.2.).
Rysunek 7.2. Jeśli w oknie właściwości Data source lub w oknie Set Environment jako pierwszy
znak występuje znak #, to tekst zawarty w tym oknie jest traktowany przez Generator jako naturalne
zródło danych, w przeciwnym razie tekst jest traktowany jako ścieżka dostępu do zródła danych
umieszczonego gdzieś w Internecie
Jeśli znak # występuje, to tekst zawarty w polu tekstowym jest traktowany jako naturalne zródło
danych, które może być zinterpretowane w sposób bezpośredni. Jeśli nie ma znaku #, to Generator
traktuje znajdujący się w polu tekstowym łańcuch znaków jako ścieżkę dostępu (adres URL) zródła
danych na dysku lokalnym lub w Internecie.
Aadowanie danych z zewnętrznych zródeł
Pliki tekstowe i proste skrypty wykonywane po stronie serwera
Określając jako zródło danych adres URL możemy uzyskać dane z odległych (czyt. nie
znajdujących się na komputerze, na którym jest przetwarzany szablon SWT) zródeł danych, które
mogą znajdować się znajduje w dowolnym miejscu, pod warunkiem, że można do nich dotrzeć za
pomocą adresu URL.
UWAGA!!! Na tej samej zasadzie działa podawanie ścieżki dostępu do danych znajdujących się na
dysku lokalnym, z tym, że wtedy dane są pod ręką, a ze względu na specyfikę Generatora ma to sens,
jedynie wtedy, gdy testujmy nasze projekty.
Określając zródła danych poprzez adres URL możemy korzystać z protokołów transmisji HTTP, FTP
oraz FILE. Wartość jaka jest zwracana w odpowiedzi musi być plikiem tekstowym w odpowiednim
formacie. Korzystanie z danych URL umożliwia nam załadowanie bezpośrednio z sieci pliku
tekstowego, lub też, co ma większy sens, umożliwia wywoływanie skryptów wykonywanych po stronie
serwera (np. Perl, ASP lub inne), których wynikiem jest zawsze tekst w odpowiednim formacie.
Najlepiej się jednak o tym przekonamy gdy wykonamy poniższe ćwiczenie.
Ćwiczenie
1. Upewnijmy się, że nasz serwer WWW jest uruchomiony.
2. Otwórzmy notatnik i wpisz do niego następujący tekst:
Value, Color
13, #223a76
17, #76bcad
20, #76adcf
5, #ccdcfa
14, #115566
26, #cdbaff
Plik ten zapiszmy jako dane.txt w katalogu domowym serwera WWW.
3. Stwórzmy we Flashu nowy projekt.
4. Umieśćmy w obszarze roboczym obiekt Pie chart z panelu Generator Objects i korzystając z
narzędzia skalowania dopasujmy wielkość obiektu do białej przestrzeni obszaru roboczego.
5. Jako właściwość Data source wpiszmy:
http://localhost/dane.txt
6. Opublikujmy animację.
Generator pobierze dane z pod podanego adresu i stworzy wykres (rys.7.3.). Warto zauważyć, że
do tego niewielkiego eksperymentu nie potrzebujemy wcale działającego w tle komponentu
Online Generatora. Komponent Authoring extensions sam zajmie się wszystkim, tak jak to robił
do tej pory.
Rysunek 7.3. Wykres, którego dane zostały pobrane z  Internetu
7. Zatrzymajmy teraz usługę serwera WWW przy pomocy menedżera PWM (kliknijmy w oknie
menedżera przycisk Zatrzymaj) i ponownie opublikujmy szablon SWT.
Na rysunku 7.4. widać co dostaniemy teraz w odpowiedzi od Generatora. Błąd, który został
wygenerowany jasno informuje nas o tym, że nie można odnalezć zródła danych  Unable to find
data source.
Rysunek 7.4. Po wyłączeniu serwera WWW, Generator nie potrafi zinterpretować adresu URL
8. Uruchommy ponownie usługę serwera WWW.
Teraz napiszemy skrypt ASP, który generuje dane dla wykresy w sposób losowy.
9. Otwórzmy notatnik i wpiszmy tam następujący tekst:
Value, Color
<%
'Inicjalizacja generatora losującego wartością zegara systemowego
Randomize
'Pętla wykonywana jest dziesięć razy,
'czyli powstanie dziesięć elementów wykresu Pie chart
For I = 1 To 10
'Losowanie Wartości elementu
Response.Write Round(Rnd*100)
'Tworzenie i losowanie wartości koloru dla elementu
Response.Write ", #"
For J = 1 To 6
'Losowanie koloru dla elementu
A = Round(Rnd*16)
'Zmienna Zmn jest inicjowana zmienną A.
'Wartość liczbowa zmiennej A jest zamieniana przez
'funkcję CStr na wartość tekstową.
Zmn = CStr(A)
'Jeśli zmienna A jest większa niż 9, to zmiennej Zmn
'są przypisywane odpowiednie litery w kodzie szesnastkowym
If A = 10 Then Zmn = "A"
If A = 11 Then Zmn = "B"
If A = 12 Then Zmn = "C"
if A = 13 Then Zmn = "D"
if A = 14 Then Zmn = "F"
Response.Write (Zmn)
Next
'Przejście do nowej linii
Response.Write chr(13)
Next
%>
Zapiszmy ten plik jako dane.asp, w katalogu domowym serwera WWW. Powyższy skrypt tworzy
losowo dane dla obiektu Pie char. Elementów na wykresie będzie dziesięć (iteracja w pierwszej
pętli for przebiega dziesięć razy) a ich wartość oraz kolory są (prawie) całkowicie przypadkowe.
Aby sprawdzić poprawność działania skryptów, które mają stanowić zródło danych dla obiektów
Generatora, dobrze jest uruchomić skrypt najpierw w przeglądarce internetowej a dopiero pózniej
 podpiąć go do konkretnego obiektu (no chyba, że jesteśmy pewni poprawności działania skryptu).
Oglądając skrypt w przeglądarce (a dokładniej, przeglądając jego zródło), będziemy wiedzieć jak
wyglądają przykładowe dane wygenerowane przez skrypt.
10. Otwórzmy przeglądarkę internetową i w polu adresu wpiszmy ścieżkę dostępu do stworzonego
przed chwilą skryptu, czyli.:
http://localhost/dane.asp
Po naciśnięciu klawisza ENTER w oknie przeglądarki powinien pojawić się tekst podobny do tego
z rysunku 7.5.
Rysunek 7.5. Działanie skryptu ASP testowane w przeglądarce internetowej
Wiedząc jaki format danych jest niezbędny dla obiektu Pie chart możemy łatwo zweryfikować
działanie skryptu poprzez przejrzenie zródła strony WWW (rys.7.5.) Jak widać w powyższym
kodzie wszystko jest w porządku.
11. Teraz, gdy jesteśmy już pewni, że skrypt generuje poprawne wyniki, możemy przyłączyć go
bezpośrednio do obiektu Pie chart, podając podobnie jak w przeglądarce internetowej, ścieżkę
dostępu do pliku dane.asp jako właściwość Data source obiektu.
Cechą charakterystyczną tego rozwiązania jest fakt, że za każdym gdy opublikujemy animację
dostaniemy inny wykres.
Korzystanie z danych JDBC/ODBC
Możemy użyć komponentu JDBC/ODBC jako bezpośredniego zródła danych dla obiektów
Generatora. W systemie Windows należy najpierw zarejestrować zródło danych aby stworzyć
mapowanie między bazą danych a systemem (o tym za chwilę). Następnie już bezpośrednio można
pobierać dane z bazy danych, podając odpowiednie polecenia jako wartość właściwości Data Source.
Nie ma sensu abyśmy  na sucho objaśniali sobie cały złożony proces generowania szablonów
SWT w oparciu informacje zawarte w bazie danych. Dlatego też od razu wykonamy dość złożone
ćwiczenie, które dokładnie pokaże to o czym tutaj mówimy.
Ćwiczenie
Ponieważ w tej książce pracuje się przede wszystkim w systemie Windows, ćwiczenie także będzie
dotyczyć operacji w systemie Windows. W omawianym zagadnieniu główne różnice występują
mapowaniu komponentu ODBC bazy danych z systemem operacyjnym. Sposób tworzenia zródła
danych omówiliśmy sobie w rozdziale 3.  Podstawy ASP .
1. Aby można było wykonać ćwiczenie w systemie operacyjnym musi istnieć zródło danych ODBC.
Niech owe zródło będzie miało nazwę Baza, niech będzie to systemowe DSN (System DSN).
Plik z bazą danych dla zródła możemy znalezć w katalogu Rozdzial07\Cwiczenia\db1.mdb. Jest to
prosta baza danych, zawierającą tylko jedną tabelę, która zawiera dane dla wykresu Basic
charts, który w tym ćwiczeniu połączymy bezpośrednio z tą bazą (rys.7.6.).
Rysunek 7.6. Poprawnie skonfigurowane zródło danych o nazwie Baza
2. Stwórzmy teraz we Flashu nową animację.
3. Umieśćmy w obszarze roboczym obiekt Basic charts, a następnie jako właściwość Data Source
wpiszmy następujący ciąg tekstowy (rys.7.7.):
Rysunek 7.7. Zapytanie SQL kierowane bezpośrednio do zródła danych Baza
fgjdbc:///?driver=sun.jdbc.odbc.JdbcOdbcDriver& ->
url=jdbc:odbc:Baza&userid=&password=& ->
query=SELECT%20*%20FROM%20Tabela
Może się wydawać to trochę skomplikowane, ale wcale tak nie jest. Oto wyjaśnienie tego z pozoru
zagmatwanego zapisu (znak -> oznacza kontynuację wiersza):
a) fgjdbc:/// - informuje obiekt Generatora, aby resztę adresu interpretował jako ciąg
znaków, który łączy z systemowym zródłem danych JDBC/ODBC i zadaje pytanie SQL.
Innymi słowy, po tym zapisie obiekt Generatora będzie wiedział, że dane będą pobierane przy
pomocy komponentu ODBC (w naszym przypadku) z bazy danych;
b) ?driver=sun.jdbc.odbc.JdbcOdbcDriver  określa kontroler, przy pomocy którego
Generator (a ogólniej dowolna aplikacja) komunikuje się z baza danych. Jeśli, tak jak w
wypadku wykonywanego ćwiczenia łączymy się ze zródłem danych ODBC, nic nie zmieniamy
w powyższym zapisie, jednak jeśli korzystamy z podstawowego kontrolera JDBC np. dla
Oracle zapis ten może wyglądać następująco:
?driver=oracle.jdbc.driver.OracleDriver
Szczegóły można znalezć w dokumentacji dołączonej do aplikacji bazodanowej, z której
korzystamy;
c) url=jdbc:odbc:Baza  adres URL określający nazwę zródła danych ODBC. Format
ogólny, to:
url=jdbc:odbc:Nazwa_zródła_danych
W przypadku tego ćwiczenia zródło danych nazywa się Baza i dlatego należy użyć właśnie
tego zapisu;
d) &userid= &password= - elementy określają identyfikator użytkownika (user ID) oraz hasło
dostępu do bazy danych (password), które mogą być wymagane przez bazę danych. Ogólny
format, to:
&userid=indentyfikator->
&password=hasło->
Jeśli, tak jak w przypadku tego ćwiczenia, baza danych nie oczekuje identyfikatora i hasła,
możemy ich nie podawać, jednak zawsze musimy użyć zapisu &userid= oraz &password=
inaczej kontroler ODBC wygeneruje błąd;
e) query=SELECT%20*%20FROM%20Tabela  zapytanie wysyłane w języku SQL do bazy
danych poprzez komponent ODBC.
Zapisz powyższy oznacza:
SELECT * FROM Tabela
Co można przetłumaczyć: Wyselekcjonuj zawartość wszystkich kolumn z tabeli Tabela.
Zapis %20 oznacza przerwę między literami (spację). Używanie tego zapisu jest konieczne,
ponieważ treść, która stanowi wartość właściwości Data source obiektu Basic Charts jest
interpretowana przez Generator jako adres URL (tyle, że specyficzny). Znak &, oddziela
poszczególne elementy adresu od siebie;
Teraz wystarczy opublikować animację. Obraz, który uzyskamy będzie wyglądał tak jak na
rysunku 7.8.
Rysunek 7.8. Wynik zapytania SQL do bazy danych db1.mbd widoczny na wykresie słupkowym
Aączenie z bazą danych przy pomocy skryptów
Nie zawsze bezpośrednie połączenie z baza danych jest dobrym rozwiązaniem. Czasami dane
będące odpowiedzią bazy danych na zapytanie SQL wymagają obróbki zanim zostaną ostatecznie
wysłane do klienta (Generatora w procesie przetwarzania szablonu SWT). Jedynym sposobem, który
umożliwia jednoczesną komunikację z bazą danych i przetwarzanie otrzymanych z niej wyników, jest
tworzenie skryptów wykonywanych na serwerze. W ćwiczeniu, które znajduje się poniżej napiszemy
skrypt ASP, który łączy się z bazą danych db1.mdb i komunikuje się z nią przy pomocy zapytań SQL.
1. Upewnijmy się, że mamy uruchomioną usługę serwera WWW.
W tym ćwiczeniu korzystamy ze zródła danych, które stworzyliśmy w poprzednim przykładzie.
2. Otwórzmy notatnik i wpiszmy do niego następujący tekst:
Value, Color
<%
'Tworzenie obiektu łączącego
Set Polaczenie = Server.CreateObject("ADODB.Connection")
'Otwieranie połączenia z bazą danych
Polaczenie.Open "Baza"
'Proste zapytanie SQL, przypisywane do zmiennej
ZapytanieSQL = "SELECT * FROM Tabela"
'Inicjowanie obiektu Kolumny jako wyniku zapytania SQL
Set Kolumny = Polaczenie.Execute(ZapytanieSQL)
'Pętla Do Until ... Loop jest wykonywana dopóki w obiekcie Kolumny
'znajdują się elementy z tabeli Tabela
Do Until Kolumny.EOF
'Wysyłanie kolejnych wartości z kolumny Value do klienta
Response.Write (Kolumny("Value"))
Response.Write (", ")
'Wysyłanie kolejnych wartości z kolumny Color do klienta
Response.Write (Kolumny("Color"))
'Przejście do nowego wiersza
Response.Write Chr(13)
'Następny element obiektu Kolumny
Kolumny.MoveNext
Loop
%>
Zapiszmy stworzony przed chwilą plik w katalogu domowym serwera WWW pod nazwą
skryptDB.asp. Dokładne informacje o sposobie tworzenia połączenia z bazą danych znajdziemy w
rozdziale 3.  Podstawy ASP .
Jak widać z powyższego skryptu, baza danych w tym wypadku może być zupełnie dowolna, a
dokładniej, tabela, z której odczytywane są dane dla obiektów Generatora nie musi zawierać
specyficznych kolumn (np. Color i Value), ponieważ to w skrypcie następuje interpretacja danych
otrzymanych z tabeli (zwróćmy uwagę, że na początku skryptu znajdują się słowa Value oraz
Color).
Ów mechanizm komunikacji z bazą danych jest bardziej skomplikowany niż ten omówiony w
poprzednim ćwiczeniu, ale za to nie narzuca projektantowi bazy danych żadnych ograniczeń. Jest
to szczególnie ważne gdy baza danych tylko przy okazji stanowi zródło danych dla obiektów
Generatora (dla serwisu WWW), natomiast jej podstawowym zadaniem jest gromadzenie
informacji o klientach, produktach, itp. oraz udostępnianie tych danych personelowi organizacji lub
firmy w przyjazny sposób.
3. Otwórzmy skrypt w przeglądarce internetowej, aby sprawdzić jego poprawność. Gdy wyświetlimy
zródło dokumentu, który znajduje się w oknie przeglądarki, powinno ono wyglądać następująco:
Value, Color
15, #ad3212
16, #5467ac
74, #edcf13
34, #34adcf
100, #2343ad
5, #4356ff
64, #1276ff
124, #65ffcd
45, #54dcfa
25, #98f3a2
Analizując otrzymane wyniki możemy bardzo szybko ocenić czy skrypt jest poprawny, porównując
to co otrzymamy z danymi w bazie, z którą się komunikujemy. Jeśli gdzieś w skrypcie wystąpią
błędy można je poprawić i nacisnąć przycisk Odśwież (Refresh) w przeglądarce internetowej, aby
zobaczyć ponownie wyniki.
4. Wróćmy teraz do Flasha i jako wartość właściwości Data source obiektu Basic Chart, podajmy
ścieżkę dostępu do stworzonego przed chwilą skryptu.:
http://localhost/skryptDB.asp
Po opublikowaniu animacji powinniśmy uzyskać obraz jak na rys.7.8.
Podsumowanie
W tym rozdziale poszerzyliśmy swoją wiedzę na temat zródeł danych, które są nieodzowne dla
szablonów Generatora. Dowiedzieliśmy się w jaki sposób ładować dane z pliku tekstowego poprzez
URL, jak wykorzystać skrypty ASP, do tworzenia danych dla obiektów Generatora, oraz w jaki sposób
komunikować się bezpośrednio z bazą danych, która w praktyce jest najczęstszym zródłem danych
dla obiektów Generatora umieszczonych w jego szablonach SWT.
Możemy teraz przejść do trzeciej i ostatniej części tej książki pt.  Budowanie serwisów , w której
dowiemy się z rozdziału 8.  Publikowanie szablonów jak publikować gotowe szablony SWT, tak aby
można z nich było korzystać na stronach internetowych a w rozdziale 9.  Przykładowy projekt 
Wirtualna Księgarnia poznamy w jaki sposób stworzyć przy pomocy programu Dreamweaver 4.0
niezbyt skomplikowany serwis księgarni internetowej, zawierający szablony SWT.


Wyszukiwarka

Podobne podstrony:
r07 04 ojqz7ezhsgylnmtmxg4rpafsz7zr6cfrij52jhi
R07 (8)
r07 0001
r07 01
r07 03
r07
r07
r07 02
R07
R07 (19)

więcej podobnych podstron