Fasko
Lt. Junior Grade
- Registriert
- Jan. 2011
- Beiträge
- 481
Hallo,
zuerst die Situation:
zurzeit versuche ich ein Programm zu entwickeln, dass mir auf der Arbeit anzeigt, wie viele Überstunden (oder auch nicht) ich am jeweiligen Tag gemacht habe.
Dazu gebe ich morgens den Starttermin an, wann ich angefangen habe. Die Sollzeit und Pause sind im Programm automatisch festgelegt, können aber vom Benutzer bzw. von mir während das Programm läuft geändert werden.
Die Oberfläche wird automatisch aktualisiert.
Das Problem:
Soweit funktioniert alles technisch... nur bei der Saldorechnung selber habe ich ein Problem:
Mir wird immer eine Fehlermeldung ausgegeben, wenn die Saldozeit nicht im positiven Bereich ist.
Kann mir jemand helfen dieses Logikproblem zu beseitigen. Ich versuche zurzeit C# zu lernen, darum bitte ich um Entschuldigung, wenn ich vielleicht etwas offensichtliches übersehen haben sollte.
Gruß
Fasko
zuerst die Situation:
zurzeit versuche ich ein Programm zu entwickeln, dass mir auf der Arbeit anzeigt, wie viele Überstunden (oder auch nicht) ich am jeweiligen Tag gemacht habe.
Dazu gebe ich morgens den Starttermin an, wann ich angefangen habe. Die Sollzeit und Pause sind im Programm automatisch festgelegt, können aber vom Benutzer bzw. von mir während das Programm läuft geändert werden.
Die Oberfläche wird automatisch aktualisiert.
Das Problem:
Soweit funktioniert alles technisch... nur bei der Saldorechnung selber habe ich ein Problem:
Mir wird immer eine Fehlermeldung ausgegeben, wenn die Saldozeit nicht im positiven Bereich ist.
Code:
public void berechneVergangeneZeit(int stunden, int minuten)
{
// Vom User angegebene Zeit umsetzen für die weitere Verwendung
DateTime zeit = DateTime.Today;
zeit = zeit.AddHours(stunden);
zeit = zeit.AddMinutes(minuten);
// Zeitspanne berechnen
TimeSpan zeitspanne = new TimeSpan (DateTime.Now.Ticks - zeit.Ticks);
zeit = new DateTime(zeitspanne.Ticks);
lbn_Zeit.Text = String.Format("Du bist {0} hier!", zeit.ToString("t"));
//lbn_Zeit.Text=zeit.ToString("t");
lbn_aktUhrzeit.Text = String.Format("Aktuelle Uhrzeit: {0}",DateTime.Now.ToString("t"));
berechneSaldo(zeit);
}
public void berechneSaldo(DateTime aufArbeit)
{
int pause = int.Parse(tbx_pauseMinuten.Text)*-1;
lbn_stundenSaldo.Text = pause.ToString();
// Pause subtrahieren + Sollzeit subtrahieren
aufArbeit = aufArbeit.AddMinutes(pause-int.Parse(tbx_sollzeit_mm.Text));
aufArbeit = aufArbeit.AddHours(-int.Parse(tbx_sollzeit_hh.Text));
lbn_stundenSaldo.Text = String.Format("Saldo: {0}",aufArbeit.ToString("t"));
}
Kann mir jemand helfen dieses Logikproblem zu beseitigen. Ich versuche zurzeit C# zu lernen, darum bitte ich um Entschuldigung, wenn ich vielleicht etwas offensichtliches übersehen haben sollte.
Gruß
Fasko