Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    salvare hex da richtextbox vb2010

    Salve a tutti ragazzi !! Sto per finire il mio tool, manca solo il salvataggio !! Ho praticamente in una richtextbox il file aperto in hex e, dopo aver apportato modifiche, voglio poterlo salvare cosi che poi lo possa riaprire sempre in hex. Quindi non voglio ovviamente salvare un file di testo ma salvare un file il quale, aperto con un qualsiasi hex editor, mi faccia avere gli stessi valori che ho nella richtextbox !! Come posso fare ? Ho provato con filestream usando sia write che writebyte, ho provato di tutto ma non riesco in attesa del vostro aiuto vi ringrazio anticipatamente come sempre

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quote Originariamente inviata da canapozzo88 Visualizza il messaggio
    Salve a tutti ragazzi !! Sto per finire il mio tool, manca solo il salvataggio !! Ho praticamente in una richtextbox il file aperto in hex e, dopo aver apportato modifiche, voglio poterlo salvare cosi che poi lo possa riaprire sempre in hex. Quindi non voglio ovviamente salvare un file di testo ma salvare un file il quale, aperto con un qualsiasi hex editor, mi faccia avere gli stessi valori che ho nella richtextbox !! Come posso fare ? Ho provato con filestream usando sia write che writebyte, ho provato di tutto ma non riesco in attesa del vostro aiuto vi ringrazio anticipatamente come sempre
    Prima devi convertire il contenuto del textbox in binario e poi lo salvi.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Ottimoo, e il salvataggio lo faccio con filestream writebyte?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quote Originariamente inviata da canapozzo88 Visualizza il messaggio
    Ottimoo, e il salvataggio lo faccio con filestream writebyte?
    Con la Write
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    non va sfortunatamente ti faccio vedere con delle immagini..

    1.jpg

    nella prima come vedi nella richtextbox di sinistra c'è il codice in esadecimale e a destra quella convertito in binario come mi hai detto tu

    2.jpg

    in quest'altra invece c'è il file salvato prima ed aperto in un qualsiasi hex editor ma il problema è che ho una serie di 31 e 30 come byte invece io voglio che il file salvato, una volta riaperto, mi faccia nuovamente vedere quanto era presente nella richtextbox di sinistra presente nella prima immagine..
    Spero di essere stato abbastanza chiaro, so che non è facile spiegare a parole quanto detto !! Grazie millee

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    No, non mi hai capito.

    Quando dico "in binario" non intendo "sequenze ASCII di 0 e 1" ma binario (un array di byte)!

    Devi creare un array, ad esempio di 200 elementi (se sono 200 i byte che devi salvare)

    Dim arrby(200) As Byte

    e convertire ogni coppia di byte esadecimali in un elemento dell'array.

    Poi salverai l'array
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    codice:
    Dim value As String = RichTextBox1.Text
    
    
    
    
            'Convert String to Byte array.
            Dim array() As Byte = System.Text.Encoding.ASCII.GetBytes(value)
    Dopo aver convertito la stringa e salvato l'array il problema non mi si risolve, ecco un immagine

    3.jpg

    Questo codice fa al caso mio e fa ciò che mi serve solo che mi inverte i byte, qualcuno può aiutarmi per far si che ciò non avvenga ? grazie mille

    codice:
    Try
    If save_savefiledialog.ShowDialog() = Windows.Forms.DialogResult.OK Then
    Dim fs As New IO.FileStream(save_savefiledialog.FileName, IO.FileMode.Create)
    
    For x As Integer = 0 To hexString.Length - 1 Step 8
    Dim ui As UInt32
    ui = Convert.ToUInt32(hexString.Substring(x, 8), 16)
    Dim b() As Byte = BitConverter.GetBytes(ui)
    fs.Write(b, 0, b.Length)
    Next
    fs.Close()
    End If
    Catch
    
    End Try

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Se hai una stringa

    Dim s As String

    che contiene "A6"

    s = "A6"

    e un array di byte

    Dim array(100) As Byte

    la converti nel primo byte dell'array semplicemente scrivendo

    array(0) = Convert.ToByte(s, 16)

    Basta che, da solo, provi ad implementare un ciclo per gestire tutto il testo del richtextbox ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Grazie mille, vediamo cosa riesco a faree

  10. #10
    Ci sono riuscito a salvare, il che è ottimo, però il problema persiste sfortunatamente !! questo è il codice che ho utilizzato

    codice:
    Try
    
                If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
    
    
                    Dim s As String = RichTextBox1.Text
                    Dim t As Integer = s.Length
                    Dim array(t) As Byte
                    For x As Integer = 0 To s.Length - 1 Step 8
                        array(0) = Convert.ToByte(x, 16)
                        IO.File.WriteAllLines(SaveFileDialog1.FileName, array)
                    Next
                End If
            Catch ex As Exception
            End Try
    Pero quando apro il file con un hex editor i byte che voglio li trovo nella parte destra del programma e io invece voglio vederli nella parte centrale, quella piu grande !! ti posto un immagine per farti capire meglio !! puoi aiutarmi ??

    5.jpg

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.