Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
19/12/08 15:11
MrPaky
Ciao a tutti,
ho bisogno di un piccolo aiuto. Allora vorrei sapere come fare a salvare un icona su un file di testo cioè praticamente ho una listview ke tramite un form e un combobox aggiunge un' icona che si trova nella risorsa incorporata. Esempio:
Codice:
ListView.Items.Add("Ciao", 0)

io vorrei salvare quello 0(zero) nel file di testo

io ho fatto così:
Codice:
Dim enumerator As IEnumerator
Dim stringa As String = ""
Try
enumerator = Me.ListView1.Items.GetEnumerator
Do While enumerator.MoveNext
Dim current As ListViewItem = enumerator.Current, ListViewItem
stringa = (stringa + Conversion.Str(current.SubItems.Item(0).Tag) + ChrW(13) + ChrW(10))
stringa = (stringa + current.SubItems.Item(0).Text + ChrW(13) + ChrW(10))
stringa = (stringa + current.SubItems.Item(1).Text + ChrW(13) + ChrW(10))
stringa = (stringa + current.SubItems.Item(2).Text + ChrW(13) + ChrW(10))
stringa = (stringa + current.SubItems.Item(3).Text + ChrW(13) + ChrW(10))
Loop
Finally
If TypeOf enumerator Is IDisposable Then
TryCast(enumerator, IDisposable).Dispose()
End If

Però mi da un errore "Number null"

Per favore mi date un aiutino?? grazie anticipatamente
PS allego anche il programma
aaa
19/12/08 17:33
Il Totem
L'indice dell'icona si trova nella proprietà ImageIndex dei ogni ListViewItem. E' quello che devi salvare, e che devi leggere.
Usa vbCrLf o Environment.CrLf per indicare il ritorno a capo, e non i due chrw (il fatto che sono estesi potrebbe causa qualche errore).
Il codice di iterazione mi sembra tanto macchinoso. L'hai per caso generato con qualche programma? Era molto più semplice:
For Each Item As ListViewItem In ListView1.Items
  '...
Next
aaa
20/12/08 15:31
MrPaky
Grazie Totem per l'aiuto comunque non lo generato con programmi.

Esistono programmi che generano codice Vb?? Se si quali sono?
aaa
20/12/08 17:27
Il Totem
A dire il vero non ne conosco. Ci sono comunque vari snippets di codice, come quelli suggeriti da visual studio, che, nella loro generalizzazione, tendono a considerare un gran numero di casi e quindi a produrre un codice come quello. Ci sono poi delle librerie specifiche del .net usate apposta per generare codice nei tre maggiori linguaggi .net (vb.net, c# e j#).
aaa
20/12/08 20:25
MrPaky
Ciao,
scusate di nuovo allora io ho risolto tutto grazie a totem! mo il mio problema è diventato una altro perchè devo creare un file di testo e ho fatto così:
Dim SaveFile As New SaveFileDialog
SaveFile.Title = "Salva file"
SaveFile.FileName = ""
SaveFile.Filter = "Text File|*.txt"
If SaveFile.ShowDialog = Windows.Forms.DialogResult.OK Then
IO.File.Create(SaveFile.FileName)
End If
If My.Computer.FileSystem.FileExists(SaveFile.FileName) Then
My.Computer.FileSystem.WriteAllText(SaveFile.FileName, TextBox1.Text, False, Encoding.Default)
End If

Ora qui: My.Computer.FileSystem.WriteAllText(SaveFile.FileName, TextBox1.Text, False, Encoding.Default)

Mi genera il seguente errore: Il processo non può accedere al file 'C:\Documents and Settings\(Nome del Mio computer)\Desktop\dsafds.txt' perché è in uso da un altro processo

ora come si fa a far terminare il processo prima della scrittura del file in modo che il porgramma scrive il file??
aaa
23/12/08 8:28
Il Totem
Hai aperto un'altra discussione per questo. Chiudo.
aaa