Subversion Repositories wimsdev

Rev

Rev 13585 | Rev 15272 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
20 reyssat 1
!if $wims_read_parm!=slib_header
13585 bpr 2
  !goto proc
20 reyssat 3
!endif
4
 
4701 bpr 5
slib_author=Fabrice, Guerimand
13902 bpr 6
!!Rajout option tex par Gilles Marbeuf avril 2019
4701 bpr 7
slib_example=4345678\
13902 bpr 8
4345678,tex\
4701 bpr 9
5678\
13902 bpr 10
5678,tex\
4701 bpr 11
5 234\
13902 bpr 12
5 234,tex\
4701 bpr 13
456.789567\
13902 bpr 14
456.789567,tex\
4701 bpr 15
456.789567,comma\
13902 bpr 16
456.789567,comma tex\
17
[897456,789],comma\
18
[897456,789],comma tex
20 reyssat 19
!exit
20
 
21
:proc
4701 bpr 22
slib_input=$(wims_read_parm[1])
23
slib_input=!declosing $slib_input
24
slib_input=!replace internal , by . in $slib_input
25
!if comma isin $wims_read_parm
13902 bpr 26
  slib_point=,
4701 bpr 27
!endif
28
!default slib_point=.
20 reyssat 29
 
13902 bpr 30
!if tex isin $wims_read_parm
31
  slib_sep=\:
32
!else
33
  slib_sep=$ $
34
!endif
35
 
4701 bpr 36
slib_test=$[$slib_input]
37
!if NaN isin $slib_test
13585 bpr 38
  slib_out=NaN
39
  !exit
20 reyssat 40
!endif
41
 
42
!if e isin $slib_input
13585 bpr 43
  slib_out=$slib_input
44
  !exit
20 reyssat 45
!endif
4701 bpr 46
slib_input=!nospace $slib_input
47
slib_decomp=!replace internal . by , in $slib_input
48
slib_part=!item 1 of $slib_decomp
49
slib_nbchi=!charcnt $slib_part
50
slib_nbgrp=$[floor($slib_nbchi/3)]
20 reyssat 51
slib_out=$empty
4701 bpr 52
!ifval $slib_nbgrp*3!=$slib_nbchi
13585 bpr 53
  slib_out=!char 1 to $[$slib_nbchi-3*$slib_nbgrp] of $slib_part
20 reyssat 54
!endif
7692 bpr 55
!for slib_i=0 to $slib_nbgrp-1
13585 bpr 56
  slib_tmp=!char $[$slib_nbchi-3*($slib_nbgrp-$slib_i)+1] to $[$slib_nbchi-3*($slib_nbgrp-$slib_i-1)] of $slib_part
13902 bpr 57
  slib_out=$slib_out$slib_sep$slib_tmp
4701 bpr 58
!next slib_i
20 reyssat 59
 
4701 bpr 60
slib_tst=!itemcnt $slib_decomp
61
!if $slib_tst=1
13585 bpr 62
  slib_out=!singlespace $slib_out
63
  !exit
20 reyssat 64
!endif
4701 bpr 65
slib_part=!item 2 of $slib_decomp
66
slib_nbchi=!charcnt $slib_part
67
slib_nbgrp=$[ceil($slib_nbchi/3)]
68
slib_tmp=!char 1 to 3 of $slib_part
69
slib_out=$(slib_out)$slib_point$slib_tmp
7692 bpr 70
!for slib_i=1 to $slib_nbgrp
13585 bpr 71
  slib_tmp=!char $[1+3*($slib_i)] to $[3+3*$slib_i] of $slib_part
13902 bpr 72
  slib_out=$slib_out$slib_sep$slib_tmp
4701 bpr 73
!next slib_i
74
 
7692 bpr 75
slib_out=!singlespace $slib_out
13902 bpr 76
 
77
!reset slib_input slib_point slib_decomp slib_sep slib_test slib_part slib_nbchi slib_nbgrp slib_tmp