VİSUL BASİC İLE İNTERNET UYGULAMALARI

WEBBROWSER KONTROLU:


İnternet hemen hemen tum bilgisayar kullanıcıları icin vazgecilmez bir ortamdır. Visual basic 5,0 surumu ile internet ortamına geciş yapmıştır. Visual basic 6,0 surumu ile de yaygın bir uygulama aracına donuşmuştur. İlk olarak webbrowser kontrolunu acıklamaya calışacağım.

Coğunuzun bildiği gibi internet gezginleri HTML (Hypertext Markup Language ) dilinde yazılmış kodları derleyerek bize Web sayfası olarak sunar. Encok kullanılan gezginler Internet Explorer ve NetScape Navigator programlarıdır. Webbrowser kontrolu ile bu gezginler gibi kendi programımızı yapabiliriz. Tasarlayacağımız program icerisine bu kontrol nesnesini ekleyerek programımızı zenginleştirebiliriz. Ornek bir proje uygulaması da gondererek ne şekilde bir ihtiyacı karşıladığını inceleyebilirsiniz. Bilgisayarınızda internet explorerr� in 3 veya daha sonraki surumu mevcut ise bu kontrol nesnesine sahipsiniz demektir.
Şimdi Visual basic de bir proje acarak işe başlayalım. Webbrowser kontrolunu eklemek icin Ctrl+T kısa yol tuşu veya Project\Components menu komutu ile Components ileti penceresini acarak, bu ekran icerisinden Microsoft Internet Controls seceneğini secerek arac kutunuza dahil edebilirsiniz. Webbrowser controlunu dahil ettikten sonra formunuzun uzerine yerleştirin.

1- NAVİGATE METODU : Webbrowser kontronunun en onemli metodu Navigate metodudur. Bu metod bilgi olarak tek arguman alır. Bu arguman gosterilmesini istediğiniz lokasyonun adresini belirten stringden oluşur.
Bu metod şu şekilde kullanılır. WebBrowser1.Navigate(�www.vbturk.net�) Adresi �http://www.vbturk.net� olarak yazmanıza gerek yoktur. Gerekli argumanı kendisi eklemektedir. Ornek :
Private Sub Form_Load()
On error Resume Next
WebBrowser1.Navigate (�www.vbturk.net�)
End Sub

Projeyi calıştırdığınızda sayfanızın yuklendiğini goreceksiniz. Bu şekilde değerimiz sabit olduğu icin formumuz yuklenirken hep aynı sayfa acılacaktır. İstediğimiz sayfayı gostermesi projemizi daha kullanışlı yapacaktır. Şimdi formumuza bir metin kutusu birde buton ekleyelim. Butonumuzun ismini goster, metin kutusunu da Adres olarak değitirelim.

Private Sub goster_Click()
On Error Resume Next
WebBrowser1.Navigate Adres.Text
Form1.Caption = Form1.Caption + WebBrowser1.LocationURL

End Sub

Navigate metodunu kullanmadan once muhakkak hata kontrol ifadesini eklemelisiniz. Aksi takdirde bağlantının kopuk olduğu zaman programınız kırılarak hata verecektir. Navigate metdodunun genel yazımı şoyledir.

WebBrowser1.Navigate URL [Bayraklar,] [hedef cerceve ismi,] [postdata,] [başlıklar]

URL : Uniform Resource Locator( bir bicimli kaynak yeri saptayıcısı) kelimelerini baş harflerinin kısaltılmasıdır. Goruntulenmesini isteğiniz yerin adresi icin kullanılır. Navigate metodunun tek zorunlu argumanıdır.

Bayraklar: (flags) parametresinin kullanımı isteğe bağlıdır. Bu parametre kullanıldığı takdirde, internet�te sorf yapılırken uğranılan yerin, bu sorfe ait gezi tarihcesinde yer alıp almayacağını belirler. Bayraklar parametresi kullanıldığı takdirde aşağıdaki değerleri alır.


