Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    leggere da file di testo unico

    Ciao a tuti sono alle prime armi con Vb6 e ho una domandina
    da porre:
    recuperando l'indice da una listbox con ListIndex apro un file di testo in un controllo textbox il seguente codice:

    Private Sub List2_Click()
    Text2.Text = "" ' svuoto il controllo textbox


    Select Case list2.listindex 'recupero il valore di list2
    Case Is = 0
    Dim File As String
    Dim Stringa As String

    File = "12.txt"
    Open File For Input As #1
    Do Until EOF(1) = True
    Line Input #1, Stringa
    Text2.Text = Text2.Text & Stringa & vbCrLf
    Loop
    Close #1

    Case Is = 1
    File = "11.txt"
    Open File For Input As #1
    Do Until EOF(1) = True
    Line Input #1, Stringa
    Text2.Text = Text2.Text & Stringa
    Loop
    Close #1

    End Select
    End Sub

    in questo modo pero' per ogni field di list box cliccato devo
    avere un file .txt da caricare.
    La mia domanda e' la seguente come poter mettere tutte le
    info richieste in un unico file di testo in modo che il programma
    sappia a che punto leggere dal file di testo a secondo del valore di
    list2.listindex.
    Spero di essere stato chiaro
    Grazie anticipate

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    327
    Beh fai un file di testo con una riga per ogni item della list box e la proprietà listindex ti dice che riga del file devi leggere, così fai un ciclo for leggendo riga per riga scartandole finché non arrivi alla riga che ti interessa

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    118
    Usa un file random.
    Open "nome file.txt" For Random As #1 Len = 'lunghezza record

    eccetera.
    Prova a continuare nel caso abbia ulteriori problemi.....

    Ciao.

  4. #4

    re

    ho provato ma non mi funziona.
    Un piccolo esempio Please
    Grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    118
    potresti leggere un file sequenziale col
    line input in modo che ogni riga contenga la info relative.
    una o più righe.
    Con una striga di appoggio leggerai per linea e
    quando arrivi alla linea interessata la visualizzi.

    Ad esempio se listindex = 1 leggerai la prima o prome due
    se listindex = 2 leggerai la seconda o 2 e 3.

    Riprova con questa traccia,non dovresti avere problemi ma nel caso ti invio un codice d'esempio completo.

    ciao.

  6. #6

    x adamino

    Ti ringrazio per la tua pazienza,ma come ti dicevo sono alle
    prime armi,ho provato ma non mi riesce.
    Se mi puoi mandareuno scrpt d'esempio te ne sarei Grato
    Ciao e grazie
    h_hooligns@hotmail.com

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    118
    Open File For Input As #1
    do until eof(1) è superfluo scrivere = true perchè è
    implicito nella sua stessa definizione
    cioè leggila così:do finchè il file non è alla fine .......
    quindi = true è un info in più.
    capito.so di essere stato un po contorto ma m'è venuta così.

    Ricapitolando;(è solo un metodo pensato su due piedi che puoi perfezionare.)

    do until eof(1)
    (io preferisco scrivere Do while not EOF(1)
    è lo stesso)
    -------------------------------------------------
    dim cnt
    cnt = 0
    Do while not EOF(1)


    Line Input #1, Stringa

    if cnt = lstNomeLista.listindex 'le info che vuoi visualizzare
    txtInformazione.Text = Stringa
    exit do
    end if
    Loop
    Close #1

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    118
    scusa mi è partito il file non avevo finito:
    Open File For Input As #1
    do until eof(1) è superfluo scrivere = true perchè è
    implicito nella sua stessa definizione
    cioè leggila così:do finchè il file non è alla fine .......
    quindi = true è un info in più.
    capito.so di essere stato un po contorto ma m'è venuta così.

    Ricapitolando;(è solo un metodo pensato su due piedi che puoi perfezionare.)

    do until eof(1)
    (io preferisco scrivere Do while not EOF(1)
    è lo stesso)
    -------------------------------------------------

    dim cnt
    cnt = 0
    Do while not EOF(1)

    Line Input #1, Stringa
    'leggi la prima riga che contiene le info relative alla prima voce della lista

    if cnt = lstNomeLista.listindex
    txtInformazione.Text = Stringa
    exit do
    end if
    cnt = cnt + 1
    Loop
    Close #1

    il tutto in un evento click della lista o combo associato ad un pulsanta
    li vicino (è meglio)
    Se hai bisogno di più spazio di una riga ,cioè credo 255
    avanzi di dua righe alla volta....prova.
    nel caso manda anche i file dove tieni le info che te lo faccio io.
    Non è uno scherzo ora ho un po di tempo e mi diverto a fare programmini.
    ciao.

  9. #9

    re

    Grazie funziona

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.