1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| !-------------------------------------------------------------------------------
! Decoupe une chaine de caractere selon un separateur donne.
!-------------------------------------------------------------------------------
! #ligne(in) : Ligne a decouppe
! #sep(in) : separateur
!
! #champs(out) : Tableau contenant les différents champs
! #nbchamps(out) : nombre de champs
!-------------------------------------------------------------------------------
PROCEDURE_FORM STR_SPLIT (#ligne, #sep)
#next = 1
#nbchamps = 1
#seppos = 1
WHILE (#seppos <> 0)
#seppos = POS (#ligne, #sep, #next)
IF (#seppos = 0)
#champs(#nbchamps) = MID (#ligne, #next, LEN (#ligne) - #next + 1)
ELSE
#champs(#nbchamps) = MID (#ligne, #Next, #seppos - #next)
#next = #seppos + 1
#nbchamps = #nbchamps + 1
END_IF
END_WHILE
END_FORM |
Partager