Ultra hexa, editeur hexadecimal (.net v2), ouverture super rapide

Soyez le premier à donner votre avis sur cette source.

Vue 27 601 fois - Téléchargée 1 961 fois

Description

C'est ma 1ere vraie source en .net alors autant la faire en .net v2...

C'est un editeur hexadecimal, il permet de modifier un fichier au niveau binaire...
bon jusque là rien d'execptionnel... Mais il ouvre les fichiers super rapidement (j'ai fais le teste avec un fichier de 1,2Go il me l'a ouvert en moins d'une seconde, et en plus ne consomme pas de memoire....

Vous allez me dire, pas possible !!! et bien je vous repond que vous avez raison, en faite j'utilise un artifice
je ne lis que les bytes que je suis capable d'afficher à l'écran (cad 32 lignes * 16 bytes = 512 bytes)
et puis quand je me deplace par l'intermedaire de la scrollbar ou d'un "MouseWheel" je relie les bytes qui me conviennent

Par contre il est plus rapide qu'un editeur classique c'est à dire, l'affichage dans une textbox est super long, donc
je dessine les bytes à l'ecran, regardez le code vous allez comprendre (faite le test aussi de rapidité entre textbox et dessin de text).

voila
comme d'hab, laisser les commentaire, les notes, les remarques, etc

PS : j'avai pas prevu de la poster tout de suite, mais une de source que j'ai vu hier n'etait pas très pratique donc j'ai fait un commentaire et son auteur voulai que je la publie donc c'est chose faite...
au passage un coup de pub pour lui (c'est du vb6) : Avelis : http://www.vbfrance.com/codes/XEDIT-EBAUCHE-EDITEUR-HEXADECIMAL_37050.aspx

PS2 : pas très commentée, enfin juste dans les grandes lignes (mais comme je l'ai dis j'avai pas prevu de la poster de suite...)

PS3 : faut le preciser aussi cette source n'est pas un copie mais une adaptation d'une source C# presente sur CSharpFr (je reprend juste l'idée de ne pas afficher dans une zone de texte mais dessiner les bytes)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
16
Date d'inscription
samedi 1 février 2003
Statut
Membre
Dernière intervention
4 juin 2012

Super excellent!!!
J'ai testé ça fonctionne vraiment bien!!
J'aurais par contre une petite question pour une petite modif.
Serait-il possible de faire le défilement en même temps que l'on déplace la scrollbar??
Car quand on déplace la scrollbar la position change uniquement une fois le déplacement de la scrollbar finie.
Ce serait vraiment parfait si la position changeait en même temps que lorsqu'on déplace la scrollbar.
Merci pour votre aide!!
Messages postés
147
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
15 avril 2011

@ kouki1000 : Pour ce passer du "Gras" généré par le ClearType le code suivant fonctionne, c'est vrai. Mais c'est du bricolage. On ne peux plus utiliser la transparence des couleurs.
MargeGr.Clear(Color.White)
La priorité "TextRenderingHint" de la classe "Graphics" permet de définir le mode de rendu du texte. Il faudra donc préférer le code qui suit.
MargeGr.TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAliasGridFit
Cordialement, NS.
Messages postés
147
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
15 avril 2011

@ Spinelli :
Tu as besoin de VB.NET pour lire la source. Tu pourra télécharger la version 2010 à cette adresse http://msdn.microsoft.com/fr-fr/gg699324

J'en profite pour me faire de la pub. J'ai moi même une source qui fonctionne sur la même base, mais avec une interface plus agréable, plus de fonctions, et un code bien commenté. http://www.vbfrance.com/codes/HEXAMINATOR-EDITEUR-HEXADECIMAL-RAPIDE-EFFICACE_52911.aspx

@VBSorcier :
L'idée de ne pas tout charger un fichier m'a vraiment plut. Merci d'avoir fait suivre.
Messages postés
1
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
22 mars 2011

Bonjour,

Je viens de faire le téléchargement de votre fichier.

Je ne sais pas comment faire pour lire un fichier .exe avec votre programme.

Je ne suis pas développeur.

Est-ce qu'il faut faire une compilation de vos source et si oui comment puis-je faire ?

D'avance merci de votre réponse et à bientôt.


Elio SPINELLI
Messages postés
108
Date d'inscription
dimanche 8 février 2009
Statut
Membre
Dernière intervention
5 novembre 2010

Très très bien cette source: 10/10
Malheureusement ton code fait que le texte s'affiche en "gras" quand on a le ClearType activé (a cause de la transparence)
Voici un fix:

Dim MargeImg As Image = New Bitmap(Lb_Marge.Width, Lb_Marge.Height)
Dim MargeGr As Graphics = Graphics.FromImage(MargeImg)
MargeGr.Clear(Color.White)
MargeGr.DrawImage(MargeImg, New Point(0, 0))

Dim LineImg As Image = New Bitmap(Lb_Line.Width, Lb_Line.Height)
Dim LineGr As Graphics = Graphics.FromImage(LineImg)
LineGr.Clear(Color.White)
LineGr.DrawImage(LineImg, New Point(0, 0))

Dim HexaImg As Image = New Bitmap(Lb_Hexa.Width, Lb_Hexa.Height)
Dim HexaGr As Graphics = Graphics.FromImage(HexaImg)
HexaGr.Clear(Color.White)
HexaGr.DrawImage(HexaImg, New Point(0, 0))

Dim AscImg As Image = New Bitmap(Lb_Asc.Width, Lb_Asc.Height)
Dim AscGr As Graphics = Graphics.FromImage(AscImg)
AscGr.Clear(Color.White)
AscGr.DrawImage(AscImg, New Point(0, 0))

A mettre dans la Sub DrawByte()
(remplacez tous les Dim ** as Image etc... par ça)
Afficher les 19 commentaires

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.