Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-11-2003
Avatar de Lester
Lester Lester is offline
Miembro
 
Registrado: may 2003
Ubicación: Cienfuegos, Cuba.
Posts: 106
Poder: 21
Lester Va por buen camino
Post Problema con mandar mensajes...

Hola a todos los amigos:

Tengo realizada una aplicación que envía mensajes por la red, simulando el comando "net send", pero el problema es que me envía más de un mensaje, o sea, al usuario al cual le envío el mensaje le llegan como 3 mensajes iguales y yo solamente le envío uno..., el código que utilicé lo inserto a continuación para una mayor comprensión, espero me puedan ayudar con este problemita...

Muchas gracias por adelantado...

Código:
procedure TForm1.Button1Click(Sender: TObject);
var
 ComandoMensaje : String;
 procedure MandaWinpopup( ServidorRemoto,
                           Destinatario,
                           Remitente,
                           Mensaje : String);
  var
    sTemp   : string;
    Mango   : THandle;
    Cuantos : DWord;
  begin
    sTemp := '\\'+ServidorRemoto+'\mailslot\messngr';

    Mango := CreateFile( PChar(sTemp),
                         GENERIC_WRITE,
                         FILE_SHARE_READ,
                         NIL,
                         OPEN_EXISTING,
                         FILE_ATTRIBUTE_NORMAL,
                         0);

    if Mango = INVALID_HANDLE_VALUE then
      raise Exception.create( 'Error abriendo el slot'+#13+
                              'Error opening the slot');

    sTemp:=Remitente+#0+Destinatario+#0+Mensaje;
    try
      Cuantos := 0;
      if (NOT WriteFile(Mango,
                        Pchar(sTemp)^,
                        Length(sTemp),
                        Cuantos,
                        NIL)) or
         (Cuantos <> Length(sTemp)) then
         raise Exception.create( 'No puedo mandar el mensaje'+#13+
                                 'Cannot send the message');
    finally
      CloseHandle(Mango);
    end;
  end;

begin
 ComandoMensaje := '';
 ComandoMensaje := Edit1.Text;
 MandaWinpopup(ComboBox1.Text,        {A quien va dirigido el mensaje}
               ComboBox1.Text,        {Nombre a quién va dirigido}
               GetComputerName,       {Nombre del que envía el mensaje}
               ComandoMensaje);       {Mensaje}
 MessageDlg('El mensaje se ha enviado satisfactoriamente al usuario [' + ComboBox1.Text + ']', mtInformation, [mbOK], 0);
 ComboBox1.ItemIndex := 0;
 Edit1.Clear;
 ComboBox1.SetFocus;
end;
__________________
Lester Espinosa Martínez

[ Guía de estilo | La otra guía de estilo | Buscador | Trucos | My personal blog ]
Responder Con Cita
  #2  
Antiguo 20-11-2003
Avatar de Lester
Lester Lester is offline
Miembro
 
Registrado: may 2003
Ubicación: Cienfuegos, Cuba.
Posts: 106
Poder: 21
Lester Va por buen camino
Thumbs up

Bueno amigos ya he resuelto el problema, a continuación muestro el código para si a alguien le hace falta algún día, el procedimiento es llamando al "net send" del MS-DOS y pasándole como parámetros el nombre o IP de la máquina a mandar el mensaje y luego el texto del mensaje...

Código:
procedure TForm1.Button1Click(Sender: TObject);
begin
 Try
  WinExec(Pchar('net send ' + ComboBox1.Text + ' ' + Edit1.Text),0);
  MessageDlg('El mensaje ha sido enviado satisfactoriamente al usuario: [' + ComboBox1.Text + ']',mtInformation, [mbOK], 0);
 Except
  MessageDlg('El mensaje no se ha podido enviar...', mtError, [mbOK], 0);
 End;
end;
__________________
Lester Espinosa Martínez

[ Guía de estilo | La otra guía de estilo | Buscador | Trucos | My personal blog ]
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:39:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi