Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    98

    [vb6]Leggere grandi file

    Ciao a tutti, questo è il mio primo post in questo forum mi chiamo Gregorio....
    Bene passiamo al problema: Allora devo leggere un file da 1 gb come posso fare?
    Non posso usare la Open perchè ci impiega troppo tempo, so che c'è l'api ReadFile solo che mi pare di aver capito che restituisce un valore long invece io voglio mettere in una variabile o meglio in un array di variabili (visto che una nn regge un testo da 1 gb) che contengono il contenuto del file...

    Spero di essere stato chiaro...

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Benvenuto (finalmente, se provieni da pier...) ...

    La questione e' se devi mettere completamente in memoria (opzione improponibile) il file o devi leggerne porzioni ...

    Voglio sperare che non si tratti di un file di tipo testo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    98
    Ciao, si sono io Gregorio dell'altro forum

    Comunque in realtà io ho esagerato un pò (+ o -)
    allora ora ti spiego...

    Il file che ho dentro ha dei codici di immagini e in realtà non è proprio di un giga ma di parecchi mega e devo immagazzinare il codice del file da qualche parte e utilizzarlo come stringa...

    Prima ho parlato di 1gb perchè ho anche un altro programma che deve aprire un file (di testo LoL) + grande addirittura di 1gb...

    Quindi in morale mi serve un codice per aprire grandi file...spero sia possibile :P

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Ciao Gregorio ... avevo capito ...

    Per trattare file di grandi dimensioni, è importante anche sapere esattamente cosa ci devi fare con i dati contenuti.

    Separiamo i due problemi ...

    Il primo file (da diversi mega) hai detto che contiene "codici di immagini" (che intendi?) ... ma se li carichi in memoria, cosa ci devi fare? Questo perche' puoi aprire il file ma puoi leggere solo la parte di dati che ti interessa elaborare, evitando di tenere tutto in memoria inutilmente.

    Per il secondo file (quello di testo) da 1 G ... beh, un testo da 1 G e' gia' "poco corretto" ma, anche in questo caso, bisogna capire perche' ti interessa averlo tutto in memoria.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    98
    1) Perchè diciamo che più immagini (molte) vengono unite in un unico file (di grandi dimensioni) Però il mio progr deve essere anche in grado di riuscire a separare le immagini da quest'ultimo...

    2) Il txt da 1gb (e di +) diciamo che fa da database, dentro esso ci sono tanti dati ed il mio programma deve essere in grado di ricercare in esso una stringa immessa in una textbox e poi mostrare (se viene trovata la parola) la riga in cui è contenuta...quest'ultimo problema però è soprattutto per curiosità...

    La soluzione che vorrei, è soprattutto quella al primo probl. poi se uno mi sa risp anche al secondo probl benvenga

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da GrG
    1) Perchè diciamo che più immagini (molte) vengono unite in un unico file (di grandi dimensioni) Però il mio progr deve essere anche in grado di riuscire a separare le immagini da quest'ultimo...
    E questo si puo' fare, ma non ha senso "leggere" tutte le immagini in memoria ma solamente quella che, in un determinato momento, ti serve.

    Per capirci, fai un esempio pratico di cosa ci devi fare con una singola immagine ...

    La devi stampare? Visualizzare?

    2) Il txt da 1gb (e di +) diciamo che fa da database, dentro esso ci sono tanti dati ed il mio programma deve essere in grado di ricercare in esso una stringa immessa in una textbox e poi mostrare (se viene trovata la parola) la riga in cui è contenuta...quest'ultimo problema però è soprattutto per curiosità...
    No ... questo e' un cattivo uso dei file.

    Per operazioni del genere devi usare un database.

    La soluzione che vorrei, è soprattutto quella al primo probl. poi se uno mi sa risp anche al secondo probl benvenga
    Ripeto ... devi dire *esattamente* che tipo di programma stai realizzando per capire le fasi in cui ti serve leggere le informazioni delle immagini, come sono "impacchettate" le immagini nel file ... ecc.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    98
    Allora è un programma che fa degli screenshot, poi li unisce in un unico file e fin qua nessun problema, per creare un unico file legge uno per uno i codici di ciascun screenshot fatto quindi se fa 3 screenshot legge il primo screenshot e inserisce il codice in un unico file poi inserisce dei caratteri di stacco, io uso "-#-#-#-#-" poi mette il codice del 2° screenshot con alla fine il codice di stacco "-#-#-#-#-" e così via...Poi invece x fare la cosa inversa cioè prendere questo unico file e riformare le varie immagini (che poi verranno visualizzate in una picturebox) si mette in memoria tutto il file unico, con uno split separa i vari codici delle immagini e da li le ricrea...

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da GrG
    Allora è un programma che fa degli screenshot, poi li unisce in un unico file e fin qua nessun problema, per creare un unico file legge uno per uno i codici di ciascun screenshot fatto quindi se fa 3 screenshot legge il primo screenshot e inserisce il codice in un unico file poi inserisce dei caratteri di stacco, io uso "-#-#-#-#-" poi mette il codice del 2° screenshot con alla fine il codice di stacco "-#-#-#-#-" e così via...Poi invece x fare la cosa inversa cioè prendere questo unico file e riformare le varie immagini (che poi verranno visualizzate in una picturebox) si mette in memoria tutto il file unico, con uno split separa i vari codici delle immagini e da li le ricrea...
    Allora ... andiamo con ordine ...

    1) perche' avere un solo file e non tanti file con le singole immagini?

    2) le immagini saranno in un determinato formato (bmp? jpg?), in ogni caso saranno sequenze di byte (un file binario); esiste *comunque* la possibilita' (anche se remota( che il tuo codice -#-#... equivalga ad una sequenza binaria usata all'interno di una immagine e, in questo caso, avresti un errore molto "infido" ...

    3) con la Split dovrai lavorare su *tutto* il file in memoria (poco efficiente) e sarebbe trattato come una stringa VB (molto poco efficiente)

    4) che vuoi dire con "ricrea" ? Cosa ci fai esattamente ?

    La strada che io seguirei, ammesso che non puoi/vuoi usare piu' file come ti ho detto al punto 1), e' invece questa:

    1) quando formi il singolo file, scrivi, in binario, un Long (4 byte) indicante la lunghezza in byte dell'immagine, fai seguire questa informazione dall'immagine e cosi' via con le altre. Ovvero

    <4 byte Len immagine><byte immagine> ....

    2) quando devi visualizzare una determinata 'immagine, stabilita quale sia (la prima o la seconda o la terza), apri il file con la CreateFile, leggi opportunamente le varie lunghezze con la ReadFile e ti sposti, tramite un puntatore all'interno del file per caricare (sempre con la ReadFile) l'immagine voluta
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    98
    1) Vorrei avere un solo file per comodità, perchè è più "maneggievole" non nel senso di vb...ma si può trasferire da un pc all'altro (non in vb) più facilmente, è più comapatto...

    2) lo so, ma è difficile che capiti...poi magari all'ungo il semplice "-#-#-#-#-" con codici numerici e lettere...insomma questo non è un problema....

    3)E come dovrei fare?

    4)Riforma le varie immagini iniziali, ha un pò la funzione di winrar e winzip ma non voglio utilizzare programmi esterni, quindi winrar e winzip nn li posso utilizzare...

    -------------
    Non ho capito bene la tua ultima soluzione...dovrei provare....

    Purtroppo c'è un GROSSO problema, a causa del mal tempo c sn stati vari blackout e il pc mi si è spento all'improvviso...il progetto l'avevo iniziato oggi pomeriggio e (almeno spero) lo avevo salvato...solo che ora non ricordo più dove l'ho salvato e quindi lo sto cercando anche se non lo riesco a trovare spero di trovarlo (e anche in fretta)...

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da GrG
    4)Riforma le varie immagini iniziali ...
    Puoi essere piu' chiaro?

    Che ci fai con le immagini? Ricrei i singoli file, visualizzi l'immagine ... oppure?

    Non ho capito bene la tua ultima soluzione...dovrei provare....
    Se non ci riesci, chiedi pure ....
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.