Subversion Repositories wimsdev

Rev

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