AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sekunden, Minuten, Stunden Rechner

Ein Thema von FG53 · begonnen am 9. Mär 2020 · letzter Beitrag vom 11. Mär 2020
 
Moombas
(Gast)

n/a Beiträge
 
#13

AW: Sekunden, Minuten, Stunden Rechner

  Alt 10. Mär 2020, 07:50
Naja was gibts bei der Beschreibung des TE's noch groß zu interpretieren:

Zitat:
Beispiel: Nutzer gibt in edit1 '1' Stunde ein, edit2 '60' Minuten wird automatisch gerechnet und edit3 '3600' sekunden wird automatisch gerechnet.
(Was aber auch sein muss ist das wenn der nutzer '3600' Sekunden eingibt das der rechner dann die anderen 2 edit felder befüllt.)
Das dies nun nicht Sinnvoll ist (da im Prinzip der Wert von Edit1 = Edit2 = Edit3), ist eine andere Sache.

Ich gehe davon aus:
Edit1 umbenennen in StundenE , ggf. einstellen, das nur Zahlen eingegeben werden können (NumbersOnly = True)
Edit2 umbenennen in MinutenE , ggf. einstellen, das nur Zahlen eingegeben werden können (NumbersOnly = True)
Edit3 umbenennen in SekundenE, ggf. einstellen, das nur Zahlen eingegeben werden können (NumbersOnly = True)
Die Summe aller Editfelder ergibt die GESAMTZEIT, nicht wie der TE angegeben hat überall die Gleiche Zeit.
Also bei Eingabe 3600 Sekunden Stünde nur eine "1" bei Stunde, der Rest wäre 0.

Für alle die Gleiche Funktion beim OnExit hinterlegen (geht sicher auch kürzer/einfacher ist aber evtl. für einen Anfänger am leichtesten zu verstehen):

Delphi-Quellcode:
var
  iSekunden, iMinuten, iStunden : Integer;
begin
  iSekunden := 0;
  iMinuten := 0;
  iStunden := 0;
  case Sender.Name of
    SekundenE : iSekunden := strtoint(SekundenE.Text); //Hilfsvariable aus Editfeld füllen
    MinutenE : iMinuten := strtoint(MinutenE.Text); //Hilfsvariable aus Editfeld füllen
    StundenE : iStunden := strtoint(StundenE.Text); //Hilfsvariable aus Editfeld füllen
    else : Exit;
  end;

  if iSekunden > 59 then //Da 60 Sekunden = 1 Minute, dies umrechnen
  begin
    iMinuten := iMinuten + (iSekunden DIV 60); //die Minuten, die sich aus den Sekunden ergeben hinzuaddieren
    iSekunden := iSekunden MOD 60; //die korrekten Sekunden berechnen
  end;

  if iMinuten > 59 then
  begin
    iStunden := iStunden + (iMinuten DIV 60); //die Stunden, die sich aus den Minuten ergeben hinzuaddieren
    iMinuten := iMinuten MOD 60; //die korrekten Minuten berechnen
  end;

  SekundenE.Text := inttostr(iSekunden); //Hilfsvariablen ins Editfeld zurückspielen
  MinutenE.Text := inttostr(iMinuten); //Hilfsvariablen ins Editfeld zurückspielen
  StundenE.Text := inttostr(iStunden); //Hilfsvariablen ins Editfeld zurückspielen
  iSecGes := (strtoint(StundenE.Text) * 60 + strtoint(MinutenE.Text)) * 60 + strtoint(SekundenE.Text); //Gesamtsekunden (Globale Variable)
end;
Achtung ungetestet. Programmiert in der Theorie^^

Geändert von Moombas (11. Mär 2020 um 07:56 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz