+ Antworten
Ergebnis 1 bis 12 von 12

Delphi Uhrzeitberechnung

Eine Diskussion über Delphi Uhrzeitberechnung im Forum Hausaufgaben. Teil des Reallife-Bereichs; Hallo, kann mir jemand mal helfen. Wir haben in Informatik sone Uhrzeitberechnung gemacht aber ich hatte das nicht ganz verstanden ...

  1. #1
    Mainforum-Moderator
    Avatar von RoToR
    Registriert seit
    21.02.2008
    Ort
    Wartenburg
    Alter
    24
    Beiträge
    5.775
    Name
    Julian
    Nick
    RoToRone
    Clans
    tbR*

    Delphi Uhrzeitberechnung

    Hallo, kann mir jemand mal helfen. Wir haben in Informatik sone Uhrzeitberechnung gemacht aber ich hatte das nicht ganz verstanden da unsere Lehrerin das überhaupt nicht erklärt hat -.-.
    Und zwar sollen wir 2 Uhrzeiten zusammenrechnen, das Ergebnis soll dann in den 3 unteren edit Feldern stehen, eins ist für Stunden, eins minuten und eins sekunden. Ich hab mal nen screenshot rangehangen, damit ihr wisst was ich meine.
    Somit soll also in edit 7-9 das Ergebnis angezeigt werden.

    Hier mal meine Beschreibung für die einzelnen edit Felder

    var s1,s2,s3,s4,s5,m1,m2,m3,m4,m5,h1,h2,h3,h4:integer;
    begin

    h1:=strtoint(edit1.text);
    m1:=strtoint(edit2.text);
    s1:=strtoint(edit3.text);
    h2:=strtoint(edit4.text);
    m2:=strtoint(edit5.text);
    s2:=strtoint(edit6.text);
    h3:=strtoint(edit7.text);
    m3:=strtoint(edit8.text);
    s3:=strtoint(edit9.text);

    so hab ich also die Variablen belegt
    nun hat unsere Lehrerin uns folgenden Text vorne an die Tafel rangeschrieben

    s3:=s1+s2;
    s4:=s3 mod 60;
    m3:=s5+m1+m2;
    m4:=m3 mod 60;
    m5:=m3 div 60;
    h3:=m5+h1+h2;
    h4:=h3 mod 24;

    Die Befehle div und mod sollten wir verwenden, da die sekunden und minuten ab 60 wieder von vorne anfangen müssen und die Stunden gehen ja nur bis 24.

    problem is halt, das unsere Lehrerin viel mehr Variablen verwendet hat, als ich mit Feldern belegt hab (hab sie aber trotzdem oben bei var erwähnt)

    Trotz meiner Unwissenheit, wie ich das genau berechnen soll, hab ich schonmal die Ausgabe formuliert und zwar:

    edit7.text:=inttostr(h3);
    edit8.text:=inttostr(m3);
    edit9.text:=inttostr(s3);

    wenn man sich das jetzt anguckt, sieht man klar das das nicht funktionieren kann, das war halt das was ich noch in der Schule geschafft hab

    Meine Frage ist jetzt ob mir jemand sagen kann wie ich diese zwei Uhrzeiten zusammenrechenen kann unter Verwendung der Befehle mod und div, ich weiß es nämlcih nicht und am Dienstag schreiben wir darüber ne Klassenarbeit :/
    also wäre echt nett, wenn mir jemand helfen könnte!
    MFG RoToR
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicke auf die Grafik für eine größere Ansicht 

