Probleme d'ecriture dans un fichier encore mieux explicite

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 à 23:17
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 31 janv. 2006 à 15:42
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

1 réponse

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
31 janv. 2006 à 15:42
et c'est censé être compréhensible... ?

Sébastien FERRAND
[MVP Visual C#]
0
Rejoignez-nous