[ Ders 5 ] Visual Basic İçinde İnternet
Yazılım Aracı - Yazılımcıların Buluşma Noktası / Programlama / Programming / Yazılım Programlama / Software Programming / Visual Basic 6.0 / [ Ders 5 ] Visual Basic İçinde İnternet
Konu Sahibi: Morningstar, Kategori: Visual Basic 6.0, 0 Yorum, 1172 Okunma
06-02-2020, Saat: 23:53 (Son Düzenleme: 09-02-2020, Saat: 22:00, Düzenleyen: Morningstar.)
VISUAL BASIC İÇİNDE INTERNET
UYGULAMALARI (WebBrowser KONTROLÜ)
VISUAL BASIC VE INTERNET
Internet artık hemen hemen bilgisayarı olan tüm kullanıcıların bağlı olduğu bir bilgi otobanı olarak yazılım geliştiricilere yeni yaklaşımlar sunmaktadır. Internet adı ile çok sık tekrarlana bir diğer kavram da gezgin ya da göz atıcı diye Türkçeleştirdiğimiz Browser kavramıdır. Gezginler internet ortamında HTML biçimindeki belge dosyalarını bizim alışık olduğumuz Web sayfaları olarak görüntüleyen programdır. Visual Basic 5.0 ile yazılım geliştirme işlemi, Visual Basic kullanıcıları için, internet ortamına sıçramış ve 6.0 sürümü ile internet, yaygın bit uygulama platformuna dönüşmüştür. Bu sebeple bu bölümde anlatılacak olan WebBrowser kontrolünü bir önceki bölümümüzde anlattığımız standart Visual Basic kontrollerinden ayırma ihtiyacı hissettik.
Visual Basic’in yazılım geliştirmede sağladığı kolaylıklar ve getirdiği yenilikler ile çok sık kullanılan Internet Explorer veya NetScape Navigator ‘ı kullanmak yerine, sadece kendimize ait gezgin türü programlar yazma şansına sahibiz.
Bu bölümde ki amacımız bu tür bir gezgini oluşturabilmek için gerekli olan WebBrowser kontrolünün özelliklerini açıklamak olacaktır. WebBrowser kontrolünü kullanabilmemiz için internet bağlantımızın olması gerekir. Evinizde, Windows 95 veya NT işletim sistemlerindeki çevrim içi bağlantı(dial-up ) ile modeminiz kullanarak bir servis sağlayıcısı üzerinden veya işyerinizden veya okulunuzdan network aracılığı ile internete bağlanabilirsiniz. WebBrowser kontrolünü kullanarak oluşturacağımız gezginimizin çalışabilmesi için bu bağlantının gerçekleştirilmiş olması gerekmektedir.
WebBrowser ‘ı kullanmaya başlamadan önce bu kullanışlı kontrolün ne işe yaradığını şu şekilde adımlandırabiliriz.
1. ) Belirttiğiniz adrese gider
2. ) Oradaki HTML belgesini alır ve
3. ) Bu HTML belgesini göstermeye alıştığımız Web sayfalarına dönüştürür.
HTML , Hypertext Markup Language kelimelerinin baş harflerinden oluşan bir akronimdir. Web sayfaları HTML biçimlerinde yazılan sayfalardır. WebBrowser kontrolü ise Internet ‘ten veya şirketinizin
içindeki Intranet’ ten işte bu HTML sayfalarını alarak sizin için otomatik olarak Web sayfalarına dönüştüren bir taşıyıcıdır. (Container) WebBrowser kontrolünün yapabildikleri sadece bunlarla sınırlı değildir. Bu kontrolün özelliklerini ve metodlarını kullanarak sadece yazacak olduğunuz birkaç satır kodla bir uygulamayı mekanizmanıza çekmek için(download) veya kullanıcının ziyaret ettiği sayfaların listesini kullanarak bu sayfalar arasında ileriye veya geriye yönlendirme yapmak için kullanabilirsiniz.
Şayet Internet Explorer ‘ın 3 veya daha sonraki sürümünü mekanizmanıza kurmuşsanız WebBrowser kontrolüne de sahipsiniz demektir. WebBrowser kontrolü Microsoft’ un internet kontrolleri içinde bulunur. Ctrl+T kısa yol tuşu ile veya Project/Components menü komutu ile Components ileti penceresini açacak olursanız bu ekranda aşağıdaki Microsoft Internet Controls seçeneğini seçerek araç kutusuna dahil edebilirisiniz.
Yukarıda Microsoft Internet Controls seçilip OK butonuna tıklandıktan sonra WebBrowser kontrolünü araç çubuğunuzda görebilirsiniz.
WebBrowser kontrolünün en önemli metodu Navigate metodudur. Bu metod, bilgi olarak, tek bir argüman alır; bu argüman, WebBrowser’in görüntülenmesini istediğimiz lokasyonun adresini belirten bir stringten oluşur. Form üzerine yerleştirdiğiniz WebBrowser nesnesinin adı, webBrowserl ise, bu metod aşağıdaki gibi kullanılır:
Burada www.arabul.com.tr ile belirtilen, erişebilmek istenen internet lokasyonunun adresidir. Bu adresin, http:ZZ.federal.com.tr şeklinde yazılmasına gerek yoktur. Çünkü, WebBrowser kontrol nesnesi, gerekli kısmı kendisi eklemektedir.
Aşağıdaki örnek, form açıldığında Federal’ ın sayfasına bağlanacaktır.
Yukarıdaki formda WebBrowser kontrolü Federal’ in sayfasını hem almakta hem de alabildiği kadarını ekranda görüntülemektedir. Sayfa ekrana sığmadığı için de kaydırma çubukları görüntülenmektedir.
Yukarıdaki WebBrowser kontrolüne form yüklenirken sabit bir değer verdik. Bu sayfanın yüklenmesi bittikten sonra formumuz sürekli olarak aynı sayfayı görüntüleyecektir. Halbuki bizim amacımız formumuzun yani üzerine yerleştirdiğimiz WebBrowser kontrolünün istediğimiz adresleri görüntülemesini sağlamak olmalıdır. Bu amaç için formun üstüne aşağıdaki gibi bir tane metin kutusu ve komut butonu ve bu kontrolleri WebBrowser kontrolünden ayırmak için de bu kontrolleri içine alacak çerçeve kontrolünü (Frame)yerleştirelim. Metin kutusunun ismini txtAdres ve butonun ismini cmdGoster, başlıkları ise sırası ile http://federal.com.tr ve Göster olarak değiştirelim.
Formumuzun tasarım anındaki görüntüsü yukarıdaki gibi olacaktır.
Şimdi komut butonunun click olayını aşağıdaki Visual Basic kodunu girelim.
Private Sub cmdGoster_Click()
WebBrowser1 .Navigate txtAdres.Text
Böylece metin kutusuna bir internet adresi yazıp Gönder başlıklı butona tıkladığımızda WebBrowser kontrolümüz belirttiğimiz adresteki anan sayfayı alıp görüntüleyecektir.
Aşağıdaki ekranda formumuzun bağlandığı adres ve bu adresteki sayfanın WebBrowser tarafından dönüştürülen web sayfası görülmektedir.
Bağlanmasını istemediğiniz sayfalar varsa bunu Göster başlıklı butonun komut click olay prosedürünü aşağıdaki gibi değiştirerek kontrol edebilirsiniz.
If InStr("sex.com", txtAdres.Text) Then
MsgBox "Bu sayfa çok seksi bir sayfadır bağlanamazsınız"
WebBrowser’ un Navigate metodunu kullanmadan önce On Error Resume Next ifadesini belirtmelisiniz. Aksi takdirde bağlantının kopuk olduğu sırada programınızı çalıştırırsanız hata mesajı ile programınız kırılacaktır. Navigate metodunun genel yazılımı aşağıdaki gibidir.
WebBrowserKonrolİsmi.Navigate URL [Bayraklar,] [Hedef Çerçeve İsmi,] [PostData,] [Başlıklar]
URL, Uniform Resource Locator (Biçimli Kaynak Yeri Saptayıcısı) kelimelerinin baş harflerinden oluşan bir akronimdir. Görüntülemek istediğ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(history list terimi için gezi tarihçesi demeyi uygun gördük) yer alıp alamayacağını belirler. Bayraklar (Flags) parametresi kullanıldığı takdirde aşağıdaki Tablo Int.l’deki değerleri alır:
Tablo Int.l- Bayraklar (Flags) parametresinin değerleri
SEMBOLİK SABİT DEĞERİ ANLAMI Lokasyon veya dosyayı
NavOpenInNewWindow 1 yeni bir pencere kullanarak açar
NavNoHistory 2 Yeni erişilen lokasyonu gezi tarihçesine eklemez Cache bellekte saklanan
NavNoReadF romCache 4 bir kopya varsa, bu kopyayı okumaya teşebbüs etme! HTML sayfasını, lokal
NavNoWriteToCache 8 Cache bellek üzerine yazma!
Hedef Çer çeve İ smi, (Target Frame Name) parametresi, kullanımı isteğe bağlı olan bir diğer parametredir. Kullanıldığı takdirde, istenilen HTML sayfasının yeni bir çerçeve(frame) içinde görüntülenmesini sağlar.
PostDat a, bu parametre de kullanımı isteğe bağlı olan bir parametredir. HTML formları ile çalışıldığı takdirde kullanılır. Bu parametre kullanılmadığı takdirde , Navigate metodu, HTML GET metodunu kullanır, URL, bir Web sayfası değilse, bu parametre ihmal edilir.
Başlıklar, kullanımı isteğe bağlı olan diğer bir parametredir. Internet üzerinde, kendisinden yüklemek istediğiniz Web sayfasını taşıyan HTML sunucusuna(server) ilave bilgi gönderilmesini sağlar. Şayet eriştiğiniz HTML sunucusu, URL bilgisi ile belirlenmiş diğer eylemlere izin veriyorsa, bu parametre de kullanılabilir.
WebBrowser kontrol nesnesinin o esnada görüntülemekte olduğu World Wide Web (WWW) ‘e ait HTML sayfasının başlığını görüntüler.
Şayet, lokal bir HTML sayfasına bakılıyorsa, bu durumda, LocationName özelliği, dizin ya da dosyanın tüm yol adını gösterecektir.
Form üzerine yerleştireceğiniz bir metin kutusunun Text özelliğini aşağıdaki gibi atayarak, LocationName özelliğinin içeriğini görüntüleyebilirsiniz:
Text1 .Text=WebBrowser1 .LocationName
WebBrowser kontrol nesnesinin o esnada görüntülemekte olduğu World Wide Web (WWW) ‘e ait HTML sayfasının adresini (URL’ini) vermektedir.
Şayet, lokal bir HTML sayfasına bakılıyorsa, bu durumda, LocationURL özelliği, dizin ya da dosyanın tüm yol adını gösterecektir
Gezginimizi daha işlevsel bir hale getirebilirsiniz. Bunu için formunuza durum çubuğu (Status bar) ekleyelim.
Bunun için Statusbar’ın Simple Text özelliğine aşağıdaki değerleri atamamız yeterli olacaktır.
Programımızı çalıştırıp formun üstüne tıkladığımızda aşağıdaki çıktıyı elde ederiz.
Fakat bu sonucu elde etmek için formun üstüne tıklatmak yerine WebBrowser’in tetiklediği olayları kullanmamız daha uygun olacaktır. WebBrowser kontrolü bir sayfaya bağlanmadan önce BeforeNavigate olayı çalışır. Sayfa yüklenmeye başlamadan önce işlemi iptal etmek için Cancel argümanına False değerini atamak gerekir. Bu olay prosedürünün diğer parametreleri URL, Flags(Bayraklar), TargetFrameName(Hedef çerçeve ismi) ve Headers(Başlıklar) daha önce izah edilmişti. Yükleme işi devam ettiği süre içinde ise ProgressChange olayı belli aralıklarla sürekli olarak çalıştırılır. Progress ve ProgressMax isimli iki parametresi bulunur. Progress parametresinin -1 olması işlemin sona erdiğini gösterir. Yükleme işlemi bir ilerleme çubuğu ile kullanıcıya aktarılmak istenirse aşağıdaki formül kullanılabilir.
Yükleme işi sona erdiğinde de DownloadComplate olayı çalışır. İşler yolunda giderse işlem sona erdiğinde çalışır. Fakat yükleme işi
kesildiğinde veya bir hata oluştuğunda da çalışır. Bu olay NavigateComplate olayı ile benzermiş gibi görünse de ondan farklıdır. NavigateComplate olayı sadece WebBrowser kontrolü belirtilen URL adresine başarılı bir şekilde ulaştığında çalışır. Yükleme esnasında kullanıcıya programın yükleme işi ile meşgul olduğunu gösteren mouse göstergesi bu olay prosedürü için değiştirilebilir. Şimdi aşağıdaki kod satırını programınıza ekleyelim.
StatusBarl.SimpleText = "Sayfaya bağlanıyor..." & URL MousePointer = vbHourglass End Sub
StatusBar1.SimpleText = "Yükleniyor..."
StatusBar1.SimpleText = "Aktif sayfa:" & WebBrowser1.LocationName & "URL =" & WebBrowser1.LocationURL
StatusBar1.SimpleText = WebBrowserLLocationURL
Programımızı çalıştırırsak aşağıdaki görünümleri elde edebiliriz.
Programımız yeni bir adrese bağlanıyor. Durum çubuğunda Yükleniyor... ifadesi görünebilir. Aşağıda ise yükleme işinden sonraki durum çubuğu görülebilir.
Bu ilavelerden sonra hemen hemen bütün tarayıcılarda bulunan araç çubuğundaki butonları programımıza ekleyebiliriz. Bunları bir araç çubuğu veya buton şeklinde tasarlamak, butonlara resimler ilave etmek tamamen size kalmış bir iştir. Ayrıca WebBrowser kontrolünün boyutlarını da formun değişen boyutlarına göre ayarlamak gerekir. Butonları frButonPanel adındaki çerçeve nesnesinin içine, metin kutusunu ve Göster başlıklı butonu ise frURLPanel isimli çerçeve nesnesinin içine yerleştirelim. Bu arada formun adını da frmGezgin olarak değiştirmeyi unutmayınız.
Private Sub cmdDur_Click()
Private Sub cmdGeri_Click()
Private Sub cmdIleri_Click()
Private Sub cmdYenile_Click()
Private Sub cmdAra_Click()
WebBrowser 1. Go Search
StatusBarl.Height =1.2* TextHeight("I")
WebBrowserl.Left = 0
WebBrowser1.Top = frURLPanel.Top + frURLPanel.Height
WebBrowser1.Width = frmGezgin.ScaleWidth
WebBrowser1.Height = frmGezgin.ScaleWidth - frButonPanel.Height -
frURLPanel.Height - StatusBar1.Height
Web sayfasını dolaşırken, bulunduğunuz sayfadan bir önceki Web sayfasına geri döner.
Web sayfalarını dolaşırken, daha önceden erişilmiş bir Web sayfaları dizisinde, bulunulan sayfadan bir sonraki sayfaya geçişi sağlar.
Internet içindeki Web sayfaları gezintisinde, gezinin başladığı ilk sayfaya dönüşü sağlar.
Web üzerinde arama işlemlerinin gerçekleştirilebileceği sayfaya gidişi sağlar
Programın son hali aşağıdaki gibidir.
Yukarıdaki ekranda <- başlıklı butona basacak olursak bir önceki web sayfası ekrana gelecektir. Aynı zamanda formun boyutlarını değiştirecek olursanız form üzerindeki kontroller de yerlerini ve büyüklüklerini yeni boyutlarına göre dinamik olarak ayarlayacaklardır.
Visual Basic Nedir ? Hadi Cevaplayalım Morningstar 0 536 30-03-2020, Saat: 23:10
Visual Basic Kod Bank 2.0 Kod Örnekleri Morningstar 0 1,125 09-03-2020, Saat: 23:05
Visual Basic Form close butonu nasıl çalıştırılır? Morningstar 0 1,231 09-02-2020, Saat: 23:32
[ Ders 4 ] Visual Basic Kontrol Nesneleri Morningstar 0 1,114 06-02-2020, Saat: 23:22
[ Ders 3 ] Visual Basic Formlarla Çalışmak Morningstar 0 1,177 02-02-2020, Saat: 00:33
visual ders i̇çinde i̇nternet 5 basic