Problème avec System.Collections.Generic.List...Au secours

cs_lagoelle Messages postés 102 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 17 mars 2009 - 17 mars 2009 à 12:47
cs_lagoelle Messages postés 102 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 17 mars 2009 - 17 mars 2009 à 22:06
Bonjour et merci de prendre un peu de temps pour lire mon SOS.
Je précise que je ne développe pas en VB.net mais en C# (avec un niveau "loisir"), mais j'ai trouvé une source très intéressante sur code project : http://www.codeproject.com/KB/WPF/Quick_WPf_MonthView_Cal.aspx

Ce que je veux faire :
db clic sur un jour -> InputBox -> Saisie utilisateur -> sauvegarde dans un fichier texte, voici le code :

'instructions pour la classe entière
Class Window1

Private _myAppointmentsList As New List(Of Appointment)
Dim i As Integer = 0
'fin instructions pour la classe entière

Private Sub DayBoxDoubleClicked_event(ByVal e As NewAppointmentEventArgs) Handles AptCalendar.DayBoxDoubleClicked
Dim evenement As String
evenement = InputBox("Entrez un intitulé pour le mémo :", "EVENEMENT")
Dim apt As New Appointment()
apt.AppointmentID = i
apt.StartTime = New Date(CDate(e.StartDate).Year, CDate(e.StartDate).Month, CDate(e.StartDate).Day)
apt.EndTime = apt.StartTime
apt.Subject = evenement
_myAppointmentsList.Add(apt)
i = i + 1
Try

'Instanciation du StreamWriter avec passage du nom du fichier
Dim monStreamWriter As StreamWriter = New StreamWriter("evenement.txt")
For Each apt In _myAppointmentsList
'Ecriture du texte dans votre fichier
monStreamWriter.WriteLine(apt.AppointmentID.ToString() + "<" + apt.StartTime.ToString() + "<" + apt.Subject)
Next
'Fermeture du StreamWriter
monStreamWriter.Close()

Catch ex As Exception

'Code exécuté en cas d'exception

End Try
Call SetAppointments()
End Sub

Où ça se gate c'est dans le form_load, j'ai tapé ça :
( Mon fichier texte contient:
0<18/03/2009 00:00:00<18
1<19/03/2009 00:00:00<19
2<20/03/2009 00:00:00<20 )

Private Sub Window1_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded
Dim apt As New Appointment()

Try
' Création d'une instance de StreamReader pour permettre la lecture de notre fichier
Dim monStreamReader As StreamReader = New StreamReader("evenement.txt")
Dim ligne As String
Dim eve(2) As String
Do
ligne = monStreamReader.ReadLine()
eve = ligne.Split("<")
apt.AppointmentID = CInt(eve(0))
apt.StartTime = CDate(eve(1))
apt.Subject = eve(2)
_myAppointmentsList.Add(apt)
MessageBox.Show(apt.AppointmentID.ToString() + " " + apt.StartTime.ToString() + " " + apt.Subject)
'je vérifie les valeurs de apt
'la box 1 affiche : 0 18/03/2009 00:00:00 18
'la box 2 affiche : 1 19/03/2009 00:00:00 19
'la box 3 affiche : 2 20/03/2009 00:00:00 20
'donc on peut penser que ça marche, mais ...
Loop Until ligne Is Nothing

'Fermeture du StreamReader
monStreamReader.Close()

Catch ex As Exception

'Code exécuté en cas d'exception

End Try
'mais... je vérifie à nouveau les valeurs de chaque apt dans ma liste
For Each apt In _myAppointmentsList
MessageBox.Show(apt.AppointmentID.ToString() + " " + apt.StartTime.ToString() + " " + apt.Subject)
'la box 1 affiche : 2 20/03/2009 00:00:00 20
'la box 2 affiche : 2 20/03/2009 00:00:00 20
'la box 3 affiche : 2 20/03/2009 00:00:00 20
'et là je suis perdu !!!
Next
Call SetAppointments()

End Sub

C'est un peu long, désolé, mais je pense que ce controle peut être sympa.
Si une ame charitable veut bien essayer de regarder ce soucis, ça serait sympa.
Et si quelqu'un veut faire une appli dans ce genre, je lui mets 10 illico ;-)

PS: j'ai essayé de convertir le projet en c#, mais il y avait une 60aine d'erreurs et comme je ne maitrise pas VB.net...

Merci d'avance.

lagoelle

5 réponses

cs_lagoelle Messages postés 102 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 17 mars 2009
17 mars 2009 à 12:50
J'ai oublié de préciser que c'est un controle wpf

lagoelle
0
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
17 mars 2009 à 19:40
Je précise que je ne développe pas en VB.net mais en C#

Pourquoi tu écrit ici alors ?

Regarde la page dans laquelle tu es !!!!!!!!!!!!!!!

MadMatt
0
cs_lagoelle Messages postés 102 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 17 mars 2009
17 mars 2009 à 21:06
Peut-être parce que le code qui me pose problème est du VB !!!!!!!!!!!!

Le controle en question est, à mon avis, très intéressant mais développé en VB.net et comme je l'ai dit mon niveau est trop faible pour le recréer en c#.

Qui plus qu'un développeur VB pourra m'aider dans ce cas précis ?

@ plus

lagoelle
0
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
17 mars 2009 à 21:56
Ahh toutes mes excuses autant pour moi !

MadMatt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_lagoelle Messages postés 102 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 17 mars 2009
17 mars 2009 à 22:06
Pas de soucis ;-)

@ plus

lagoelle
0
Rejoignez-nous