Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [VB6]Contenuto file in variabili

    Ciao a tutti,
    vorrei leggere dei file txt e immetere il testo in variabili, ma se faccio

    codice:
    Dim Log as String
    Open "c:\file.txt" For Input As #1
        Do While Not EOF(1)
            Input #1, Log
            Log = Log & Log
        loop
    close #1
    il contenuto del file viene spezzato...come faccio a inserire i contenuti dei file txt in singole variabili?

  2. #2
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Cosa intendi per 'spezzato' ?
    Ciao,
    Ciao, Brainjar

  3. #3
    che i file contengono ad esempio 10Kbyte di scrittura all'interno e da come ho letto le variabili string hanno una dimensione massima da 10byte e quindi dentro la variabile che utilizzo per la lettura non ci sta tutto il testo.

  4. #4
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Potresti leggere una variabile per volta e memorizzarle in una
    collection.

    codice:
    Dim Log as String
    Dim MyCol as New Collection  
    Open "c:\file.txt" For Input As #1
        Do While Not EOF(1)
            Input #1, Log
            MyCol.Add Log  
        loop
    close #1
    ' A questo punto hai letto tutto il file
    Ciao,
    Ciao, Brainjar

  5. #5
    pensavo di mettere il tutto in array o oggetti..speravo ci fosse un sistema migliore, perchè poi volevo creare con i dati del file di testo degli oggetti che ne contenevano il contenuto.

  6. #6
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Perchè, le collection non sono del tutto simili, se non più potenti,
    di un array di oggetti ?
    Ciao,
    Ciao, Brainjar

  7. #7
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Originariamente inviato da lbottoni
    che i file contengono ad esempio 10Kbyte di scrittura all'interno e da come ho letto le variabili string hanno una dimensione massima da 10byte e quindi dentro la variabile che utilizzo per la lettura non ci sta tutto il testo.
    :master: dove hai letto quanto dici? non è molto esatto..
    senza aggiungere altro..dalla guida in linea di visual basic:
    codice:
    Esistono due tipi di stringa: 
    
    Stringhe di lunghezza variabile, che possono contenere fino a circa 2 miliardi (2^31) di caratteri. 
    
    Stringhe di lunghezza fissa, che possono contenere da 1 a circa 64 KB (2^16) di caratteri.
    e in base a quanto sopra, se il file non è più grande, per leggerlo puoi fare una cosa del genere:
    codice:
    Dim Log as String
    Open "c:\file.txt" For Input As #1
    Log = Input(LOF(1), #1)
    close #1
    Jupy

  8. #8
    per leggerlo l'ho letto su "Visual Basic 6 Guida completa" dell'apogeo...10byte sono pochini a mio avviso, però messi in pratica effettivamente non fà molto di più una stringa.
    i file da leggere sono delle mail, quindi all'interno ci deve essere anche il codice html. Però facendo il ciclo degli input e inserendo la lettura della singola riga in un'unica stringa, non riesco nemmeno a leggere gli headers(finiscono con la prima riga vuota)...non saranno più di 20 righe!

    Ho fatto come hai detto tu e legge + o - sempre lo stesso...mi arriva fino a:

    -----------------------------------------------
    codice:
    +OK 2139 bytes
    	boundary="----=_NextPart_000_009D_01C57102.DBD6FC20"
    X-Mailer: Microsoft Office Outlook, Build 11.0.5510
    Thread-Index: AcVw8hgXnS
    ---------------------------------------------

    e gli headers non sono ancora terminati!

    x Brainjar

    Si meglio le collection che le array.

  9. #9
    mi è venuto un dubbio...ho provato a fare un'istanza di un text box in questo modo

    codice:
    Dim Txt As TextBox
    Set Txt = Form1.Controls.Add("VB.TextBox", "Text" & n)
    Txt.Text = ""
    poi ho letto il file e inserito il contenuto in txt.text, alla fine delle varie operazioni di lettura, ho chiuso il file e provato a vedere il testo in un msgbox e ho visto che il testo era tagliato...non è che in realtà il contenuto del file ci sta in una variabile stringa, ma usando il msgbox avrei sempre visto tutto tagliato?

    Quanto è limitato un msgbox come caratteri?(immagino un 256 caratteri!!) VVoVe:

  10. #10
    Originariamente inviato da lbottoni
    mi è venuto un dubbio...ho provato a fare un'istanza di un text box in questo modo

    codice:
    Dim Txt As TextBox
    Set Txt = Form1.Controls.Add("VB.TextBox", "Text" & n)
    Txt.Text = ""
    poi ho letto il file e inserito il contenuto in txt.text, alla fine delle varie operazioni di lettura, ho chiuso il file e provato a vedere il testo in un msgbox e ho visto che il testo era tagliato...non è che in realtà il contenuto del file ci sta in una variabile stringa, ma usando il msgbox avrei sempre visto tutto tagliato?

    Quanto è limitato un msgbox come caratteri?(immagino un 256 caratteri!!) VVoVe:
    usa una textarea
    if u are junior then Hallo!!!
    if u are senior then Cool!!!
    if u are a lady then Hi baby!!!

    http://www.solamentegratis.it

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.