elcaracas
25-01-2005, 22:56:52
Hola.
A ver si alguien puede ayudarme.
Tengo un fichero binario, donde se almacenan numeros enteros de 16-bits, mediante dos caracteres. Para cargarlos a una matriz de enteros hago el siguiente algoritmo:
var
i,j:integer;
sfile:file of byte;
nombre:string;
p:byte;
a:string;
f:array[0..512,0..512] of word;
begin
if opendialog1.Execute then
nombre:=opendialog1.FileName;
AssignFile(sfile,nombre);
FileMode := fmOpenRead;
Reset(sfile);
Seek(sfile, 5760);
for j:=0 to 511 do
for i:=0 to 511 do
begin
a:='';
read(sfile,p);
a:=a+inttohex(p,2);
read(sfile,p);
a:='$'+a+inttohex(p,2);
f[i,j]:=strtoint(a);
end;
end;
¿Hay algún algoritmo que tome los dos caracteres de golpe y los transforme al entero de 16-bits?.
Gracias.
A ver si alguien puede ayudarme.
Tengo un fichero binario, donde se almacenan numeros enteros de 16-bits, mediante dos caracteres. Para cargarlos a una matriz de enteros hago el siguiente algoritmo:
var
i,j:integer;
sfile:file of byte;
nombre:string;
p:byte;
a:string;
f:array[0..512,0..512] of word;
begin
if opendialog1.Execute then
nombre:=opendialog1.FileName;
AssignFile(sfile,nombre);
FileMode := fmOpenRead;
Reset(sfile);
Seek(sfile, 5760);
for j:=0 to 511 do
for i:=0 to 511 do
begin
a:='';
read(sfile,p);
a:=a+inttohex(p,2);
read(sfile,p);
a:='$'+a+inttohex(p,2);
f[i,j]:=strtoint(a);
end;
end;
¿Hay algún algoritmo que tome los dos caracteres de golpe y los transforme al entero de 16-bits?.
Gracias.