SEMBOLİK SABİT DEĞERİ ANLAMI
NavOpenInNew Window 1 Bağlantıyı yeni pencerede acar

NavNoHistory 2 Yeni erişilen bağlantıyı gezi tarihcesine
eklemez
NavNoReadFromCache 4 Cache bellekte saklanan kopya varsa bu
Bu kopyayı okuma
NavNoWriteToCache 8 HTML sayfasını, Lokal Cache bellek
Uzerine yazma

Hedef Cerceve İsmi (TargetFrameName) parametresi, kullanıma isteğe bağlı bir parametredir. Kullanıldığı takdirde sayfanın yeni bir cerceve icinde goruntulenmesini sağlar.

PostData : Bu parametre de isteğe bağlı bir parametredir. Bu parametre kullanılırsa Navigate metodu HTML GET metodunu kullanır. URL bir Web sayfası değilse bu parametre ihmal edilir.

Başlıklar(Title): bu parameterede isteğe bağlı kullanılabilir. İnternet uzerinde kendisinden yuklemek istediğiniz web sayfasını taşıyan HTML sunucusuna ilave bilgi gondermesini sağlar. Tabi sunucu buna izin veriyorsa yapabilirsiniz.

2-LOCATİONNAME OZELİLİĞİ: Webbrowser kontrol nesnesinin o esnada goruntulemekte olduğu web sayfasına ait başlığı gosterir.

3-LOCATİONURL OZLİLİĞİ : Bu ozellik goruntulenmekte olan sayfanın adresini verecektir.
Gezginimize statusbar ekleyerek daha kullanışlı ve gorsellik kazandırabiliriz.
Statusbar1.simpletext=webbrowser2.locationurl

4- GOBACK METODU: Sayfalarda dolaşırken, bulunduğunuz sayfadan bir onceki sayfaya geri donuşu sağlar

5- GOFORWARD METODU: Sayfalarda dolaşırken, daha onceden eriştiğiniz sayfadayken GoBack ile geri gitmeniz durumunda tekrar bir sonraki sayfalara gitmenizi sağlar.

6- GOHOME METODU: Giriş sayfanıza gitmenizi sağlar

7-GOSEARCH METODU: Sayfanın arama işlemini gercekleştirmek icin bu komut kullanılır.

8- GOREFRESH METODU: Bulunduğunuz sayfayı yenileyerek gunceller.

9- GOSTOP METODU: Sayfaya bağlanma işlemini durdurur.


Diğer metodlarıda size bırakıyorum. Bunları da programınızda deneyerek keşfedeceğinizden eminim.

WEBBROWSER NESNESİNİN OLAYLARI:
Burada onemli bulduğum olaylardan bahsedeceğim. Toplam 23 adet olayı tanımlıdır.

1-BEFORENAVİGATE: web sayfası bir sayfaya bağlanmadan once bu olay meydana gelir.

Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
On Error Resume Next

StatusBar1.SimpleText = WebBrowser1.LocationURL
Form1.Caption = Form1.Caption + WebBrowser1.LocationURL
MousePointer=VbHourglass
End Sub

2-DOWLOANDBEGİN OLAYI: Bu olay web sayfasının yuklenmesi sırasında meydana gelir.
Private Sub WebBrowser1_DownloadBegin()
On Error Resume Next
StatusBar1.SimpleText = "Yukleniyor"
End Sub

3-DOWLOANDCOMPLETE : Bu olay web sayfasının yuklenmesi tamamlanınca meydana gelir. Bu olayı NavigateComplete olayı ile karıştırmayın. DowloandComplate sayfanın yuklenmesi başarılı olsa da olmasa da calışacaktır. Ama NavigateComplate istenen sayfa tamamen yuklenip başarılı bir şekilde ulaşıldığında sağlanmaktadır.

Private Sub WebBrowser1_DownloadComplete()
On Error Resume Next
StatusBar1.SimpleText = "Aktif sayfa :"
WebBrowser1.LocationNameURL = " & WebBrowser1.LocationURL"
MousePointer = vbDefault
End Sub

