[Omnimark 6] Format string variabel bij functie aanroep

Pagina: 1
Acties:

  • RwD
  • Registratie: Oktober 2000
  • Niet online

RwD

kloonikoon

Topicstarter
Ik heb een functie gedeclareerd in Omnimark als volgt:
code:
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
Maar ik zou deze functie graag iets anders hebben, maar krijg het niet voor elkaar geboxed. En de manual zegt er verder niks over.

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...

  • RwD
  • Registratie: Oktober 2000
  • Niet online

RwD

kloonikoon

Topicstarter
[kick]

Geen Omnimark guru's / mensen met (het goede antwoord/ een helpende hand) :?

[ Voor 18% gewijzigd door RwD op 18-06-2004 18:55 ]