ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010
-
23 mai 2004 à 17:21
jsiegwald
Messages postés20Date d'inscriptionvendredi 17 novembre 2006StatutMembreDernière intervention 5 avril 2009
-
28 févr. 2009 à 21:14
Salut à tous,
J'ai un code du genre
Dim Dates As String
Dim i As Integer
For i = 1 To ListView.Items.Count
Dates = Dates & ListView.Items(i).SubItems(0).Text & vbcrlf & ListView.Items(i).SubItems(1).Text & vbcrlf & ListView.Items(i).SubItems(2).Text & vbcrlf & ListView.Items(i).SubItems(3).Text & vbcrlf & ListView.Items(i).SubItems(4).Text & vbcrlf
Next i
Retour = SaveFileDialog.ShowDialog()
If Retour = 1 Then
FileOpen(1, SaveFileDialog.FileName, OpenMode.Binary)
FilePut(1, Dates)
FileClose(1)
end if
Et je n'y arrive pô a chaque foi ca bug je sais vraiment pô koi faire (j'ai tout essayer) et puis en même temps comment on pe faire pour r'ouvrir ma Listview car j'ai peur de galêrer????
alicvb
Messages postés134Date d'inscriptionvendredi 19 mars 2004StatutMembreDernière intervention 6 juin 20071 23 mai 2004 à 21:25
Déjà, tu as surement un problème lors de ta boucle pour récupérer tes infos :
i varie de 1 à NBdeItems
Mais les items sont indexés à partir de 0, donc le premier item est 0 et le dernier est NBdeItems-1
Fais donc varier i de 0 à NBdeItems-1, ca évitera de planter dans ta boucle
Pour l'écriture dans le fichier, moi j'utilise plutôt IO, mais bon, je suppose que ta méthode doit marcher
Pour retrouver tes infos, il faut que tu aies une marque qui te permette de savoir quand tu change de ligne dans ton listview.
Perso, en général, j'écris les choses ainsi :
donc en gros, une ligne de ton fichier=une ligne du listview
et le caractère | sert de séparateur entre les items
du coup, pour lire ton fichier :
dim val() as string
dim fs as new io.fillestream("taratata.txt",open)
dim str as new io.streamreader(fs)
dim lvi as listviewitem
do until str.peek=-1
val=str.readline.split("|")
lvi=listview.items.add(val(0))
for i=1 to val.lenght-1
lvi.subitems.add(val(i))
next
loop
str.close
fs.close
Je copie ce code de mémoire. Il y a donc surement des choses qui manquent (je sais par exemple que items.add réclame aussi la taille de la colone et je sais plus quoi.
ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010 23 mai 2004 à 23:39
Salut à tous,
c cool ca marche je te remercie bcp
je met le code pour ceux ke ca interresse car j'ai dû le modifier
Pour SAUVEGARDER une ListView de 5 colonnes
Retour = SaveFileDialog.ShowDialog()
If Retour = 1 Then
Dim Dates As String
Dim i As Integer
For i = 0 To ListView.Items.Count - 1
Dates = Dates & ListView.Items(i).SubItems(0).Text & "|" & ListView.Items(i).SubItems(1).Text & "|" & ListView.Items(i).SubItems(2).Text & "|" & ListView.Items(i).SubItems(3).Text & "|" & ListView.Items(i).SubItems(4).Text & vbCrLf
Next i
FileOpen(1, SaveFileDialog.FileName, OpenMode.Binary)
FilePut(1, Dates)
FileClose(1)
end if
Ensuite pour OUVRIR
Dim Retour As Integer
Retour = OpenFiledialog.ShowDialog()
If Retour = 1 Then
FileOpen(1, OpenFiledialog.FileName, OpenMode.Binary)
FileClose(1)
Dim val() As String
Dim fs As New IO.FileStream(OpenFiledialog.FileName, FileMode.Open)
Dim str As New IO.StreamReader(fs)
Dim lvi As ListViewItem
Dim i As Integer
Do Until str.Peek = -1
val = str.ReadLine.Split("|")
lvi = ListView.Items.Add(val(0))
For i = 1 To val.Length - 1
lvi.SubItems.Add(val(i))
Next
Loop
str.Close()
fs.Close()
ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010 5 juil. 2004 à 20:43
Salut à tous,
just un truc k'il ne fonctionne pô c en fait kan je sauvegarde un é ou un ö (en fait toutes les lettres ki ont des accents) bah kan on sauvegarde ca marche mai par contre kan on l'ouvre il me supprime systêmatiquement la lettre c bizarre ex: Grêce (A la sauvegarde)
Quan on l'ouvre ca donne Grce.