4-NAVİGATECOMPLETE : Bu olay sayfanın yukleme işi başaralı bir şekilde bittiğinde meydana gelir.
Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
On Error Resume Next

StatusBar1.SimpleText = WebBrowser1.LocationURL
Form1.Caption = Form1.Caption + WebBrowser1.LocationURL
End Sub
5- PROGRESSCHANGE : Bu olay belirli aralıklarla surekli calışır. Progress ve ProgressMax isimli iki parametresi bulunur. Yukleme işlemini ilerleyen cubuk ile kullanıcıya bildirilmesi aşağıdaki ornekteki gibi yapılabilir.

Private Sub WebBrowser1_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long)
On Error Resume Next
ProgressBar1.Value = Progress * 100 / ProgressMax

End Sub


NOTLAR: Bu kontrol nesnesi ile ilgili ozellikleri kullanarak daha kullanışlı, gelişmiş programlar geliştirebilirsiniz. Benim işime basit bir program ile cok yaramıştı. İnternetten oğrencilerin sınav sonuclarını almam lazımdı. Web sayfası ve kullandığım program arasındaki gecişi hesaplayınca ve artı 450 oğrenci olduğunu katarsak işim cok zordu. Ama ben formuma bu kontrolu ekledim ve veri bağlantısı ile oğrencilere tek tek eriştim. Ve sayfanın başlığına aday numaralarını yollayarak sonucları hızlı bir şekilde aldım. Bununla ilgili bir orneği sizlere sunarlarsa yolluyorum. Bu ders ile ilgili bir kod ekleyerek yazımı tamamlıyorum. Başarılı calışmalar diliyorum. Azminizi kaybetmeyin. Ve unutmayın bildiğinizi paylaşın, yoksa sizde bilmemiş olarak kalacaktınız.



Private Sub form_click()
StatusBar1.SimpleText = WebBrowser1.LocationURL
End Sub


Private Sub Form_Resize()
StatusBar1.Height = 1.2 * TextHeight("I")
WebBrowser1.Left = 0
WebBrowser1.Width = Form1.ScaleWidth
WebBrowser1.Height = Form1.ScaleHeight
End Sub

Private Sub goster_Click()
On Error Resume Next
WebBrowser1.Navigate (Adres.Text)
Form1.Caption = Form1.Caption + WebBrowser1.LocationURL
End Sub

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
Case "geri"
On Error Resume Next
WebBrowser1.GoBack
End Select
Select Case Button.Key
Case "ileri"
On Error Resume Next
WebBrowser1.GoForward
End Select
Select Case Button.Key
Case "dur"
On Error Resume Next
WebBrowser1.Stop
End Select
Select Case Button.Key
Case "yenile"
On Error Resume Next
WebBrowser1.Refresh
End Select
Select Case Button.Key
Case "home"
On Error Resume Next
WebBrowser1.GoHome
End Select
Select Case Button.Key
Case "ara"
On Error Resume Next
WebBrowser1.GoSearch
End Select
Select Case Button.Key
Case "mail"
defter.Show
End Select
End Sub


Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
On Error Resume Next

StatusBar1.SimpleText = "Sayfaya Bağlanıyor..." & URL
MousePointer = vbhoruglass
End Sub


Private Sub WebBrowser1_DownloadBegin()
On Error Resume Next
StatusBar1.SimpleText = "Yukleniyor"
End Sub

Private Sub WebBrowser1_DownloadComplete()
On Error Resume Next
StatusBar1.SimpleText = "Aktif sayfa :"
WebBrowser1.LocationNameURL = " & WebBrowser1.LocationURL"
MousePointer = vbDefault
End Sub

Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
On Error Resume Next

StatusBar1.SimpleText = WebBrowser1.LocationURL
Form1.Caption = Form1.Caption + WebBrowser1.LocationURL
End Sub


Private Sub WebBrowser1_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long)
On Error Resume Next
ProgressBar1.Value = Progress * 100 / ProgressMax

End Sub
Baksana59
__________________