25 Nisan 2007 Çarşamba

V Basic Programlama

V bAsic Radyo
Kodlar aşagıda istediğin radyoyu dinle titlede çalan şarkı yazsın
Private Sub Form_Load()
WindowsMediaPlayer1.URL = "http://70.86.214.250:8035" 'RomantikTürk radyosu çalıyor
End
SubPrivate Sub WindowsMediaPlayer1_StatusChange()
Me.Caption = WindowsMediaPlayer1.Status
If WindowsMediaPlayer1.playState = wmppsReady Then MP1.URL = "http://70.86.214.250:8035" 'Hata Halinde tekrar yükler
If WindowsMediaPlayer1.playState = wmppsPlaying Then Me.Caption = " Radyo - Yayında"End Sub

winsock
Winsock KontroluWinsock kontrolü ile TCP/IP veya UDP protokolü kullanarak network programları (Server veya client) yazılabilir. Winsock kontrolü ile karşı bilgisayarı kontrol etmek için bir program, karşı bilgisayara dosya göndermek için bir program veya chat programı gibi programlar yazılabilir.Connect komutu:Diğer bilgisayarlara bağlanmak için Connect komutu kullanılır. Kullanımı şu şekildedir:Winsock1.Connect IP_numarası, port_numarasıBuradaki IP numarası bağlanacağımız bilgisayarın IP numarası, port numarası ise bağlantı kuracağımız portdur. IP numarası yerine varsa bilgisayarın domain adı yazılabilir.Bağlantı kurulduğunda Winsock1_Connect() olayı meydana gelir.SendData komutu:Bağlantı kurduktan sonra karşı bilgisayara veri yollamak için kullanılır. Kullanımı şu şekildedir:Winsock1.SendData veriListen komutu:Bir server programı yazmak için Listen komutu kullanılır. Kullanımı şu şekildedir:Winsock1.ListenBu komut ile bilgisayarda bir port açılır ve bağlantıyı bekler. Visual basic default olarak 1050 portunu açar. Başka bir port kullanmak için "Winsock1.LocalPort" kullanılır. Örneğin:Winsock1.LocalPort = 777Server programımıza bağlantı kurulmaya çalışıldığında "Winsock1_ConnectionRequest" olayı gerçekleşir. Bağlantı isteğini kabul etmek için şu komut kullanılır:Winsock1.Accept requestIDServer programımıza bir veri yollandığında ise "Winsock1_DataArrival" olayı meydana gelir. Gelen veriyi okumak için ise şu komut kullanılır:Winsock1.GetData gelen, vbStringBuradaki "gelen" veriyi aktaracağımız değişkendir.Close komutu:Bağlantıyı kesmek için Winsock1.Close komutu kullanılır. Bağlantı kurduğumuz server visual basic ile yazılmış bir server ise bağlantıyı ilk olarak server kesmelidir. Server bağlantıyı kestikten sonra client olan programımızda "Winsock1_Close()" olayı gerçekleşir. Bu olay gerçekleşince "Winsock1.Close" komutuyla bağlantıyı düzgün bir şekilde kesmiş oluruz. Eğer bu şekilde bağlantıyı kesmezsek portlar kapanmaz ve bir daha bağlanmaya kalkarsak visual basic "Adress in use" hatası verir. Bir hata oluştuğunda ise "Winsock1_Error" olayı meydana gelir.

Domain Nameden ip Alma
simdi winsock nesnesini kullarak domain namelerden sitelerin ip adreslerini bulacağiz.visual basic te standart exe yi sectikten sonra projeye components den "Microsoft Winsock Control 6.0" ı ilave edin.form a 2 adet textbox 1 adet buton ve winsock u ekleyin.'simdi forumun load kismina text1 in baglanti kurulacak adres cubugu ' olarak kullanildigğini belirtiyoruz,'daha sonra text2 bosaltip ; comand1 in bağlanti kurdugunu gosterdik.
sub form_load()
form1.caption = "Vbasic Master İpuclari"command1.caption = "Bağlan"text2 = ""text1 = "www.hotmail.com"end sub'daha sonra command1 in click yordamina winsock nesnesinin bağlanti' kurmasi gereken adresin text1 de oldugunu belirtik.sub command1_click()winsock1.connect text1.text, 80end sub've simdi winsock nesnesinin bağlanti kurmasi durumunda yapmasi gerekeni yaziyoruz.' yani winsock server a baglanti kurmasi durumunda text2 ye bağlanti kurdugu server' ipsini yazdiriyor.ve winsock u kapatiyor.sub winsock1_connect()
text2.text = winsock1.remotehostipwinsock1.closeEnd Sub've son olarakta winsock un hata vermesi durumunda, yapmasi gereken 'işlemleri 'yaziyoruz,hatayi bildirmesini ve winsock u kapatmasi.sub winsock1_error(byval number as integer,description as string,byval scode as long, byval source as string,byval helpfile as string, byval helpcontext as long, canceldisplay as boolean)msgbox "Hata Oluştu Tekrar Deneyiniz", vbinformation,"hata durumu"winsock1.closeEnd Sub'bunu geliştirmek sizin elinizde ama son olarkata bunlari loglamak isteyenlere bir ip ucu verim'bir adet command buton daha ekleyip click yordamina sub command2_click()
dim yolyol = freefileopen "c:" & text1 & ".txt" for output as #yolprint #yol, "Server İsmi :" & text1print #yol, "Server İpsi :" & text2closeend suıb