Laden...

Settings Default-Wert zur Laufzeit festlegen

Erstellt von daniel94ever vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.374 Views
D
daniel94ever Themenstarter:in
67 Beiträge seit 2006
vor 15 Jahren
Settings Default-Wert zur Laufzeit festlegen

Hallo,

wie kann ich meine Settings mit einem Environment.SpecialFolder.Personal initialisieren?

S
341 Beiträge seit 2008
vor 15 Jahren

Servus,

Bitte einen blick hier rein werfen....

🛈 📗 :rtfm: das hier hätte dir bei der suche nach special folder sofort geholfen

getfolderpath(..)

**Nur die Kenner können mit 10 Fingern bis 1023 zählen !!**
private int Main()
{
   string programmingSkills = getMySkills("programming")
   return = 1;
}
D
daniel94ever Themenstarter:in
67 Beiträge seit 2006
vor 15 Jahren

Ich weiß nicht, ob wir uns richtig verstehen. Es handelt sich um benutzerspezifische Einstellungen.
Der Defaultwert soll hier nicht ein string, sondern zur Laufzeit bestimmt werde. (z.B.: Environment.SpecialFolder.Personal)

S
341 Beiträge seit 2008
vor 15 Jahren

SpecialFolder.Personal ist ein Enum und kann nicht festgelegt werden.

Dieser gibt mit "GetFolderPath(Environment.SpecialFolder.Personal)" den Dokumenten ordner von dem aktiver benutzer zurück. Dieser sit bei Windows nunmal immer gleich (da systemordner) allerdings userabhängig.

**Nur die Kenner können mit 10 Fingern bis 1023 zählen !!**
private int Main()
{
   string programmingSkills = getMySkills("programming")
   return = 1;
}
1.696 Beiträge seit 2006
vor 15 Jahren

Ich weiß nicht, ob wir uns richtig verstehen. Es handelt sich um benutzerspezifische Einstellungen.
Der Defaultwert soll hier nicht ein string, sondern zur Laufzeit bestimmt werde. (z.B.: Environment.SpecialFolder.Personal)

Ich würde die Daten unter Environment.SpecialFolder.ApplicationData ablegen, oder in der Registry in HKEY_CURRENT_USER/Software/DeineApllikation/...

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

D
daniel94ever Themenstarter:in
67 Beiträge seit 2006
vor 15 Jahren

Ich bin hier, und möchte Filename dem Standard-Ordner von Windows zuordnen

S
341 Beiträge seit 2008
vor 15 Jahren

zB:

properties.default.Filename = GetFolderPath(Environment.SpecialFolder.Personal);
properties.default.save(); <--- nciht vergessen 😁

**Nur die Kenner können mit 10 Fingern bis 1023 zählen !!**
private int Main()
{
   string programmingSkills = getMySkills("programming")
   return = 1;
}
D
daniel94ever Themenstarter:in
67 Beiträge seit 2006
vor 15 Jahren

Vielen Dank.
Jetzt noch eine Kleinigkeit 🙂

Ich habe die Settings mit Designer verknüpft.

Warum wird im Code jetzt auf die Settings Default zugegriffen?

 
this.cbStartMinimize.Checked = global::TimeWizard.Properties.Settings.Default.StartMinimize;
this.cbStartMinimize.DataBindings.Add(new System.Windows.Forms.Binding("Checked", global::TimeWizard.Properties.Settings.Default, "StartMinimize", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
           

Ich hätte erwartet, das die Defaultwerte nicht geändert werde, sondern Änderungen über new Properties.Settings().StartMinimze vorgenommen werden?

S
341 Beiträge seit 2008
vor 15 Jahren

Guten morgen,

ja wie meinst du denn soll er sich sonst die informationen holen 😉

**Nur die Kenner können mit 10 Fingern bis 1023 zählen !!**
private int Main()
{
   string programmingSkills = getMySkills("programming")
   return = 1;
}
D
daniel94ever Themenstarter:in
67 Beiträge seit 2006
vor 15 Jahren

so:
Ich hätte erwartet, das die Defaultwerte nicht geändert werde, sondern Änderungen über new Properties.Settings().StartMinimze vorgenommen werden?

S
341 Beiträge seit 2008
vor 15 Jahren

hmm....

Ich hoffe ich versteh dich richtig aber ein property musst du glaub ich sogar mit einem default wert erstellen. Dies ist der wert wenn das programm nach dem compilieren gestartet wird. Wird dieser wert geändern und gespeichert so muss er ja beim nächsten start wissen ob (in dem fall) startminimize true oder false ist.... würde er sich den standart wert holen den du bei der programmierung angegeben hast so hättest du immer false (bzw den defaultwert).
Mit new würdest du immer eine neue instanz erstellen.... welche sollte er dann nehmen ? 😉 das weiß das programm nicht.
Aber les doch dazu mal ein bisl hier -> 🛈 oder 📗

grüße

**Nur die Kenner können mit 10 Fingern bis 1023 zählen !!**
private int Main()
{
   string programmingSkills = getMySkills("programming")
   return = 1;
}
D
daniel94ever Themenstarter:in
67 Beiträge seit 2006
vor 15 Jahren

Hallo,

ich habe es jetzt geschafft, nur...

Der Pfad wird jetzt in der persönlichen Einstellungsdatei abgespeichert. Wenn aber jetzt eine neue Programmversion von mir kommt, wird der Pfad auf die Defaulteinstellung zurück gesetzt 8o.
Wie kann ich das verhindern?