elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Quien me ayuda a mejorar este codigo?(Socket)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Quien me ayuda a mejorar este codigo?(Socket)  (Leído 2,471 veces)
n3ts4mura1

Desconectado Desconectado

Mensajes: 66


Ver Perfil
Quien me ayuda a mejorar este codigo?(Socket)
« en: 5 Agosto 2006, 06:21 am »

Ayudenme con esto porfavor tengo lo siguiente:

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
 
   Winsock1.GetData datos
   'num = Len(datos)
 
    Select Case Left(datos, 4)
        Case "Rojo"
                RichTextBox1.SelColor = &HFF& '=rojo
                RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" + datos )
        Case "Azul"
                RichTextBox1.SelColor = vbBlue
                RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" + datos + vbCrLf)
        Case "Verd"
                RichTextBox1.SelColor = vbGreen
                RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" + datos )
       
        Case "Amar"
                RichTextBox1.SelColor = vbYellow
                RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" + datos )
        Case "none"
                RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" + datos )
        Case Else
                'RichTextBox1.SelColor = &HFF& '=rojo
                RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" + datos )
    End Select
 
 End Sub

de esta manera recibo los datos del otro lado y puedo cambiarles de color .
y de esta manera los envio.

Private Sub Command1_Click()
On Error Resume Next
Dim enviar As String
Dim color As String
   enviar = Text1.Text
   color = Combo1.Text
   Winsock1.SendData color + enviar
End Sub

Si se pueden dar cuenta envio el color junto con el texto pero.
en el comobo tengo esta lista.

Rojo
Azul
verd
Amar
none

si me paso al poner mas de 4 carcateres me falla por que al recibir lo tengo solo con 4 y al recibir el mensaje me sal esto.

servidor diceRojo hola como estas

y la idea es que no salga la palabra rojo nose si alguien me puede ayudar a mejorar este codigo porfavor.


En línea

elmaro


Desconectado Desconectado

Mensajes: 301


Unas simples palabras...


Ver Perfil
Re: Quien me ayuda a mejorar este codigo?(Socket)
« Respuesta #1 en: 5 Agosto 2006, 12:50 pm »

cundo envies la cadena enviala asi
Código:
 Winsock1.SendData color & "|" & enviar

y cuadno la recibes solo tenes que separr las dos cadenas,. con un simple Split()
en el DataArrival() pon esto
Código:
cadenas = Split(datos, "|") 'desglosa la cadena
color = cadenas(0) 'en esta variable almacena el color
texto = cadenas(1) 'en esta variable almacena el texto

yo diria que envies el color en hexadecimal, asi no tengras que usar condicion if o case y pones el color directamente al desglosar la cadena asi:
Código:
RichTextBox1.SelColor = color
entendes?
bueno espero te sirva.
avisa si tienes alguna duda


pd: sry no avia visto que postiaste
suerte



El MaRo!


« Última modificación: 5 Agosto 2006, 12:52 pm por elmaro » En línea

n3ts4mura1

Desconectado Desconectado

Mensajes: 66


Ver Perfil
Re: Quien me ayuda a mejorar este codigo?(Socket)
« Respuesta #2 en: 5 Agosto 2006, 21:08 pm »

Osea quieres que lo reciba de esta manera.
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
Dim color As String
Dim Dice As String
'Dim Pos As Integer
   Winsock1.GetData datos
    cadenas = Split(datos, "|") 'desglosa la cadena
    color = cadenas(0) 'en esta variable almacena el color
    Dice = cadenas(1) 'en esta variable almacena el texto
    RichTextBox1.SelColor = color
    RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice :" + Dice + vbCrLf)

 End Sub

Y que lo envie de esta.


Private Sub Command1_Click()
On Error Resume Next
Dim enviar As String
Dim color As String
   enviar = Text1.Text
   RichTextBox1.SelText = RichTextBox1.SelText + "Servidor Dice= " + Text1.Text + vbCrLf
   'color = Combo1.Text
   Winsock1.SendData color & "|" & enviar
End Sub


no me funciona de esa manera =(
a y otra cosa nose si esto funcionara.

el color lo saco de aca. mira.

'esta en un boton que dice colores

Dim color As String
cdl.ShowColor
'RichTextBox1.SelColor = cdl.color
'RichTextBox1.Text = cdl.color
color = cdl.color


el cdl es el CommonDialog para los colores.

nose si eso es posible pero bueno eso hice y no funciona =(
En línea

n3ts4mura1

Desconectado Desconectado

Mensajes: 66


Ver Perfil
Re: Quien me ayuda a mejorar este codigo?(Socket)
« Respuesta #3 en: 7 Agosto 2006, 11:01 am »

plz ayudar =(
En línea



Desconectado Desconectado

Mensajes: 944


en la cuna !!


Ver Perfil WWW
Re: Quien me ayuda a mejorar este codigo?(Socket)
« Respuesta #4 en: 7 Agosto 2006, 18:19 pm »

 :huh: es para un chat..........  :huh:  man, ya te esplicaron como diferenciar los datos que llegan  y envias, fijate bien ;)
En línea

el tiempo pondrá a cada uno en su lugar
-POLACO-

Desconectado Desconectado

Mensajes: 48


Ver Perfil
Re: Quien me ayuda a mejorar este codigo?(Socket)
« Respuesta #5 en: 8 Agosto 2006, 07:14 am »

Para No agarrar la palabra rojo haces como te dice ElMAro y si no haces asi :
Siempre y cuando la cadena que te envian con el color tenga "4Digitos" he
Declaras otra variable ejemplo :


Código:
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
  Dim SinColor as string'<--Nueva VAriable
   Winsock1.GetData datos
   'num = Len(datos)
  SinCOlor=Mid(datos,5)<--Aca le asignas del  5to caracter hasta el final de la cadena
    Select Case Left(datos, 4)
        Case "Rojo"
                RichTextBox1.SelColor = &HFF& '=rojo
                RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" +  SinCOlor )
        Case "Azul"
                RichTextBox1.SelColor = vbBlue
                RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" +  SinCOlor + vbCrLf)
        Case "Verd"
                RichTextBox1.SelColor = vbGreen
                RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" +  SinCOlor )
       
        Case "Amar"
                RichTextBox1.SelColor = vbYellow
                RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" +  SinCOlor )
        Case "none"
                RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" +  SinCOlor )
        Case Else
                'RichTextBox1.SelColor = &HFF& '=rojo
                RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" +  SinCOlor )
    End Select

End Sub


Leete TRATAMIENTO DE CADENAS funciones Mid,Left,Instr,etc,etc,
Un Saludo .-.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda a mejorar código. C sobre Linux.
Programación C/C++
NeoB 2 2,131 Último mensaje 16 Febrero 2012, 15:59 pm
por NeoB
Mejorar PC socket 775
Hardware
erikcatala 5 4,001 Último mensaje 14 Agosto 2015, 20:45 pm
por Orubatosu
Mejorar este código
.NET (C#, VB.NET, ASP)
Meta 1 2,095 Último mensaje 12 Diciembre 2015, 21:56 pm
por kub0x
Se puede mejorar este codigo¿?
Programación C/C++
trioper 4 2,133 Último mensaje 29 Abril 2017, 12:16 pm
por MAFUS
Quién me ayuda convirtiendo este código de c a c++, please!
Programación C/C++
R6al L9ve 2 3,049 Último mensaje 20 Noviembre 2021, 00:00 am
por .xAk.
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines