Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - ListView Tag
Forum - C# / VB.NET - ListView Tag

Avatar
MrPaky (Member)
Pro


Messaggi: 125
Iscritto: 19/10/2008

Segnala al moderatore
Postato alle 16:11
Venerdì, 19/12/2008
Questo topic è stato chiuso dal moderatore

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


MrPaky ha allegato un file: AppSampleListView.zip (82942 bytes)
Clicca qui per scaricare il file
PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 18:33
Venerdì, 19/12/2008
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:
Codice sorgente - presumibilmente VB.NET

  1. For Each Item As ListViewItem In ListView1.Items
  2.   '...
  3. Next


PM
Avatar
MrPaky (Member)
Pro


Messaggi: 125
Iscritto: 19/10/2008

Segnala al moderatore
Postato alle 16:31
Sabato, 20/12/2008
Grazie Totem per l'aiuto comunque non lo generato con programmi.

Esistono programmi che generano codice Vb?? Se si quali sono?

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 18:27
Sabato, 20/12/2008
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#).

PM
Avatar
MrPaky (Member)
Pro


Messaggi: 125
Iscritto: 19/10/2008

Segnala al moderatore
Postato alle 21:25
Sabato, 20/12/2008
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??

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 9:28
Martedì, 23/12/2008
Hai aperto un'altra discussione per questo. Chiudo.

PM