Einzelnen Beitrag anzeigen

Benutzerbild von mael
mael

Registriert seit: 13. Jan 2005
391 Beiträge
 
Delphi XE3 Professional
 
#19

Re: HxD, schneller Hexeditor

  Alt 9. Feb 2005, 16:24
Zitat von Kedariodakon:
Mal so eine Frage, wie bekommt man so ein schönes Hexfeld + Markierungsrahmen .... hin?

Bye
Verdammt, die ganze Erklärung die ich gerade geschrieben habe, ist im Nirvana
Also, nochmal:
Die Offsetreihe und -spalte zeichnet in einer for-Schleife per TextOut auf den Schirm.
Für den Datenteil (also Hexadezimale- + Textdarstellung) kopiert man die notwendigen Bytes aus der Datei und formatiert sie mit einer Funktion à la BytesToHex und BytesToText und gibt diese Strings dann an der richtigen X,Y-Position auf dem Schirm aus.
Den Markierungsrahmen kann man mit Regions erzeugen, dazu habe ich eine Funktion geschrieben die mehrere aneinandergrenzende Rechtecke verschmilz und dann die resultierende Regions ausstanzt sodaß man nur noch einen Rahmen hat.
Für das Scrolling muß man alle X,Y-Positionen anpassen und dann neuzeichnen, weniger Flackern wenn nur ein Teil der Daten neu sichtbar wird erreicht man mit der ScrollWindow-API-Funktion.
Die normale (=farbliche) Markierung wird einfach durch eine angepaßte Background-Color vor dem TextOut realisiert.
Hoffe das gibt einen verständlichen Überblick.

Zitat von Schuster:
Tolles Desing
Danke


Zitat von Kedariodakon:
Die Funktion zum exportieren ist toll, aber für die nächste Version wär es vielleicht schön, diese mit Kommentaren auszuschmücken, sprich Dateiname, StartOffset, EndOffset...
Läßt sich machen.

Zitat von Kedariodakon:
Auch wär es toll wenn man sie in die Zwischenablage exportieren könnte und nicht immer den Weg über
die extra Datei gehen müste
Das geht (bis auf Rechtsklick) ja mit allen Formaten außer Intel Hex und Motorola S Records.
Häufig braucht man die zwei genannten Formate nur als Dateien und da sie außerdem dazu neigen recht groß zu werden wollte ich sie nicht in die Zwischenablage kopieren.
Die Entscheidung war also bewußt, aber wenn Du mir sagts warum man das häufig für IHex und MRecords braucht dann mach ich's rein.
  Mit Zitat antworten Zitat