Título: Haber si alguien entiende esto? Publicado por: n3ts4mura1 en 1 Agosto 2006, 04:52 am 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. Título: Re: Haber si alguien entiende esto? Publicado por: -POLACO- en 1 Agosto 2006, 08:35 am Ponelo asi : tu mismo codigo solo agregas los colores
Código: socket. Funciona asi ??? .-. Título: Re: Haber si alguien entiende esto? Publicado por: n3ts4mura1 en 1 Agosto 2006, 10:21 am 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.
Título: Re: Haber si alguien entiende esto? Publicado por: -POLACO- en 2 Agosto 2006, 05:59 am 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 .-. Título: Re: Haber si alguien entiende esto? Publicado por: n3ts4mura1 en 2 Agosto 2006, 20:36 pm -POLACO-
gracias lo probare cuidate xD Título: Re: Haber si alguien entiende esto? Publicado por: n3ts4mura1 en 3 Agosto 2006, 06:21 am 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 =(. Título: Re: Haber si alguien entiende esto? Publicado por: n3ts4mura1 en 3 Agosto 2006, 11:02 am 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. Título: Re: Haber si alguien entiende esto? Publicado por: -POLACO- en 6 Agosto 2006, 06:02 am 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 .-. |