Autor Beitrag
Bizzy
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 01.07.15 10:14 
Guten morgen,
Ich habe eine comboBox die die Tage Montag bis Sonntag beeinhaltet und einen datetimepicker(HH:mm:ss).
Immer wenn ich auf den Add button klicke möchte ich den Tag sowie die Zeit in der Settings.ini Datei speicher.
Im Moment habe ich folgenden Code:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
private void buttonAddScheduleTrivia_Click(object sender, EventArgs e)
{
    listBoxTriviaSchedule.Items.Add(comboBoxDaysTrivia.SelectedItem + " " + dateTimePicker1.Value.ToString("HH:mm:ss"));

    var MyIni = new IniFile("Settings.ini");
    MyIni.Write("TimeCount"string.Format("{0}", listBoxTriviaSchedule.Items.Count), "Trivia");

    string item = dateTimePicker1.Value.ToString("HH:mm:ss");
    MyIni.Write(string.Format("Time-{0}",Globals.TriviaScheduleCount), comboBoxDaysTrivia.SelectedItem + " " +string.Format("{0}", item));
    Globals.TriviaScheduleCount++;
}

Bei 2 Daten wird die Datei erstellt:
ausblenden Quelltext
1:
2:
3:
4:
5:
[Trivia]
TimeCount=2
[Clientless login]
Time-0=Daily 10:00:17
Time-1=Wednesday 11:00:17

Wie bekomm ich den Programmnamen [Clientless login] weg? Bzw wie speicher ich die Datei ohne diesen Teil?

Moderiert von user profile iconTh69: C#- und Code-Tags hinzugefügt


Zuletzt bearbeitet von Bizzy am Mi 01.07.15 10:59, insgesamt 1-mal bearbeitet
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 01.07.15 10:46 
- Nachträglich durch die Entwickler-Ecke gelöscht -
baumina
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 305
Erhaltene Danke: 61

Win 7
Delphi 10.2 Tokyo Enterprise
BeitragVerfasst: Mi 01.07.15 11:01 
Korrekturvorschlag:
ausblenden C#-Quelltext
1:
MyIni.Write(string.Format("Time-{0}",Globals.TriviaScheduleCount), comboBoxDaysTrivia.SelectedItem + " " +string.Format("{0}", item), "Trivia");					


Moderiert von user profile iconTh69: C#-Tags hinzugefügt

Für diesen Beitrag haben gedankt: Bizzy
Bizzy Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 01.07.15 11:05 
Ach Gottchen danke baumina.
Ist ja peinlich, dass ich das nicht probiert hab :(

Danke Frühlingsrolle.
Ja hab ne IniFile.cs die 3 string parameter erwartet..
wenn man nur 2 setzt wird der 3. wohl der default namespace
Bizzy Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 01.07.15 11:38 
Wie lösche ich dann ein selectedItem der listBox?
Die .ini
ausblenden Quelltext
1:
2:
3:
4:
5:
[Trivia]
TimeCount=3
Time-0=Daily 11:23:43
Time-1=Daily 11:23:43
Time-2=Daily 11:23:43

Funktion
ausblenden Quelltext
1:
2:
3:
4:
public void DeleteKey(string Key, string Section = null)
{
   Write(Key, null, Section ?? EXE);
}


Ansatz:
ausblenden Quelltext
1:
2:
3:
4:
var MyIni = new IniFile("Settings.ini");
string item = listBoxTriviaSchedule.SelectedItem.ToString();
...
MyIni.DeleteKey(..., "Trivia");


Muss ich die strings vergleichen?
Also item.Contains() benutzen?
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 01.07.15 11:53 
Zitat:
Muss ich die strings vergleichen?


Das Framework hat keine IniFile Klasse. Du müßtest uns schon sagen wo du die her hast und wie die funktioniert.

Vermutlich geht da irgendeine Schlüsselbezeichnung rein, daher sehe ich nicht was du da vergleichen oder selbst prüfen willst.
Oder wählst du in der ComboBox nur einen Wert aus brauchst aber den Key (in einer Ini stehen ja Key/Value Paare) zum löschen?

Dann solltest du das auch erklären und dich fragen was passieren soll wenn es zu einem bestimmten Wert mehrere Keys gibt.
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Mi 01.07.15 12:40 
Ich würde darauf tippen, er nutzt das:
www.codeproject.com/...ndling-class-using-C
Bloß eine eigene Klasse bzw. eigene Methoden-Namen, der Aufwand ist dabei ja sehr gering.

Und da reicht es meines Wissens nach aus, einen Leerstring zu schreiben.
Probier es einfach aus.