Ver Mensaje Individual
  #2  
Antiguo 26-03-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Reputación: 20
cHackAll Va por buen camino
No especificaste el componente que estas utilizando, pero creo que la mayoría de los mismos retorna en un puntero los datos recividos... en tal caso lo que debes hacer es guardar el paquete en uns estructura y acceder a los datos desde el tercer miembro del mismo.

Código Delphi [-]
procedure TForm1.UdpSocket1Receive(Sender: TObject; Buf: PAnsiChar; var DataLen: Integer);
 
type
 PStruct = ^TStruct;
 TStruct = record
  id, Size: Cardinal;
  Data: ShortString;
 end;
 
begin
 ShowMessage(PStruct(Buf)^.Data);
end;

dependiendo del componente tambien pedes leer del buffer primero los 8 bytes y luego el resto;

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var Buffer: array [0..255] of Char;
begin
 UdpSocket1.ReceiveBuf(Buffer, 8); // skip
 UdpSocket1.ReceiveBuf(Buffer, SizeOf(Buffer));

 ...

Saludos
Responder Con Cita