Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-01-2005
elcaracas elcaracas is offline
Miembro
 
Registrado: ene 2005
Posts: 26
Poder: 0
elcaracas Va por buen camino
carga de enteros 16-bits.

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.
Responder Con Cita
  #2  
Antiguo 14-03-2005
elcaracas elcaracas is offline
Miembro
 
Registrado: ene 2005
Posts: 26
Poder: 0
elcaracas Va por buen camino
Puede ayudarme alguien?
Responder Con Cita
  #3  
Antiguo 15-03-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 22
Crandel Va por buen camino
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
__________________
[Crandel]
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:37:33.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi