PDA

Ver la Versión Completa : carga de enteros 16-bits.


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.

elcaracas
14-03-2005, 18:37:26
Puede ayudarme alguien?

Crandel
15-03-2005, 08:16:33
No necesitas ningun algoritmo simplemente cambia el tipo de dato
en ves de usar un byte usa un word, que es de 16 bits

file of byte; - > file of word;
p:byte; -> p: word;


y listo

Suerte

Crandel