Forum: PC-Programmierung Borland Builder Timer


von Florian (Gast)


Lesenswert?

Hallo,

ich habe 2 Zeiten, die ich mittels Timer angezeigt bekomme will (Format: 
00:00:00)

Nun möchte ich die 2 Zeiten zusammenzählen und in einem eigenen EditFeld 
angezeigt bekommen.

timeweiss->Val = IncSecond(timeweiss->TimeString(),1);
Edit1->Text = timeweiss->TimeString();

timeblack->Val = IncSecond(timeblack->TimeString(),1);
Edit2->Text = timeblack->TimeString();

Muss ich die Zeit in ein Float umwandeln oder wie kann ich 2 addieren?

Bitte um Hilfe


Danke,
SG Florian

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Die Timer werden eine Möglichkeit haben, die Zeit auch nicht in 
Stunden/Minuten/Sekunden umgerechnet anzubieten, sondern als reinen 
Sekundenwert.

Du addierst also die Gesamtsekundenwerte und wandelst die wiederum zur 
Anzeige in Stunden/Minuten/Sekunden um.

Wenn die Timer die o.g. Möglichkeit nicht bieten, ist das auch kein 
Problem, denn aus Stunden/Minuten/Sekunden kann man leicht auf 
Gesamtsekunden umrechnen:

Gesamtsekunden = Stunden * 3600 + Minuten * 60 + Sekunden;


Du merkst: Das ist schneller hingeschrieben als in einem Forum gepostet 
...

von Florian (Gast)


Lesenswert?

Hallo vielen Dank!


Eine Frage, wie kann ich die einzelnen Teile (Stunden, Minuten, 
Sekunden) aus der Timefunktion herhausgliedern. 00:00:00 damit ich die 
Gesamtsekunden darstellen kann. Habe das vergeblich schon versucht.

Wie würde die dazugehörige Funktion lauten?

SG

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sieh in die Dokumentation, bzw. in die Headerdatei, in der Deine 
Timerklasse deklariert ist.

Ich kenne sie nicht.

von Stephan (Gast)


Lesenswert?

Hi,
sag mal genau von welcher Klasse du die Zeit holen willst!

bei der klasse TTimer kannst du dir deine Zeit (Sekunden) selber zählen 
und dann die Ausgabe mit TEdit selber bauen.

und dann gibs ja noch zb. die Klasse TDateTime mit der man sich auch 
eine Zeit zusammenbauen und formatiert ausgeben lassen kann.

mfg
Stephan

von Florian (Gast)


Lesenswert?

Habe es mit TTime() gemacht.

Funktioniert jetzt. Habe die Zeit im Format 00:00:00 mittels SubString 
aufgesplittet und dann in einen Integer umgewandelt.
VL ein wenig kompliziert, aber bin noch ein Programmieranfänger :)

SG

von amateur (Gast)


Lesenswert?

Soweit mir bekannt verwendet Borland intern (TTime, TDate und TDateTime) 
Fließkommazahlen für Datum (Ganzzahlen) und Zeit (Nachkommastellen).
Die kannst Du nach Belieben addieren oder subtrahieren oder es auch 
seinlassen.

von Robert L. (lrlr)


Lesenswert?

so ungefähr: (schätze ich mal)

Edit2->Text = FormatDateTime('hh:nn:ss', timeblack->Val + 
timewhite.Val);

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.