- Leggere un file in VB6 come binario (passo
3) - |
|||
COSA SERVE PER QUESTO TUTORIAL | |||
Download | Chiedi sul FORUM | Glossario | Microsoft Visual Basic 6 - Conoscenze basiche di VB | ||
Utilizzo di Input con metodo For Binary e dell'istruzione Get | |||
LEGGERE BYTE DA UN FILE Terzo passo: utilizzo di Get e Open For Binary. In questo passo spiegheremo come leggere un file trattando i dati come binari ovvero non servendoci di stringhe, ma posizionando i dati in un array di byte. In questa maniera i dati non verranno interpretati da Visual Basic ma saranno letti esattamente come sono scritti su disco.
Ora non resta che fare in modo che cliccando su OpenClose se non ci sono file aperti si apra quello specificato in OpenFile, altrimenti (OpenClose.Caption="Chiudi") chiuda l'ultimo aperto; essendo questo processo pressoché identico a quello dello Step 1, riportiamo di seguito solo i cambiamenti salienti: Open OpenFile.Text For Binary As #1 FileLength = FileLen(OpenFile.Text) La sostanziale differenza è che il metodo di lettura non è più For Input ma For Binary, questo ha degli effetti che vedremo nella Sub che segue. FileLength è una variabile in cui viene memorizzata la lunghezza del file cosicché sia possibile leggerlo per intero. Naturalmente la variabile FileLength va dichiarata in cima al codice come Long. Dim FileLength As Long Vediamo ora la Sub DoGet_Click, che corrisponde a Inpt_Click del primo Step. Anche qui la maggior parte dei cambiamenti sono formali. La cosa veramente importante è come viene effettuata la lettura dal file: non si utilizza più Input o Line Input ma Get. Dim Prendi() As Byte ReDim Prendi(NumByte - 1) Get #1, , Prendi
A questo punto avremo un array di byte letti dal file. Ecco una semplice funzione per mostrarli all'utente come stringa in formato esadecimale: Private Function ByteArrayToString(arr() As Byte) As String Dim C1 As Integer Dim Output As String For C1 = LBound(arr) To UBound(arr) If arr(C1) < 16 Then Output = Output & "0" & Hex(arr(C1)) & " " Else Output = Output & Hex(arr(C1)) & " " End If Next C1 ByteArrayToString = Output End Function Abbiamo così concluso la serie di articoli su come leggere e scrivere
file in Visual Basic 6. |
|||
<< INDIETRO | by VeNoM00 |