Newsgroup: it.comp.lang.visual-basic
Titolo: cercare in un file di testo ed eliminare una stringa

Salve a tutti, poco fa mi si e' presentato questo problema: ho una Listbox,
e al pressione di un pulsante, nel file .dat dove e' presente la lista di
tutti gli items della Listbox deve essere eliminato l'item selezionato.
Ciao e grazie
Andrea
--------------------------------
Inviato via 
http://usenet.iol.it

 tutti gli items della Listbox deve essere eliminato l'item selezionato.
L'item selezionato č il numero List1.Listindex e il suo contenuto č
List1.List(List.Listindex).
Vedi tu cosa farne.

Vedi tu cosa farne.
Forse non hai capito,
gli items di List1 sono salvati in items.dat per poter permettere
all'utente di aggiungerne qualcuno (e questo l'ho fatto), ma poi deve anche
poterne eliminarne qualcuno e quindi mi stavo chiedendo come si fa a
cercare List1.Text nel file per poi eliminarlo dal file.
Ciao


 cercare List1.Text nel file per poi eliminarlo dal file.
Supponendo che non si tratti di una lista particolarmente lunga, cosa che
non credo, se non altro perche' gia' qualche centinaio di elementi in lista
sono parecchio "user unfrendly", il sistema piu' semplice e' riscrivere il
file, saltando ovviamente l'elemento selezionati in lista.
Un sistema piu' elaborato potrebbe essere quello di memorizzare, in fase di
caricamento della lista, il byte iniziale di ogni elemento nella property
List1.ItemData(n) con la funzione Seek; in questo modo puoi in seguito
utilizzare *l'istruzione* Seek (nota la differenza) per posizionarti
direttamente sull'elemento da cancellare.
In questo caso ti resta comunque il problema di compattare il file, cosa che
o ti obbliga a una riscrittura immediata (e allora tanto vale...) oppure
comporta un'approccio tipico dei DB, dove il record viene solo invalidato, e
l'organizzazione fisica del file viene rimandata a dopo, magari all'uscita
del programma.
Ciao
--
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

 Ciao
Bheee mi sa che la  soluzione piu' immediata è quella di caricare
tutto il file in un array di stringhe (riga per riga) 
 Open "percorso nome\nomefile" For Input Access Read As #1
 Do While Not EOF(1)
     Input #1, Campo
     ArrInd(LungAr) = Indiriz
     LungAr = LungAr + 1
    Loop
 Close #1
eliminare la stringa con indice corrispondente
ArrInd(indiceitem)=""
riscrivere quindi il file con le stringhe non 
vuote dell' array 
fileNum1 = FreeFile
    Open "percorso\file" For Output Access Write As fileNum1
Close fileNum1 'queste righe vuotano il file 
For i = 1 To LungArr
        if ArrInd(i) <> "" then 
            Open "c:\SCORES.TXT" For Append As fileNum1
            Write #fileNum1, ArrInd(i) 
            Close fileNum1
        End If
Next i
 
 quindi ricaricare gli item nel controllo.
manca qualche righa ma il conceto e' questo 
ho scritto di botto spero di non aver scritto caxx
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

mi sembra di capire che la lista viene immagazzinata in un array e poi
eliminato l'item selezionato e quindi riscritto il file. Giusto?


 eliminato l'item selezionato e quindi riscritto il file. Giusto?
Si e' cosě !! 
Questa e la prima soluzione che mi e' venuta in mente per tenere
aggiornato controllo e file
