|
|
 |
 |
 |
Artykuły |
 |
|
Przeglądarka internetowa
21:53:46 29.05.2005
@Gujet
Witam,
Dziś napiszemy przeglądarkę internetową. Może nie będzie ona na miarę Internet Explorera, ale podstawowe potrzeby internauty będzie w stanie zaspokoić:) Najpierw potrzebny będzie komponent WebBrowser, znajduje się on na zakładce Internet. Jeśli go nie masz, to trudno musisz skądś skombinować. Ja nie wiem skąd:( Umieść go na formie i ustaw jego właściwość Align na alClient. Teraz wrzuć na formę Panel i ustaw jego Align na alTop. Oki, teraz wrzuć na panel dwa przyciski. Ich zdarzenia onClick uzupełnij następująco:
Przycisk1:
Regin
WebBrowser1.Navigate(‘www.o2.pl’); // strona domowa
End;
Przycisk2:
Regin
WebBrowser1.Navigate(‘www.google.com.pl’); // strona wyszukiwania
End;
Przeznaczenia tych przycisków chyba nie muszę tłumaczyć, ale i tak wytłumaczę:) Pierwszy z nich przeniesie na stronę domową (np. żebyśmy sobie sprawdzili pocztę:)), a drugi na stronę wyszukiwania (żebyśmy sobie znaleźli fajną stronkę:)). Otwieranie stron odbywa się za pomocą jednej linii kodu:
WebBrowser.Navigate(‘nazwa strony’);
Teraz wrzuć na panel jeszcze trzy przyciski. Zdarzenia onClick uzupełnij tak:
Przycisk1:
Regin
WebBrowser1.GoBack; // idziemy wstecz
End;
Przycisk2:
Begin
WebBrowser1.Stop; // stop!!!
End;
Przycisk3:
Regin
WebBrowser1.GoForward; // idziemy dalej
End;
No, tego to już chyba nie muszę tłumaczyć? Eee...wiecie co, wrzućcie jeszcze jeden przycisk i jego onClick uzupełnij w taki sposób:
Regin
WebBrowser1.Refresh;
End;
Po kliknięciu nań przeglądarka odświeży stronę.
Teraz wrzućcie na formę drugi Panel i właściwość Align ustawcie tak jak tego poprzedniego (alTop). Teraz na ten panelik wpakujcie komponenty Edit i jakiś przycisk. OnClick przycisku uzupełnijcie następująco:
Regin
WebBrowser1.Navigate(edit1.text);
End;
Przeglądarka zwyczajnie otworzy stronę o adresie wpisanym w polu edycji. No dobra, ale żeby nie trzeba było po każdym wpisaniu adresu kilkać na przycisk, to prockę onKeyPress pola edycji uzupełnijcie tak:
Begin
If Key=#13 then WebBrowser1.Navigate(edit1.text);
End;
Przeglądarka sprawdzi czy naciśniety przycisk, to Enter (#13 to jego numer) i jeśli tak jest, to wtedy załaduje adres wpisany w edycji.
Teraz zrobimy takiego myka, że jak już strona się załaduje w całości, to w edycji zostanie wpisany jej pełny adres, a sama przeglądarka powiadomi nas o tym pięknym napisem „Gotowe” :) Zdarzenie onDocumentCoplete WebBrowsera uzupełnij tak:
Begin
Edit1.Text:=WebBrowser1.LocationURL;
Label1.Caption:=’Gotowe’;
End;
Aha, wrzuć na panel jakiś label :)
Echm, co teraz? Teraz będzie postęp:) Wrzuć na formę komponent ProgressBar i ustaw jego Align na alBotton. Domyslasz się, co teraz zrobimy? Jeśli nie, to czytaj dalej. Zdarzenie onProgressChange komponentu WebBrowser uzupełnij tak:
Begin
ProgressBar1.Max:=ProgressMax;
ProgressBar1.Position:=Progress;
End;
Eeee…tłumaczyć nie muszę I nie będę :) Ważne, że działa! Teraz trzeba wpisać kod odpowiedzialny za tworzenie nowych okien, bo jeśli tego nie zrobimy, to nowe okna będzie obsługiwał za nas Internet Explorer i nasza przeglądara nie będzie w 100% samodzielna (i tak nie będzie, ale o tym sza:))
Zdarzenie onNewWindow2 WebBrowsera uzupełnij tak:
Var NewWindow:TForm1;
Begin
NewWindow:=TForm1.Create(self);
NewWindow.Show;
PpDisp:=newWindow.WebBrowser1.Defaultdispatch;
End;
W pierwszej linii okno zostanie stworzone, a drugiej pokazane, a trzecia po po prostu musi być. A jeszcze wcześniej jest deklaracja zmiennej:) Efekt jest taki, że nasza przeglądarka obsłuży już nowe okno, ale jego istnienie nie zostanie uwidocznione na taskbarze, a nowe okno będzie identyczne z głównym, ale dobre i to.
No dobra, to by było tyle. Przeglądarka otwiera nam już strony w offline. Żeby była bardziej profesjonalna napiszemy obsługę stron w offline.
Wrzuć na panel komponenty: OpenDialog i jakiś Button. OnClick buttona obsłuż tak:
Begin
OpenDialog1.Execute;
WebBrwoser1.Navigate(OpenDialog1.FileName);
End;
I gotowe :) To by było na tyle. Można tu wiele dopisać...aha, zapomniałem w zdarzeniu onCreate formy wpiszcie:
Begin
WebBrowser1.navigate(‘www.delphi-site.prv.pl’);
End;
To będzie strona startowa. Oki, to tyle. Możesz dopisać zmianę adresów tych stron i kilka innych rzeczy. Nara.
Gujet
Komentarzy: 0 | Głosuj (1,
2,
3,
4,
5,
6) | Ocena: 3.63 | Czytane: 2371 |  |
 |
Komentarze |
 |
|
Musisz się zalogować aby mieć możliwość komentowania
|  |
|
 |
|