[C#] Problem mit NumericUpDown beim Einlesen aus einer Datei

Fabsch

Erfahrenes Mitglied
Hallo,

mein Problem ist Folgendes:
Ich habe in meinem Form 3 NumericUpDowns mit den Namen "Stunde_1", "Minute_1" und "Sekunde_1".
Beim Öffnen des Forms will ich die Zahlen aus einer Datei auslesen und diesen Elementen dann den Value zuweisen (in der Datei steht dann z.B. in der ersten Zeile "12:20:0" oder irgendwelche anderen 3 Zahlen, die mit ":" getrennt sind.
Aber hier kommt das Problem: die Values des NumericUpDowns sind vom Typ int Und ich weiß nicht, wie ich diese Zahlen dann aus der Datei in diese 3 Elemente reinbekommen soll.

So weit bin ich schon:
Code:
        public timer()
        {
            InitializeComponent();

            if (!File.Exists("timer.txt"))
            {
                File.Create("timer.txt");
                using (StreamWriter sw = new StreamWriter("timer.txt"))
                {
                    sw.Write("0:0:0");
                }
            }

            using (StreamReader sr = new StreamReader("timer.txt"))
            {
                string line = sr.ReadLine();
                string[] parts = line.Split(':');

                Stunde_1.Value = parts[0];
                Minute_1.Value = parts[1];
                Sekunde_1.Value = parts[2];
            }

        }
(das Form heißt "timer", und das ist die Funktion, die beim Öffnen des Fensters aufgerufen wird)

Hat jemand eine Idee, wie ich das machen könnte?
Habe schon in der Hilfe nachgeschaut, aber da wird der Wert nur mit festen Zahlen festgelegt (z.B.: "numericupdown1.value = 55;")..

Danke schonmal im Vorraus :)

MfG
Fabsch
 
Hallo,

ich hab jetzt zwar keine IDE zur Hand womit ich dir das genauer zeigen könnte, aber du kannst es z.b. so konventieren:

Convert.ToInt16(parts[0]);

Ob die Funktion jetzt ToInt16 heißt bin ich mir nicht sicher, aber etwas in der Art wird dir angezeigt ;-)
 
Hallo,

also, danke erstmal für die Antwort :)

So geht es jetzt:
Code:
            using (StreamReader sr = new StreamReader("timer.txt"))
            {
                string line = sr.ReadLine();
                string[] parts = line.Split(':');

                decimal[] part = new decimal[10];
                for ( int i = 0; i < parts.Length; i++ )
                {
                    part[i] = Convert.ToDecimal(parts[i]);
                }

                Stunde_1.Value = part[0];
                Minute_1.Value = part[1];
                Sekunde_1.Value = part[2];

            }


MfG
Fabsch
 

Neue Beiträge

Zurück