Ver Mensaje Individual
  #2  
Antiguo 15-05-2007
Avatar de maxid
maxid maxid is offline
Miembro
 
Registrado: ene 2006
Posts: 38
Reputación: 0
maxid Va por buen camino
espero te sirva

Nunca he usado sokets pero esto se hace para comunicaciones por puerto serie.
Crea una variable que apunte al registro que queres enviar y la envias como una secuencia de Byte, despues en tu receptor la distribuis en tu registro.

te aconsejo que al paquete le pongas un CRC, para controlar que llegue correcto, podes poner un lonint al final y hacer una suma de los bytes mas un shift a izq y en la recepcion un shift a la derecha y calcular la suma para ver si da ok. u otro metodo.. espero te sirva

Ejemplo

type
TRec = Record
c1:integer; // 8 bytes
c2:integer; // 8 bytes
c3:string[200]; //201 byte
end;

Var
rec: Tregistro
enviar: array [1..217]of byte absolute of rec; // creas una variable paralela a rec con lo cual al cambiar algo en rec te lo pasa a enviar como un byte

Begin

// enviar los bytes por el soket
soket1.enviar(enviar)
end;

en el receptor lo mismo

Var
rec: Tregistro
recibir: array [1..217]of byte absolute of rec;

Begin
// recibir los datos por el soket
recibir := soket1.recibir;

//en rec.c1 ya tenes tu enter listo para usar

end;
__________________
Maestro no solo es el que conoce sino el que comparte lo que sabe.
Responder Con Cita