Nero`
Messages postés30Date d'inscriptionsamedi 1 novembre 2003StatutMembreDernière intervention16 juillet 2013
-
21 nov. 2007 à 20:42
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 2022
-
23 nov. 2007 à 05:45
bonsoir à tous .
Je rencontre un petit problème de débutant .
J'ai besoin de lire un octèt dans un fichier et ensuit de l'afficher dans une textbox ou autre (type string) seulement la methode que je tente d'utiliser me converti la valeur de l'octès lus en valeur décimale. Je ne sais pascomment faire pour passer l'octèt lus en type string.
voila le bout de code qui me pose problème:
var FB : File Of Byte;
b : Byte;
test:string;
begin
if opendialog.execute then
begin
assignfile(FB , 'test.bin');
Reset(FB);
seek(FB,$0000401A); //offset de lecture exemple a cette offset j'ai la valeur hexa 44
read(FB,b);
test:=inttostr(b); //test contien maintenant 68(valeur decimal) et non pas 44(hexa) :(
closefile(FB);
end;
end;
quelqu'un pourrait il me dir comment je doit procéder ???
Merci bonne prog ...
function BTX(const Buffer; const BufferLen: integer): string;
var pR : pWord;
pB : pByte;
N : integer;
begin
SetLength(Result, BufferLen shl 1);
pR := pWord(Result);
pB := @Buffer;
inc(pB, BufferLen-1);
for N := 0 to BufferLen-1 do
begin
pR^ := word( _ABTX[pB^ shr 4] or (_ABTX[pB^ and $F] shl 8) );
inc(pR);
dec(pB);
end;
end;
utilisation :
Chaine := BTX(MaVariable, TailleMaVariable);
exemple :
var Buffer: array[0..1023] of byte;
...
RL := stream.Read(Buffer, 1024);
Chaine := BTX(Buffer, RL);