Comment chercher une valeur hex dans un fichier binaire "file of byte"

fartotodz2004 Messages postés 7 Date d'inscription jeudi 25 octobre 2007 Statut Membre Dernière intervention 5 août 2009 - 4 août 2009 à 20:56
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 6 août 2009 à 09:29
salut pour tous je cherche une fonction qui cherche une valeur hexa (par ex:longword $FFE6ABC9) dans un fichier binaire, jai trouver des fontions pour chercher des strings mes ce n'est pas fiable.
j'attends votre aide et merci bcp @+

8 réponses

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
4 août 2009 à 21:23
Des sources existent à propos de ça ... au fait n'utilises plus "file of", c'est obsolète. Passe aux TFileStream

Cordialement, Bacterius !
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
5 août 2009 à 04:19
function FindOffsetOf(const FileName: string; const Value: LongWord): Int64;
var RV : LongWord;
N : int64;
begin
result := 0;
with TFileStream.Create(FileName, fmOpenRead) do
try
for N := 0 to Size-1 do
begin
position := N;
if read(RV, 4) = 4 then
if RV = Value then
begin
result := N;
break;
end;
end;
finally
Free;
end;
end;
0
Smith4400 Messages postés 39 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 20 août 2009
5 août 2009 à 11:52
f0xi
-------------
Il y a une faute dans la fonction..
Ici...
for N := 0 to Size-1 do



Smith
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
5 août 2009 à 13:30
Nop il n'y a pas de faute.

Cordialement, Bacterius !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fartotodz2004 Messages postés 7 Date d'inscription jeudi 25 octobre 2007 Statut Membre Dernière intervention 5 août 2009
5 août 2009 à 19:39
MERCI bcp f0xi vraiment c gentil de ta part ... tu m'aide à chaque fois merciiiiiiiii
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
5 août 2009 à 20:03
bonsoir,
N : int64;

cantador
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
5 août 2009 à 23:12
Rhoh la la ...

N := 0;
while N < Size - 1 do


mais bien vu Cantador, pas fait attention (f0xi a des versions récentes de Delphi, on doit pouvoir faire du for-do en 64-bits)

Cordialement, Bacterius !
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
6 août 2009 à 09:29
[i]
f0xi a des versions récentes de Delphi, on doit pouvoir faire du for-do en 64-bits/i

C'est un détail mais f0xi, pourrait nous le confirmer

cantador
0
Rejoignez-nous