R07 (19)


Część II. Budowanie szablonów
Rozdział 7. Źródła danych

Gdy tworzymy szablon SWT przypisujemy do niego lub jego obiektów źródła danych,
które zawierają zmienne wykorzystywane przez ów szablon. Możemy przypisać
źródło danych do głównej animacji, do animacji znajdujących się w klipach
filmowych, lub do samych obiektów Generatora.
Źró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 źró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 źró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 źró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 źró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 źró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 źródło danych, w przeciwnym razie
tekst jest traktowany jako ścieżka dostępu do źródła danych umieszczonego
gdzieś w Internecie

Jeśli znak # występuje, to tekst zawarty w polu tekstowym jest traktowany jako
naturalne źró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) źródła danych na dysku lokalnym
lub w Internecie.
Ładowanie danych z zewnętrznych źródeł
Pliki tekstowe i proste skrypty wykonywane po stronie serwera

Określając jako źró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)
źró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 źró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

Upewnijmy się, że nasz serwer WWW jest uruchomiony.

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.

Stwórzmy we Flashu nowy projekt.

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.

Jako właściwość Data source wpiszmy:

http://localhost/dane.txt

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"

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 odnaleźć
źródła danych
Unable to find data source.

Rysunek 7.4. Po wyłączeniu serwera WWW, Generator nie potrafi zinterpretować
adresu URL

Uruchommy ponownie usługę serwera WWW.

Teraz napiszemy skrypt ASP, który generuje dane dla wykresy w sposób losowy.

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ć źródło danych
dla obiektów Generatora, dobrze jest uruchomić skrypt najpierw w przeglądarce
internetowej a dopiero później "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 źródło), będziemy wiedzieć jak
wyglądają przykładowe dane wygenerowane przez skrypt.

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 źródła strony WWW (rys.7.5.)
Jak widać w powyższym kodzie wszystko jest w porządku.

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 źródła danych dla obiektów
Generatora. W systemie Windows należy najpierw zarejestrować źró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 źródła danych omówiliśmy sobie w
rozdziale 3. "Podstawy ASP".

Aby można było wykonać ćwiczenie w systemie operacyjnym musi istnieć źródło
danych ODBC. Niech owe źródło będzie miało nazwę Baza, niech będzie to
systemowe DSN (System DSN).

Plik z bazą danych dla źródła możemy znaleźć 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 źródło danych o nazwie Baza

Stwórzmy teraz we Flashu nową animację.

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 źró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):

fgjdbc:/// - informuje obiekt Generatora, aby resztę adresu interpretował jako
ciąg znaków, który łączy z systemowym źró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;

?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 źró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 znaleźć w dokumentacji dołączonej do aplikacji bazodanowej, z
której korzystamy;

url=jdbc:odbc:Baza
adres URL określający nazwę źródła danych ODBC. Format
ogólny, to:

url=jdbc:odbc:Nazwa_źródła_danych

W przypadku tego ćwiczenia źródło danych nazywa się Baza i dlatego należy użyć
właśnie tego zapisu;

&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;

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
Łą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.

Upewnijmy się, że mamy uruchomioną usługę serwera WWW.

W tym ćwiczeniu korzystamy ze źródła danych, które stworzyliśmy w poprzednim
przykładzie.

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 źró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.

Otwórzmy skrypt w przeglądarce internetowej, aby sprawdzić jego poprawność. Gdy
wyświetlimy źró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.

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 źró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 źró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:
TI 99 08 19 B M pl(1)
19 Nauka o mózgu
[W] Badania Operacyjne Zagadnienia transportowe (2009 04 19)
r07 04 ojqz7ezhsgylnmtmxg4rpafsz7zr6cfrij52jhi
0 19 431547 9 i
34 (19)
0 19 431547 9 l
Mała konstytucja z 19 lutego 1947 roku
19 (135)
54 19 Maj 2000 Czeczenia kona

więcej podobnych podstron