Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [VB 6] lettura da txt

  1. #1

    [VB 6] lettura da txt

    Ciao ho un file txt generato da questa funzione:

    codice:
    Public Function SalvaLista(NomeFile As String)
    Dim FileN As Integer
    If Dir(NomeFile) <> "" Then
        Kill NomeFile
    End If
        FileN = FreeFile
        Open NomeFile For Output As #FileN
        Write #FileN, "ATTIVI=" & frmOpta.txtATTIVI.Text
        Write #FileN, "BANCHE=" & frmOpta.txtBANCHE.Text
        Write #FileN, "CASSA=" & frmOpta.txtCASSA.Text
        Write #FileN, "CLIENTI=" & frmOpta.txtCLIENTI.Text
        Write #FileN, "FORNITORI=" & frmOpta.txtFORNITORI.Text
        Write #FileN, "PASSIVI=" & frmOpta.txtPASSIVI.Text
        Close #FileN
    End Function
    In output il file generato è cosi composto:

    "ATTIVI=2.80"
    "BANCHE=2.20"
    "CASSA=2.10"
    "CLIENTI=2.30"
    "FORNITORI=2.40"
    "PASSIVI=2.81"


    A questo punto leggo i dati con questa funzione:

    codice:
    Public Function CaricaLista(NomeFile As String)
    Dim FileN As Integer
    Dim VoceLetta As String
    Dim Testo As TextBox
    Dim Valore As String
    If Dir(NomeFile) = "" Then
    MsgBox "Il file non esiste. L'operazione sarà annullata"
    Exit Function
    End If
    FileN = FreeFile
    Open NomeFile For Input As #FileN
    
    Do While EOF(FileN) = False
        Input #FileN, VoceLetta
        Valore = Split(VoceLetta, "=")
        Testo = Split(VoceLetta, "=")
        MsgBox "Valore: " & Valore & vbNewLine & "Testo: " & Testo
    Loop
    Close #FileN
    End Function
    Solo che non riesco a prelevare i valori poichè il file di testo mi passa: "BANCHE=2.20"
    e lo split non legge, dovrei eliminare gli Apici, ma con Replace non riesco ...

  2. #2
    Utente di HTML.it L'avatar di sanny82
    Registrato dal
    Mar 2003
    Messaggi
    689
    crea una variabile...
    Pippo = "banche=20"
    E sotto richiami la variabile pippo
    Ok?
    una parola è poca e due sono troppe

  3. #3
    La funzione SalvaLista direi che va bene, ma non capisco come tu possa avere come output

    "ATTIVI=2.80"
    "BANCHE=2.20"
    "CASSA=2.10"
    "CLIENTI=2.30"
    "FORNITORI=2.40"
    "PASSIVI=2.81"

    Sei sicuro? Hai aperto il file con il Notepad? Dovrebbe essere così:

    ATTIVI=2.80
    BANCHE=2.20
    CASSA=2.10
    CLIENTI=2.30
    FORNITORI=2.40
    PASSIVI=2.81

    Riguardo alla funzione CaricaLista, credo che Split non sia stato usato in modo corretto. Prova così:
    codice:
    Public Function CaricaLista(NomeFile As String)
        Dim FileN As Integer
        Dim VoceLetta As String
        Dim Testo As TextBox
        Dim Valore As String
        Dim Dati() As String
    
        If Dir(NomeFile) = "" Then
            MsgBox "Il file non esiste. L'operazione sarà annullata"
            Exit Function
        End If
        FileN = FreeFile
        Open NomeFile For Input As #FileN
    
        Do While EOF(FileN) = False
            Input #FileN, VoceLetta
            Dati = Split(VoceLetta, "=")
            Valore = Dati(0)
            Testo = Dati(1)
            MsgBox "Valore: " & Valore & vbNewLine & "Testo: " & Testo
        Loop
        Close #FileN
    End Function
    Chi non cerca trova.

  4. #4
    Ok ho usato

    codice:
    Dati = Split(VoceLetta, "=")
            Valore = Dati(0)
            Testo = Dati(1)
    e funziona ma resta che nel file di testo mi scrive le variabili tra "".

    Grazie

  5. #5
    Il mio vecchio buon libro "Programmare con Visual Basic 3" (di G. Frantz, Apogeo) dice che Input# e Write# sono obsolete. Al posto di queste prova ad usare Line Input # e Print#. Ciao
    Chi non cerca trova.

  6. #6
    Tas ma se il comando l' ho copiato da MSDN di VB 6 (??)
    Comunque provo con Line Imput# perchè lo uso anche con Asp e non mi crea i "".

    Grazie


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.