Die Function HexDump wandelt einen (Datei-)String in einen formatierten HexDump-String um. Dieser kann z.B. in einer Textbox angezeigt werden. Module modHexDump ''' <summary> ''' Die Funktion HexDump wandelt einen Srting in einen HexDump String um. ''' </summary> ''' <param name="strInput">Eingangs String</param> ''' <param name="strLength">Länge des Eingangs String (-1: kompletten String)</param> ''' <returns>Ausgangs String</returns> ''' <remarks></remarks> Friend Function HexDump(ByRef strInput As String, _ Optional ByVal strLength As Integer = -1) As String Dim Character As String Dim AsciiValue As Integer Dim i As Integer Dim tmp As Integer Const Columns As Integer = 16 Dim sbTemp As New System.Text.StringBuilder Dim sbOutput As New System.Text.StringBuilder If strLength = -1 Then strLength = strInput.Length For i = 1 To strLength ' nächsten Character bestimmen Character = strInput.Substring(i - 1, 1) ' Ascii Wert des Characters bestimmen AsciiValue = Asc(Character) If i Mod Columns = 1 Then ' zu Beginn der Ausgabe-Zeile den Pointer darstellen ... sbOutput.Append(FormatHex((i - 1).ToString("X"), 8) & " ") End If ' ... dann den hex-Werte anhängen ... sbOutput.Append(FormatHex(AsciiValue.ToString("X"), 2)) sbOutput.Append(IIf(i Mod Columns = 8, " - ", " ")) ' darstellbare Zeichen als Character darstellen, andere als "." sbTemp.Append(IIf(AsciiValue >= 32, Character, ".")) If i Mod Columns = 0 Then ' ... und am Ende der Zeile die Character anhängen sbOutput.Append(" " & sbTemp.ToString & vbCrLf) sbTemp.Remove(0, sbTemp.Length) End If Next If sbTemp.ToString <> "" Then ' Letzte (unvollständige) Ausgabe-Zeile darstellen tmp = Columns - strLength Mod Columns sbOutput.Append(StrDup(3 * tmp, " ")) If tmp > 8 Then sbOutput.Append(" ") sbOutput.Append(" " & sbTemp.ToString & vbCrLf) End If Return sbOutput.ToString End Function ''' <summary> ''' Die Funktion FormatHex formatiert den Hex-String auf die vorgegebene Anzahl von Zeichen. ''' </summary> ''' <param name="strIn">Eingangs Hex-String</param> ''' <param name="num">Anzahl der Zeichen</param> ''' <returns>Ausgangs String</returns> ''' <remarks></remarks> Private Function FormatHex(ByVal strIn As String, ByVal num As Integer) As String If Len(strIn) = num Then Return strIn Else Return StrDup(num - Len(strIn), "0") & strIn End If End Function End Module Dieser Tipp wurde bereits 12.774 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
Neu! sevEingabe 3.0 Einfach stark! Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |