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]

Antwort per Email an