punteros y arrays...Urgente please!!
Publicado por Ricardo Ordoñez (14 intervenciones) el 03/07/2003 19:09:24
Que tal amigos, miren :
teniendo esto:
procedure TForm1.Button1Click(Sender: TObject);
var
dwHora: dword;
dato : ^dword;
begin
dwHora := DateTimeToUnix(Now());
dato:=0;
dato := @dwHora;
if (GeneroPaqueteTx(0,PHOR,SizeOf(dwHora),dato)) then
begin
end;
end
al recibirlo en la funcion:
function TForm1.GeneroPaqueteTx(destino: byte; tipoDato:byte; longDato: integer; Buffer:Pointer): Boolean;
var
Aux : array[0..64] of byte;
begin
FillChar(Aux, SizeOf(Aux), 0);
result := False;
Aux[0]:=destino;
Aux[1]:=255;
Aux[2]:=tipoDato;
Aux[3]:=longDato;
result:=True;
end;
......lo que necesito y no comprendo es como meter la hora (en este caso) en formato unix, que me viene en Buffer, a partir de la posicion 4 del vector de bytes Aux,.....tienen idea si me sujieren que lo haga de distinta manera no hay problema. (en este caso como Buffer es un puntero a dword, que son 4 bytes, en el array acupara de la 4 a la 7..).
Muchas gracias a todos.
teniendo esto:
procedure TForm1.Button1Click(Sender: TObject);
var
dwHora: dword;
dato : ^dword;
begin
dwHora := DateTimeToUnix(Now());
dato:=0;
dato := @dwHora;
if (GeneroPaqueteTx(0,PHOR,SizeOf(dwHora),dato)) then
begin
end;
end
al recibirlo en la funcion:
function TForm1.GeneroPaqueteTx(destino: byte; tipoDato:byte; longDato: integer; Buffer:Pointer): Boolean;
var
Aux : array[0..64] of byte;
begin
FillChar(Aux, SizeOf(Aux), 0);
result := False;
Aux[0]:=destino;
Aux[1]:=255;
Aux[2]:=tipoDato;
Aux[3]:=longDato;
result:=True;
end;
......lo que necesito y no comprendo es como meter la hora (en este caso) en formato unix, que me viene en Buffer, a partir de la posicion 4 del vector de bytes Aux,.....tienen idea si me sujieren que lo haga de distinta manera no hay problema. (en este caso como Buffer es un puntero a dword, que son 4 bytes, en el array acupara de la 4 a la 7..).
Muchas gracias a todos.
Valora esta pregunta


0