Einfache Konfiguration eine Anwendung

19/01/2009 - 17:02 von Andre | Report spam
Hallo zusammen,
ich versuche gerade einige meiner Tools einfach Konfigurierbar zu machen,
d.h. der User soll nicht mehr in die App.config rein schauen.

Bei den neueren meiner Tools funktioniert das auch so weit, jedoch haben die
alten Probleme.

Seit .Net 2 ist es ja möglich über eine entsprechende Settings Datei eine
eigne Klasse für die Konfiguration zu erstellen.
Diese kann ich dann auch einfach wie folg zuweisen:
propertyGrid2.SelectedObject = Properties.Settings.Default;
und schon habe ich meine Settings in dem entsprechenden Grid.

Bei den àlteren Konfigurationsdateien die ich über folgenden Wert auslesen
konnte:
System.Configuration.ConfigurationManager.AppSettings

Dies kann ich aber nicht einfach dem Grid zuweisen.

Gibt es hier eine möglichkeit alle Werte aus der Konfig über einen
Workaround zuzuweisen (ggf. StringDictionary oder àhnliches).

Vielen Dank,
Andre
 

Lesen sie die antworten

#1 Michael Schmitz
19/01/2009 - 22:38 | Warnen spam
"Andre" schrieb im Newsbeitrag
news:

Gibt es hier eine möglichkeit alle Werte aus der Konfig über einen
Workaround zuzuweisen (ggf. StringDictionary oder àhnliches).



Bei 1.1 hab ich das meist so gemacht:

einfach ein ein DataSet geladen bzw geschrieben per ReadXml bzw WriteXML...

hier nen paar Codeschnipsel:


try{
dsConfig.Clear();
dsConfig.ReadXml(Application.StartupPath + @"\ATGParaTool.exe.config");

this._txtbDBPfad.Text =
dsConfig.Tables["add"].Rows[0]["value"].ToString();
this.strDatenBankTyp =
dsConfig.Tables["add"].Rows[1]["value"].ToString();
this.txtbServer.Text =
dsConfig.Tables["add"].Rows[2]["value"].ToString();
this.txtbUserName.Text =
dsConfig.Tables["add"].Rows[3]["value"].ToString();
this.txtbPasswort.Text =
dsConfig.Tables["add"].Rows[4]["value"].ToString();
this._txtUserLevel.Text =
dsConfig.Tables["add"].Rows[5]["value"].ToString();
this._txtBSteppointer.Text =
dsConfig.Tables["add"].Rows[8]["value"].ToString();
this._txtbPara_XXX.Text =
dsConfig.Tables["add"].Rows[14]["value"].ToString();
this._txtbXXXLocation.Text =
dsConfig.Tables["add"].Rows[15]["value"].ToString();
this._txtbShuttleTeachin.Text =
dsConfig.Tables["add"].Rows[16]["value"].ToString();




private void btnOK_Click(object sender, System.EventArgs e) {
try{
dsConfig.Tables["add"].Rows[0]["value"] = this._txtbDBPfad.Text;
dsConfig.Tables["add"].Rows[1]["value"] = this.strDatenBankTyp;
dsConfig.Tables["add"].Rows[8]["value"] = this._txtBSteppointer.Text;
dsConfig.Tables["add"].Rows[14]["value"] = this._txtbPara_XXX.Text;
dsConfig.Tables["add"].Rows[9]["value"] =
this._rdBtnAllenbradley.Checked.ToString();

dsConfig.Tables["add"].Rows[5]["value"] =
this._txtUserLevel.Text;

string strConnAccess = "Provider = Microsoft.JET.OLEDB.4.0;
data source = ";
string strConnSql = "Provider=SQLOLEDB.1; Data Source=" +
this.txtbServer.Text +
"; User ID =" + this.txtbUserName.Text +
"; Password =" + this.txtbPasswort.Text +
"; Initial Catalog =";

// Connectionstrings speichern
if(this.strDatenBankTyp == "access"){


dsConfig.Tables["add"].Rows[10]["value"] = strConnAccess
+ _txtbDBPfad.Text + "atgcor32.mdb";

}
if(this.strDatenBankTyp == "sql"){
dsConfig.Tables["add"].Rows[2]["value"] = this.txtbServer.Text;
dsConfig.Tables["add"].Rows[3]["value"] = this.txtbUserName.Text;
dsConfig.Tables["add"].Rows[4]["value"] = this.txtbPasswort.Text;



dsConfig.Tables["add"].Rows[10]["value"] = strConnSql +
"atgcor32";
}

dsConfig.Tables["add"].Rows[11]["value"] = strConnAccess +
_txtbDBPfad.Text + "atgpar32.mdb";
dsConfig.Tables["add"].Rows[12]["value"] = strConnAccess +
_txtbDBPfad.Text + "atgeventexecute32.mdb";
dsConfig.Tables["add"].Rows[13]["value"] = strConnAccess +
_txtbDBPfad.Text + this._txtbPara_XXX.Text + ".mdb";
dsConfig.Tables["add"].Rows[17]["value"] = strConnAccess +
_txtbDBPfad.Text + this._txtbXXXLocation.Text + ".mdb";

dsConfig.Tables["add"].Rows[15]["value"] = this._txtbXXXLocation.Text;
dsConfig.Tables["add"].Rows[16]["value"] =
this._txtbShuttleTeachin.Text;

dsConfig.WriteXml(Application.StartupPath + @"\ATGParaTool.exe.config");
MessageBox.Show("Bitte neu starten...");
}catch(Exception exc){
MessageBox.Show(exc.Message);
}
}

Ähnliche fragen