Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [vb6] - Apri/Salva

  1. #1

    [vb6] - Apri/Salva

    Salve a tutti!
    Sto creando la mia prima app. in VB ma ho qualche problemino...

    Innanzitutto sto scrivendo un editor di testi.

    C'è un campo di testo multiriga chaiamato txt e due pulsanti, apri e salva.
    Finora sono riuscito con un commondialog a far scegliere percorso e nome file per salvare / aprire e a fare in modo che lo salvi in una variablle...
    fin qui tutto bene... Ora 2 problemi...

    -Come faccio a dirgli di salvare ciò che è contenuto nel campo di testo nel file il cui percorso è contenuto nella variabile ? e come per caricare?

    -é possibile specificare che tipo di file salvare o caricare (es. txt)?

    Spero dicessere stato chiaro...
    Gianluca
    -AMD Athlon XP 2400+
    -NVIDIA GeForce 4 MX 440
    -HD 60GB + HD 160GB
    -768MB DDR RAM
    -7 USB
    -2 Firewire

  2. #2
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    codice:
    Dim testo As String
    Dim nomefile As String
    Dim percorso As String
    Private Sub Command1_Click()
    'finestra apri - commondialog
    CommonDialog1.Flags = cdlOFNHideReadOnly Or cdlOFNExplorer
    CommonDialog1.Filter = "File di Testo (*.txt)|*.txt"
    CommonDialog1.CancelError = True
    CommonDialog1.InitDir = "c:\"
    On Error GoTo annulla
    CommonDialog1.ShowOpen
    nomefile = CommonDialog1.FileName
    'legge file
    Open nomefile For Input As #1
    Input #1, testo
    Text1.Text = testo
    Close #1
    Exit Sub
    annulla:
    MsgBox (Err.Description)
    End Sub
    
    Private Sub Command2_Click()
    'finestra salva - commondialog
    CommonDialog1.Flags = cdlOFNHideReadOnly Or cdlOFNExplorer
    CommonDialog1.Filter = "File di Testo (*.txt)|*.txt"
    CommonDialog1.CancelError = True
    CommonDialog1.InitDir = "c:\"
    On Error GoTo annulla
    CommonDialog1.ShowSave
    nomefile = CommonDialog1.FileName
    ' scrive il file su disco
    Open nomefile For Output As #1
    Print #1, Text1.Text
    Close #1
    Exit Sub
    annulla:
    MsgBox (Err.Description)
    End Sub
    
    Private Sub Form_Load()
    testo = Text1.Text
    End Sub

  3. #3
    @yyzyyz:
    1) perchè li apri in maniera sequenziale per caricare/scaricare tutto il contenuto e non usi il binario che è molto più performante
    2) perche, inserendo una gestione dell'errore (giustamente peraltro), non ti preoccupi di chiudere il file? Ad una successiva azione dell'utente generebbe un errore di IO
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  4. #4
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    ciao xegallo, x performante intendi questo?
    codice:
    'legge file
    Open nomefile For Binary As #1
    testo = Space(LOF(1))
    Get #1, , testo
    Text1.Text = testo
    Close #1
    codice:
    ' scrive il file su disco
    Open nomefile For Binary Access Read Write As #1
    Put #1, , Text1.Text
    Close #1
    X il secodo punto nn ho capito molto bene, ke intendi?
    Il file viene kiuso.


  5. #5
    Originariamente inviato da yyzyyz
    ciao xegallo, x performante intendi questo?
    codice:
    'legge file
    Open nomefile For Binary As #1
    testo = Space(LOF(1))
    Get #1, , testo
    Text1.Text = testo
    Close #1
    codice:
    ' scrive il file su disco
    Open nomefile For Binary Access Read Write As #1
    Put #1, , Text1.Text
    Close #1
    X il secodo punto nn ho capito molto bene, ke intendi?
    Il file viene kiuso.

    1) così se non devi manipolare niente riga per riga è indubbiamente + veloce
    2)in caso di errore prima della Close#1 il file non viene chiuso ed a una successiva apertura restituisce un errore di IO, è buona regola quando si maneggiano file inclusere nella gestione dell'errore una Close
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  6. #6
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    ciao xegallo
    1) tu kosa suggeriresti ?
    2) per il discorso della chiusura si potrebbe mettere un reset, tu ke dici?
    codice:
    annulla:
    reset ' chiude tutti i file aperti
    MsgBox (Err.Description)
    End Sub

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.