Difficulté d'ecrire dans un fichier texte

francesdereve Messages postés 75 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 6 août 2007 - 30 janv. 2006 à 19:58
francesdereve Messages postés 75 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 6 août 2007 - 31 janv. 2006 à 14:25
je veux avoir le chemin complet de mon fichier en lui donnant le nom.Dans mon texte box le chemin est affiché,mais je n'arrive pas à ecrire dans le fichier mais quand je lui donne le chemin complet dans le streamwriter,j'arrive à ecrire mais quand je passe à StreamWriter la variable qui contient le chemin du fichier ,l'ecriture n'est pas fait


string chemindemo=System.IO.Path.GetFullPath("france.exe.config");



string cheminapp=System.IO.Path.GetFullPath("app.config");


chemindemo=chemindemo.Replace("\","\\\");


cheminapp=cheminapp.Replace("\","\\\");


File.Delete(cheminapp);


File.Copy(cheminfrance,cheminapp);

FD

2 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
30 janv. 2006 à 21:26
Je comprends pas trop ce que tu veux mais normalement c'est inutile de remplacer les "\" par "\\\".
0
francesdereve Messages postés 75 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 6 août 2007
31 janv. 2006 à 14:25
je veux avoir le chemin complet de mon fichier en lui donnant le nom.Dans mon texte box le chemin est affiché,mais je n'arrive pas à ecrire dans le fichier mais quand je lui donne le chemin complet dans le streamwriter,j'arrive à ecrire mais quand je passe à StreamWriter la variable qui contient le chemin du fichier ,l'ecriture n'est pas fait.Quand je donne le chemin complet des fichiers dans le StreamWriter et File.Copy ca marche mais je dois lancer une premiere fois ensuite une seconde fois pour que les textbox prennent les nouvelles valeurs,quand je donne le chemin complet.mais quand je recupere le chemin car si je mets le programme sur une autre machine,le chemin ne sera pas toujours le meme,je dois chercher le chemin mais ca marche pas du tout
Voici le code

string chemindemo=System.IO.Path.GetFullPath("LumexDemo.exe.config");



string cheminapp=System.IO.Path.GetFullPath("app.config");


cheminlumdemo1=cheminlumdemo.Replace("\","\\\");



//MessageBox.Show(v);



//Recuperation des Controls se trouvant sur la forme,etant donné qu'il y 31


Object[]listtextbox=
new Object[31];



string a1= D.Text;



string a2= Da.Text;



string a3= Day.Text;



string a4= Day1.Text;



string a5= Day2.Text;



string a6= Day3.Text;



string a7= Day4.Value.ToString();



string a8= Day5.Value.ToString();



string a9= AM1.Text;



string a10= AM2.Text;



string a11= AM3.Text;



string a12= AM4.Text;



string a13= AM5.Text;



string a14= AM6.Text;



string a15= AM7.Value.ToString();



string a16= AM8.Value.ToString();



string a17= N.Text;



string a18= N1.Text;



string a19= P1.Text;



string a20= PM2.Text;



string a21= PM3.Text;



string a22= PM4.Text;



string a23= PM5.Text;



string a24= PM6.Text;



string a25= PM7.Value.ToString();



string a26= PM8.Value.ToString();



bool a27= RCheckBox.Checked;



string a28= label25.Text;



bool a29= PCheckBox.Checked;



string a30= AMRushHourCycleStartTime.CustomFormat;



string a31= AMRushHourCycleStartTime.CausesValidation.ToString();


DateTime op=DateTime.Parse(a15);


DateTime op1=DateTime.Parse(a16);


DateTime op2=DateTime.Parse(a25);


DateTime op3=DateTime.Parse(a26);


listtextbox[0]=a1;


listtextbox[1]=a2;


listtextbox[2]=a3;


listtextbox[3]=a4;


listtextbox[4]=a5;


listtextbox[5]=a6;


listtextbox[6]=a7;


listtextbox[7]=a8;


listtextbox[8]=a9;


listtextbox[9]=a10;


listtextbox[10]=a11;


listtextbox[11]=a12;


listtextbox[12]=a13;


listtextbox[13]=a14;


listtextbox[14]=op;


listtextbox[15]=op1;


listtextbox[16]=a17;


listtextbox[17]=a18;


listtextbox[18]=a19;


listtextbox[19]=a20;


listtextbox[20]=a21;


listtextbox[21]=a22;


listtextbox[22]=a23;


listtextbox[23]=a24;


listtextbox[24]=op2;


listtextbox[25]=op3;


listtextbox[26]=a27;


listtextbox[27]=a28;


listtextbox[28]=a29;


listtextbox[29]=a30;


listtextbox[30]=a31;



//verifie si le fichier tampon existe deja



if(File.Exists("c:\\temp\\france.exe.config"))


{


File.Delete("c:\\temp\\france.exe.config");


}



/* sinon copier le fichier qui contient le france.exe.config dans le fichier temporaire,parcourir


chaque ligne trouvee ,couper la ligne jusqu'au caractere value ,remplacer l'ancienne valeur du parametre value avec la nouvelle se trouvant dans les controls,ecrire les modifications dans le fichier france.exe.config et le app.config*/



else


{


File.Copy(chemindemo,cheminapp);


StreamReader r=
new StreamReader(File.OpenRead("c:\\temp\\france.exe.config"));


StreamWriter txt=
new StreamWriter(chemindemo,
false);



//string h="<?xml version="1.0" encoding="utf-8"?>\r\n<configuration>\n\r\n\r<!--User application and configured property settings go here.-->\n\r<!--Example: -->";



string h="<?xml version="1.0" encoding="utf-8"?>";



string entete1="<configuration>";



string entete2="";



string entete3="<!--User application and configured property settings go here.-->";



string entete4="<!--Example: -->";


txt.WriteLine(h);


txt.WriteLine(entete1);


txt.WriteLine(entete2);


txt.WriteLine(entete3);


txt.WriteLine(entete4);



int i=0;



while((h=r.ReadLine())!=
null)


{


Regex r1=
new Regex("value");


Regex r2=
new Regex("settingValue");



if(r1.IsMatch(h) && !r2.IsMatch(h))


{



int trouve1=h.IndexOf("value");



string b=h.Substring(0,trouve1-1);



if(r==
null)


{


r.Close();


Application.Exit();


}



if(i<31)


{


txt.WriteLine(b+" "+"value=""+listtextbox[i++]+""/>");


}



else


{


}


}


}



string j="</configuration>";


txt.WriteLine(j);


r.Close();


txt.Close();


File.Delete(cheminapp);


File.Copy(chemindemo,cheminapp);


}

}

FD
0
Rejoignez-nous