Page 1 sur 1

Format String

Publié : jeu. 29/oct./2009 14:11
par Thyphoon
Dans le cadre d'un developpement j'ai du créer un fonction format de chaine, je la partage avec vous ça peut servir !
Et peut être que certain d'entre vous auront des idées pour l'optimiser voir l'améliorer !

Code : Tout sélectionner

Procedure.s StrFormat(txt.s,mask.s,ForceMask.b=#False)
  Result.s=""
  Quit=#False
  lt.b=Len(txt)+1
  lm.b=Len(mask)+1
  Repeat
    c.s=Mid(mask,lm,1)
    If c="#" And lt>0
      Result=Mid(txt,lt,1)+Result
      lt=lt-1
      lm=lm-1
    ElseIf c<>"" And lm>0
      Result=c+Result
      lm=lm-1
    Else
          lt=lt-1
      lm=lm-1
    EndIf
 Until (ForceMask=#False And lt<1) Or (ForceMask=#True And lm<1 And lt<1)
 ProcedureReturn Result
EndProcedure

Debug StrFormat("1250","###,###")
Debug StrFormat("8080000","### ### ### ###")
Debug StrFormat("26122009","##-##-####")
Debug StrFormat(RSet(Str(1250333), 9, "0"),"$### ### ###",#True)