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?
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?
Erick
Curtidas 0
Mais Respostas
William
28/11/2015
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.
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.
GOSTEI 0
Willer Silva
28/11/2015
Olá, Boa Noite!
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);
begin
with DMpesq.cdsPesqCliente do
begin
close;
commandtext := 'Select * from nome where nome like ' + QuotedStr(dbLocalizar.Text + '%');
open;
end;
end;
Erro: raised exception class tdbxerror with message 'table unknown - line 1, column 20
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);
begin
with DMpesq.cdsPesqCliente do
begin
close;
commandtext := 'Select * from nome where nome like ' + QuotedStr(dbLocalizar.Text + '%');
open;
end;
end;
Erro: raised exception class tdbxerror with message 'table unknown - line 1, column 20
GOSTEI 0
William
28/11/2015
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!
GOSTEI 0
Erick
28/11/2015
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
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
GOSTEI 0