Ir para conteúdo
Fórum Script Brasil
  • 0

Chat em Visual Basic


Darknnez

Pergunta

Foi mal, não consegui pensar em um título adequado pra minha dúvida.

O negócio é o seguinte.

Eu fiz uma chat no VB6.

Em um TextBox, o usuário escreve a mensagem que é salva em um arquivo.txt:

Private Sub Command1_Click()
Set txt = FSO.OpenTextFile("\\Lucas\C\ChatLog.txt", ForAppending)
If Destinatário.Caption = "Todos" Then
    txt.WriteLine (Nick + " diz: " + Mensagem.Text + vbCr)
    txt.Close
Else
    txt.WriteLine (Nick + " fala para " + Destinatário.Caption + " " + Mensagem.Text + vbCr)
    txt.Close
End If
Mensagem.Text = ""
End Sub
Um segundo TextBox lê todo o conteúdo desse arquivo.txt, e é atualizado por um Timer:
Private Sub Timer1_Timer()
Set txt = FSO.OpenTextFile("\\Lucas\C\ChatLog.txt", ForReading)
Caixa.Text = txt.ReadAll
txt.Close

Caixa.SelStart = Len(Caixa.Text)
Destinatário.Caption = Usuários.Text
End Sub

O que eu queria fazer é que nesse segundo TextBox o nick do usuário aparecesse colorido, de acordo com a cor selecionada pelo usuário. Mas tem como fazer isso, ou seja, alterar a cor de apenas uma parte do texto?

Link para o comentário
Compartilhar em outros sites

  • Respostas 54
  • Created
  • Última resposta

Top Posters For This Question

Posts Recomendados

  • 0
Ou seja, eu consegui fazer o cliente se conectar ao servidor principal (meu PC) para criar a sala ou achar as salas criadas. Mas não consigo fazer que, a partir daí, o cliente que criou a sala (administrador) se torne o servidor, e os outros clientes se conectem diretamente à ele, e não ao meu PC.

mas tipo assim. tem q ver o q você quer dizer com servidor e cliente nesse caso.

se o cara criou a sala, ele vai ter o wisock servidor, seria isso?? e os clientes vao se conectar nele?? mas ai não da... como saber em qual ip se conectar se o cara pode abrir a sala em qualquer pc??

o q você acho q você deveria usar seria um programa servidor q deve ser rodado em um unico pc escolhido pra ser o servidor e ele deve ficar o tempo todo rodando e é esse programa q vai gerenciar as salas e os usuarios.

quando um cara criar uma sala ele vai mandar uma mensagem pro servidor e o servidor vai armazenar na memoria dele q a sala foi criada e então vai enviar pra todas as conexoes o aviso de q a sala foi criada. o mesmo vale pra quando um usuario entrar, enviar mensagem e etc.

esse unico programa no servidor tem q saber quem esta conectado em q sala, pra quem enviar cada uma das mensagens (e pra quem não enviar) e etc.

Quanto ao timer para conectar, eu uso um loop normal, como você pode ver no meu tutorial sobre Winsock: http://desenvolvedores.net/modules.php?nam...icle&sid=27

quem sugeriu o timer fui eu. acho q fica melhor assim.

Editado por kuroi
Link para o comentário
Compartilhar em outros sites

  • 0

Dá, sim.

Pelo menos eu acho.

Olha o que eu fiz.

Tem o servidor principal, no caso o meu computador.

Uma pessoa entra, e cria uma nova sala.

No processo de criar a sala, ela envia para o servidor principal todas as informações necessárias, como o nome da sala, senha, e até o nome do computador e a porta que ele quer usar.

Então, o servidor principal envia para toda e qualquer outra pessoa que abra o programa, informando a existência da sala, e qual o nome do computador e qual a porta necessárias para se conectar à ela.

Deu pra entender?

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.




  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...