• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

[Guida] Creare una chat con vb6

InfernoHacker

Utente Master
Autore del topic
18 Agosto 2007
2.775
0
Miglior risposta
0
Allora ragazzi prima di tutto apriamo visual basic 6 e creiamo un TextBox abbastanza grande da contenere i messaggi e chiamiamolo "txtMessaggi" ( senza "" ) e impostiamo la proprietà "multiline" su True
Adesso creiamo un altro TextBox e lo chiameremo "txtdainviare" e anke qst con multiline True .
Successivamente creiamo un controllo Winsock impostiamo il protocollo a TCP e chiameremo questo controllo Winsock "TCP" e impostiamo local port su "0"
Creiamo altri 2 TextBox nei quali inseriremo HOST e PORTA .
Ora è arrivato il momento di inserire i Command Button
Allora creiamone uno con la proprietà "caption" -> Connetti -> prop. Name -> cmdConnetti
Un altro con la caption -> Disconnetti -> prop. Name -> cmdDisconnetti
un altro -> Invia -> prop. Name -> cmdInvia
e l'ultimo -> Ascolta -> prop. Name -> cmdAscolta

( prop. vuol dire proprietà :emoji_slight_smile: )
Adesso vedremo i codici da inserire per ogni controllo :

Prima del controllo Winsock dichiariamo una variabile di tipo nick :

Dim nick As String

Poi nel form_load scriviamo

nick = InputBox("Scrivi il nick", "Nick")
If nick = "" Then
MsgBox "Nick non valido", vbCritical, "Chat"
End
End If

Adesso possiamo vedere il controllo Winsock :
Nella dichiarazione -> TCP_ConnectionRequest inseriamo

If (TCP.State <> sckClosed) Then TCP.Close 'Chiude la connessione se è già aperta per evitare errori
TCP.LocalPort = 0 'Imposta la porta a 0
TCP.Accept requestID 'Accetta la richiesta del client
Me.Caption = "Connessione riuscita!" 'Descrive lo stato
TCP.Tag = TCP.RemoteHostIP 'Salva l'ip remoto nella proprietà tag del winsock

Nella dichiarazione -> TCP_DataArrival

Dim data As String 'Qui verranno salvati i dati
On Error Resume Next 'Controllo degli errori
TCP.GetData data 'Salva i dati ricevuti nella variabile Data
txtMessaggi.Text = txtMessaggi.Text & vbCrLf & "Received: " & data 'Accoda i dati nella textbox dei messaggi

Adesso vediamo il Command Button "invia" -> doppio click e inseriamo

Dim mex As String 'Variabile contenente il messaggio
mex = txtdainviare.Text 'salva i dati dai inviare nella variabile
txtMessaggi.Text = txtMessaggi.Text & vbCrLf & "Send: " & mex 'Accoda il messaggio alla textbox dei messaggi
TCP.SendData mex 'Manda il messaggio

Ora il Command Button "ascolta -> doppio click e inseriamo

Me.Caption = "Stato: In ascolto" ' Descrive lo stato
TCP.LocalPort = Val(txtPort) 'Imposta la porta da ascoltare leggendola dalla textbox della porta
TCP.Listen 'Si mette in ascolto

Ci mancano solo 2 Command Button :

Connetti

If TCP.State <> sckClosed Then TCP.Close 'chiude la connessione se è aperta
TCP.LocalPort = 0 'Imposta la porta a zero
TCP.Connect txtHost, txtPort 'Connessione al client
Me.Caption = "Connesso all'host" 'Descrive lo stato Nell 'evento click del pulsante disconnetti scriviamo:
Me.Caption = "Connessione chiusa"
TCP.Close 'Chiude la connessione

e Disconnetti

Me.Caption = "Connessione chiusa"
TCP.Close

Spero di esservi stato d'aiuto...:emoji_slight_smile:



EDIT :

Ho creato una chat semplice biutente con tanto di source (un po diversi da quelli della guida ) ma c'è :

Eseguibile,Source,Spiegazione,tutto nel .rar

Download :

Perfavore, Entra oppure Registrati per vedere i Link!


Scansione :

Perfavore, Entra oppure Registrati per vedere i Link!


Spero che adesso vi abbia un po aiutato postando questo
 
Ultima modifica:
scusatq potete spiegarmi con parole più semplici dal passaggio dei bottoni non si capisce il linguaggio

P.S io uso vb2008 si può fare la chat?
 
nn ciò capito nnt xDD potresti fare una guida cn immagini ecc...

scusa e che sn un pò crtiono cn ste guide senza immagini
 
so ke sn un po niubbo xò... cm si crea un controllo winsock???
 
Ultima modifica:
Vi siete accorti che questa disc risale a febbraio ? -.-

:emoji_relieved: E peraltro l'hanno riempita di post inutili.. Tutti inutili apparte la domanda a cui rispondo ora.

@TRANZOLLO Per creare un controllo Winsock vai su Progetto > Componenti > spunta Microsoft Winsock Control e poi lo inserisci nel form.
 
non ho capito a cosa servono i due textbox per host e porta...
e poi per far entrare i miei amici devo passargli il programma giusto?
 
Ragazzi una cosa: se non sapete usare nulla di Visual Basic come fate a seguire le guide? Prima cercate qualche guida per impararvi ad usarlo e soprattutto imparate il linguaggio!
 
Tranzollo i TextBox Host e Porta sono nel Client.
Il controllo winsock si connette all'Host riportato nel TextBox Host tramite la porta riportata nel TextBox Porta.

Questa è una chat BIUTENTE,perciò SOLO 2 UTENTI .
Colui che ha il server deve avere un IP Statico,altrimenti se ha il router o un IP dinamico deve usare hamachi (come per i retro).

Per connetterti ad un amico (mettiamo che tu abbia l'IP Statico) devi dargli il client e dirgli di scrivere l'IP del server su Host (tuo IP -> Statico Hamachi -> Dinamico )

Ho creato una chat semplice biutente con tanto di source (un po diversi da quelli della guida ) ma c'è :

Eseguibile,Source,Spiegazione,tutto nel .rar

Download :

Perfavore, Entra oppure Registrati per vedere i Link!


Scansione :

Perfavore, Entra oppure Registrati per vedere i Link!


Spero che adesso vi abbia un po aiutato postando questo

PS : Lo scrivo anche sul primo post
 
Non so se te nè 6 accorto loddo ma l'ho postata prima io il che vuol dire che è mia e quindi non l'ho copiata io ma lui -.-
Prima di parlare fai più attenzione ai dettagli.
Grazie :emoji_slight_smile: