Hexa converter to files

Description

Le code n'a vraiment rien de spécial , le programme est vraiment minuscule , mais c'est un utilitaire Vb qui pourra certainement vous aider la gestion des fichiers dans vos executables .

Le programme contenu dans le Zip vous permet d'encrypter le contenu d'un Petit fichier < 10 Ko , et de le mettre dans un fichier ...

Vous aurez des fonctions qui vous permettront d'ecrire ce fichier dans le style vb pour définir une constante ... Copiez donc cette constante et mettez-la dans un programme ... Le code si-dessous vous permettra de retrouver le contenu du fichier ...

Vous pourrez ainsi mettre des fichiers dans vos programmes , et ensuite y avoir accés pendant l'execution ...

Le seul défault c'est que la methode de conversion du Hexa en ASCII est assez lente à mon gout , cependant elle est acceptable puisque ça ne devrais pas depasser 1 à 2 secondes pour un fichier de moins de 5 Ko ... ( ça dépend aussi de votre pc ...)

Source / Exemple :


' Voilà un exemple qui vous donnera au format Gif une image de Repertoire ... 
' environ 900 Octets
Dim i As Long
Public GifDirectory As String
Private Const Gif_HEXA = _
"4749463839610F000D00F7FF00FFFFFFFFFFCCFFFF99FFFF66FFFF33FFFF00FFCCFFFFCCCCFFCC99FFCC66FFCC33FFCC00FF99FFFF99CCFF9999FF9966FF9933FF9900FF66FF" & _
"FF66CCFF6699FF6666FF6633FF6600FF33FFFF33CCFF3399FF3366FF3333FF3300FF00FFFF00CCFF0099FF0066FF0033FF0000CCFFFFCCFFCCCCFF99CCFF66CCFF33CCFF00CC" & _
"CCFFCCCCCCCCCC99CCCC66CCCC33CCCC00CC99FFCC99CCCC9999CC9966CC9933CC9900CC66FFCC66CCCC6699CC6666CC6633CC6600CC33FFCC33CCCC3399CC3366CC3333CC33" & _
"00CC00FFCC00CCCC0099CC0066CC0033CC000099FFFF99FFCC99FF9999FF6699FF3399FF0099CCFF99CCCC99CC9999CC6699CC3399CC009999FF9999CC999999999966999933" & _
"9999009966FF9966CC9966999966669966339966009933FF9933CC9933999933669933339933009900FF9900CC99009999006699003399000066FFFF66FFCC66FF9966FF6666" & _
"FF3366FF0066CCFF66CCCC66CC9966CC6666CC3366CC006699FF6699CC6699996699666699336699006666FF6666CC6666996666666666336666006633FF6633CC6633996633" & _
"666633336633006600FF6600CC66009966006666003366000033FFFF33FFCC33FF9933FF6633FF3333FF0033CCFF33CCCC33CC9933CC6633CC3333CC003399FF3399CC339999" & _
"3399663399333399003366FF3366CC3366993366663366333366003333FF3333CC3333993333663333333333003300FF3300CC33009933006633003333000000FFFF00FFCC00" & _
"FF9900FF6600FF3300FF0000CCFF00CCCC00CC9900CC6600CC3300CC000099FF0099CC0099990099660099330099000066FF0066CC0066990066660066330066000033FF0033" & _
"CC0033990033660033330033000000FF0000CC000099000066000033EE0000DD0000BB0000AA000088000077000055000044000022000011000000EE0000DD0000BB0000AA00" & _
"0088000077000055000044000022000011000000EE0000DD0000BB0000AA000088000077000055000044000022000011EEEEEEDDDDDDBBBBBBAAAAAA88888877777755555544" & _
"4444222222111111FFFFFF21F904010000FF002C000000000F000D0040087400FFFDC392A560166902130ACC124080C38708044444D0621DC3871821B640284DDABA8E1F3F7A" & _
"EC280D4B8016285362C1226525967F171F0E80287123C38809244A1C80A0E7C681000234148005A1429842932A152A2080B49819270AB03974A64E043CA73E1DAA33E7C4041B" & _
"4DA61C4B565A40003B"

Function PutToMemFILES()
GifDirectory = Empty
For i = 1 To Len(Gif_HEXA) Step 2
GifDirectory = GifDirectory & Chr(HexToInt(Mid(Gif_HEXA, i, 2)))
DoEvents
Next i
End Function

Private Function HexToInt(H As String) As Long
Dim H1, H2 As String
H1 = Left(H, 1)
H2 = Right(H, 1)
Dim I1, I2 As Integer
I1 = Val(H1)
I2 = Val(H2)
If H1 = "A" Then I1 = 10
If H1 = "B" Then I1 = 11
If H1 = "C" Then I1 = 12
If H1 = "D" Then I1 = 13
If H1 = "E" Then I1 = 14
If H1 = "F" Then I1 = 15
If H2 = "A" Then I2 = 10
If H2 = "B" Then I2 = 11
If H2 = "C" Then I2 = 12
If H2 = "D" Then I2 = 13
If H2 = "E" Then I2 = 14
If H2 = "F" Then I2 = 15
HexToInt = (I1 * 16) + I2
End Function

Conclusion :


Aucun bug connu sauf que ce programme pourrais être optimisé ...
Vous n'avez qu'à le faire ... et proposer des progs plus performants et qui peuvent travailler avec des fichiers plus gros ...

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.