PDA

Ver la Versión Completa : Como comprobar mensajes Nuevos en un "Chat en red"


feliz-58
19-01-2014, 15:09:06
Mis mas Sinceros Saludos para todo el Club, espero que este inicio de año los este tratando bien XD porque no esta fácil jajaja ;)

Les comento el proyecto que estaba haciendo...

trata de un "chat en red" asi con se escucha es un programa que usa una base de datos en una pc (Servidor) y las demás se conectan a ella para poder ver los mensajes y eso...

explico como lo estoy haciendo:
tengo dos formularios, uno vinculado a una base de datos access con los componentes ado.
un formulario para ver los mensajes y recibirlos y otro, es que se encarga de hacer todos los procesos, al cual aun no me decido si quiero que el usuario tenga acceso...

en el formulario que es para ver los mensajes, tengo un edit para que la persona coloque su "Nickname", un List View que es adonde inserto los mensajes de salida y entrada de los usuarios, un Memo para escribir el mensaje y el botón de enviar.


en el otro formulario esta el que ingresa los datos, comprueba y si hay mensajes nuevos, y uso un timer para que actualice siempre la base de datos para ver si hay algun mensaje nuevo, lo que hago es que tengo en el otro formulario dos edit y dos memos también, un par (memo y edit) para enviar los mensajes y otro par para comprobar, este es el código que uso para comprobar los nuevos mensajes:


var
Item: TListItem;
begin
if EenviaEnickname.Text <> Ecomprobarnickname.Text
then
if Eenviamensaje.Text <> Mcomprobarmensaje.Text
then
begin
MP.Play;
showmessage('Mensaje Nuevo de '+ (Ecomprobarnickname.text));
Item := Fprincipal.ListView1.Items.Add;
Item.Caption := '1';
Item.SubItems.Add(Ecomprobarnickname.Text);
Item.SubItems.Add(Mcomprobarmensaje.Text);


pero que pasa que ustedes saben que la comprobación debe ser permanente para que el usuario pueda recibir el mensaje al instante y eso lo hago con un timer pero como controlo de que el usuario no reciba el mismo mensaje nuevo una y otra vez (porque como leen en el código siempre alertara al usuario si el ultimo mensaje que esta actualmente mostrándose en la base de datos el diferente al que se envio).

como seria la forma correcta de usar el codigo? o tienen otra forma de comprobar los mensajes?
hasta la próxima y que tengan un buen dia!