Seite 1 von 1

Vergleich Datum (Zahlenwert) mit compare ergibt falsches Ergebnis

Verfasst: 30 Mai 2023 12:08
von Wetter Kalkriese
Hallo,

mittels "compare" wollte ich, das ein Text an einem bestimmten Tag (29.05.) ausgeblendet wird,
damit am nächsten Tag ein anderer Text angezeigt wird.
Leider vergleicht compare hier irgendwie falsch.
Unten ein kleines Beispiel, in meiner Datei stehen noch mehr Vergleiche, die anderen Ergenissen der Vergeiche werden alle ausgeblendet.

Das aktuelle Datum wird in meiner Berechnung per %ws_year%%ws_month2%%ws_day2% und setmem vorgegebenm um dann mit einen fixen Datum verglichen zu werden, um dann Text auszugeben.
Als Test habe ich das Datum unten manuell eingetragen und nur die Variable verwendet.

%unit_off%
%ws_setmem[68]=%ws_compare[4]=20230529~20230528~ja~nein%%
GM68: %ws_getmem[68]%
%ws_setmem[69]=%ws_compare[4]=20230530~20230528~ja~nein%%
GM69: %ws_getmem[69]%
%unit_on%

bei getmem68 ist das Ergebnis "ja"
bei getmem69 ist das Ergebnis "nein".

Eigentlich hätte der Text schon am 29.05 wechseln müssen, das geschah aber erst heute am 30.05.2023.

Kann das mal einer von euch testen, ob das bei euch auch so ist.
Danke schon mal dafür.

Re: Vergleich Datum (Zahlenwert) mit compare ergibt falsches Ergebnis

Verfasst: 30 Mai 2023 14:58
von Tex
%ws_compare[x]= kann keine 8-stelligen Zahlen vergleichen. Das Linit liegt bei 7-stelligen Zahlen.

In diesem Falle mit Trick arbeiten und ein Komma einfügen: %ws_setmem[68]=%ws_compare[4]=202305,29~202305,28~ja~nein%%

Re: Vergleich Datum (Zahlenwert) mit compare ergibt falsches Ergebnis

Verfasst: 30 Mai 2023 15:44
von Wetter Kalkriese
Danke Tex,
gut zu wissen mit den 7 Stellen.

Re: Vergleich Datum (Zahlenwert) mit compare ergibt falsches Ergebnis

Verfasst: 30 Mai 2023 16:06
von Tex
Auf jeden Fall möglich: %ws_setmem[68]=%ws_compare[4]=230529~230528~ja~nein%%

Re: Vergleich Datum (Zahlenwert) mit compare ergibt falsches Ergebnis

Verfasst: 31 Mai 2023 08:27
von Wetter Kalkriese
Tex hat geschrieben: 30 Mai 2023 16:06 Auf jeden Fall möglich: %ws_setmem[68]=%ws_compare[4]=230529~230528~ja~nein%%
:wink: Die Idee hatte danach auch, "man könnte doch einfach die "20" weglassen" und dann dachte ich mir, ach nee, erst wieder eine Variable davor einfügen um bei %ws_year% die 20 zu entfernen, mit dem Komma geht es prima.

Dann ist vermutlich bei 9999999,9 Schluß, also sieben Stellen vor dem Komma, aber die eigentliche Anzahl der Zeichen unbegrenzt?
Werde mal gleich probieren, wo das endgültige Limit ist.