BASE: Rechnen mit manueller Zeiteingabe

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

sule1979
**
Beiträge: 28
Registriert: Mo, 13.03.2006 05:34

BASE: Rechnen mit manueller Zeiteingabe

Beitrag von sule1979 »

Hallo zusammen,

ich stehe derzeit auf dem "Schlauch" und komme einfach nicht weiter.

Folgendes möchte ich realisieren.

In einem Formular habe ich 5 Kombinationsfelder mit vorgegebenen Werten, die zur Auswahl stehen.
"Stunde (00 - 23)" - "Minute (00 - 59)" - "Tag (01-31)" - "Monat (01-12)" - "Jahr (2012 - 2020)"

Beispiel
Aus den oben genannten Kombinationsfeldern wird ausgewählt " 03:15 - 29.10.2012 "

Nun möchte ich aus dem vorgegebenen Wert 5 Stunden abziehen unter berücksichtigung des Datums.
Als Ergebnis sollte somit "22:15 - 28.10.2012" herauskommen.

Wie kann man das bewerkstelligen ?

Mein Ansatz war:

Code: Alles auswählen

dim beginstunde, beginnminute, beginntag, beginnmonat, beginnjahr as integer

oForm = ThisComponent.sheets.getByName("EINGABE").DrawPage.Forms.getByIndex(0)
	
beginnstunde = oForm.getByName("beginnstunde").text
beginnminute = oForm.getByName("beginnminute").text
beginntag = oForm.getByName("beginntag").text
beginnmonat = oForm.getByName("beginnmonat").text
beginnjahr = oForm.getByName("beginnjahr").text

dim beginnuhrzeit, beginndatum, beginnzeit as date

beginnuhrzeit = timeserial (beginnstunde, beginnminute, 0)
beginndatum = dateserial (beginnjahr, beginnmonat, beginntag)
beginnzeit = beginnuhrzeit + beginndatum
Leider ist es mir nicht gelungen beginnuhrzeit und beginndatum so zu kombinieren, dass man damit rechnen kann.

Anmerkung: Mit now() und timeserial ist ja sowas möglich aber mit aktueller Zeitangabe was mich nicht weiter bringt.

Danke im Voraus



Moderation,4: verschoben in BASIC-Unterbereich, wo alle Makro-Fragen hin gehören; Betreff angepasst; CODE tags gesetzt
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: BASE: Rechnen mit manueller Zeiteingabe

Beitrag von komma4 »

Ich denke, Dein Ansatz ist falsch.

Verwende Zeit- und Datums-Kontrollfelder zur Auswahl der Uhrzeit und Datum. Dann kannst Du auch mit den nummerischen Werten rechnen.

Bei Deiner Vorgehensweise kannst Du die Auswahl eines ungültigen Datums (31.11.2012) nicht verhindern
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
F3K Total
********
Beiträge: 3722
Registriert: Mo, 28.02.2011 17:49

Re: BASE: Rechnen mit manueller Zeiteingabe

Beitrag von F3K Total »

Hallo,
anbei ein kombiniertes Beispiel.
Kombinationsfelder für die Auswahl der Zeit, ein Datumsfeld für den Tag.
Viel Spaß damit

Gruß R
Dateianhänge
Dateadd_Makro.odb
(14.35 KiB) 98-mal heruntergeladen
sule1979
**
Beiträge: 28
Registriert: Mo, 13.03.2006 05:34

Re: BASE: Rechnen mit manueller Zeiteingabe

Beitrag von sule1979 »

verstehe.

Und man kann dann wie in meinem Beispiel oben Uhrzeit und Datum miteinander verknüpfen so dass sich das Datum automatisch anpasst?

Wie lautet die Funktion bzw. die Formel dazu.

danke
sule1979
**
Beiträge: 28
Registriert: Mo, 13.03.2006 05:34

Re: BASE: Rechnen mit manueller Zeiteingabe

Beitrag von sule1979 »

Danke für die Beispieldatei. Werde sie mir gleich heute Abend anschauen.
Antworten