[ Pobierz całość w formacie PDF ]
.Web Page EditorNa pierwszej pozycji menu kontekstowego komponentu TMidasPageProducer znajdujesiê opcja Web Page Editor — jej wybranie spowoduje uruchomienie edytora otakiej w³aœnie nazwie; za jego pomoc¹ mo¿emy zaprojektowaæ wygl¹d wynikowejstrony WWW.Edytor umo¿liwia podgl¹d zawartoœci strony zarówno w formacieŸród³owym HTML, jak i w postaci typowej dla przegl¹darki WWW (patrz rys.13.19).W górnej czêœci okna edytora znajduj¹ siê dwa panele: lewy ukazujekomponenty u¿yte na potrzeby TMidasPageProducer’a, zaœ prawy — komponentypotomne (pierwszego poziomu) komponentu podœwietlonego aktualnie w lewympanelu.Mimo i¿ Web Page Editor umo¿liwia tworzenie komponentów, nie posiada on niczegona kszta³t Palety Komponentów.Tworzenie nowych komponentów odbywa siê tubowiem za pomoc¹ dialogu New Component uruchamianego z menu kontekstowegogórnych paneli.Dialog ten oferuje do wyboru komponenty, które mog¹ staæ siêkomponentami potomnymi w stosunku do pozycji podœwietlonej aktualnie w lewympanelu.Pocz¹tkowo panel ten zawiera jedyn¹ pozycjê reprezentuj¹c¹TMidasPageProducer, mo¿emy wówczas utworzyæ jeden z trzech komponentówpotomnych: DataForm, QueryForm lub LayoutGroup.Gdy wybierzemy DataForm iuruchomimy dialog ponownie, zaoferuje on nam do wyboru komponenty DataGrid,DataNavigator, FieldGroup i LayoutGroup.Wybierzmy (trzymaj¹c klawisz Ctrl)jednoczeœnie dwa: DataNavigator i FieldGroup.Edytor ostrze¿e nas w tym momencie (w oknie podgl¹du), i¿ wskaŸnikiDataNavigator1.XMLComponent i FieldGroup2.XMLBroker s¹ wskaŸnikami pustymi(nil).Ustawmy wiêc pierwszy z wymienionych wskaŸników na komponent FieldGroup,wyniku czego zniknie pierwsze z ostrze¿eñ.Drugiemu wskaŸnikowi przypiszmykomponent XMLBroker1 (z modu³u WWW) w wyniku czego pozbêdziemy siê równie¿drugiego ostrze¿enia.Jednoczeœnie w oknie podgl¹du uka¿e siê lista wszystkichpól kartoteki kontrahentów, wraz ze specjalnym polem statusu (jako ostatnim).Pole to zawiera jednoznakowy znacznik informuj¹cy, czy dany rekord zosta³wstawiony, zmodyfikowany albo usuniêty, i jako takie jest mo¿e interesuj¹ce dlaprojektanta, lecz jego u¿ytecznoœæ dla u¿ytkownika koñcowego jest raczejw¹tpliwa.Domyœlnie widok zawiera wszystkie pola kartoteki, mo¿emy jedna ³atwousun¹æ niepotrzebne z nich i zmieniæ kolejnoœæ pozosta³ych, wybieraj¹c w lewympanelu komponent FieldGroup i nastêpnie kolejno uruchamiaj¹c menu kontekstoweposzczególnych pozycji na prawym panelu, co pokazuje rysunek 13.19.SCANTu proszê zeskanowaæ rysunek 13.18 ze strony 609 orygina³uRysunek 13.19 Web Page Editor na etapie projektowaniaUruchomienie aplikacjiPrzed uruchomieniem aplikacji stworzonej w technologii InternetExpress musimywpierw upewniæ siê, czy biblioteka ISAPI (WebShow.dll) znajduje siê w kataloguskryptów serwera WWW pracuj¹cego w lokalnym komputerze.Aby zapewniæ, i¿ zawszebêdziemy mieli do czynienia z najnowsz¹ wersj¹ biblioteki, najlepiej ustawiæten katalog jako wynikowy dla produkowanych przez projekt binariów.Nie uda siêto jednak w przypadku serwera IIS, który nie pozwoli na nadpisanie u¿ywanejbiblioteki ISAPI.Nastêpnie musimy przypisaæ komponent TMidasPageProducer do w³aœciwoœci Producertego komponentu akcji, który odpowiada ¿¹daniu /browse.W koñcu musimy zapewniæ aplikacji dostêp do specjalnych plików JavaScriptu,niezbêdnych do analizy generowanych pakietów XML.Pliki te znajduj¹ siê nadysku dystrybucyjnym C++Buildera 5 w katalogu CBuilder5\Source\WebMidas,zajmuj¹c ³¹cznie oko³o 60KB, najlepiej wiêc przekopiowaæ je do kataloguskryptów serwera WWW, jednoczeœnie przypisuj¹c ten katalog w³aœciwoœciIncludePathURL komponentu TMidasPageProducer (w przypadku pos³ugiwania siêprogramem IntraBob nale¿y pliki te przekopiowaæ do katalogu, w którym programrezyduje wraz z bibliotek¹ ISAPI i ustawiæ wspomnian¹ w³aœciwoœæ na „./”).Po wykonaniu powy¿szych czynnoœci nale¿y ponownie skompilowaæ projekt WebShow wtrybie Build i uruchomiæ bibliotekê WebShow.dll u¿ywaj¹c Internet Explorera wwersji 4 lub wy¿szej, Netscape Communicatora w wersji 4 lub wy¿szej alboprogramu IntraBob w wersji 5 — uzyskany widok przedstawia rysunek 13.20.SCANTu proszê zeskanowaæ rysunek 13.19 ze strony 610 orygina³uRysunek 13.20 Strona WWW wyprodukowana przez InternetExpress w odpowiedzi na¿¹danie /browseZagnie¿d¿one tabele — uk³ad „master–details”W ostatnim przyk³adzie niniejszego rozdzia³u zaprezentujemy wyœwietleniezamówieñ przyporz¹dkowanych poszczególnym klientom w relacji „master–details”,podobnie jak na rysunku 13.16 — z t¹ jednak ró¿nic¹, i¿ wyœwietlenie toodbêdzie siê w ca³oœci w pojedynczym oknie, z mo¿liwoœci¹ pe³nego nawigowania.W tym celu uruchom ponownie Web Page Editor (za pomoc¹ menu kontekstowegokomponentu TMidasPageProducer) i dodaj do formularza DataForm komponentDataGrid i kolejny komponent DataNavigator.Nastêpnie przypisz do w³aœciwoœciXMLBroker komponentu DataGrid (jedyny) komponent TXMLBroker.Spowoduje toznikniêcie ostrze¿enia, lecz wynik bêdzie inny od oczekiwanego: zamiast póltabeli zamówieñ (Orders) uka¿¹ siê pola tabeli kontrahentów (Customers).Musiszwiêc przejœæ do komponentu FieldGroup1 (w lewym panelu) i przypisaæ do jegow³aœciwoœci XMLDataSetField tabelê TableOrders jako tabelê zagnie¿d¿on¹.Poniewa¿ standardowo uka¿¹ siê wszystkie pola zamówieñ, pozostaw tylko tenajwa¿niejsze (usuwaj¹c pozosta³e w sposób wczeœniej opisany), w tym równie¿pole StatusColumn1, które tym razem zawieraæ bêdzie u¿yteczn¹ dla nasinformacjê.Szerokoœæ produkowanego widoku zale¿na jest oczywiœcie od szerokoœciwyœwietlanych pól, co widaæ na rysunku 13.12; niektóre z nich przyda³oby siênieco zwêziæ — na przyk³ad szerokoœæ pól zawieraj¹cych datê mo¿na by zmniejszyædo 12 (modyfikuj¹c w³aœciwoœæ DisplayWidth), mo¿na by te¿ skróciæ tytu³yniektórych pól, zmieniaj¹c np.„PaynmentMethod” na „Paynment”.SCANTu proszê zeskanowaæ rysunek 13.20 ze strony 611 orygina³uRysunek 13.21 Web Page Editor w czasie projektowania widoku „master-details”Mimo, i¿ nasz widok ma na razie wygl¹d nieco surowy — bez szczególnejkolorystyki, czcionek, grafiki itp.— rozpoczniemy testowanie naszej aplikacji.Jej atrakcyjna szata graficzna jest co prawda doœæ istotna, jednaknajwa¿niejsze jest oczywiœcie bezb³êdne dzia³anie.Widok wyœwietlony w odpowiedzi na ¿¹danie /final przedstawiony jest na rysunku13.22.SCANTu proszê zeskanowaæ rysunek 13.21 ze strony 612 orygina³uRysunek 13.22 Ostateczny widok w uk³adzie „master–details”Wyœwietlana strona zawiera wszystkie ¿¹dane elementy: HTML z tabel¹ idefinicjami wprowadzanych danych odpowiada za wygl¹d, XML zawiera tabelê idefinicje pól zgodnie z aktualnymi danymi, wreszcie JavaScript dokonuje analizydanych XML i wbudowuje je w informacjê wejœciow¹ dla strony WWW
[ Pobierz całość w formacie PDF ]