Re: [de-users] LO BASIC IDE - DateAdd - Beispiel fehlerhaft
Hallo zusammen, ich habe heute früh nur die erste Mail lesen können, ohne etwas dazu schreiben zu können. Inzwischen hat sich ja schon herausgestellt, dass es wohl am Datumserkennungsmuster liegt, was sich noch nicht in der Dokumentation niedregeschlagen hat. Ich hatte ein entsprechendes Problem für andere Datumsfunktionen als Bug gemeldet, siehe https://bugs.documentfoundation.org/show_bug.cgi?id=106957 weil es ja kein Problem der deutschen Version, sondern ein grundsätzliches ist. Und eine Bug-Meldung ist dann die richtige Aktion, aber eben auf die Dokumentation bezogen. Die Dokumentation wurde auch ziemlich schnell korrigiert, ich denke, das lag auch daran, dass ich eine neue Formulierung vorschlug, das würde ich hier auch empfehlen. Die Leute, die das ändern, sind wahrscheinlich sehr beschäftigt, man sollte es ihnen so klar und einfach wie möglich machen. Wenn sie sich erst in das Thema reindenken und gar nach einer Formulierung suchen müssen, bleibt das erst mal liegen und geht dann vergessen. Gruß Gerhard Am 17.11.2017 um 19:15 schrieb OoOHWHOoO: Hallo Alex und Wolfgang, in der Hilfe zu "DateAdd" steht, dass die Variable "Datum" von Typ "Variant" sein kann, es ist also eine Datum-Integer-Zahl als auch eine Datum-Zeichenkette erlaubt. Aber Deine (Alex) Eingabe der Form 17.11.2017 ohne begrenzende " ist nicht erlaubt, denn diese Eingabe ist weder eine Zeichenkette noch eine gültige Zahl. Das nachfolgende Mini-Makro liefert sowohl für Datum-Integer-Zahl als auch Datum-Zeichenkette ein fehlerfreies Ergebnis: Sub example_dateadd Dim Date_1 as Variant Dim Date_2 as Variant Date_1 = "31.01.2004" ' Datumsformat entsprechend "Datumserkennungsmuster" in Abhängigkeit vom "Gebietsschema" angeben ! Date_2 = "31.01.2005" ' Datumsformat entsprechend "Datumserkennungsmuster" in Abhängigkeit vom "Gebietsschema" angeben ! MsgBox DateAdd("m",1,Date_1) & " - " & DateAdd("m",1,Date_2) MsgBox DateAdd("m",1,DateValue(Date_1)) & " - " & DateAdd("m",1,DateValue(Date_2)) End Sub Das sehe ich im Prinzip ebenso wie Du (Wolfgang). Für "DateValue" ist die Hilfe-Erläuterung etwas ausführlicher und bestätigt, was Du auch geschrieben hast: "[...] Sie können das Gebietsschema, das in LibreOffice Basic zur Kontrolle der Formatierung von Zahlen, Daten und Währungen benutzt wird, im Menü unter Extras - Optionen... - Spracheinstellungen - Sprachen einstellen. In Basic Formatierungscodes wird immer der Dezimalpunkt (.) als Platzhalter für den Dezimaltrenner benutzt, der in Ihrem Gebietsschema definiert ist, und durch das entsprechende Zeichen ersetzt. Dies gilt entsprechend für das Gebietsschema für Datums-, Uhrzeit- und Währungsformate. Der Basic-Format-Code wird entsprechend Ihrer Gebietsschemaeinstellung ausgewertet und angezeigt. [...]" Über [Extras] -> [Optionen] -> [Spracheinstellungen] -> [Sprachen] kann man das "Gebietsschema" einstellen und LO setzt dann automatisch das dazugehörige "Datumserkennungsmuster": + Gebietsschema: Englisch (USA) + Datumserkennungsmuster: M/D/Y;M/D + Date_1 = "1/31/2004" und Date_2 = "1/31/2005" + Gebietsschema: Englisch (Großbritannien) + Datumserkennungsmuster: D/M/Y;D/M;D-M + Date_1 = "31/1/2004" und Date_2 = "31/1/2005" + Gebietsschema: Afrikaans (Namibia) + Datumserkennungsmuster: Y/M/D;M/D + Date_1 = "2004/1/31" und Date_2 = "2005/1/31" + Gebietsschema: Bretonisch + Datumserkennungsmuster: D/M/Y;D/M;D.M.Y;D-M-Y + Date_1 = "31-01-2004" und Date_2 = "31-01-2005" + Gebietsschema: Deutsch (Deutschland) + Datumserkennungsmuster: D.M.Y;D.M. + Date_1 = "31.01.2004" und Date_2 = "31.01.2005" Man muss dann nur (beispielsweise) in dem obigen Min-Makro die Datum-Zeichenkette-Angaben für "Date_1" und "Date_2" entsprechend anpassen, dann gibt es keine Fehlfunktionen von "DateAdd" mehr. Von dieser Funktion abzuraten, so weit würde ich nicht gehen. Das Beispiel anpassen und/oder auf das "Datumserkennungsmuster" in den "Spracheinstellungen" hinweisen. Grüße Hans-Werner ;-)) -- Originalnachricht -- Von: "Wolfgang Jäth"An: users@de.libreoffice.org Gesendet: 17.11.2017 16:39:05 Betreff: Re: [de-users] Re: LO BASIC IDE - DateAdd - Beispiel fehlerhaft Am 17.11.2017 um 11:26 schrieb Alexander Thurgood: Hallo Hans-Werner, Ich habe auf einem LO (fr-FR) getestet, und die Hilfe darum ist die gleiche wie die in der deutschen Verfassung, also besser wäre doch, dass man ein Bug gegen die Online-Hilfe melden würde. Ich konnte mit LO5432 kein sensibles Ergebnis erstellen, wenn ich die doppelten Anführungszeichen stehen liess - ansonsten bekam ich noch weitere Fehlermeldungen, abhängig von der Wahl der Separator (Punkt oder Strich). Nach Entfernung der Anführungszeichen, bekam ich doch ein MsgBox mit Datum, trotzdem aber mit falschem Jahr, also "31/01/32767". Es ist da scheinbar was los. Ob das die Hilfe zu schulden ist, oder ein unterliegendes Problem mit der Funktion DateAdd(), weiss ich nicht.
Re: [de-users] LO BASIC IDE - DateAdd - Beispiel fehlerhaft
Hallo Alex und Wolfgang, in der Hilfe zu "DateAdd" steht, dass die Variable "Datum" von Typ "Variant" sein kann, es ist also eine Datum-Integer-Zahl als auch eine Datum-Zeichenkette erlaubt. Aber Deine (Alex) Eingabe der Form 17.11.2017 ohne begrenzende " ist nicht erlaubt, denn diese Eingabe ist weder eine Zeichenkette noch eine gültige Zahl. Das nachfolgende Mini-Makro liefert sowohl für Datum-Integer-Zahl als auch Datum-Zeichenkette ein fehlerfreies Ergebnis: Sub example_dateadd Dim Date_1 as Variant Dim Date_2 as Variant Date_1 = "31.01.2004" ' Datumsformat entsprechend "Datumserkennungsmuster" in Abhängigkeit vom "Gebietsschema" angeben ! Date_2 = "31.01.2005" ' Datumsformat entsprechend "Datumserkennungsmuster" in Abhängigkeit vom "Gebietsschema" angeben ! MsgBox DateAdd("m",1,Date_1) & " - " & DateAdd("m",1,Date_2) MsgBox DateAdd("m",1,DateValue(Date_1)) & " - " & DateAdd("m",1,DateValue(Date_2)) End Sub Das sehe ich im Prinzip ebenso wie Du (Wolfgang). Für "DateValue" ist die Hilfe-Erläuterung etwas ausführlicher und bestätigt, was Du auch geschrieben hast: "[...] Sie können das Gebietsschema, das in LibreOffice Basic zur Kontrolle der Formatierung von Zahlen, Daten und Währungen benutzt wird, im Menü unter Extras - Optionen... - Spracheinstellungen - Sprachen einstellen. In Basic Formatierungscodes wird immer der Dezimalpunkt (.) als Platzhalter für den Dezimaltrenner benutzt, der in Ihrem Gebietsschema definiert ist, und durch das entsprechende Zeichen ersetzt. Dies gilt entsprechend für das Gebietsschema für Datums-, Uhrzeit- und Währungsformate. Der Basic-Format-Code wird entsprechend Ihrer Gebietsschemaeinstellung ausgewertet und angezeigt. [...]" Über [Extras] -> [Optionen] -> [Spracheinstellungen] -> [Sprachen] kann man das "Gebietsschema" einstellen und LO setzt dann automatisch das dazugehörige "Datumserkennungsmuster": + Gebietsschema: Englisch (USA) + Datumserkennungsmuster: M/D/Y;M/D + Date_1 = "1/31/2004" und Date_2 = "1/31/2005" + Gebietsschema: Englisch (Großbritannien) + Datumserkennungsmuster: D/M/Y;D/M;D-M + Date_1 = "31/1/2004" und Date_2 = "31/1/2005" + Gebietsschema: Afrikaans (Namibia) + Datumserkennungsmuster: Y/M/D;M/D + Date_1 = "2004/1/31" und Date_2 = "2005/1/31" + Gebietsschema: Bretonisch + Datumserkennungsmuster: D/M/Y;D/M;D.M.Y;D-M-Y + Date_1 = "31-01-2004" und Date_2 = "31-01-2005" + Gebietsschema: Deutsch (Deutschland) + Datumserkennungsmuster: D.M.Y;D.M. + Date_1 = "31.01.2004" und Date_2 = "31.01.2005" Man muss dann nur (beispielsweise) in dem obigen Min-Makro die Datum-Zeichenkette-Angaben für "Date_1" und "Date_2" entsprechend anpassen, dann gibt es keine Fehlfunktionen von "DateAdd" mehr. Von dieser Funktion abzuraten, so weit würde ich nicht gehen. Das Beispiel anpassen und/oder auf das "Datumserkennungsmuster" in den "Spracheinstellungen" hinweisen. Grüße Hans-Werner ;-)) -- Originalnachricht -- Von: "Wolfgang Jäth"An: users@de.libreoffice.org Gesendet: 17.11.2017 16:39:05 Betreff: Re: [de-users] Re: LO BASIC IDE - DateAdd - Beispiel fehlerhaft Am 17.11.2017 um 11:26 schrieb Alexander Thurgood: Hallo Hans-Werner, Ich habe auf einem LO (fr-FR) getestet, und die Hilfe darum ist die gleiche wie die in der deutschen Verfassung, also besser wäre doch, dass man ein Bug gegen die Online-Hilfe melden würde. Ich konnte mit LO5432 kein sensibles Ergebnis erstellen, wenn ich die doppelten Anführungszeichen stehen liess - ansonsten bekam ich noch weitere Fehlermeldungen, abhängig von der Wahl der Separator (Punkt oder Strich). Nach Entfernung der Anführungszeichen, bekam ich doch ein MsgBox mit Datum, trotzdem aber mit falschem Jahr, also "31/01/32767". Es ist da scheinbar was los. Ob das die Hilfe zu schulden ist, oder ein unterliegendes Problem mit der Funktion DateAdd(), weiss ich nicht. Wohl letzteres; 'DateAdd("m", 1, "4/5/6")' liefert das Datum '04.06.2006', sprich es geht wohl von einem (nicht unbedingt sehr üblichen) Format 'DD/MM/' aus, und nicht von dem zinmindest im amerikanischen Sprachraum üblichen Format 'MM/DD/'. Allerdings *gibt* es laut https://en.wikipedia.org/wiki/Date_format_by_country auch das Format 'DD/MM/' (z. B. in Algerien), insofern ist die verwendete Interpretation zwar unerwartet aber nicht grundsätzlich falsch. Der Grund dafür dürfte IMHO sein, dass DateAdd keine Möglichkeit erlaubt, ein Gebietsschema aus zu wählen, sondern fix auf das im BS eingestellte Gebietsschema und die dort verwendete Reihenfolge von Tag, Monat und Jahr zurückgreift, egal in welchem Format das Datum angegeben wird. Und für DE ist das gültige Datumsformat nun mal 'DD.MM.' und nicht 'MM/DD/'. Man sollte also nicht nur das Beispiel in der Hilfe korrigieren, sondern auch darauf hin weisen, dass bei Datumsangaben, die in einer Form übergeben werden, die nicht dem Gebietsschema entspricht, unerwartete Ergebnisse zu erwarten sind. M.
Re: [de-users] Re: LO BASIC IDE - DateAdd - Beispiel fehlerhaft
Am 17.11.2017 um 11:26 schrieb Alexander Thurgood: > > > Hallo Hans-Werner, > > Ich habe auf einem LO (fr-FR) getestet, und die Hilfe darum ist die > gleiche wie die in der deutschen Verfassung, also besser wäre doch, dass > man ein Bug gegen die Online-Hilfe melden würde. > > Ich konnte mit LO5432 kein sensibles Ergebnis erstellen, wenn ich die > doppelten Anführungszeichen stehen liess - ansonsten bekam ich noch > weitere Fehlermeldungen, abhängig von der Wahl der Separator (Punkt oder > Strich). Nach Entfernung der Anführungszeichen, bekam ich doch ein > MsgBox mit Datum, trotzdem aber mit falschem Jahr, also "31/01/32767". > > Es ist da scheinbar was los. Ob das die Hilfe zu schulden ist, oder ein > unterliegendes Problem mit der Funktion DateAdd(), weiss ich nicht. Wohl letzteres; 'DateAdd("m", 1, "4/5/6")' liefert das Datum '04.06.2006', sprich es geht wohl von einem (nicht unbedingt sehr üblichen) Format 'DD/MM/' aus, und nicht von dem zinmindest im amerikanischen Sprachraum üblichen Format 'MM/DD/'. Allerdings *gibt* es laut https://en.wikipedia.org/wiki/Date_format_by_country auch das Format 'DD/MM/' (z. B. in Algerien), insofern ist die verwendete Interpretation zwar unerwartet aber nicht grundsätzlich falsch. Der Grund dafür dürfte IMHO sein, dass DateAdd keine Möglichkeit erlaubt, ein Gebietsschema aus zu wählen, sondern fix auf das im BS eingestellte Gebietsschema und die dort verwendete Reihenfolge von Tag, Monat und Jahr zurückgreift, egal in welchem Format das Datum angegeben wird. Und für DE ist das gültige Datumsformat nun mal 'DD.MM.' und nicht 'MM/DD/'. Man sollte also nicht nur das Beispiel in der Hilfe korrigieren, sondern auch darauf hin weisen, dass bei Datumsangaben, die in einer Form übergeben werden, die nicht dem Gebietsschema entspricht, unerwartete Ergebnisse zu erwarten sind. M. a. W. ist von der Verwendung dieser Funktion wohl eher ab zu raten. Wolfgang -- -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
AW: [de-users] Layouts erstellen / bearbeiten
Hallo Gerhard, ich hatte es schon angedeutet, dass ich mich mit Impress gerade beschäftige. Für meine eigenen Zwecke habe ich aus "IG40-ImpressGuideLO.pdf" das Kapitel 2, Seite 33 bis 47-Mitte übersetzt. Wenn Du Interesse daran hast kann ich dir die Übersetzung gerne bilateral zukommen lassen (es sind einige Anmerkungen erforderlich). Einfach kurz melden. Gruß Harald -Original-Nachricht- Betreff: Re: [de-users] Layouts erstellen / bearbeiten Datum: 2017-10-31T20:28:15+0100 Von: "Gerhard Weydt"An: "users@de.libreoffice.org" Hallo Christian, [...] Ich brauche das sowieso vielleicht, wenn ich das Kapitel Impress des Handbuchs Erste Schritte schreibe. [...] Gruß Gerhard [...] -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
[de-users] Re: LO BASIC IDE - DateAdd - Beispiel fehlerhaft
Le 17/11/2017 à 10:50, OoOHWHOoO a écrit : Hallo Hans-Werner, Ich habe auf einem LO (fr-FR) getestet, und die Hilfe darum ist die gleiche wie die in der deutschen Verfassung, also besser wäre doch, dass man ein Bug gegen die Online-Hilfe melden würde. Ich konnte mit LO5432 kein sensibles Ergebnis erstellen, wenn ich die doppelten Anführungszeichen stehen liess - ansonsten bekam ich noch weitere Fehlermeldungen, abhängig von der Wahl der Separator (Punkt oder Strich). Nach Entfernung der Anführungszeichen, bekam ich doch ein MsgBox mit Datum, trotzdem aber mit falschem Jahr, also "31/01/32767". Es ist da scheinbar was los. Ob das die Hilfe zu schulden ist, oder ein unterliegendes Problem mit der Funktion DateAdd(), weiss ich nicht. Alex > Hallo Alex, > > danke für Dein Feedback. > > Ich denke, ein BUG-Report wäre da nicht richtig, "DateAdd" funktioniert > ja, nur das angegebene Beispiel ist fehlerhaft. Bei anderen > LO-Sprachvarianten kann das Beispiel ja richtig angegeben sein, was ich > allerdings nicht verifizieren kann. > > Grüße > Hans-Werner ;-)) > > -- Originalnachricht -- > Von: "Alexander Thurgood"> An: users@de.libreoffice.org > Gesendet: 17.11.2017 10:41:55 > Betreff: [de-users] Re: LO BASIC IDE - DateAdd - Beispiel fehlerhaft > >> Le 17/11/2017 à 09:30, OoOHWHOoO a écrit : >>> MsgBox(Date)" liefert "17.12.2017 >> >> Hi, >> >> Ich kann das auch mit >> >> Version: 5.4.3.2 >> Build ID: 92a7159f7e4af62137622921e809f8546db437e5 >> Threads CPU : 8; OS : Mac OS X 10.12.6; UI Render : par défaut; >> Locale : fr-FR (fr_FR.UTF-8); Calc: group >> >> >> nachvollziehen. >> >> >> Vielleicht solltest du dafür ein Bug-Report öffnen. >> >> >> Alex >> >> >> -- >> Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org >> Probleme? >> https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ >> Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de >> Listenarchiv: https://listarchives.libreoffice.org/de/users/ >> Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert > > -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] LO BASIC IDE - DateAdd - Beispiel fehlerhaft
Hallo Alex, danke für Dein Feedback. Ich denke, ein BUG-Report wäre da nicht richtig, "DateAdd" funktioniert ja, nur das angegebene Beispiel ist fehlerhaft. Bei anderen LO-Sprachvarianten kann das Beispiel ja richtig angegeben sein, was ich allerdings nicht verifizieren kann. Grüße Hans-Werner ;-)) -- Originalnachricht -- Von: "Alexander Thurgood"An: users@de.libreoffice.org Gesendet: 17.11.2017 10:41:55 Betreff: [de-users] Re: LO BASIC IDE - DateAdd - Beispiel fehlerhaft Le 17/11/2017 à 09:30, OoOHWHOoO a écrit : MsgBox(Date)" liefert "17.12.2017 Hi, Ich kann das auch mit Version: 5.4.3.2 Build ID: 92a7159f7e4af62137622921e809f8546db437e5 Threads CPU : 8; OS : Mac OS X 10.12.6; UI Render : par défaut; Locale : fr-FR (fr_FR.UTF-8); Calc: group nachvollziehen. Vielleicht solltest du dafür ein Bug-Report öffnen. Alex -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
[de-users] Re: LO BASIC IDE - DateAdd - Beispiel fehlerhaft
Le 17/11/2017 à 09:30, OoOHWHOoO a écrit : > MsgBox(Date)" liefert "17.12.2017 Hi, Ich kann das auch mit Version: 5.4.3.2 Build ID: 92a7159f7e4af62137622921e809f8546db437e5 Threads CPU : 8; OS : Mac OS X 10.12.6; UI Render : par défaut; Locale : fr-FR (fr_FR.UTF-8); Calc: group nachvollziehen. Vielleicht solltest du dafür ein Bug-Report öffnen. Alex -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
[de-users] LO BASIC IDE - DateAdd - Beispiel fehlerhaft
Hallo, das Beispiel für "DateAdd" ist fehlerhaft. Sub example_dateadd MsgBox DateAdd("m", 1, "1/31/2004") &" - "& DateAdd("m", 1, "1/31/2005") End Sub erzeugt die Fehlermeldung "Unzulässiger Wert oder Datentyp. Datentypen unverträglich.". Gibt man für "1/31/2004" und "1/31/2005" die Funktion "Date" an ( MsgBox DateAdd("m", 1, Date) &" - "& DateAdd("m", 1, Date), funktioniert der Aufruf ("17.12.2017 - 17.12.2017"). "MsgBox(Date)" liefert "17.12.2017". Somit kann man wohl sagen, dass das im Beispiel angegebene Datumsformat falsch ist. Anstatt "1/31/2004" bzw. "1/31/2005" muss man "31.01.2004" bzw. "31.01.2005" angeben: Sub example_dateadd MsgBox DateAdd("m", 1, "31.01.2004") &" - "& DateAdd("m", 1, "31.01.2005") End Sub erzeugt die korrekte Ausgabe "29.02.2004 - 28.02.2005". Vielleicht weiß ja jemand, wer für die deutsche "LO BASIC IDE Hilfe" zuständig ist und kann es vielleicht dorthin bitte zur Korrektur weiterleiten. Grüße Hans-Werner ;-)) -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert