Newsgroup: it.comp.lang.visual-basic
Titolo: [?]Listbox e file .ini: AIUTO!

Salve a tutti,
E' un po' che leggo il Ng ed ora mi sono deciso a scrivervi per vedere
se riuscite a darmi una mano a risolvere un piccolo problema che mi
assilla ormai da diverso tempo.
Il problema e' questo:
ho una filelistbox (denominata filListaDeiFile) dove ovviamente
compaiono dei nomi di file. Facendo un doppio click sui nomi, questi si
memorizzano su una listbox (ListTemp) completi di path.
Quello che vorrei fare io, e' salvare la lista dei file contenuti in
ListTemp in un file .ini (e fin qui ci sono quasi riuscito) per poi
poterli visualizzare tranquillamente anche al prossimo caricamento del
programma, semplicemente premento un tasto... Ma qui comincia il
problema: non riesco a leggere il contenuto del file .ini
' Questo e' il codice che dovrebbe servire per leggere il file .ini
Private Sub Command4_Click()
    LstTemp.Text = GetFromINI("Directories", "dir", iniPath$)
End Sub
______________________________________________________________________________________
' E questo e' quello che lo dovrebbe salvare...
Private Sub Command5_Click()
    entry$ = LstTemp.Text
    r% = WritePrivateProfileString("Directories", "dir", entry$,
iniPath$)
End Sub
Qualcuno potrebbe indicarmi dove sbaglio e perche' quando cliccko il
Command4, nella ListTemp non compare niente?
Ah, quasi dimenticavo:
se vado a vedere con un editor di testo il contenuto del file .ini, mi
accorgo che ha memorizzato solamente la directory dell'ultimo file che
ho selezionato nella  ListTemp, anche se ne ho selezionati 3 o 4.
Qualcuno sarebbe cosi' cortese da aiutarmi anche in questo senso?
Ciao e Grazie a tutti quelli che hanno avuto la pazienza di Leggermi.
Duke Fleed

Qualcuno sarebbe cosi' cortese da aiutarmi anche in questo senso?
La proprietà .text delle listbox è di sola lettura e restituisce la voce selezionata.
Le listbox hanno .listcount elementi, identificati da lla proprietà .listindex (la prima riga ha .listindex=0, quindi
l'ultima .listcount-1)
Nelle listbox sono memorizzabili due tipi di dati:
- uno di tipo stringa visibile
-  uno di tipo numerico invisibile (come aggiunta)
Il primo si legge con la proprietà .List(Indice_della_riga), il secondo con .ItemData(Indice_della_riga)
Per aggiungere un elemento si usa il metodo .Add (nome_elemento, eventuale_posizione)
Per eliminarlo il metodo .Remove (indice_dell'elemento_o_riga)
Quindi:
Per salvare tutti devi usare un ciclo:
for i=0 to lsttemp.listcount-1
	r% = WritePrivateProfileString("Directories", "dir", lsttemp.list(i),
next i
Mentre per popolare la lista:
LstTemp.Add GetFromINI("Directories", "dir", iniPath$)
Spero di esserti stato d'aiuto.
Ciao,
Moreno
#sirri#@
morenosoft.com
(togliete "#" dall'indirizzo)
Moreno Sirri VB Site - 
http://www.morenosoft.com/MSVBSite/
Home Page - 
http://www.geocities.com/SiliconValley/Bridge/1414/
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
---------------------------------------------------------------------------

Salve a tutti,
ho un problema che mi assilla ormai da diverso tempo.
Ho una filelistbox (denominata filListaDeiFile) dove ovviamente
compaiono dei nomi di file. Facendo un doppio click sui nomi, questi si
memorizzano su una listbox (ListTemp) completi di path.
Quello che vorrei fare io, e' salvare la lista dei file contenuti in
ListTemp in un file .ini
Grazie al suggerimento di Moreno Sirri, ora riesco a leggere i dati contenuti nel file .ini , solo che viene salvata
sempre  e soltanto l'ultima voce selezionata.
Di seguito Vi riporto la parte di codice interessata :
' Questo legge il file ini
Private Sub Command4_Click()
    LstTemp.AddItem GetFromINI("Directories", "dir", iniPath$)
End Sub
_______________________________________________________________
' Questo dovrebbe salvare i dati contenuti nella listbox denominata LstTemp nei  file .ini
Private Sub Command5_Click()
     For i = 0 To LstTemp.ListCount - 1
        r% = WritePrivateProfileString("Directories", "dir", LstTemp.List(i), iniPath$)
Next i
End Sub
Scusate il disturbo, ma e' solo da 4 mesi che ho VB e un paio di settimane fa ho comprato Visual Basic 5 for Dummies
della Apogeo, ma non dice niente a riguardo della gestione dei file ini.
Secondo me comunque manca qualcosa in questa linea di codice:
r% = WritePrivateProfileString("Directories", "dir", LstTemp.List(i), iniPath$)
Ciao e grazie ancora per il vostro aiuto e la vostra  pazienza
Duke Fleed