cs_ansizak
Messages postés191Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention30 juin 2011
-
18 déc. 2007 à 14:18
cs_ansizak
Messages postés191Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention30 juin 2011
-
19 déc. 2007 à 02:04
Bonjour,
je créé une application qui calcule des pourcentages à partir de données d'un fichier texte (séparée par un point virgule) et repère ceux supérieur à 100.
Juesque là ça fonctionne, j'aimerais maintenant pouvoir ecrie à l'endroit du fichier ou je trouve les erreurs. Cela est-il possible ?
Voici le code de la partie concernée:
StreamReader rd = new StreamReader(path);
string line;
decimal result;
float finalresult;
int j;
string linenumbers;
int linenumber = 1;
for (j = 7; j < tab.Length; j += 2)
{
result = ((Decimal.Parse(tab[j].ToString(), System.Globalization.CultureInfo.InvariantCulture)) / (Decimal.Parse(tab[j + 1].ToString(), System.Globalization.CultureInfo.InvariantCulture)) * 100);
finalresult = float.Parse(result.ToString());
if (result > 100)
{
found = true;
listBoxlistederror.Items.Add("Error found line: " + linenumbers ");
}
}
Au final ce que je souhaiterai faire, c'est permettre à l'application quand elle repère la valeur supérieure à 100 de remplacer la valeur de tab [j] par celle de tab de [j+1].. Mais comment ensuite réecrire sur le texte ? Sachant qu'il faut conserver les points virgules ?
Je ne sais pas si c'est très clair, en attendant si vous avez des suggestions elles sont bienvenues.
cs_ansizak
Messages postés191Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention30 juin 2011 18 déc. 2007 à 14:26
Pour vous aider à comprendre voici comment se présentent mes fichiers de données:
Entete1 //10 lignes d'entêtes
Entete2
Entete3
Entete4
Entete5
Entete6
Entete7
Entete8
Entete9
Entete10
x;x;x;x;x;x;x;2;21.5;3.5;25.5;...etc
x;x;x;x;x;x;x;4.5;55;3.1;20;4.2;12;.....etc
etc... // les données commencent en position 7 (en commencant à 0) et fonctionnent par paires
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200813 18 déc. 2007 à 18:55
Le plus simple je pense c'est de charger ton fichier en mémoire, travailler dessus, puis le réécrire après modification en écrasant la version précédente.
<hr size="2" width="100%" />
Working as designed
www.nikoui.fr
cs_ansizak
Messages postés191Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention30 juin 2011 18 déc. 2007 à 19:14
Bonjour et merci,
Oui c'est ce que je suis en train de faire, j'ai réussi à réécrire dans un nouveau fichier mes valeurs, cela fonctionne, je suis maintenant confronté à 2 problemes:
- comment aller à la ligne (car ma fonction écrit toutes les données sur la premiere ligne)
- comment récupérer mes entêtes ?