Name:	sda.JPG 
Hits:	38 
Größe:	190,2 KB 
ID:	36345  

  2. #2
    Alle 10 Jahre mal da
    Avatar von Nimphelos
    Registriert seit
    28.06.2007
    Ort
    Marl
    Alter
    23
    Beiträge
    4.012
    Name
    Dennis
    vielleicht mit IF abfragen? ICh hab keine ahnung von Delphi ^^"

    also wenns über 60 ist dann die nächste var +1

  3. #3
    Wo liegt der Sinn darin 2 Uhrzeiten zu addieren???

  4. #4
    Administrator
    Avatar von FiX
    Registriert seit
    21.12.2001
    Ort
    Berlin
    Alter
    31
    Beiträge
    32.912
    Name
    Nils
    Nick
    FiX
    Vermutlich sind keine Uhrzeiten im klassischen Sinn gemeint, sondern eher zwei Zeiten ganz allgemein. Beispielsweise bei zwei 800m Läufen, wo sich die Gesamtzeit dann aus beiden Einzelzeiten zusammensetzt.

    Bei dem Problem selber kann ich leider nicht helfen
    This message was brought to you by FiX
    There can be no triumph without loss, no victory without suffering, and no freedom without sacrifice.
    >> United-Forum.de auf Facebook folgen <<

  5. #5
    Mainforum-Moderator
    Avatar von RoToR
    Registriert seit
    21.02.2008
    Ort
    Wartenburg
    Alter
    24
    Beiträge
    5.775
    Name
    Julian
    Nick
    RoToRone
    Clans
    tbR*
    Zitat Zitat von -Admi- Beitrag anzeigen
    Wo liegt der Sinn darin 2 Uhrzeiten zu addieren???
    Frag mich nicht nach dem Sinn, den kenn ich nämlich auch nicht
    wichtig ist halt das ich diese 2 Befehle vernünftig anwenden kann

    @ Fix: das stimmt, dafür könnte man es verwenden

  6. #6
    Administrator
    Avatar von stefros
    Registriert seit
    28.07.2001
    Ort
    Hamburg
    Alter
    33
    Beiträge
    62.610
    Name
    Stefan
    Nick
    stefros1983
    Clans
    United-Forum
    Für mich sieht der Code ganz gut aus und sollte doch funktionieren?
    (hab nur kurz drüber geschaut)

    Die übrigen Variablen werden als Zwischenspeicher gebraucht.

  7. #7
    Nein, s5 zB wird nirgends deklariert/berechnet.

  8. #8
    Feldwebel
    Avatar von sHiRoKKo
    Registriert seit
    18.05.2007
    Alter
    27
    Beiträge
    1.017
    Clans
    [uG]
    Code:
    var s1,s2,s3,s4,s5,m1,m2,m3,m4,m5,h1,h2,h3,h4:integer;
    begin
    
     h1:=strtoint(edit1.text);
     m1:=strtoint(edit2.text);
     s1:=strtoint(edit3.text);
     h2:=strtoint(edit4.text);
     m2:=strtoint(edit5.text);
     s2:=strtoint(edit6.text);
    
     // Ich denke es bringt nicht viel hier die Zielfelder auszulesen
     h3:=strtoint(edit7.text);
     m3:=strtoint(edit8.text);
     s3:=strtoint(edit9.text);
    
     s3:=s1+s2; // Summe der Sekunden, könnte jetzt aber über >= 60 sein!
     s4:=s3 mod 60; // Anzahl an Sekunden unter 60, OK
     s5:=s3 div 60;// Ich denke hier hat diese Zeile gefehlt
     m3:=s5+m1+m2; // Summe der Minuten + Anzahl der Überläufe der Sekunden
     m4:=m3 mod 60; // Anzahl an Minuten unter 60, OK
     m5:=m3 div 60; // Anzahl der Überläufe, muss in nachfolgender Zeile auf Stunden drauf addiert werden
     h3:=m5+h1+h2; // Anzahl der Stunden, könnte aber >=24 sein!
     h4:=h3 mod 24; // Anzahl an Stunden unter 24, OK
    
     edit7.text:=inttostr(h3); // h4
     edit8.text:=inttostr(m3); // m4
     edit9.text:=inttostr(s3); // s4

  9. #9
    Mainforum-Moderator
    Avatar von RoToR
    Registriert seit
    21.02.2008
    Ort
    Wartenburg
    Alter
    24
    Beiträge
    5.775
    Name
    Julian
    Nick
    RoToRone
    Clans
    tbR*
    Vielen dank schonmal, werd ich Morgen gleich mal ausprobieren

  10. #10
    Ich würde dort noch folgendes empfehlen:
    StrToTime ( const Time : string ) : TDateTime;
    http://www.delphibasics.co.uk/RTL.asp?Name=StrToTime

    Und es dann mit folgendem eintragen:
    formatdatetime ( const Formatting : string; DateTime : TDateTime ) : string;
    http://www.delphibasics.co.uk/RTL.as...formatdatetime

    Dann muss man nicht alles einzeln umwandeln und auch nicht selbst umrechnen.

  11. #11
    Ich nehme an, er soll nur bestimmte Funktionen einsetzen ^^

  12. #12
    Mainforum-Moderator
    Avatar von RoToR
    Registriert seit
    21.02.2008
    Ort
    Wartenburg
    Alter
    24
    Beiträge
    5.775
    Name
    Julian
    Nick
    RoToRone
    Clans
    tbR*
    Jop, außerdem glaub ich nicht, dass wir das dieses Schuljahr noch brauchen, aber trotzdem Danke
    Übrigensich hab Shirrokos Verbesserungen übernommen und es klappt alles, danke nochmal

+ Antworten

Ähnliche Themen

  1. [Delphi] Berechnung von Schittpunkten
    Von RoToR im Forum Hausaufgaben
    Antworten: 2
    Letzter Beitrag: 21.03.2011, 19:39
  2. Delphi Tutorials
    Von stefros im Forum Technik Ecke
    Antworten: 2
    Letzter Beitrag: 06.04.2006, 17:14
  3. Antworten: 2
    Letzter Beitrag: 14.04.2003, 19:45

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •