Alors la c'est a rien n'y comprendre
Je vais pas vous passez mon code car vous aller avoir mal à la tête.
Mon Fichier csv n'aillant pas été prévu pour pour faire des stat, mais uniquement de l'affichage de courbes. Il a fallu que je trouve des astuces pour concaténer plusieurs fichiers n'aillant pas forcement la même intervalle entre chaque mesure. et plusieurs autre souci.
Quoi qu'il en soit, je ne comprend pas ce qu'il se passe.
Mon fichier csv pour rappel est construis de la sorte:
2011/09/22 13:21:01 ; 50.15
Je stocke tout cela dans un dictionnaire avec la Key de format Date et la value de format double.
Pour convertir mon String de lecture du fichier, j'utilise:
1 2 3
| Dim Time As Date
Time = Convert.ToDateTime(Tab(0)) 'Tab(0) étant le résultat un split de la ligne lu de mon csv. |
Time est donc stocker de la sorte
MonDico1.add (Time, val(Tab(1))) 'Pour le double en (Tab(1)) c'est un peut plus complexe que sa mais la c'est pour faire simple.
Ce dictionnaire je le mouline plusieurs fois, je le trie. Pour le mouliner et faire mon traitement je le copie dans d'autre dico du même format, pas de souci.
Pour le traitement final je le stocke dans un Dictionnaire avec KeyValuePair pour ajouter un key numérique, me permettant de regarder ce qu'il y a avant et après la donnée en cours.
Donc lors de mon traitement final j'ai un dico de la forme:
Dictionnary(Of Long, KeyValuePair(Of Date, Double))
Les données de ce dico sont parfaitement renseignées, mais lorsque je veux extraire la date
1 2 3 4 5 6 7 8 9 10 11 12 13
| Dim Dt1 As Date
Dim Dt2 As Date
Dim Dt3 As Date
For Each nb As long In dico.keys
'
'J'ai des traitements avant
'Je n'interroge pas la 1er de cette façon bien sur si non nb -1 plante
'
Dt1 = Dico(nb -1).key
Dt2 = Dico(nb).key
Dt3 = Dico(nb +1)
next |
Donc la cela plante pourtant j’extraie une Date pour mettre dans une Date, il me dit que je n'est pas le bon format.
Pour que cela marche je suis obligé une nouvelle fois de faire
Dt1 = Convert.ToDateTime(Dico(nb -1).key))
Je n'arrive pas à comprendre pourquoi je suis obligé de faire un cast sur des variables de même type.
Pour rappel aussi. Cela me plantait uniquement sur un PC US, cela marchait parfaitement sur mon PC FR.
Partager