tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
10
ZUGRIFFE
323
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    CrimeTime89 CrimeTime89 ist offline Mitglied Silber
    Registriert seit
    May 2009
    Beiträge
    54
    Hallo,
    ich lade mit einer Funktion aus einer *.ini Einstellungen für das Programm, es Lädt diese auch ohne Probleme doch wenn ich dann in dem Programm zu den CheckBoxen gehe sind alle auf False, diese CheckBoxen befinden sich auf einem TabControl evtl. liegt es ja auch daran.

    Hier der Code der Funktion:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    private void loadSettings()
            {
                try
                {
                    var Set = new frm1();
                    Library.IniFile settings = new Library.IniFile(Environment.CurrentDirectory + @"\settings.ini");
                    Set.chk1.Checked = Convert.ToBoolean(settings.IniReadValue("Main", "Setting1"));
                    Set.chk2.Checked = Convert.ToBoolean(settings.IniReadValue("Main", "Setting2"));
                    Set.chk3.Checked = Convert.ToBoolean(settings.IniReadValue("Main", "Setting3"));
                    Set.chk4.Checked = Convert.ToBoolean(settings.IniReadValue("Main", "Setting4"));
                    Set.chk5.Value = Convert.ToInt32(settings.IniReadValue("Main", "Setting5"));
                    Set.chk6.Checked = Convert.ToBoolean(settings.IniReadValue("Main", "Setting6"));
                }
                catch
                {
    MessageBox.Show("Error by Loading Settings!");
                }
            }
    Geändert von CrimeTime89 (02.12.10 um 11:08 Uhr)
     

  2. #2
    Avatar von RudolfG
    RudolfG RudolfG ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    Gummersbach (NRW)
    Beiträge
    337
    Einfacher und Aussagekräftiger zum Beantworten der Frage bzw. des Problems, währe es zu wissen wie genau diese Einträge in der *.ini-Datei aussehen.

    Gruß
    RudolfG

    PS: Der Titel ist ja nicht so ganz aussagekräftig!
    Geändert von RudolfG (02.12.10 um 11:00 Uhr)
     
    Technologien
    (Gute) Grundkenntnisse: HTML, CSS
    Fortgeschrittene-Kenntnisse: C++/Qt, C# (WinForms, Webservice), SQL

  3. #3
    CrimeTime89 CrimeTime89 ist offline Mitglied Silber
    Registriert seit
    May 2009
    Beiträge
    54
    hier die Ini File:

    Code :
    1
    2
    3
    4
    5
    6
    7
    
    [Main]
    Setting1=True
    Setting2=True
    Setting3=100
    Setting4=False
    Setting5=True
    Setting6=False

    aber ich denke da liegt der hundbegraben, da ich bei LoadSettings es nochmal zu Bool Convertiere obwohl es schon richtig ist.
     

  4. #4
    Avatar von RudolfG
    RudolfG RudolfG ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    Gummersbach (NRW)
    Beiträge
    337
    Also bei der Konvertierung geht, es schonmal nicht schief!

    Wovon ich ausgehe, ist dass dir die Klasse Library.IniFile über die Methode IniReadValue nicht die Werte 1:1 zurückliefert.

    Woher hast du den diese Klasse?

    Gruß
    RudolfG
     
    Technologien
    (Gute) Grundkenntnisse: HTML, CSS
    Fortgeschrittene-Kenntnisse: C++/Qt, C# (WinForms, Webservice), SQL

  5. #5
    CrimeTime89 CrimeTime89 ist offline Mitglied Silber
    Registriert seit
    May 2009
    Beiträge
    54
    Puh das ist eine gute Frage wo ich die mal ausgegraben hatte, jedenfalls sieht so die Read Funktion aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
     
            public string IniReadValue(string Section, string Key)
            {
                StringBuilder temp = new StringBuilder(255);
                int i = GetPrivateProfileString(Section, Key, "", temp, 255, this.path);
                return temp.ToString();
     
            }
     

  6. #6
    Avatar von RudolfG
    RudolfG RudolfG ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    Gummersbach (NRW)
    Beiträge
    337
    Hey,

    also bei mir funktioniert es mit dieser Datei und dieser Funktion. Was aber beim 1. Versuch schief ging war, dass die Ini-Datei nicht in dem Verzeichnis lag, wo ich es angenommen habe. Allerdings wurde dann bei mir die Exception geschmissen und mit der Ausgabe der Meldung gefangen.

    Guck dir bitte dazu Environment.CurrentDirectory im Debugger genau an und überprüf ob die Ini-datei sich auch wirklich in diesem Verzeichnis befindet.


    Hoffe, dass das Problem damit behoben ist.

    Gruß
    RudolfG
    Geändert von RudolfG (02.12.10 um 11:43 Uhr)
     
    Technologien
    (Gute) Grundkenntnisse: HTML, CSS
    Fortgeschrittene-Kenntnisse: C++/Qt, C# (WinForms, Webservice), SQL

  7. #7
    CrimeTime89 CrimeTime89 ist offline Mitglied Silber
    Registriert seit
    May 2009
    Beiträge
    54
    wäre ja zu einfach gewesen, bei mir liegt sie genau da wo sie hin muss, habe den Pfad sogar vom Debug aus Kopiert und über Arbeitsplatz geöffnet geht ohne Probleme.
     

  8. #8
    Avatar von RudolfG
    RudolfG RudolfG ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    Gummersbach (NRW)
    Beiträge
    337
    Ok, schade

    Was steht denn beim Debuggen nach der Zuweisung z. B. in "Set.chk1.Checked" (geh mal mit der Maus über das Checked)?
     
    Technologien
    (Gute) Grundkenntnisse: HTML, CSS
    Fortgeschrittene-Kenntnisse: C++/Qt, C# (WinForms, Webservice), SQL

  9. #9
    CrimeTime89 CrimeTime89 ist offline Mitglied Silber
    Registriert seit
    May 2009
    Beiträge
    54
    wird alles Richtig geladen, nur wird halt nicht auf der Form im TabControl Angezeigt.
     

  10. #10
    Avatar von RudolfG
    RudolfG RudolfG ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    Gummersbach (NRW)
    Beiträge
    337
    Also irgendwie kann das, mit den hier gegebenen Informationen, nicht stimmen!

    Der Quelltext versucht "Setting3" nach Boolean zu konvertieren aber in der Ini-Datei steht hier eine Zahl drinnen. Des weiteren wird in dem Quelltext "Setting5" versucht nach int zu konvertieren, in der Ini-Datei steht hier aber ein "True"

    Gruß
    RudolfG
     
    Technologien
    (Gute) Grundkenntnisse: HTML, CSS
    Fortgeschrittene-Kenntnisse: C++/Qt, C# (WinForms, Webservice), SQL

  11. #11
    CrimeTime89 CrimeTime89 ist offline Mitglied Silber
    Registriert seit
    May 2009
    Beiträge
    54
    also ich habe einfach das var set auskommentiert und das Set. vor allen einträgen entfernt und nun läufts!

    Grüße aus Siegen
     

Ähnliche Themen

  1. [C#] Problem mit Einstellungen
    Von soyo im Forum .NET Windows Forms
    Antworten: 4
    Letzter Beitrag: 18.12.07, 17:57
  2. lade Chaos
    Von isnogood im Forum Flash Plattform
    Antworten: 4
    Letzter Beitrag: 10.07.05, 20:12
  3. Problem mit den Remote Control Einstellungen in Adobe Encore DVD
    Von Christain_Alli im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 2
    Letzter Beitrag: 29.03.04, 04:09
  4. mc lade problem
    Von TheScary im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 09.04.03, 12:01
  5. Wie lade ich Buttons vor?
    Von Morfeus im Forum Flash Plattform
    Antworten: 4
    Letzter Beitrag: 02.06.02, 20:52