Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CONVERTISSEUR BINAIRE EN INTEL HEX


Information sur la source

Description

C'est un convertisseur de fichier binaire en fichier object de type Intel Hexadecimal et vice versa.
pour ceux qui ne connaissent pas le format objet d'Intel j'ai laisser dans le .zip un fichier PDF comportant la documentation de ce format.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de f0xi le 19/08/2007 18:54:00 administrateur CS



tu peu remplacer dans l'unité HexFile.pas :

>>>

implementation

Const
  HexChars : array[$0..$f] of char = '0123456789ABCDEF';

  CRC32Table : array[Byte] of cardinal = (
    $00000000, $77073096, $EE0E612C, $990951BA, $076DC419, $706AF48F, $E963A535, $9E6495A3, $0EDB8832, $79DCB8A4, $E0D5E91E, $97D2D988, $09B64C2B, $7EB17CBD, $E7B82D07, $90BF1D91,
    $1DB71064, $6AB020F2, $F3B97148, $84BE41DE, $1ADAD47D, $6DDDE4EB, $F4D4B551, $83D385C7, $136C9856, $646BA8C0, $FD62F97A, $8A65C9EC, $14015C4F, $63066CD9, $FA0F3D63, $8D080DF5,
    $3B6E20C8, $4C69105E, $D56041E4, $A2677172, $3C03E4D1, $4B04D447, $D20D85FD, $A50AB56B, $35B5A8FA, $42B2986C, $DBBBC9D6, $ACBCF940, $32D86CE3, $45DF5C75, $DCD60DCF, $ABD13D59,
    $26D930AC, $51DE003A, $C8D75180, $BFD06116, $21B4F4B5, $56B3C423, $CFBA9599, $B8BDA50F, $2802B89E, $5F058808, $C60CD9B2, $B10BE924, $2F6F7C87, $58684C11, $C1611DAB, $B6662D3D,
    $76DC4190, $01DB7106, $98D220BC, $EFD5102A, $71B18589, $06B6B51F, $9FBFE4A5, $E8B8D433, $7807C9A2, $0F00F934, $9609A88E, $E10E9818, $7F6A0DBB, $086D3D2D, $91646C97, $E6635C01,
    $6B6B51F4, $1C6C6162, $856530D8, $F262004E, $6C0695ED, $1B01A57B, $8208F4C1, $F50FC457, $65B0D9C6, $12B7E950, $8BBEB8EA, $FCB9887C, $62DD1DDF, $15DA2D49, $8CD37CF3, $FBD44C65,
    $4DB26158, $3AB551CE, $A3BC0074, $D4BB30E2, $4ADFA541, $3DD895D7, $A4D1C46D, $D3D6F4FB, $4369E96A, $346ED9FC, $AD678846, $DA60B8D0, $44042D73, $33031DE5, $AA0A4C5F, $DD0D7CC9,
    $5005713C, $270241AA, $BE0B1010, $C90C2086, $5768B525, $206F85B3, $B966D409, $CE61E49F, $5EDEF90E, $29D9C998, $B0D09822, $C7D7A8B4, $59B33D17, $2EB40D81, $B7BD5C3B, $C0BA6CAD,
    $EDB88320, $9ABFB3B6, $03B6E20C, $74B1D29A, $EAD54739, $9DD277AF, $04DB2615, $73DC1683, $E3630B12, $94643B84, $0D6D6A3E, $7A6A5AA8, $E40ECF0B, $9309FF9D, $0A00AE27, $7D079EB1,
    $F00F9344, $8708A3D2, $1E01F268, $6906C2FE, $F762575D, $806567CB, $196C3671, $6E6B06E7, $FED41B76, $89D32BE0, $10DA7A5A, $67DD4ACC, $F9B9DF6F, $8EBEEFF9, $17B7BE43, $60B08ED5,
    $D6D6A3E8, $A1D1937E, $38D8C2C4, $4FDFF252, $D1BB67F1, $A6BC5767, $3FB506DD, $48B2364B, $D80D2BDA, $AF0A1B4C, $36034AF6, $41047A60, $DF60EFC3, $A867DF55, $316E8EEF, $4669BE79,
    $CB61B38C, $BC66831A, $256FD2A0, $5268E236, $CC0C7795, $BB0B4703, $220216B9, $5505262F, $C5BA3BBE, $B2BD0B28, $2BB45A92, $5CB36A04, $C2D7FFA7, $B5D0CF31, $2CD99E8B, $5BDEAE1D,
    $9B64C2B0, $EC63F226, $756AA39C, $026D930A, $9C0906A9, $EB0E363F, $72076785, $05005713, $95BF4A82, $E2B87A14, $7BB12BAE, $0CB61B38, $92D28E9B, $E5D5BE0D, $7CDCEFB7, $0BDBDF21,
    $86D3D2D4, $F1D4E242, $68DDB3F8, $1FDA836E, $81BE16CD, $F6B9265B, $6FB077E1, $18B74777, $88085AE6, $FF0F6A70, $66063BCA, $11010B5C, $8F659EFF, $F862AE69, $616BFFD3, $166CCF45,
    $A00AE278, $D70DD2EE, $4E048354, $3903B3C2, $A7672661, $D06016F7, $4969474D, $3E6E77DB, $AED16A4A, $D9D65ADC, $40DF0B66, $37D83BF0, $A9BCAE53, $DEBB9EC5, $47B2CF7F, $30B5FFE9,
    $BDBDF21C, $CABAC28A, $53B39330, $24B4A3A6, $BAD03605, $CDD70693, $54DE5729, $23D967BF, $B3667A2E, $C4614AB8, $5D681B02, $2A6F2B94, $B40BBE37, $C30C8EA1, $5A05DF1B, $2D02EF8D
    );

