vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: HEX Editor Eigenbau -> Anzeigen anders formatieren 
Autor: Manfred X
Datum: 11.06.11 09:39

Public Class frmHex
 
    Dim inputlength As Integer = 20
    Dim filelength As Long
    Dim topposition As Long
    Dim fsin As IO.FileStream
    Dim br As IO.BinaryReader, bw As IO.BinaryWriter
    Dim WithEvents lboByte As New ListBox With _
    {.Parent = Me, .Top = 10, .Height = 300, .Left = 10, .Width = 40}
 
    Dim WithEvents lboHex As New ListBox With _
   {.Parent = Me, .Top = 10, .Height = 300, .Left = 50, .Width = 40}
 
    Dim WithEvents lboAsc As New ListBox With _
   {.Parent = Me, .Top = 10, .Height = 300, .Left = 100, .Width = 40}
 
    Dim WithEvents txtEdit As New TextBox With _
    {.Parent = Me, .Top = 10, .Height = 300, .Left = 150, .Width = 40}
 
    Private Sub frmHex_FormClosing(sender As Object, _
        e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        fsin.Close()
    End Sub
 
    Private Sub frmHex_Load(sender As System.Object, e As System.EventArgs) _
      Handles MyBase.Load
        Me.Width = 200 : Me.Height = 350
        Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
        Dim infile As String = "Pfad Dateiname angeben"
        fsin = New IO.FileStream(infile, IO.FileMode.Open, _
          IO.FileAccess.ReadWrite)
        filelength = fsin.Length
        br = New IO.BinaryReader(fsin)
        bw = New IO.BinaryWriter(fsin)
        topposition = 0
        Showbytes()
    End Sub
 
    Private Sub Showbytes()
        fsin.Position = topposition
        Dim byt As Byte() = br.ReadBytes(inputlength)
        lboByte.SuspendLayout() : lboHex.SuspendLayout() : lboAsc.SuspendLayout( _
          )
        lboByte.Items.Clear() : lboHex.Items.Clear() : lboAsc.Items.Clear()
        For i As Integer = 0 To byt.Length - 1
            lboByte.Items.Add(byt(i))
            lboHex.Items.Add(Hex(byt(i)))
            lboAsc.Items.Add(Chr(byt(i)))
        Next i
        lboByte.ResumeLayout() : lboHex.ResumeLayout() : lboAsc.ResumeLayout()
    End Sub
 
    Private Sub lbo_KeyDown(sender As Object, e As _
      System.Windows.Forms.KeyEventArgs) _
        Handles lboByte.KeyDown
 
        With lboByte
            If e.KeyCode = Keys.Down And .SelectedIndex = .Items.Count - 1 And _
                topposition < filelength - inputlength Then
                topposition += 1
                Showbytes()
                .SelectedIndex = .Items.Count - 1
            ElseIf e.KeyCode = Keys.Up And .SelectedIndex = 0 And topposition _
              > 0 Then
                topposition -= 1
                Showbytes()
                .SelectedIndex = 0
            ElseIf e.KeyCode = Keys.Next Then
                Dim stepp As Integer = inputlength
                If e.Shift Then stepp *= 10
                topposition = Math.Min(topposition + stepp, filelength - _
                  inputlength)
                topposition = Math.Max(topposition, 0)
                Showbytes()
                .SelectedIndex = .Items.Count - 1
            ElseIf e.KeyCode = Keys.Prior Then
                Dim stepp As Integer = inputlength
                If e.Shift Then stepp *= 10
                topposition = Math.Max(topposition - stepp, 0)
                Showbytes()
            ElseIf e.KeyCode = Keys.End Then
                topposition = filelength - inputlength
                Showbytes()
                .SelectedIndex = .Items.Count - 1
            ElseIf e.KeyCode = Keys.Home Then
                topposition = 0
                Showbytes()
                .SelectedIndex = .Items.Count - 1
            End If
        End With
        Me.Text = CStr(topposition)
    End Sub
 
    Private Sub lbo_GotFocus(sender As Object, e As System.EventArgs) _
        Handles lboAsc.GotFocus, lboHex.GotFocus
        lboByte.Focus()
    End Sub
 
    Private Sub lboByte_SelectedIndexChanged(sender As Object, e As _
      System.EventArgs) _
        Handles lboByte.SelectedIndexChanged
        txtEdit.Text = CStr(lboByte.SelectedItem)
    End Sub
 
    Private Sub txtEdit_KeyDown(sender As Object, e As _
      System.Windows.Forms.KeyEventArgs) _
        Handles txtEdit.KeyDown
        If e.KeyCode = Keys.Enter Then
            If Not IsNumeric(txtEdit.Text.Trim) Then Return
            Dim dbl As Double = CDbl(txtEdit.Text.Trim)
            If (dbl < 0 Or dbl > 255) OrElse dbl <> CInt(dbl) Then Return
            fsin.Position = topposition + lboByte.SelectedIndex
            bw.Write(CByte(dbl))
            Showbytes()
        End If
    End Sub
End Class


Beitrag wurde zuletzt am 11.06.11 um 09:40:20 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
HEX Editor Eigenbau -> Anzeigen anders formatieren5.353Seek110.03.10 12:07
Re: HEX Editor Eigenbau -> Anzeigen anders formatieren4.223Brian10.03.10 12:41
Re: HEX Editor Eigenbau -> Anzeigen anders formatieren3.531ModeratorFZelle10.03.10 13:52
Re: HEX Editor Eigenbau -> Anzeigen anders formatieren3.601Seek110.03.10 14:49
Re: HEX Editor Eigenbau -> Anzeigen anders formatieren3.451GPM10.03.10 15:19
Re: HEX Editor Eigenbau -> Anzeigen anders formatieren3.427Seek110.03.10 15:31
Re: HEX Editor Eigenbau -> Anzeigen anders formatieren3.446GPM10.03.10 15:41
Re: HEX Editor Eigenbau -> Anzeigen anders formatieren3.411Seek110.03.10 15:50
Re: HEX Editor Eigenbau -> Anzeigen anders formatieren3.024einet10.06.11 15:02
Re: HEX Editor Eigenbau -> Anzeigen anders formatieren2.948ModeratorFZelle10.06.11 21:24
Re: HEX Editor Eigenbau -> Anzeigen anders formatieren2.968einet11.06.11 00:03
Re: HEX Editor Eigenbau -> Anzeigen anders formatieren3.190ModeratorDaveS11.06.11 08:31
Re: HEX Editor Eigenbau -> Anzeigen anders formatieren3.127Manfred X11.06.11 09:39
Re: HEX Editor Eigenbau -> Anzeigen anders formatieren3.017Manfred X11.06.11 09:44
Re: HEX Editor Eigenbau -> Anzeigen anders formatieren2.915einet11.06.11 19:00
HEX Editor Eigenbau (Teil1)3.269Manfred X11.06.11 21:36
Re: HEX Editor Eigenbau (Teil2)3.069Manfred X11.06.11 21:37
Re: HEX Editor Eigenbau -> Anzeigen anders formatieren3.005ModeratorDaveS11.06.11 22:07

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel