Webbrowser Kontrolü
Tarih
20/03/2010 09:36
Konu Sahibi
ozanakkaya
Yorumlar
5
Okunma
2098
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



ozanakkaya
sledgeab
Kullanici Avatari
Kurucu
O.... A....
9.023
29/01/2008
Denizli
Memur
Ofis 2010 32 Bit
Bugün,06:11

Kod:
http://www.kod27.com/

SİTESİNDEN ALINTIDIR.


WEBBROWSER KONTROLÜ:

İnternet hemen hemen tüm bilgisayar kullanıcıları için vazgeçilmez bir ortamdır. Visual basic 5,0 sürümü ile internet ortamına geçiş yapmıştır. Visual basic 6,0 sürümü ile de yaygın bir uygulama aracına dönüşmüştür. İlk olarak webbrowser kontrolünü açıklamaya çalışacağım.

Çoğunuzun bildiği gibi internet gezginleri Html (Hypertext Markup Language ) dilinde yazılmış kodları derleyerek bize Web sayfası olarak sunar. Ençok kullanılan gezginler Internet Explorer ve NetScape Navigator programlarıdır. Webbrowser kontrolü ile bu gezginler gibi kendi programımızı yapabiliriz. Tasarlayacağımız program içerisine bu kontrol nesnesini ekleyerek programımızı zenginleştirebiliriz. Örnek bir proje uygulaması da göndererek ne şekilde bir ihtiyacı karşıladığını inceleyebilirsiniz. Bilgisayarınızda internet explorerr’ in 3 veya daha sonraki sürümü mevcut ise bu kontrol nesnesine sahipsiniz demektir.
Şimdi Visual basic de bir proje açarak işe başlayalım. Webbrowser kontrolünü eklemek için Ctrl+T kısa yol tuşu veya ProjectComponents menü komutu ile Components ileti penceresini açarak, bu ekran içerisinden Microsoft Internet Controls seçeneğini seçerek araç kutunuza dahil edebilirsiniz. Webbrowser controlünü dahil ettikten sonra formunuzun üzerine yerleştirin.

1- NAVİGATE METODU : Webbrowser kontronünün en önemli metodu Navigate metodudur. Bu metod bilgi olarak tek argüman alır. Bu argüman gösterilmesini 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 argümanı kendisi eklemektedir. Örnek :

Visual Basic Code
Private Sub Form_Load()
On error Resume Next
WebBrowser1.Navigate (“www.vbturk.net”) 
End Sub


Projeyi çalıştırdığınızda sayfanızın yüklendiğini göreceksiniz. Bu şekilde değerimiz sabit olduğu için formumuz yüklenirken hep aynı sayfa açılacaktır. İstediğimiz sayfayı göstermesi projemizi daha kullanışlı yapacaktır. Şimdi formumuza bir metin kutusu birde buton ekleyelim. Butonumuzun ismini goster, metin kutusunu da Adres olarak değitirelim.

Visual Basic Code
1
2
3
4
5
6
Private Sub goster_Click()
On Error Resume Next
WebBrowser1.Navigate Adres.Text
Form1.Caption = Form1.Caption + WebBrowser1.LocationURL

End Sub


Navigate metodunu kullanmadan önce 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ı şöyledir.

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

URL : Uniform Resource Locator( bir biçimli kaynak yeri saptayıcısı) kelimelerini baş harflerinin kısaltılmasıdır. Görüntülenmesini isteğiniz yerin adresi için kullanılır. Navigate metodunun tek zorunlu argümanıdır.

Bayraklar: (flags) parametresinin kullanımı isteğe bağlıdır. Bu parametre kullanıldığı takdirde, internet’te sörf yapılırken uğranılan yerin, bu sörfe ait gezi tarihçesinde 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 açar

NavNoHistory 2 Yeni erişilen bağlantıyı gezi tarihçesine
eklemez
NavNoReadFromCache 4 Cache bellekte saklanan kopya varsa bu
Bu kopyayı okuma
NavNoWriteToCache 8 Html sayfasını, Lokal Cache bellek
Üzerine yazma

Hedef Çerçeve İsmi (TargetFrameName) parametresi, kullanıma isteğe bağlı bir parametredir. Kullanıldığı takdirde sayfanın yeni bir çerçeve içinde görüntülenmesini 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 üzerinde kendisinden yüklemek istediğiniz web sayfasını taşıyan Html sunucusuna ilave bilgi göndermesini sağlar. Tabi sunucu buna izin veriyorsa yapabilirsiniz.

2-LOCATİONNAME ÖZELİLİĞİ: Webbrowser kontrol nesnesinin o esnada görüntülemekte olduğu web sayfasına ait başlığı gösterir.

3-LOCATİONURL ÖZLİLİĞİ : Bu özellik görüntülenmekte olan sayfanın adresini verecektir.
Gezginimize statusbar ekleyerek daha kullanışlı ve görsellik kazandırabiliriz.
Statusbar1.simpletext=webbrowser2.locationurl

