Densyy Postado Dezembro 17, 2011 Denunciar Share Postado Dezembro 17, 2011 Bom pessoal estou criando um chat já esta basicamente prontoPorém eu quero que quando o cliente envie uma mensagem ao servidorapareça no text1 dos dois o texto da cor verdee quando o servidor enviar uma mensagem ao clienteapareça no text1 dos dois o texto azulJá tentei fazer isso porem ele troca a cor dos textos do servidor e do cliente e torna todos com a mesma corvou mostrar melhor como eu fiz aquiRecebendo os dadosPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)Dim STR As StringWinsock1.GetData STR, vbString, bytesTotalText1.Text = Text1.Text & STR & vbNewLineEnd SubEnviando os dadosPrivate Sub CommandButton3_Click()If TextBox5.Text = "" ThenElseWinsock1.SendData apelido & ": " & TextBox5.TextText1.Text = Text1.Text & apelido & ": " & TextBox5.Text & vbNewLineEnd IfTextBox5.Text = ""End SubSe alguém poder me ajudar Ficarei Grato Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Matheus-vb6 Postado Dezembro 18, 2011 Denunciar Share Postado Dezembro 18, 2011 Boa noitetente usar o componente RichText... ele permite controle de cores individualCaso tenha dificuldades com ele poste aquiAbraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Densyy Postado Dezembro 19, 2011 Autor Denunciar Share Postado Dezembro 19, 2011 (editado) Eae kara vlw pela ajudavi aqui que se usa a propriedade .SelColorporem n estou sabendo usarjá vi um monte de tutoriais mais n deu certoo que eu queria é algo mais ou menos assimWinsock1.SendData (Texto) & (alguma coisa que defina ele de outra cor)Winsock1.GetData (Texto) & (alguma coisa que defina ele de outra cor)Não existe alguma propriedade que possa ser enviada por winsock e chegue ao outro lado normalmente?e agora estou com outra duvidaPreciso que quando eu aperte a tecla ENTERa mensagem seja enviada normalmente porem isso n acontece quando eu aperto a tecla ENTER automaticamente é selecionado o botão ENVIARsendo assim necessário apertar duas vezes a tecla ENTERSe poder me ajudarFicarei muito grato Editado Dezembro 19, 2011 por Densyy Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Danleonhart Postado Dezembro 19, 2011 Denunciar Share Postado Dezembro 19, 2011 Em relação a enviar a mensagem ao pressionar a tecla "ENTER", basta configurar o código no evento KeyPress da TextBox...sabendo que a tecla "ENTER" é equivalente a ao número inteiro "13" no padrão ASCII, use a variável "KeyAscii" para chamar o evento:Private Sub txtMsg_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 "Coloque o quê você quer que seja executado..." End Select End Sub Quanto ao RichTextBox vou dá uma olhada no que tenho de informações... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Densyy Postado Dezembro 19, 2011 Autor Denunciar Share Postado Dezembro 19, 2011 ai kara no meu caso o codigo q você passou ficou assimPrivate Sub TextBox5_KeyPress(KeyAscii As Integer)Select Case KeyAsciiCase 13CommandButton1_ClickEnd SelectEnd Subporem quando eu vou compilar da erronessa linhaPrivate Sub TextBox5_KeyPress(KeyAscii As Integer)e diz assim:Procedure declaration does not match description of event or procedure having the same nameTradução:Declaração do procedimento não corresponde à descrição do evento ou procedimento com o mesmo nomeNão sei o que fazer mais notei q o erro é somente nessa parte "(KeyAscii As Integer)"quando eu substituo por (KeyAscii As MSForms.ReturnInteger)n da erro porém n cumpri n da certon tenho mais ideia do que fazer Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Danleonhart Postado Dezembro 20, 2011 Denunciar Share Postado Dezembro 20, 2011 Só pode dá erro...um evento dentro de outro evento... :blink: o correto seria você colocar todo o código que está no CommandButton, na linha onde eu citei no exemplo (coloque aqui...)...mas para ficar mais simples faça o seguinte:Private Sub txtMsg_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 CommandButton1.SetFocus SendKeys ("{ENTER}") End Select End Sub O script "SendKeys ("{ENTER}")" simula o clique do botão "ENTER"...MSN: dannleonhart@hotmail.com Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Densyy Postado Dezembro 20, 2011 Autor Denunciar Share Postado Dezembro 20, 2011 Kara n deu certocontinuou com o mesmo erroo erro ocorre nesta linhaPrivate Sub Textbox5_KeyPress(KeyAscii As Integer)o codigo esta assimPrivate Sub Textbox5_KeyPress(KeyAscii As Integer)Select Case KeyAsciiCase 13 CommandButton1.SetFocus SendKeys ("{ENTER}")End SelectEnd SubTe add no MSN quando se costuma entrar? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Densyy Postado Dezembro 20, 2011 Autor Denunciar Share Postado Dezembro 20, 2011 já Resolvi karaEu descobri o erroisso estava ocorrendo por q eu estava usando uma Textbox e não uma Textai estava ocorrendo esse problema vlw pela ajuda manoagora se poder me ajudar com o richtextbox com as mensagens coloridas agradeço muito Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Danleonhart Postado Dezembro 22, 2011 Denunciar Share Postado Dezembro 22, 2011 Densyy Cara, foi o melhor que pude fazer... :mellow: Estou corrigindo um projeto e passei uns três dias (mas não direto, claro :) ) bolando uma maneira...e com uma ajudinha de um amigo, fiz este exemplo...Projeto:http://www.4shared.com/zip/CxjHchEH/RichTextBox-Testes.html Espero que ajude em algo ! FUI ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Densyy Postado Dezembro 22, 2011 Autor Denunciar Share Postado Dezembro 22, 2011 Po kara vlw mesmoFicou perfeitoAgora vou dar uma estudada nele Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Densyy Postado Dezembro 22, 2011 Autor Denunciar Share Postado Dezembro 22, 2011 (editado) Kara deu tudo certinho aqui até a hora de enviar a mensagemCai na mesma duvidacomo eu enviaria por winsock ?dim pacotes As Stringpacote = Parametros_RTB Text1.Text, Cor, RichTextBox1, ApelidoWinsock1.SendData pacoteTentei de um bilhão de jeitos mais n consegui nadaacontece um erro na seguinte palavra = Parametros_RTB Text1.Text, Cor, RichTextBox1, ApelidoCopile Error:Expected: end of statement Editado Dezembro 22, 2011 por Densyy Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Danleonhart Postado Dezembro 22, 2011 Denunciar Share Postado Dezembro 22, 2011 Você tem de usar a Sub onde a mensagem está chegando...EX:Private Sub Wsk_DataArrival(ByVal bytesTotal As Long) Dim StrDados As String Wsk.GetData StrDados Parametros_RTB StrDados, vbRed, Rtb1 End Sub No exemplo coloquei para a mensagem que chegar ficar na cor vermelha Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Densyy Postado Dezembro 22, 2011 Autor Denunciar Share Postado Dezembro 22, 2011 (editado) vou te mandar o projeto acho melhor ok?Ai você podera ver minha duvidaDownload?Ve se você consegue corrigir o erro Editado Dezembro 23, 2011 por Densyy Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Densyy
Bom pessoal estou criando um chat
já esta basicamente pronto
Porém eu quero que quando o cliente envie uma mensagem ao servidor
apareça no text1 dos dois o texto da cor verde
e quando o servidor enviar uma mensagem ao cliente
apareça no text1 dos dois o texto azul
Já tentei fazer isso porem ele troca a cor dos textos do servidor e do cliente e torna todos com a mesma cor
vou mostrar melhor como eu fiz aqui
Recebendo os dados
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim STR As String
Winsock1.GetData STR, vbString, bytesTotal
Text1.Text = Text1.Text & STR & vbNewLine
End Sub
Enviando os dados
Private Sub CommandButton3_Click()
If TextBox5.Text = "" Then
Else
Winsock1.SendData apelido & ": " & TextBox5.Text
Text1.Text = Text1.Text & apelido & ": " & TextBox5.Text & vbNewLine
End If
TextBox5.Text = ""
End Sub
Se alguém poder me ajudar
Ficarei Grato
Link para o comentário
Compartilhar em outros sites
12 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.