Makale Özeti

Bu makalemde vb.net kullanarak basit bir browserın nasıl yapıldığını göreceğiz. Amacım browserın işleyiş yapısını basite indirgeyerek anlatabilmek.

Makale

VB.Net ile basit bir Browser’ın programlanması

 

Bu makalemde vb.net kullanarak basit bir browserın nasıl yapıldığını göreceğiz. Amacım browserın işleyiş yapısını basite indirgeyerek anlatabilmek. Geliştirmeye açık bu webbrowserı kendi eklemeleriniz sayesinde kişisel explorer haline getirebilirsiniz elbette. Ne de olsa öğrenim gördüğümüz dal, yazılım geliştirme :)

Browser(web tarayıcısı) World Wide Web uzerinde dökümanların transfer edilip görüntülenmesini saglayan programlara verilen addır. İnternet explorer yoluyla erişebilecegimiz İnternet servisleri şunlar olabilir;

  - WWW

- TELNET

- GOPHER

- WAIS

- FTP dir.

Bunlardan en çok kullanılanı WWW servisidir. Kısaca tanımlarsak ;

W W W, Web, ya da W3 (World Wide Web), yazı, resim, ses, film, animasyon gibi pek çok farklı yapıdaki verilere kompakt ve etkileşimli bir şekilde ulaşmamızı sağlayan bir çoklu hiper ortam sistemidir.

Hiper ortam, bir dökümandan başka bir dökümanın çağırılmasına (navigate) olanak sağlar (iç içe dökümanlar). Bu ortamdaki her veri (object), başka bir veriyi çağırabilir (link). Link, aynı döküman içinde başka bir yere olabildiği gibi,fiziksel olarak başka bir yerde (internet üzerindeki herhangi bir makinada) de olabilir. Bütün bu farklı yapıdaki veriler uygun bir standart ile bir arada kullanılıp bir Web Listeleyicisinde (Web Browser) görüntülenebilir. Web'in diğer bir işlevi de, öteki bazı internet servislerini kendi içerisinde barındırmasıdır (ftp, gopher, news, waisgibi).

Şimdi ise bir browserın en basite getirilmiş halini beraber yapalım ve  browserın işleyiş yapısını öğrenelim;

 

 

 

Yeni sayfa buttonu ile her yeni adres açtığımızda yeni sayfanın nasıl oluşturulacağını tab controlü sayesinde yazıyoruz. Tarayıcımızı tab contolüne ekliyoruz ve seçili olan sayfanın aktif olarak gösterilmesini sağlıyoruz.;

 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        LinkLabel1.Links.Add(0, 9, "http://www.bilgeadam.com")

        Me.AcceptButton = btngit

    End Sub

    Private Sub btngit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btngit.Click

        'Girilen baglantinin basinda http ifadesi

        'bulunmuyorsa bu ifade eklenir

        If Not txtadres.Text.StartsWith("http://") Then

            txtadres.Text = txtadres.Text.Insert(0, "http://")

        End If

 

        'Tabcontrol nesnesinde sayfa yoksa yada yeni sayfa

        'secenegi secilmisse, adres yeni sayfada gosterilir.

 

        If rbyenisayfa.Checked OrElse TabControl1.TabPages.Count = 0 Then

            yenisayfa(txtadres.Text)

        Else

            aynisayfa(txtadres.Text)

        End If

 

    End Sub

    Sub yenisayfa(ByVal link As String)

        'dinamik kontrolleri olusturuyoruz

        Dim sayfa As New TabPage(link)

        Dim tarayici As New AxSHDocVw.AxWebBrowser

        tarayici.Dock = DockStyle.Fill

 

        'tarayici tabpage kontrolune eklenir

        sayfa.Controls.Add(tarayici)

 

        'olusturulan sayfa tabcontrol nesnesine eklenir

        TabControl1.TabPages.Add(sayfa)

 

        'yeni acilan sayfa secili olarak gosterilir

        TabControl1.SelectedTab = sayfa

 

        'tarayıcı, verilen baglantıyı goruntuler

        tarayici.Navigate(link)

    End Sub

 

 

 

Seçilen sayfa üzerinde internet adresimizin gösterilmesi sağlanır. Sayfayı kapat buttonu ile aktif olan sayfa kapanır;

 

  Sub aynisayfa(ByVal link As String)

        'internet sitesi, secilen sayfada gosterilir

        Dim sayfa As TabPage

        sayfa = TabControl1.SelectedTab

 

        Dim tarayici As AxSHDocVw.AxWebBrowser

        'tarayici, sayfanin kontrollerini icinde bulundurur

        'sayfada baska kontrol bulunmadigi icin, ilk

        'kontrol tarayicidir

 

        tarayici = sayfa.Controls(0)

 

        sayfa.Text = link

        tarayici.Navigate(link)

 

    End Sub

    Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked

        yenisayfa(e.Link.LinkData)

    End Sub

 

    Private Sub btnsayfayikapat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsayfayikapat.Click

 

        Dim sayfa As TabPage

        sayfa = TabControl1.SelectedTab

 

        If Not sayfa Is Nothing Then

            sayfa.Dispose()

        End If

 

    End Sub

End Class

 

 

Çok kısa sürede en azından bir browserın nasıl işlediğini tanımış ve görmüş olduk. Mantığı kavradıktan sonra geliştirmek oldukça kolay. Farklı makalelerde görüşmek üzere.

 

 

 

Yağız Gönüler

yagizgonuler@gmail.com