Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Aprire un file in modalità Hex
Forum - C# / VB.NET - Aprire un file in modalità Hex

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
VB.NET_Program_91 (Member)
Pro


Messaggi: 93
Iscritto: 10/02/2008

Segnala al moderatore
Postato alle 0:27
Venerdì, 25/04/2008
Questo topic è stato chiuso dal moderatore

Scusate la domanda banale ma ho bisogno di sapere come aprire un file in modalità esadecimale...
Io ho iniziato cosi':
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.         Dim Read1 As IO.BinaryReader
  3.         Dim Buffer() As Byte
  4.         Dim File As String
  5.         Dim a As String
  6.         a = InputBox("")
  7.         File = a
  8.         If Not IO.File.Exists(File) Then
  9.             MsgBox("File inesistente!")
  10.             Exit Sub
  11.         End If
  12.         Dim Temp As New IO.FileStream(File, IO.FileMode.Open)
  13.         Read1 = New IO.BinaryReader(Temp)
  14.         ReDim Buffer(Read1.BaseStream.Length)
  15.         Read1.Read(Buffer, 0, Read1.BaseStream.Length)
  16.         Read1.Close()
  17.         For I As Int32 = 0 To Buffer.Length - 1
  18.             tex1.Text = (String.Format("{0:X2}", Buffer(I)))
  19.         Next
  20.     End Sub


ma non mi da errore anzi ... :d
solo che non sò come continuare ... XD
e poi ho qualche incertezza nel codice:
Codice sorgente - presumibilmente Plain Text

  1. tex1.Text = (String.Format("{0:X2}", Buffer(I)))


grazie a tutti ..:: :k: ::..

Ultima modifica effettuata da VB.NET_Program_91 il 25/04/2008 alle 0:31
PM
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 10:40
Venerdì, 25/04/2008
Testo quotato

Postato originariamente da VB.NET_Program_91:
aprire un file in modalità esadecimale...



Non e' corretto dire che sia apre un file in "modalita' esadecimale" ... semmai in binario ...

L'esadecimale e' soltanto un sistema di numerazione utilizzato in alternativa agli altri per visualizzare i dati ...


Testo quotato

ho qualche incertezza nel codice:

Codice sorgente - presumibilmente Plain Text

  1. tex1.Text = (String.Format("{0:X2}", Buffer(I)))





Infatti non e' corretto ... in questo modo vedi solamente l'ultimo byte letto ... per vederli tutti, li devi "accumulare" nella textbox ...

Codice sorgente - presumibilmente Plain Text

  1. TextBox1.Text = TextBox1.Text + " " + String.Format("{0:X2}", Buffer(I))



PM
Avatar
VB.NET_Program_91 (Member)
Pro


Messaggi: 93
Iscritto: 10/02/2008

Segnala al moderatore
Postato alle 12:38
Venerdì, 25/04/2008
Già che errore stupido ... cmq grazie mille :)

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 11:03
Sabato, 26/04/2008
O, ancora meglio:
Codice sorgente - presumibilmente Plain Text

  1. TextBox1.Text &= String.Format(" {0:X2}", Buffer(I))


PM
Avatar
VB.NET_Program_91 (Member)
Pro


Messaggi: 93
Iscritto: 10/02/2008

Segnala al moderatore
Postato alle 12:50
Sabato, 26/04/2008
Grazie mille TOTEM:k:

PM
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 18:59
Sabato, 26/04/2008
Testo quotato

Postato originariamente da Il Totem:

O, ancora meglio:
Codice sorgente - presumibilmente Plain Text

  1. TextBox1.Text &= String.Format(" {0:X2}", Buffer(I))




In realta' meglio dal punto di vista del computer ma non del programmatore :)

La "leggibilita'" del codice infatti, cosi' "peggiora" e dal punto di vista didattico questa forma (C-like) e' da evitarsi ...

PM
Avatar
VB.NET_Program_91 (Member)
Pro


Messaggi: 93
Iscritto: 10/02/2008

Segnala al moderatore
Postato alle 1:34
Domenica, 27/04/2008
gantonio inanzitutto a me non serve una spiegazione diddattica ma un codice beve e funzionale ... quindi si può dire che quello di totem è nettamente migiore.
cmq secondo me didatticamente e migliore anche quello di totem dato che utilizza gli operatori di assegnamento che sono molto importanti.

ciao :k:

Ultima modifica effettuata da VB.NET_Program_91 il 27/04/2008 alle 1:37
PM
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 10:09
Domenica, 27/04/2008
Testo quotato

Postato originariamente da VB.NET_Program_91:

gantonio inanzitutto a me non serve una spiegazione diddattica ma un codice beve e funzionale ...



Non era una spiegazione didattica (una sola d) ...

Ti volevo dire che la LEGGIBILITA' del codice era migliore ma non pretendo che tu comprenda l'importanza (anche nel campo professionale) di questa cosa ...

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:19
Domenica, 27/04/2008
Testo quotato

Postato originariamente da gantonio:
Ti volevo dire che la LEGGIBILITA' del codice era migliore ma non pretendo che tu comprenda l'importanza (anche nel campo professionale) di questa cosa ...



In realtà non proprio... L'operatore + tra stringhe è mantenuto per retrocompatibilità con vb6, del quale so che tu sei un accanito fruitore. Ora come ora, nella versione .net è meglio usare l'operatore di concatenazione, fatto apposto per questo. Inoltre l'uso dell'operatore di assegnazione abbreviato è un vantaggio sia in termini di leggibilità (con l'assegnazione normale, infatti, vedendo qualcosa dopo l'uguale, il lettore deve continuare per vedere se l'oggetto che si concantena è uguale a quello posto a sinistra dell'uguale e concludere solo successivamente che si sta aggiungendo qualcosa, mentre con &= si nota subito inequivocabilmente) che di spazio ed è stato introdotto come novità nel .net, anche se lo fa sembrare, come dici tu, c-like. Ad ogni modo lo preferisco così. Come sapete cerco sempre la soluzione più sintetica.

PM
Pagine: [ 1 2 ] Precedente | Prossimo