- Scrivere su un file in VB6 (passo 1) -
 
COSA SERVE PER QUESTO TUTORIAL
Download | Chiedi sul FORUM | Glossario Microsoft Visual Basic 6 (la versione Learning dovrebbe bastare) - Possibilmente MSDN (Microsoft Devoloper Network) - Notepad (Blocco Note) - Progetti originali (non strettamente necessari) - Conoscenze basiche di VB
Scrivere dati con Print in modalità Output e Append

ACCODARE O SOVRASCRIVERE DATI SU FILE
Secondo passo: utilizzo di Print e Open For Append e Output.

In questo passo spiegheremo come scrivere del testo in un file. Le funzioni Open e Print servono rispettivamente a permettere l'accesso al file e a scriverci. Per prima cosa impostiamo l'interfaccia del programma creando i seguenti oggetti:

  • Button:
    • Name: Refres
    • Caption: "Aggiorna"
    • Enabled: False
    • Utilità: questo bottone ci servirà per ricaricare il file selezionato in Verfica allo scopo di verificare se i cambiamenti sono stati effettuati
  • RichTextBox (se non lo trovate, dal menu Progetto selezionate la voce Componenti, cercate nella lista "Microsoft Rich Text Box Control 6.0" o qualcosa di simile e selezionatelo. Premendo OK dovrebbe apparire una nuova icona nella barra degli strumenti, quello è il controllo RichTextBox che simile a una normale casella di testo ma ha ulteriori):
    • Name: Verifica
    • ScrollBars: 2 (verticali)
    • Text: (nulla)
    • Utilità: qui verrà caricato il testo del file aperto per controllare che il comando Print sia stato eseguito.
  • Button:
    • Name: OpenClose
    • Caption: "Apri"
    • Utilità: prima di poter accedere a un file è necessario aprirlo e chiuderlo quando si ha concluso il suo utilizzo.
  • Button:
    • Name: Prnt
    • Caption: "Print"
    • Enabled: False
    • Utilità: premendo questo pulsante si scriverà il testo di PrintObject nel file aperto.
  • TextBox:
    • Name: PrintObject
    • MultiLine: True
    • Scrollbars: 2 (verticali)
    • Utilità: qui è possibile digitare il testo che verrà scritto nel file premendo Prnt.
  • OptionButton
    • Name: Outp
    • Caption: "Output"
    • Value: False
    • Utilità: imposta che il contenuto del file verrà eliminato aprendolo, per poi scriverci altro.
  • OptionButton
    • Name: Appen
    • Caption: "Append"
    • Value: True
    • Utilità: imposta che utilizzando l'istruzione Print si accoderà testo al file.
  • TextBox
    • Name: OpenFile
    • Text: C:\Prova.txt
    • Utilità: qui potremo specificare un file alternativo al quale accedere, attenzione se il file non esiste verrà creato.

Ora non resta che fare in modo che cliccando su OpenClose se non ci sono file aperti si apra quello specificato in OpenFile, se invece c'è un file aperto (quindi OpenClose.Caption="Chiudi") lo chiuda:


Private Sub OpenClose_Click()
If OpenClose.Caption = "Apri" Then
Verifica.LoadFile OpenFile.Text
If Appen.Value = True Then Open OpenFile.Text For Append As #1 Else Open OpenFile.Text For Output As #1
Prnt.Enabled = True
Refres.Enabled = True
OpenClose.Caption = "Chiudi"
Else
Close #1
Prnt.Enabled = False
Refres.Enabled = False
Verifica.Text = ""
OpenClose.Caption = "Apri"
End If
End Sub

Vediamo in dettaglio ogni riga di codice:

  • Private Sub OpenClose_Click(): da inizio alla sub OpenClose_Click che viene richiamata quando si clicca su OpenClose.
  • Verifica.LoadFile OpenFile.Text: carica nella RichTectBox Verifica il file specificato in OpenFile. Attenzione, il file deve essere caricato in Verifica prima di utilizzare l'istruzione Open, perchè nessuna applicazione può avere accesso a un file già aperto.
  • If Appen.Value = True Then Open OpenFile.Text For Append As #1 Else Open OpenFile.Text For Output As #1: se Appen è selezionato (e quindi si desidera accodare del testo al file) si apre il file specificato in OpenFile For Append (appunto in modalità accodamento) identificandolo come file #1 altrimenti (quindi Outp è selezionato) lo si apre For Output (cioè in modalità di scrittura, che cancella però tutto il contenuto preesistente del file).
  • If OpenClose.Caption = "Apri" Then: inizia un blocco If la cui condizione è se il testo del pulsante OpenClose sia "Apri" o meno (quindi "Chiudi").
  • Prnt.Enabled = True: abilita il pulsante Prnt.
  • Refres.Enabled = True: abilita il pulsante Refres.
  • OpenClose.Caption = "Chiudi": cambia il testo del pulsante OpenClose in "Chiudi".
  • Else: se il la condizione OpenClose.Caption = "Apri" non è vera (quindi il testo di OpenClose è "Chiudi") al posto che eseguire le istruzioni qui sopra il blocco If esegue quelle tra Else e End If.
  • Close #1: chiude il file identificato alla sua apertura come #1.
  • Prnt.Enabled = False: disabilita il pulsante Prnt.
  • Refres.Enabled = False: disabilita il pulsante Refres.
  • Verifica.Text = "": cancella il testo in Verifica.
  • OpenClose.Caption = "Apri": cambia il testo del pulsante OpenClose in "Apri".
  • End If: chiude il blocco If con condizione OpenClose.Caption = "Apri".
  • End Sub: indica la fine della Sub.

A questo punto non resta che fare che quando si preme su Prnt scrive sul file #1 il testo in PrintObject:


Private Sub Prnt_Click()
Print #1, PrintObject.Text
End Sub

  • Private Sub Prnt_Click(): dichiara l'inizio della subroutine Prnt_Click che viene richiamata premendo su Prnt.
  • Print #1, PrintObject.Text: scrive nel file #1 (precedentemente aperto) il testo di PrintObject.
  • End Sub: chiude la sub Prnt_Click.

Ora rimane solo un'ultima funzionalità: premendo su Refres il testo di OpenFile deve diventare quello del file con le relative modifiche che potremmo aver apportato:


Private Sub Refres_Click()
Close #1
Verifica.LoadFile OpenFile.Text
If Appen.Value = True Then Open OpenFile.Text For Append As #1 Else Open OpenFile.Text For Output As #1
End Sub

  • Private Sub Refres_Click(): dichiara l'inizio della subroutine Refres_Click che viene richiamata premendo su Refres.
  • Close #1: chiude il file identificato come #1 perchè se il file è aperto (attraverso l'istruzione Open) non è possibile accedervi e quindi ricaricarlo in Verfica.
  • Verifica.LoadFile OpenFile.Text: carica nella RichTextBox Verifica il file specificato in OpenFile.
  • If Appen.Value = True Then Open OpenFile.Text For Append As #1 Else Open OpenFile.Text For Output As #1: se Appen è selezionato (e quindi si desidera accodare del testo al file) si apre il file specificato in OpenFile For Append (appunto in modalità accodamento) identificandolo come file #1 altrimenti (quindi Outp è selezionato) lo si apre For Output (cioè in modalità di scrittura, che cancella però tutto il contenuto preesistente del file). Quindi viene riaperto il file appena chiuso.
  • End Sub: chiude la sub Refres_Click.

 

<< INDIETRO by VeNoM00