Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Lettura file di testo

  1. #1
    Moderatore di Annunci siti web L'avatar di Cesar
    Registrato dal
    Dec 2001
    Messaggi
    3,446

    Lettura file di testo

    Salve a tutti.
    Vado subito al problema:

    Ho un file di testo strutturato esattamente così:

    codice:
    :lista
    -Nome
    Il nome etc etc
    -Tipo_doc
    Tipo doc etc etc etc
    -Doc_principale
    Testo testo testo
    -Persone
    Numero persone
    -Note
    - Note note -
    - Note note -
    -Commenti
    Abcd abcd abcd abcd
    Abcd abcd abcd abcd
    Abcd abcd abcd abcd
    
    Abcd abcd abcd abcd
    Abcd abcd abcd abcd
    
    -descrizione
    Descrizione 
    Descrizione
    Descrizione
    Descrizione
    Descrizione
    Questa lista si ripete.
    :lista è l’inizio di ogni record.

    Io vorrei: prendere i valori diversi è memorizzarli nelle variabili. “Tutto qui”

    Come devo fare?
    Grazie.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Se il file non è gigantesco potresti fare uno split per :lista ed ottenere quindi tanti elementi di un array quanto sono i "record".
    A quel punto ti consiglierei di leggere riga per riga...

    Roby

  3. #3
    Moderatore di Annunci siti web L'avatar di Cesar
    Registrato dal
    Dec 2001
    Messaggi
    3,446
    Originariamente inviato da Roby_72
    Se il file non è gigantesco potresti fare uno split per :lista ed ottenere quindi tanti elementi di un array quanto sono i "record".
    A quel punto ti consiglierei di leggere riga per riga...

    Roby


    Il file pesa 19MB (proverò in locale…)

    Il problema è che purtroppo non ho usato tantissimo split…
    Se i record fossero linea per linea
    Es: nome||tipo_doc||etc
    Allora potrei riuscirci da solo, ma in questo caso non so’ proprio come fare…

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    E' uguale non cambia nulla. Solo che 19 MB ...

    Roby

  5. #5
    Moderatore di Annunci siti web L'avatar di Cesar
    Registrato dal
    Dec 2001
    Messaggi
    3,446
    per leggere un file, linea per linea del tipo

    nome||cognome||anni||etc

    ho fatto così:

    codice:
    <%
    strSQL = ""
    set fs = Server.CreateObject("Scripting.FileSystemObject") 
    set f = fs.OpenTextFile(Server.MapPath("text.txt"),1,0)
    do while f.AtEndOfStream = false
      r = f.ReadLine
      arrR = Split(r,"||")
      SQL = "Insert into tabella (nome,cognome,anni,etc) values (" & _
            "'" & arrR(0) & "'," & _
            "'" & arrR(1) & "'," & _
            "'" & arrR(2) & "'," & _
            "'" & arrR(3) & "') "
      strSQL = strSQL & vbcrlf & SQL
    loop
    
    response.write strSQL 'qui faccio conn.Execute(strSQL)
    %>
    Ma in quello caso, stavo leggendo linea per linea…

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ogni "record" contiene 7 elementi.
    Prima di inserire nel db devi verificare di quale elemento si tratti: Nome, Tipo_doc, ecc...
    Se è nome ad esempio, la riga successiva la assegni al primo elemento di un vettore, ad esempio arr(0), se è un tipo_doc al arr(1)...
    Ci devi lavorare.

    Roby

  7. #7
    Moderatore di Annunci siti web L'avatar di Cesar
    Registrato dal
    Dec 2001
    Messaggi
    3,446
    Certo. Questo lo immaginavo. Ma non riesco a capire come faccio a valorizzare una variabile (o un array) con i dati giusti. Cioè, come faccio a prendere tutto il testo di ogni elemento?

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Per i primi non c'è problema perché mi pare siano tutti su una riga...
    Per gli altri come dicevo ci devi lavorare perché devi valorizzare una variabile dinamicamente fino a quando giungi all'elemento successivo, da Note a Commenti per esempio. Solo a quel punto usi l'array per caricarti nela giusta posizione quanto hai caricato nella variabile dinamicamente.

    Roby

  9. #9
    Moderatore di Annunci siti web L'avatar di Cesar
    Registrato dal
    Dec 2001
    Messaggi
    3,446
    molto bene! ma come ? (in codice)

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    scherzi vero??? Sono in ferie...

    Roby

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.