4- GOBACK METODU: Sayfalarda dolaşırken, bulunduğunuz sayfadan bir önceki sayfaya geri dönüşü sağlar

5- GOFORWARD METODU: Sayfalarda dolaşırken, daha önceden 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 gerçekleştirmek için bu komut kullanılır.

8- GOREFRESH METODU: Bulunduğunuz sayfayı yenileyerek günceller.

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 önemli bulduğum olaylardan bahsedeceğim. Toplam 23 adet olayı tanımlıdır.

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

Visual Basic Code
1
2
3
4
5
6
7
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 yüklenmesi sırasında meydana gelir.

Visual Basic Code
Private Sub WebBrowser1_DownloadBegin()
On Error Resume Next
StatusBar1.SimpleText = "Yükleniyor"
End Sub


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

Visual Basic Code
1
2
3
4
5
6
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 yükleme işi başaralı bir şekilde bittiğinde meydana gelir.

Visual Basic Code
1
2
3
4
5
6
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 sürekli çalışır. Progress ve ProgressMax isimli iki parametresi bulunur. Yükleme işlemini ilerleyen çubuk ile kullanıcıya bildirilmesi aşağıdaki örnekteki gibi yapılabilir.

Visual Basic Code
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 özellikleri kullanarak daha kullanışlı, gelişmiş programlar geliştirebilirsiniz. Benim işime basit bir program ile çok yaramıştı. İnternetten öğrencilerin sınav sonuçlarını almam lazımdı. Web sayfası ve kullandığım program arasındaki geçişi hesaplayınca ve artı 450 öğrenci olduğunu katarsak işim çok zordu. Ama ben formuma bu kontrolü ekledim ve veri bağlantısı ile öğrencilere tek tek eriştim. Ve sayfanın başlığına aday numaralarını yollayarak sonuçları hızlı bir şekilde aldım. Bununla ilgili bir örneği sizlere sunarlarsa yolluyorum. Bu ders ile ilgili bir kod ekleyerek yazımı tamamlıyorum. Başarılı çalışmalar diliyorum. Azminizi kaybetmeyin. Ve unutmayın bildiğinizi paylaşın, yoksa sizde bilmemiş olarak kalacaktınız.



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



Visual Basic Code
1
2
3
4
5
6
Private Sub Form_Resize()
StatusBar1.Height = 1.2 * TextHeight("I")
WebBrowser1.Left = 0
WebBrowser1.Width = Form1.ScaleWidth
WebBrowser1.Height = Form1.ScaleHeight
End Sub


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


Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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



Visual Basic Code
1
2
3
4
5
6
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



Visual Basic Code
Private Sub WebBrowser1_DownloadBegin()
On Error Resume Next
StatusBar1.SimpleText = "Yükleniyor"
End Sub


Visual Basic Code
1
2
3
4
5
6
Private Sub WebBrowser1_DownloadComplete()
On Error Resume Next
StatusBar1.SimpleText = "Aktif sayfa :"
WebBrowser1.LocationNameURL = " & WebBrowser1.LocationURL"
MousePointer = vbDefault
End Sub


Visual Basic Code
1
2
3
4
5
6
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



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

End Sub

Cevapla


ercansahin
BlackEagle
Kullanici Avatari
Uzman
E.... Ş....
3.733
14/11/2008
Ankara
Ofis 2010 32 Bit
Dün,21:33
Hocam paylaşımnız için teşekkürler..
Cevapla


ogulcan92
Aktif Üye
Kullanici Avatari
Aktif Üye
1.160
06/05/2009
477
İzmir
Ofis 2003
07/08/2015,11:50
Sn:sledgeab
Paylaşım için teşekkürler.
Cevapla


naimelik
Aktif Üye
Kullanici Avatari
Aktif Üye
N.... Ç....
129
26/11/2008
2
İstanbul
Ofis XP
10/08/2015,01:19
emeğinize sağlık çok güzel bilgiler
Cevapla


benremix
Uzman
Kullanici Avatari
Uzman
R.... S....
4.432
17/05/2009
365
Ankara
Ofis 2010
Bugün,09:18
Sn sledgeab bu değerli paylaşım için teşekkürler. Saygılar...
Bilgi paylaşıldıkça çoğalır....
Her engel, yaşam koşullarınızı daha iyileştirecek bir fırsattır.


Access için her zaman lazım olacak konu başlıkları listesi 


Cevapla


maytas
Aktif Üye
Kullanici Avatari
Aktif Üye
545
21/12/2008
173
Bursa
Ofis 2010 32 Bit
27/09/2015,02:03
Çok yararlı bir paylaşım, sayın Sledgeab.
Mesajlarımızı Türkçe yazım kurallarına uygun yazalım.
Emeğe saygı gösterelim, bir teşekkürü çok görmeyelim.
resim
Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi



Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya