kakashi68
-
28 mai 2013 à 09:59
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023
-
29 mai 2013 à 11:04
Bonjour
Donc voila mon problème, j'aimerai écrire un fichier csv , ce que j'ai réussi a faire cependant j'aimerai ecrire ligne par ligne mais je n'arrive pas a le faire .. tout ce met a la suite pour l'instant
voila mon code :
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023624 28 mai 2013 à 11:48
En effet la méthode writeline du streamwriter est la plus simple.
J'aurais du commencer par te demander comment tu écris dans ton fichier
Pour le stringbuilder tu peux essayer cet exemple
StringBuilder stb = new StringBuilder();
stb.AppendLine("Ajoute une ligne entière");
stb.Append("Ajoute un début de ligne,");
stb.AppendLine(" puis la fin de ligne");
label1.Text = stb.ToString();
On voit que les retours chariots sont générés par \r\n, cest peut être au moment de l'export dans le fichier qu'il y a un un soucis
billou_13
Messages postés860Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention19 août 201429 28 mai 2013 à 12:13
Bonjour,
Ton retour chariot aurait dû fonctionné même sans l'appel de la méthode WriteLine(..). Et encore plus avec Environment.NewLine Tu as dû avoir un autre souci dans ton code.
Bonne journée,
Billou_13
--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
J'ai vu sa oui mais je ne comprend pas comment faire .
Enfaite j'aimerai savoir si ya un caractere ou quelque chose comme sa ( genre /n ou endl en c++ pour aller a la ligne) que je puisse mettre a la fin de mon string pour que automatiquement a l'ecriture cela retourne a la ligne?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Par contre une autre question :
dans mon programme je dois entré une adresse IP et j'aimerai mettre un message d'erreur quant on écrit mal cette adresse ex : 172.3.16 ou 172.16.54.86.35 donc il faut un adresse a 4 " membre"
savez vous comment je pourai détecté l'erreur ?
J'ai pensé a compté le nombre de . dans la chaine de caractère mais je n'est rien trouvé sur internet :/
Donc si vous savez toute réponce est bien a prendre =D
En allant sur le net pour chercher une expression régulière pour les adresses IP, tu trouveras plein d'exemples: ici.
Ce qui te donne à peu près le code suivant (à paufiner, j'ai pas tout tester):
string pattern = @"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b";
if (!RegEx.IsMatch(text, pattern, RegexOptions.IgnoreCase))
{
// Ce n'est pas une adresse IP...
}
Bon dev,
Billou_13
--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
billou_13
Messages postés860Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention19 août 201429 29 mai 2013 à 08:47
Bonjour,
Je suis désolé, j'ai pas trop le temps de corriger mon code.
Ce ne doit pas être grand chose (je ne sais pas si c'est pas les \d qui faut remplacer par [0-9] car pas bien compris par le framework), tu peux trouver facilement des testeurs d'expressions régulières sur le net et trouver la bonne expression.
Si tu n'as pas cette version du framework, je te renvoie à un autre résultat de recherche sur les sites Codes-Sources: ici.
Bonne journée,
Billou_13
--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
if (Regex.IsMatch(textBox1.Text, @"^((25[0-5]|2[0-4]\d|1?\d?\d).){3}(25[0-5]|2[0-4]\d|1?\d?\d)$"))
{
}
voila comme sa sa marche pour les erreur type xxx.xxx.xxx.xxx.xxx donc a 5 membre ou plus mais pas pour moins de 4 , dans mon cas ce n'est pas grave car il y a un autre message si il y en a moins de 3