Ver Mensaje Individual
  #2  
Antiguo 27-06-2011
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Reputación: 23
Enan0 Va por buen camino
Bueno el tema es mas o menos asi.


Lo que Tendrias que hacer es, en el Eventon Onrecive (creo que es asi) obtener el Texto que queres y luego asignarlo al listbox que queres.

Deverias enviarlo con algun parametro o Clave para que cuando parcees el texto sepas que lo que se envia es el nombre de la PC/usuario.
(espero que entiendas lo que quiero decir)

Es decir:
Para enviar el nombre
Código Delphi [-]
//Se Connecta
ClientSocket1.Open; 
//envia el Nombre de la Maquina
ClientSocket1.Socket.SendText('#USER#'+obtenerUsuarioRed);

En el servidor:

Código Delphi [-]
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
id:Integer;
Nombre:String;
Begin
//Obtenes el indece de la direccion IP correspondiente
id:=ListBox1.Items.IndexOf(Socket.RemoteAddress);
//Obtenes el nombre enviado
Nombre:=ParcearNombre(Socket.ReceiveText);
//Agreagas el Nombre donde vos quieras
....
.....
End;

// en este caso esta fixeada, pero tambien podrias declarar los Campos que pueden venir.
// para que si viene #MESSAGE# puedas saber que lo que viene es un mensaje, o #IMG# porque se envia un Emoticon, y Leerlo desde un directorio y mostrarlo o lo que se te ocurra.
Function ParcearNombre(S:String):String;
begin
Result:=Copy('#USER#SANTY',POS('#USER#',s) +6,Length(s)-length('#USER#'));
end;


Espero que se entienda. Saludos
Responder Con Cita