ArcadiA Club
ArcadiA Club


AAC FORUM     AAC News     AAC Box    



Home Page   Home Page
programmazione.htm   Programmazione - FORUM sezione  Vai al FORUM
 
Username:
Password:
Iscriviti!  |  Recupero password



Iscriviti GRATIS, potrai navigare senza questa
fascia e accedere a contenuti esclusivi:

    E-Mail:

Password:



 

 
- 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.

  • TextBox:
    • Name: Risultato
    • Text: (nulla)
    • ScrollBars: 2 (verticali)
    • Multiline: True
    • Utilità: in essa scriveremo ogni dato letto dal file.
  • Button
    • Name: OpenClose
    • Caption: Apri
    • Enabled: False
    • Utilità: questo pulsante serve per aprire e chiudere il file.
  • Button
    • Name: DoGet
    • Caption: Get
    • Utilità: premendo questo pulsante si leggeranno il numero di byte specificato in NumByte o l'intero file se Tutto è selezionato.
  • TextBox
    • Name: NumByte
    • Caption: 1
    • Utilità: qui viene specificato il numero di byte che verranno letti premendo DoGet (questa casella non avrà effetto se Tutto è selezionato)
  • CheckBox
    • Name: Tutto
    • Caption: Tutto
    • Value: 0 (unchecked)
    • Utilità: se selezionato, al premere di DoGet verrà letto l'intero file e riportato in Risultato
  • Label
    • Name: TotByteText
    • Caption: Byte letti: 0
    • Utilità: numero di byte letti.
  • TextBox
    • Name: OpenFile
    • Text: C:\Prova.txt
    • Utilità: qui potremo specificare il file al quale accedere.

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

  • Dim Prendi() As Byte: dichiariamo un array di Byte chiamato Prendi, dove verranno memorizzati i dati letti dal file.
  • ReDim Prendi(NumByte - 1): diamo una dimensione a Prendi pari al numero di byte che si desidera leggere dal file.
  • Get #1, , Prendi: chiamiamo l'istruzione Get sul file #1 e con un riferimento a Prendi; il secondo parametro è stato omesso, indicherebbe il punto di partenza da cui iniziare a leggere.

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  


Video collegati Visualizza i video di questa pagina
Visualizza video sull'argomento "leggere".
Visualizza video sull'argomento "dati".
Visualizza video sull'argomento "binary".
Visualizza video sull'argomento "visual".
Visualizza video sull'argomento "basic".
Visualizza video sull'argomento "leggere dati for binary visual basic 6".


Dì la tua: cosa ne pensi?
Esponi il tuo punto di vista e condividilo con migliaia di persone

Oggetto nuova discussione:


Testo del messaggio:

E-Mail:

Quanto fa più dieci:




 





^ TOP  
Linkaci | Segnala errore | Invita | Stampa


pubblicità | privacy | visione | diritti | ufficio stampa | donazioni | scrivici
© 1999-2017 - P.IVA 02284690035 - Grafica, layout e contenuti sono di esclusiva proprietà di ArcadiA Club.

Powered by:
Spazi pubblicitari di alto livello
 

Compra in un click! | Cerca prodotti in offerta: