VB 5/6-Tipp 0195: Hex-Viewer
von ActiveVB
Beschreibung
Ein kleiner Hex-Viewer, der Strings sowohl in 8-Bit als auch in 16-Bit darstellen kann, zudem werden im Text gefundene ASCII Zeichen als Text dargestellt.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Project1.vbp ------------- '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Optionsfeld-Steuerelement "Option2" ' Steuerelement: Optionsfeld-Steuerelement "Option1" ' Steuerelement: Schaltfläche "Command1" ' Steuerelement: Textfeld "Text1" Option Explicit Private Declare Function IsCharAlphaNumeric Lib "user32" _ Alias "IsCharAlphaNumericA" (ByVal cChar As Byte _ ) As Long Dim Res As Byte Private Sub Form_Load() Option1.Caption = "8 Byte" Option1.Value = True Option2.Caption = "16 Byte" Command1.Caption = "In Hex Umwandeln" Res = 8 End Sub Private Sub Option1_Click() Res = 8 End Sub Private Sub Option2_Click() Res = 16 End Sub Private Sub Command1_Click() Dim aa$, bb$, cc$, x%, Erg$, aVal As Byte aa = "Dies ist ein Teststring der in Hex umgewandelt " & _ "wird die Zeichen 1234567890 werden ebenfalls du" & _ "rch die IsCharAlphaNumeric rechts erkannt" x = Res - Len(aa) Mod Res If x <> Res Then aa = aa & Space(x) For x = 1 To Len(aa) bb = Mid$(aa, x, 1) If bb = Chr$(0) Then aVal = 0 Else aVal = (Asc(bb)) End If If IsCharAlphaNumeric(aVal) Then cc = cc & bb Else cc = cc & "." End If Erg = Erg & Hex(aVal) If x Mod Res <> 0 Then Erg = Erg & " " Else Erg = Erg & " " & cc & vbCrLf cc = "" End If Next x If cc <> "" Then Erg = Erg & " " & cc Text1.Text = Erg End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '-------------- Ende Projektdatei Project1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
VB5 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
VB6 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 6 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von am 13.01.2006 um 11:05
Von Jens am 24.09.2005 um 10:52
@Stemprede und alle anderen, die sich fragen, wie das umwandeln von Hex->Dec funktioniert... ganz einfach mit der Format-Funktion
Dim sHexWert As StringsHexWert = "FF"Debug.Print Format("&H" & sHexWert, "0")
Kommentar von zerocool am 13.01.2006 um 11:05
'Dieser Source stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.
'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!
'------------- Anfang Projektdatei Project1.vbp -------------
'--------- Anfang Formular "Form1" alias Form1.frm ---------
' Steuerelement: Optionsfeld-Steuerelement "Option2"
' Steuerelement: Optionsfeld-Steuerelement "Option1"
' Steuerelement: Schaltfläche "Command1"
' Steuerelement: Textfeld "Text1"
Option Explicit
Private Declare Function IsCharAlphaNumeric Lib "user32" _
Alias "IsCharAlphaNumericA" (ByVal cChar As Byte _
) As Long
Dim Res As Byte
Private Sub Form_Load()
Option1.Caption = "8 Byte"
Option1.Value = True
Option2.Caption = "16 Byte"
Command1.Caption = "In Hex Umwandeln"
Res = 8
End Sub
Private Sub Option1_Click()
Res = 8
End Sub
Private Sub Option2_Click()
Res = 16
End Sub
Private Sub Command1_Click()
Dim aa$, bb$, cc$, x%, Erg$, aVal As Byte
aa = "Dies ist ein Teststring der in Hex umgewandelt " & _
"wird die Zeichen 1234567890 werden ebenfalls du" & _
"rch die IsCharAlphaNumeric rechts erkannt"
x = Res - Len(aa) Mod Res
If x <> Res Then aa = aa & Space(x)
For x = 1 To Len(aa)
bb = Mid$(aa, x, 1)
If bb = Chr$(0) Then
aVal = 0
Else
aVal = (Asc(bb))
End If
If IsCharAlphaNumeric(aVal) Then
cc = cc & bb
Else
cc = cc & "."
End If
Erg = Erg & Hex(aVal)
If x Mod Res <> 0 Then
Erg = Erg & " "
Else
Erg = Erg & " " & cc & vbCrLf
cc = ""
End If
Next x
If cc <> "" Then Erg = Erg & " " & cc
Text1.Text = Erg
End Sub
'---------- Ende Formular "Form1" alias Form1.frm ----------
'-------------- Ende Projektdatei Project1.vbp --------------
Kommentar von Jens am 24.09.2005 um 10:52
@Stemprede und alle anderen, die sich fragen, wie das umwandeln von Hex->Dec funktioniert... ganz einfach mit der Format-Funktion
Dim sHexWert As String
sHexWert = "FF"
Debug.Print Format("&H" & sHexWert, "0")
Kommentar von Andre Geese am 20.12.2004 um 22:59
Wie kann ich denn Text in ein Hexwert umwandeln? also ich habe zum beispiel eine datei wo ich als Hexwert 00 01 04 rausbekomme nun möchte ich den Text (der aus 00 01 04 entsteht) ergänzen und als Hexwert zurückschreiben. aber ich habe da irgendwie keine Ideen.
Kommentar von arne am 23.09.2003 um 11:14
Gibt es eine Möglichkeit eine Bitmap als HEX-Code ausgeben zulassen?
Wenn ich aa durch ein Picture ersetze erhalte ich nur eine unvollständige Ausgabe (Vergleich => UltraEdit32).
Kommentar von Stampede am 01.08.2002 um 10:52
Sers Leute,
Gibt es eine möglichhkeit das ganze dann auch wieder andersrum zu rechnen? Also ich habe einen HEX Code und möchte dann wieder den normalen String haben????
wenn möglich, schriebt mir die antwort bitte an hackattack@uboot.com
mfg
thx schon mal...
Stampede