{ CRC32 }
//> on calcul pas un checksum en additionant betement les bytes...
//> rien ne vaut un bon vieux CRC32 que tout le monde connait!
function CRC32(const Buffer; const BufferLen : Integer; const Old : Cardinal = 0) : Cardinal;
var pB : ^Byte;
    I  : Integer;
begin
  result := Old;
  pB     := @Buffer;
  for I := 0 to BufferLen-1 do
  begin
    Result := (Result shr 8) xor CRC32Table[pB^ xor byte(Result)];
    Inc(pB);
  end;
end;

{ HexToLong }
//> 2 en delphi s'ecrit To!
//> on utilise les bytes pour eviter les appels redondant a Ord()
function HexToLong(const V : Char) : Byte;
Begin
  Result := Byte(V);
  case Result of
    48..57  : Dec(Result,48);
    65..70  : Dec(Result,55);
    97..102 : Dec(Result,87);
  end;
End;


{ ValueToHex }
//> pas besoin de millions de fonction, on utilise directement
//> une fonction qui fait tout! (ou presque)
function ValueToHex(const Buffer; const BufferLen : integer) : string;
var pR : pChar;
    pB : ^Byte;
    N  : integer;
begin
  pB := @Buffer;
  inc(pB, BufferLen - 1);
  SetLength(Result, BufferLen shl 1);
  pR := PChar(Result);
  for N := 0 to BufferLen-1 do
  begin
    pR[0] := HexChars[pB^ shr 4];
    pR[1] := HexChars[pB^ and $F];
    inc(pR, 2);
    dec(pB);
  end;
end;





Dans l'unité FilePath.pas :

>>

//> pourquoi reinventer la roue!?
procedure SplitFileName(const FileName : string; var Path, Name, Ext : string);
begin
  Path := ExtractFilePath(FileName);
  Name := ExtractFileName(FileName);
  Ext  := ExtractFileExt(FileName);
  Name := Copy(Name, 1, Length(Name) - Length(Ext));
end;

//> oui ... pourquoi ...
function SetFileExt(const FileName,NewExt : String): String;
begin
  result := ChangeFileExt(FileName,NewExt);
end;

//> alternative de l'alias de fonction dans une variable :
var
  SetFileExt : function(const FileName,NewExt : string) : string = SysUtils.ChangeFileExt;


Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

valeur hexadecimal d'un nombre [ par fabiin ] Salut !Comment faut-il fairepour connaite la valeur hexadecimal d'un nombre ???Merci par avance@+Fabs rendre une chaine de caractere en binaire [ par tarik ] comment rendre une chaine de caractere en binaire ?je vais l'utiliser pour realiser un programme de cryptage(hachage)etape1 : transformer en binaireet CONVERTISSEUR VB -> DELPHI [ par Antoine ] Salut !Quelqu'un peut-il me dire où je peux télécharger un convertisseur permettant de traduire le langage Visual Basic en delphi ? Merci beaucoup ! Convertisseur euro/franc ; franc/euro [ par Zangdar ] sur http://zangdar.free.fr/site/programme/convertisseur.v1.2.exe @++http://www.zangdar.fr.stPs : Ca serait vachement sympas de cliquer sur mabannière Ouverture, lecture d'un fichier en mode binaire [ par SMoG ] YoOOooOOoooooo la dedans :)bon voila, j'aimerais ouvrir et lire un fichier en mode binaire ligne par ligne, mais j'ai trouvé que des méthodes qui lise Changer position d'un objet [ par fabiin ] Salut,je voudrai changer la position d'un objetmais sans utiliser .Top ou .Leftavecune fonction genre SetWindowPos, mais poour les objets Merci @+Fabs Traducteur Delphi please ! [ par minipod ] Un sympatique delphinaute m'a dit de faire ceci pour résoudre mon problème. Le problème c'est que je sais pas faire çà en Delphi. Est-ce que quelqu'un Procedure avec un objet Automation [ par flo2102 ] Bonjour a tous!!Voila je voulais savoir si il existe une procedure qui permettent de mettre du code qui s execute a la fermeture d'un objet Automation Création dynamique d'objet - Gestion des evenements [ par fram ] Bonjour,Quelqu'un peut il me dire comment associer une procédure à un evenement d'un objet créé dynamiquement?Merci opérateurs binaire?? [ par costello ] Je cherche si il existe un opérateur Delphi correspondant à l'opérateur ' << ' ou ' >> ' en c++ainsi que l'opérateur logique | .merci


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.