Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 32

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Uffa
    In base a tutto quello che ti ho detto, avrai scritto del codice nuovo. Se lo mostri facciamo qualche passo avanti.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2015
    Messaggi
    30
    Al momento sono messa in questo modo:

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click


    If SaveFileDialog1.ShowDialog = DialogResult.OK Then
    Using writer As BinaryWriter = New BinaryWriter(File.Open(SaveFileDialog1.FileName, FileMode.Create))


    Dim pos As Integer = 1
    Dim length As Integer = RichTextBox1.Text.Length


    While pos < length
    Dim array() As Int16 = {Val("&H" & Mid(RichTextBox1.Text, pos, 2))}
    For Each value As Byte In array
    writer.Write(value)
    pos += 3
    Next
    End While


    End Using
    End If

    Supponendo di dover salvare solo 2 byte ovvero "01 02", a seconda come già detto se dichiaro Int16 o Int32, mi esce così:

    Int16 ==> 0000000h: 01 00 02 00
    Int32 ==> 0000000h: 01 00 00 00 02 00 00 00

    Se dichiaro l'array come bytes, che appunto dovrebbe essere 8bit, mi dovrei aspettare:

    bytes ==> 0000000h: 01 02

    invece escono solo caratteri strani.

    Rinuncio perchè son 2 giorni che provo di tutto


    11 00 00 00

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Vedo che non hai seguito i consigli che ti ho dato ... comunque ...

    1) non ti serve l'array
    2) pos parte da 0
    3) il passo del ciclo è 2 e il controllo è <=
    4) la conversione si fa con la Convert

    All'interno della Using, bastano queste righe ...

    codice:
         Dim pos As Integer = 0
         Dim length As Integer = RichTextBox1.Text.Length
      
         While pos <= length
            writer.Write(Convert.ToByte(RichTextBox1.Text.Substring(pos, 2), 16))
            pos += 2
         End While
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2015
    Messaggi
    30
    Mettendo il tuo codice quando vado a salvare il file mi restituisce questo errore:

    Index e length devono fare riferimento a una posizione nella stringa.

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Utilizza

    <

    e non <=

    Ma avresti potuto farla tu una piccola prova, no ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2015
    Messaggi
    30
    ok ora non mi da errori ma se apro il file con un hex editor mi fa vedere solo caratteri strani e non il codice esadecimale
    Ultima modifica di Celeste'; 23-01-2015 a 12:41

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    237
    edit.. avevi già risolto quel passaggio.. Come non detto.
    Ultima modifica di renygade; 23-01-2015 a 12:53

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Non c'è alcun bisogno di utilizzare una seconda richtextbox. A parte il fatto che avresti potuto usare una semplice stringa, potresti fare a meno anche di quella e usare direttamente l'elemento Lines(index) nel ciclo.

    Per capirci, mostra adesso tutto il codice attuale che hai scritto in modo da capire cosa modificare.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2015
    Messaggi
    30
    Questo è quello che ho scritto riguardo il pulsante esporta dump

    Private Sub esportadump(sender As Object, e As EventArgs) Handles Button3.Click


    If SaveFileDialog1.ShowDialog = DialogResult.OK Then
    Using writer As BinaryWriter = New BinaryWriter(File.Open(SaveFileDialog1.FileName, FileMode.Create))

    'Dichiaro le variabili index e lunghlinee
    Dim index As Integer = 0
    Dim lunghlinee As Integer = RichTextBox1.Lines.Length

    'creo un ciclo in modo che tutte le linee della richtexbox 1 vengano messe consecutive nella richtextbox2 per poi essere salvate; diciamo che qui avrei dovuto mettere il tutto in un array, invece che nella richtexbox2 ma ancora non so come si fa

    While index < lunghlinee
    RichTextBox2.Text = RichTextBox2.Text & (RichTextBox1.Lines(index))
    index += 1
    End While




    Dim pos As Integer = 0
    Dim length As Integer = RichTextBox2.Text.Length
    While pos < length
    writer.Write(Convert.ToByte(RichTextBox2.Text.Subs tring(pos, 2), 16))
    pos += 3
    End While

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Lascia perdere il secondo RichTextBox e lavora sulle linee del primo

    codice:
    Using writer As BinaryWriter=New BinaryWriter(File.Open(SaveFileDialog1.FileName,FileMode.Create))
                Dim line As Integer
    
                For line = 0 To RichTextBox1.Lines.Count - 1
                    Dim lunghlinea As Integer = RichTextBox1.Lines(line).Length
                    Dim pos As Integer = 0
    
    
                    While pos < lunghlinea
                        writer.Write(Convert.ToByte(RichTextBox1.Lines(line).Substring(pos, 2), 16))
                        pos += 3
                    End While
                Next
    End Using
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.