Hi,
Stefan Weigel schrieb:
Ob das aber ein Bug ist oder *wo* der eigentlich ist, finde ich nicht
so eindeutig, denn:
Laut Online-Hilfe soll das Argument der DateValue-Funktion ein String
sein. Und wenn man mit Schweizer Gebietsschema einen String übergibt,
dann funktioniert es auch, zum Beispiel: DateValue("25.05.2006").
Wenn man dagegen fälschlicherweise eine Zahl übergibt, zum Beispiel
DateValue(32000), dann folgt der Laufzeitfehler "Unzulässiger Wert
oder Datentyp". Der selbe Fehler tritt bei DateValue(now) auf, weil
die Now-Funktion einen Date-Wert und keinen String liefert.
Somit verhält sich OOo mit Schweizer Gebietsschema genau richtig. Der
Fehler liegt im Programmcode! Würde sich der Programmierer an die
Spezifikation oder zumindest an die Online-Hilfe halten, so gäbe es
bei keiner Gebietsschema-Einstellung ein Problem.
:-) Wusste ich's doch .. die Schweizer sind halt etwas genauer als alle
anderen.
Da aber OOo den fehlerhaften Code mit manchen Gebietsschemata ohne
Fehlermeldung verarbeitet, ist dem Programmierer sein eigener Fehler
nicht aufgefallen.
Jepp .. genau so war es wohl.
Ich frage mich nebenbei nach Sinn und Absicht des Autors bei
Verwendung des Statements DateValue(Now). DateValue liefert einen
Long-Wert. Now liefert das aktuelle Datum und die aktuelle Uhrzeit als
Date-Wert. Absicht ist also offenbar eine Typumwandlung vom Typ Date
in den Typ Long. Dafür gibt es die Typumwandlungsfunktion CLng und
folgendes Statement funktioniert bei allen Gebietsschemata:
CLng(Now)
Wirklich Sinn ergibt das verwendete Konstrukt ( textControl.Date =
CDateToIso(DateValue(Now)) ) nicht. Da ich allerdings herzlich wenig mit
OOo-Basic arbeite war ich mir da nicht ganz sicher. Aber die Kommentare
hier betätigen, dass es eher ein Fehler in der Anwendung der Funktion
ist .. und diese eher zufällig funktioniert.
Insgesamt aus meiner Sicht also nicht wirklich tragisch, da
- das Konstrukt wahrscheinlich nur selten Verwendet wird
- in 99% der Fälle trotzdem funktioniert
- im Falle, dass es dann doch nicht funktioniert relativ schnell
korrigiert werden kann
Danke an alle !
André
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]