socket.
'recibo datos de esta manera.
Dim datos As String
Winsock1.GetData datos
RichTextBox1.SelText = (RichTextBox1.SelText + datos )
'envio datos de esta manera.
Dim enviar As String
enviar = Text1.Text
RichTextBox1.SelText = (RichTextBox1.SelText+Text1.Text)
Winsock1.SendData enviar
ahora ejem esto es lo que tengo yo.
muestro tanto el mensaje que envio yo en richtextbox como el que envio y lo que quiero hacer es que el mesaje que yo envio sea de un color y el que recibo sea de otro alguien sabe como se puede hacer porfavor muy urgido con esto.
Ponelo asi : tu mismo codigo solo agregas los colores
socket.
'recibo datos de esta manera.
Dim datos As String
Winsock1.GetData datos
RichTextBox1.SelColor = vbBlue
RichTextBox1.SelText = (RichTextBox1.SelText + datos )
'envio datos de esta manera.
Dim enviar As String
enviar = Text1.Text
RichTextBox1.SelColor = vbRed
RichTextBox1.SelText = (RichTextBox1.SelText+Text1.Text)
Winsock1.SendData enviar
Funciona asi ??? .-.
Entiendo claro que funciona si lo tenia haci pero hay alguna forma de enviar el dato de color que yo escoja porque el usuario que utiliza el programa escoge el color con el que se lo quiere enviar al otro nose si me entiendes.
Tendrias que hacer algo asi ,si un cliente selecciona el color verde por ejemplo cuando envia la data por el winsock deberia enviar algo asi :
Winsock1.SendData "Verde" + lo que quieras enviar
al Recibir la Data tu winsock debe separar la cadena "Verde" de la data y ahi traducir "Verde" por VbGreen o por su correspondiente Nº hexadecimal del color.
If Left(datos,5)="verde" then
RichTextBox1.SelColor = vbGreen
RichTextBox1.SelText = (RichTextBox1.SelText + datos )
end if
If Left(datos,5)="&HFF&" then
RichTextBox1.SelColor = &HFF&'=rojo
RichTextBox1.SelText = (RichTextBox1.SelText + datos )
end if
esa es la idea .
Podes hacer que envie el Nº en hexadecimal de los colores o Numerar los colores ,eso idealo vos ,pero la idea es que tenes que desglosar lo que llega por el Winsock ahi separar el color ,para asi poder asignarle al RichTextBox el color que te enviaron .
No se si quedo claro,saludos .-.
-POLACO-
gracias lo probare cuidate xD
que significa eso de (datos,5) y Left?
y otra cosa tengo un boton que le muestra los colores al cliente el showcolor() entonces hay nose como hacerlo haber te muestro ese boton que es lo que tengo .
cdl.ShowColor
RichTextBox1.SelColor = cdl.Color
eso tengo pero esta mal para lo que yo quiero hacer =(.
Si -Polaco- esta bien pero recuerda que al enviar esto:
Winsock1.SendData "Verde" + lo que quieras enviar
tambien envio la palbra Verde nose si me entiendes y no quiero enviar la palabra verde.
Sollo te agarra el verde por que vos colcas esto
If Left(datos,5)=verde'esto verifica los 5 caracteres de la izquierda
If Left(datos,5)=rojo 'agarra los primeros cinco y como la palabra"rojo" tiene 4 caracteres ,te agarra la palabra rojo + el primer caracter siguiente ,por lo consiguiente NO es =rojo.
La funcion Left indica que debe contar desde la izquierda y el ",5" indica que solo leera 5 caracteres.
Lo ideal para tu caso seria crear un pequeño protocolo con los colores ejemplo:
01=rojo
02=verde
03=amarillo
asi todos tendran 2 digitos y los agarras a todos haciendo asi :
If Left(datos,2)=01
Otra manera es hacer Split pero veo que te vas a complicar la vida.
Lee TRATAMIENTO DE CADENAS ahi aprenderas todas las funciones.
Debes enviar o la palabra Verde o un protocolo o algo que indique el color asi el programa sabe que color meter en el richtextbox ,pero si manejas las cadenas la palabra verde NO sale en el rich.
SendData "Verde" + lo que quieras enviar
If Left(datos,5)=verde'esto agarra solo "Verde"
Enviado=Mid(data,6)'agarra desde el caracter nº 6 hasta el final de la cadena,dejando de lado la palabra "Verde"
Espero te sea util .-.