[ Pobierz całość w formacie PDF ]
Rozdział 22.
Aplikacje internetowe
C:\Dokumenty\Roboczy\Delphi 4 dla kazdego\22.doc 817
Rozdzia³ 22. ¨ Aplikacje internetowe 833
Są tacy, którzy twierdzą, że Internet jest tylko przemijającą modą, zaś korzystanie z niego – przejawem szacownego snobizmu. Jeżeli jesteś jednym z nich – niestety, jesteś w błędzie. Internet rozrósł się już do ogromnych rozmiarów i rozrasta się gwałtownie z każdym dniem. Witryny WWW przestały być już tylko ciekawostkami, stając się jednym z pełnoprawnych narzędzi businessu. Internet to również transfer plików, poczta elektroniczna i usługi komercyjne na odległość.
Skoro nic więc nie zapowiada zmierzchu egzystencji Internetu, warto pokusić się o nabycie umiejętności tworzenia oprogramowania internetowego. Niniejszy rozdział poświęcony jest pewnym aspektom programowania internetowego przy użyciu Delphi.
Komponenty internetowedostępne w Delphi
Komponenty internetowe dostępne na stronie Internet Palety Komponentów dzielą się na dwie kategorie. Pierwsza z nich to komponenty dostarczone przez firmę NetMasters; są to „rodowite” komponenty VCL, z jednym wyjątkiem komponentu THTML, który jest kontrolką ActiveX. Lista kontrolek NetMasters wraz z opisem każdej z nich znajduje się w tabeli 22.1; została ona uporządkowana według kolejności występowania kontrolek w Palecie Komponentów.
Tabela 22.1. Internetowe kontrolki NetMasters
Kontrolka
Przeznaczenie
TNMDayTime
Pobiera datę i czas z internetowych serwerów daty i czasu.
TNMEcho
Wysyła i odbiera tekst z internetowych serwerów echa.
TNMFinger
Pobiera informacje na temat użytkownika z serwera finger.
TNMFTP
Przeprowadza transfer plików między komputerami w sieci za pomocą protokołu FTP (File Transfer Protocol).
cd. na następnej stronie
Tabela 22.1. cd. Internetowe kontrolki NetMasters
Kontrolka
Przeznaczenie
TNMHTTP
Przeprowadza transfer plików przy użyciu protokołu HTTP
(Hypertext Transfer Protocol). Zazwyczaj dokumenty w języku HTML są wyświetlane przez przeglądarkę WWW. Do ściągania dokumentów HTML, które nie wymagają wyświetlenia w przeglądarce, stosowana jest kontrolka THTTP.
TNMMsg
Wysyła proste komunikaty tekstowe (ASCII) przy użyciu protokołu TCP/IP.
TNMMSGServ
Odbiera komunikaty wysłane przy użyciu kontrolki TNMMsg.
TNMNNTP
Wysyła i odbiera komunikaty z internetowych serwerów grup
dyskusyjnych przy użyciu protokołu NNTP (Networking News Transfer Protocol).
TNMPOP3
Odbiera wiadomości pocztowe
TNMUUProcessor
Koduje lub dekoduje pliki zawierające informacje typu MIME lub UU.
TNMSMTP
Wysyła pocztę poprzez serwery pocztowe SMTP
(Simple Mail Transfer Protocol).
TNMStrm
Wysyła strumienie danych do stacji lokalnej lub internetowego serwera strumieni.
TNMStrmServ
Odbiera strumienie wysłane przez kontrolkę TNMStrm.
TNMTime
Pobiera datę i czas z internetowych serwerów czasu.
TNMUDP
Dokonuje transferu danych poprzez sieć przy użyciu protokołu UDP (User Datagram Protocol).
TPowersock
Implementuje interfejs Winsock API.
TNMGeneralServer
Stosowana dla ogólnych zastosowań w serwerach TCP/IP.
THTML
Wyświetla pliki HTML (Hypertext Markup Language).
Jest to komponent przeglądarki WWW.
TNMURL
Konwertuje dane URL do postaci czytelnego łańcucha i odwrotnie
Drugą kategorię kontrolek stanowią komponenty VCL firmy Borland. W skład Delphi w wersji Client/Server i Professional wchodzą komponenty TClientSocket i TServerSocket. Komponenty Web Broker (TWebDispatcher, TPageProducer, TQueryTableProducer i TDataSetTableProducer) są dostępne tylko w wersji Client/Server. Lista internetowych komponentów VCL przedstawiona została w tabeli 22.2.
Tabela 22.2. Rodzime komponenty internetowe VCL
Kontrolka
Opis
TClientSocket
Zarządza połączeniami gniazdowymi TCP/IP od strony klienta.
TServerSocket
Zarządza połączeniami gniazdowymi TCP/IP od strony serwera.
TWebDispatcher
Konwertuje zwykły moduł danych do postaci sieciowego modułu danych.
Tabela 22.2. cd. Rodzime komponenty internetowe VCL
Kontrolka
Opis
TPageProducer
Umożliwia budowanie dynamicznych stron HTML.
TQueryTableProducer
Generuje dokument HTML na podstawie danych zwracanych przez komponent TQuery.
TDataSetTableProducer
Generuje dokument HTML na podstawie danych zwracanych przez komponent TDataSet.
Przedstawione grupy komponentów dają możliwości wystarczające do tworzenia wysokiej jakości aplikacji internetowych.
Budowa przeglądarki sieciowejDo najbardziej dostrzegalnych zadań programowania związanego z Internetem należy tworzenie przeglądarek sieciowych. Jest to najbardziej fascynujące zadanie, które ponadto może okazać się również jednym z najłatwiejszych zadań.
Komu potrzebna jest jeszcze jedna przeglądarka?Pytanie to jest godne zastanowienia. W końcu wszędzie na świecie królują już Netscape Navigator i Microsoft Internet Explorer, komu więc tak naprawdę potrzebny będzie kolejny nowy model przeglądarki? Nie masz przecież zamiaru budować aplikacji, która będzie konkurować z dwoma powyższymi produktami. Z drugiej strony można wyobrazić sobie firmę zatrudniającą setki lub nawet tysiące pracowników, którzy wymagają dostępu do sieci WWW. Zakupienie licencji na tysiące kopii komercyjnej przeglądarki sieciowej może okazać się bardzo drogim przedsięwzięciem. Napisanie w ciągu kilku godzin dobrej jakości przeglądarki może zaoszczędzić takiej firmie sporo środków finansowych.
Innym powodem, dla którego firma chciałby posiadać niestandardową przeglądarkę WWW jest ograniczenie dostępu do sieci. Dla przykładu, może zaistnieć taka sytuacja, kiedy to pracownicy będą musieli od czasu do czasu odwiedzać określone strony w sieci. W samodzielnie stworzonej przeglądarce można ograniczyć dostęp do sieci pozwalając na łączenie się tylko z autoryzowanymi stronami WWW. Nasuwa się tutaj inna myśl – stworzona samodzielnie przeglądarka doskonale nadaje się dla dzieci!
W końcu, powodem najbardziej przemawiającym za stworzeniem użytkowej przeglądarki sieciowej jest intranet. Intranet jest siecią lokalną zbudowaną w oparciu o technologie internetowe. Intranet może zawierać różnorodne informacje przeznaczone na wewnętrzny użytek firmy – zyski firmy, polityka firmy, książka adresowa pracowników, plany spotkań lub nawet firmowa liga koszykówki. Użytkowa przeglądarka może pozwolić na dostęp do intranetu i jednocześnie uniemożliwić korzystanie z Internetu.
Biorąc pod uwagę powyższe rozważania spróbujemy zbudować prostą przeglądarkę WWW. Zapewne zdziwi Cię łatwość, z jaką zostanie zbudowana ta aplikacja.
Pierwsze kroki procesu budowania przeglądarkiKontrolka THTML jest gotową do wykorzystania przeglądarką sieciową. Wszystko, co trzeba zrobić, to umieścić ją w formularzu i wywołać metodę RequestDoc. Podejście takie może wydawać się nadmiernie uproszczone, niemniej jednak dokładnie w ten sposób można wyświetlić dokument znajdujący się w dowolnym miejscu Internetu. Oto jak szybko można stworzyć aplikację przeglądarki sieciowej:
1. Rozpocznij projekt nowej aplikacji. Zmień właściwość Name formularza na WebMain oraz właściwość Caption na EZ Web Browser.
2. Umieść w formularzu komponent Panel, zmień jego właściwość Align na alTop oraz właściwość Height na 60. Usuń wartość właściwości Caption.
3. Umieść w panelu komponent ComboBox. Przesuń go w górną część panelu i rozciągnij tak, aby jego rozmiar był równy rozmiarowi panelu. Zmień właściwość Name na URLComboBox. Zmień właściwość Text na dowolny adres URL (na przykład http://www.helion.com.pl lub http://www.turbopower.com). Kliknij podwójnie na właściwość Constraints i zmień ograniczenie AnchorHorz na akStretch.
4. Umieść w formularzu komponent StatusBar. Zostanie on automatycznie umieszczony w dolnej części formularza. Zmień jego właściwość Name na StatusBar i właściwość SimplePanel na True.
5. Mniej więcej pośrodku formularza umieść komponent HTML. Zmień jego właściwość Align na alClient. Komponent wypełni całą dostępną przestrzeń. Zmień jego właściwość Name na HTML.
W tej chwili formularz powinien wyglądać tak jak przedstawia to rysunek 22.1. Jeżeli tak nie jest, możesz spróbować dopasować go lub pozostawić bez zmian. (Odrobina indywidualizmu nigdy nie zaszkodzi.)
W tym miejscu powinieneś zapisać cały projekt. Zapisz formularz jako WebBrwsU.pas i projekt jako WebBrows.dpr. Teraz zadbamy o to, aby przeglądarka stała się narzędziem użytecznym.
Rysunek 22.1.
Przeglądarka po wykonaniu kilku pierwszych kroków
6. Kliknij na obiekcie combo, we wnętrzu wygenerowanego szkieletu procedury zdarzeniowej wpisz następujący kod:
if URLComboBox.Text<>'' then
HTML.RequestDoc(URLComboBox.Text);
Po sprawdzeniu, czy tekst w polu listy nie jest łańcuchem pustym następuje wywołanie metody RequestDoc, która ładuje żądany dokument.
7. Teraz wygeneruj procedurę obsługującą zdarzenie OnKeyPress. W jej ciele funkcji umieść następujący kod:
i...
[ Pobierz całość w formacie PDF ]