Bin Datei öffnen und als Hex auslesen

  • VB.NET

Es gibt 49 Antworten in diesem Thema. Der letzte Beitrag () ist von Artentus.

    RodFromGermany schrieb:

    @Artentus: Für diesen Code brauchst Du das 2012er Studio.
    Ich habe "nur" VS2010 Express und bei mir läuft der Code von Artentus. Wenn man die Sub GetHexString noch etwas aufpeppt läuft es auch mit einer Textbox ausreichend schnell.
    Mit zu großen Dateien sollte man aber in dieser Fassung nicht spielen, das reicht der Puffer nicht nicht.

    VB.NET-Quellcode

    1. Do Until fs.Position = fs.Length
    2. Dim bytes() = br.ReadBytes(Math.Min(bufferSize, Convert.ToInt32(fs.Length - fs.Position)))
    3. Dim j As Integer = 0
    4. For i = 0 To bytes.Length - 1
    5. If j = 7 Then
    6. hexString.Append(" ")
    7. ElseIf j = 15 Then
    8. hexString.Append(Environment.NewLine)
    9. j = 0
    10. End If
    11. hexString.Append(bytes(i).ToString("X2") & " ")
    12. j += 1
    13. Next
    14. RaiseEvent ProgressChanged(Me, New HexReaderProgressChangedEventArgs(Convert.ToInt32(fs.Position / fs.Length * 100)))
    15. Loop
    @HaRoWagner: , @Xylon: Sorry, Schreibfehler. das 2010er reicht.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany
    Ja schon klar.. Ich sehe das jetzt der String "bla" in der TextBox angezeigt wird. Aber ich will ja den Inhalt haben. Kann man nicht einfach das Projekt in VB 2010 Öffnen und dann den neuen Code benutzen? Das wäre um einiges einfacher -__-.

    Xylon schrieb:

    in VB 2010 Öffnen und dann
    Konvertieren ...
    Klar. Sollte problemlos gehen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Cool. Dann werd ich das mal machen. Aufrüsten schadet nie :)
    Danke erstmal für die vielen Hilfen. Ich würd ja gern auf Hilfreich klicken, aber leider ist das hier bei mir dann immer ein ungültiger Link...

    Edit:
    Funktioniert bestens! Jetzt werde ich noch die Hex Zahlen in 32bit anzeigen und aufteilen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Xylon“ ()

    Ich würde gerne bevor ich dieses Thema als erledigt markiere wissen, ob es eine Möglichkeit gibt die Wartezeit zu verzögern, wenn man zu dem Tab mit den rtb's wechselt. Ich habe schon 2 scrollbars hinzugefügt, aber das dauert immer noch ganz schön lange :/
    Ich sagte doch, dass TextBoxen nicht geeignet sind, weil die zu lange brauchen. Ich hab auch schon alles, was geht in Threads, ausgelagert, von der Seiter kannst du da nichts mehr optimieren. Du solltest am besten eine Anzeigemöglichkeit wählen, bei der immer nur ein Teil des String auf einmal angezeigt wird, nicht wie bei der TextBox alles auf einmal.
    Mhh ich werd mal schauen. Ich bin ja noch ein Anfänger..
    @Artentus
    Ich habe ja wie gesagt schon eine scroll bar hinzugefügt, aber es dauert halt immer noch so lange. Ich bekomme das schon irgendwie hin :D
    Die ändert daran nicht wirklich was. Das Problem ist, obwohl nur ein Teil des Strings sichtbar ist wird dennoch der ganze String berechnet und gezeichnet. Du musst die schon vor dem Anzeigen den sichtbaren Teil aus dem String entnehmen, damit nur dieser dargestellt werden muss.