Moin...
wenn ich im WebScript die Länge des Ergebniss haben möchte, wie mache ich das?
Beispiel:
json_select "releaseDate"
ifnot ""
movechar 4
ifnot ""
Das gibt mir die Fehlermeldung aus, das Movechar üngültig ist.
"releaseDate" kann folgende Werte haben:
- YYYY # nur das Jahr
- YYYY-MM # Jahr und Monat
- YYYY-MM-DD # komplettes Datum
Idealerweise wäre ein Abfrage wie "if len>4" oder ähnlich vorteilhaft
hier nochmal der Abschnitt, wo die MOVECHAR Fehlermeldung auftriff:
json_select "releaseDate"
ifnot ""
movechar 4
ifnot ""
if "-01-01"
OutputTo "YEAR"
movechar -4
SayNChars 4
OutputTo "DATE"
Say "0101"
else
OutputTo "YEAR"
movechar -4
SayRest
json_select "releaseDate"
outputto "DATE"
movechar 8
sayNChars 2
movechar -4
sayNChars 2
endif
endif
endif
Hoffentlich kann mir da jemand helfen
Danke
Wozu brauchst Du die Länge?
Genügt es nicht, wenn Du einfach immer nur die ersten 4 Zeichen (YYYY) abfüllst?
Oder einfach immer das, was vorhanden ist?
Ich versuche, das richtige DATE Feld zufüllen. und das ist nun mal ohne das Jahr.
Ich habe das bisher so gelöst:
outputto "Date"
json_select "date"
findinline "-" 1 1
ifnot ""
# Search for YYYY MM DD Output it as DDMM
RegexpReplace "^(\d{4})-(\d{2})-(\d{2})$" "$3$2"
SayRegexp "^.*$"
endif
ohh... manchmal kann die Lösung so einfach sein 
Danke
json_select "releaseDate"
findinline "-" 1 1
ifnot ""
gotochar 1
movechar 4
if "-01-01"
OutputTo "YEAR"
movechar -4
SayNChars 4
OutputTo "DATE"
Say "0101"
else
OutputTo "YEAR"
movechar -4
SayRest
json_select "releaseDate"
outputto "DATE"
movechar 8
sayNChars 2
movechar -4
sayNChars 2
endif
else
gotochar 1
OutputTo "YEAR"
sayrest
OutputTo "DATE"
Say "0101"
endif
Nur als Randnotiz:
Falls Du ein Websource-Script damit veröffentlichst, würde ich einen Hinweis hinzufügen, dass Du bei fehlendem Release-Monat und/oder -Jahr ein fiktives Datum 0101
erfindest und in den Tag DATE
füllst.
Wenn man das weiss und so nicht will, kann man die Script-Zeile Say "0101"
entweder mit # deaktivieren oder ganz löschen.
Ich würde das für meinen ganz persönlichen Anwendungsfall nicht so toll finden, weil ich im Nachhinein nicht mehr unterscheiden könnte, ob das Releasedatum wirklich am 01.01. war oder ob es sich dabei um ein erfundenes Datum handelt.
Nein... meine modifizierten Scripts sind nur für mich...
Ich bin auch noch am überlegen, ob ich das wieder mit 0101 rausnehme und das DATE Tag einfach leer lasse, wenn kein Tag/Monat vorhanden ist....
1 Like