Chat Interno - Delphi - Fórum DevMedia
Chat Interno - Delphi
Boa tarde, eu queria fazer uma espécie de chat interno no meu sistema, mas não instantâneo, tipo MSN, e sim como se fosse um email, um usuário manda a mensagem, e quando o outro usuário que recebeu a mensagem loga, recebe esta mensagem.
Queria fazer tudo por tabela, a tabela salvando a mensagem, e na programação verificando com usuário receberá esta mensagem, fazendo assim tudo por Query(SQL). Sem nenhum componente como aqueles de Cliente-Servidor e etc... É possível fazer desta forma?
Não é uma das melhores arquiteturas, mas é possível sim.
Basicamente quando os usuários logarem deve ser executada uma query pesquisando se existe mensagem não lida para o "nick name" daquele usuário.
Se existir aí você decidi onde vai exibir, se vai ser com DBGrid, Memo ou etc ..
Ainda pode ser adicionado um Timer para verificar de tempos e tempos se existe mensagem para o usuário logado.
Como resolver o seguinte problema no meu código, onde o mesmo é para ser localizado os clientes cadastrados. Segue abaixo o código.
Me ajudem para a resolução desse problema.
procedure TFclientes.dbLocalizarChange(Sender: TObject);
with DMpesq.cdsPesqCliente do
commandtext := 'Select * from nome where nome like ' + QuotedStr(dbLocalizar.Text + '%');
Erro: raised exception class tdbxerror with message 'table unknown - line 1, column 20
Erro: raised exception class tdbxerror with message ''table unknown - line 1, column 20
A mensagem indica que o nome da tabela que está sendo usado na cláusula FROM do SELECT é desconhecido!
William (Devwilliam), primeiramente, obrigado pela resposta!
Cara, eu estruturei o sistema, está funcionando certinho, estou fazendo testes agora, só que na hora de encaminhar, eu tinha que clicar no dbgrid, selecionado quais usuarios eu gostaria de encaminhar a mensagem, porém, para não ser clicado duas vezes, e buggar o sistema, gostaria que quando clicasse na linha do dbgrid (selected rows =true) , a linha sumisse ou desabilitasse... Voce teria uma solução pra isso? Obrigado