wmaraci reklam

[VB6] Sohbet (irc) Programı Oluşturuyoruz

3 Mesajlar 3.090 Okunma
Toplam 3 mesaj ve 3.090 görüntüleme
acebozum
wmaraci reklam

AtakanAtes AtakanAtes 1881 - 193∞, özlemle... Kullanıcı
  • Üyelik 05.06.2011
  • Yaş/Cinsiyet 31 / E
  • Meslek Yazılım Tek.
  • Konum Ankara
  • Ad Soyad A** A**
  • Mesajlar 2869
  • Beğeniler 749 / 748
  • Ticaret 25, (%100)
Merhaba arkdaşlar bu dersimizde visual basic 6 ile Sohbet (chat) sistemi oluşturacağız. İlk olarak bu bir örnek çalışmadır ve görsellik açısından zayıftır. Geliştirilmeye açık mantığı anlamanız yeterli olcaktır. Dersimize Başlayalım;

İlk Olarak: Sistemimize yönetmek ve için bir server oluşturmamız gerekiyor. Projemden örnek bir Servera bağlanma görüntüsü veriyorum:



Evet şimdi Servera bağlanmak için bir "Winsock" nesnesi kullanmalıyız form'a bir tane Winsock ekledikten sonra 2 tane text ekliyelim. Birisi IP Okuyucu diğeri ise port okuyucu olsun. Ve birde "Sohbete Bağlan" eklemek için ben label kullandım siz command'da kulanabilirsiniz ve çift tıklayıp şöyle yazıyoruz:
If ipText = "" And portText = "" Then
bilgi = "Boş Alan Var !" ' eğer eksikse
Else ' değilse
sck.Close 'sck kapat
sck.RemoteHost = ipText 'ipyi oku
sck.RemotePort = portText 'portu oku
sck.Connect 'belirlenen ip ve porta bağlan
Frame1.Visible = True
Form1.Height = "7650"
End If 'döngüyü bitir
Evet şimdi bağlantı ayarlarını yaptık şimdi sohbet alanı için 2 tane textbox ve 1 tane command ekliyoruz.Command gönder butonu olcak ve içine:
sck.SendData (sck.LocalHostName + ": " + txtMsj.Text)
chat.Text = chat + "Ben= " + txtMsj + vbCrLf
txtMsj.Text = ""
Örnek bir görüntü:



Şimdi ise 3 command daha ekliyelim ve bunlar kanalda ki kullanıcılar adına olsun. Misal flood yapak veya kurallara uymayan kullanıcıya uyarı verelim.

Uyarı ver butonu:
Dim iuyari As String 'metinsel şekilde bir değişken
iuyari = "ver"
uyariver.Visible = False
uyariverme.Visible = True
Uyarı verme butonu:
Dim iuyari As String 'metinsel şekilde bir değişken
iuyari = "verme"
uyariver.Visible = True
uyariverme.Visible = False
Ve şimdi Form_Code'u tekrar açıp şu kodları ekleyelim:
Private Sub sck_DataArrival(ByVal bytesTotal As Long)
If sck.State = sckConnected Then
Dim gveri As String
sck.GetData gveri
msj.Text = ""
msj.Text = gveri
chat.Text = chat + gveri + vbCrLf
If iuyari = "ver" Then uyr_Load
End If
End Sub

Private Sub uyr_Load()
dikkat.Show
End Sub
Burada kullanıcı uyarı aldığında dikkat form'u açılacaktır. Dikkat form'unu ben şu şekilde yaptım:



Dikkat formuna:
Private Sub Form_Load()
dikkat.Top = Screen.Height - dikkat.Height
dikkat.Left = Screen.Width - dikkat.Width
End Sub
Sağ altta çıkması içindir.

Ve "x" harfine tıklandığında kapanması için:
Unload dikkatŞimdi tekrar ana form'a dönüp devam ediyoruz. Bağlantıyı kesmek istediğiniz zamanda bir buton oluşturup şunu ekliyorsunuz:
sck.CloseVe Server'ımızı Hazırlamış Durumdayız. Şimdi diğer kullanıcıların odaya katılabilmesi için oluşturmamız gereken birde client var. :) Başlıyoruz.

Daha pratik olması açısından diğer projenizi birebir kopyalayın ve 1 adet timer ekleyin. Timer'ın içine:
If sck.State = sckClosed Then
sck.Close
sck.LocalPort = portText.Text
sck.Listen
Frame1.Visible = True
Form1.Height = "7650"
Else
portkontrol.Enabled = False
End If
Bağlantı ayarını kontrol etmek için:
Private Sub sck_Close()
sck.Close
sor = MsgBox("Bağlantı Kesildi.Tekrar bağlanılsınmı", vbYesNo, "")
If sor = vbYes Then
portkontrol.Enabled = True
Else
portkontrol.Enabled = False
End If
End Sub
Gönderme Kodları:
Private Sub msj_KeyPress(KeyAscii As Integer)
ab = KeyAscii
If ab = 13 Then Call gonder_Click
End Sub
Private Sub sck_ConnectionRequest(ByVal requestID As Long)
If sck.State <> sckClosed Then sck.Close
sck.Accept requestID
End Sub
Gelen mesajları görebilmemiz için:
Private Sub sck_DataArrival(ByVal bytesTotal As Long)
Dim gelen As String
sck.GetData gelen
txtMsj.Text = ""
txtMsj.Text = gelen
chat.Text = chat + gelen + vbCrLf
gelen = ""

End Sub
Eğer bağlantı hatamız varsa:
Private Sub sck_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)
sck.Close
portkontrol.Enabled = True
End Sub
Web artık sorunsuz bir Sohbet programımız var :)
[SIZE=1]"Clienti çalıştırmadan server'ı çalıştıramazsınız"[/SIZE]




[SIZE=4][COLOR=Red]Örnek Projeyi İndir[/COLOR][/SIZE]

kaynak

 

 

Uygun fiyat garantisiyle, Wordpress hizmetleri.
wmaraci reklam
reklam

Onur89TR Onur89TR Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 04.12.2011
  • Yaş/Cinsiyet 35 / E
  • Meslek .
  • Konum İzmir
  • Ad Soyad ** **
  • Mesajlar 2376
  • Beğeniler 704 / 791
  • Ticaret 1, (%100)
Dostum şevkini kırmak istemem fakat Visual Studio 2012 çıkmış siz hala VB 6 kullanıyorsunuz. Bu Windows 8 varken Windows 98 SE kullanmaya benziyor. Biraz daha güncellenelim, yeniliklere açık olalım diyorum. Ne dersin?
brk

kişi bu mesajı beğendi.

AtakanAtes AtakanAtes 1881 - 193∞, özlemle... Kullanıcı
  • Üyelik 05.06.2011
  • Yaş/Cinsiyet 31 / E
  • Meslek Yazılım Tek.
  • Konum Ankara
  • Ad Soyad A** A**
  • Mesajlar 2869
  • Beğeniler 749 / 748
  • Ticaret 25, (%100)

Onur89TR adlı üyeden alıntı

Dostum şevkini kırmak istemem fakat Visual Studio 2012 çıkmış siz hala VB 6 kullanıyorsunuz. Bu Windows 8 varken Windows 98 SE kullanmaya benziyor. Biraz daha güncellenelim, yeniliklere açık olalım diyorum. Ne dersin?

Tercih meselesi ki VS 2012'den çok vb6 yaygın durumda.
 

 

Uygun fiyat garantisiyle, Wordpress hizmetleri.
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al