VB.NET_Program_91 (Member)
Pro
Messaggi: 93
Iscritto: 10/02/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 |
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Read1 As IO.BinaryReader Dim Buffer() As Byte Dim a As String a = InputBox("") MsgBox("File inesistente!") Exit Sub End If Dim Temp As New IO. FileStream(File, IO. FileMode. Open) Read1 = New IO.BinaryReader(Temp) ReDim Buffer(Read1.BaseStream.Length) Read1.Read(Buffer, 0, Read1.BaseStream.Length) Read1.Close() For I As Int32 = 0 To Buffer.Length - 1 tex1.Text = (String.Format("{0:X2}", Buffer(I))) Next End Sub
|
ma non mi da errore anzi ...
solo che non sò come continuare ... XD
e poi ho qualche incertezza nel codice:
Codice sorgente - presumibilmente Plain Text |
tex1.Text = (String.Format("{0:X2}", Buffer(I)))
|
grazie a tutti ..:: ::.. Ultima modifica effettuata da VB.NET_Program_91 il 25/04/2008 alle 0:31 |
|
gantonio (Normal User)
Guru^2
Messaggi: 1532
Iscritto: 09/09/2007
|
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 ...
ho qualche incertezza nel codice:
Codice sorgente - presumibilmente Plain Text |
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 |
TextBox1.Text = TextBox1.Text + " " + String.Format("{0:X2}", Buffer(I))
|
|
|
VB.NET_Program_91 (Member)
Pro
Messaggi: 93
Iscritto: 10/02/2008
|
Già che errore stupido ... cmq grazie mille
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
O, ancora meglio:
Codice sorgente - presumibilmente Plain Text |
TextBox1.Text &= String.Format(" {0:X2}", Buffer(I))
|
|
|
VB.NET_Program_91 (Member)
Pro
Messaggi: 93
Iscritto: 10/02/2008
|
Grazie mille TOTEM
|
|
gantonio (Normal User)
Guru^2
Messaggi: 1532
Iscritto: 09/09/2007
|
Postato originariamente da Il Totem:
O, ancora meglio:
Codice sorgente - presumibilmente Plain Text |
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 ... |
|
VB.NET_Program_91 (Member)
Pro
Messaggi: 93
Iscritto: 10/02/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
Ultima modifica effettuata da VB.NET_Program_91 il 27/04/2008 alle 1:37 |
|
gantonio (Normal User)
Guru^2
Messaggi: 1532
Iscritto: 09/09/2007
|
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 ...
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
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. |
|