Ik heb een functie gedeclareerd in Omnimark als volgt:
in plaats van dat de functie het format checked (when Format = 'year/month/day') Zou ik graag willen dat hij de letterlijke Format stream als format string gebruikt...
Dus het (foutieve) resultaat is dan dit:
waar het process dus als output "2004/11/11" geeft omdat het de format stream interpreteerd en de patroonvariabelen vervangt.
Als iemand hier iets voor weet (wellicht met gebruik van macro's (maar hiermee is het me ook niet gelukt)) dan houd ik me aanbevolen...
code:
Maar ik zou deze functie graag iets anders hebben, maar krijg het niet voor elkaar geboxed. En de manual zegt er verder niks over.1
2
3
4
5
6
7
8
9
10
11
| ;*******************
;* fnFormatISOdate
define stream function fnFormatISOdate
( value stream ISOin
, value stream Format ) as
do scan ISOin
match digit{4}=>year digit{2}=>month digit{2}=>day
return '%x(year)/%x(month)/%x(day)' when Format = 'year/month/day'
done
return ISOin |
in plaats van dat de functie het format checked (when Format = 'year/month/day') Zou ik graag willen dat hij de letterlijke Format stream als format string gebruikt...
Dus het (foutieve) resultaat is dan dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| ;*******************
;* fnFormatISOdate
define stream function fnFormatISOdate
( value stream ISOin
, value stream Format ) as
do scan ISOin
match digit{4}=>year digit{2}=>month digit{2}=>day
return Format
done
return ISOin
process
output fnFormatISOdate( '20041111', '%x(year)/%x(month)/%x(day)' ) |
waar het process dus als output "2004/11/11" geeft omdat het de format stream interpreteerd en de patroonvariabelen vervangt.
Als iemand hier iets voor weet (wellicht met gebruik van macro's (maar hiermee is het me ook niet gelukt)) dan houd ik me aanbevolen...