Dear,

The kixtart 3.63 code
code:
  $code="1.234.567,89"
? "(old format) "+$code
$ChrToReplace="." $ReplacementChr="\"
GOSUB replace
$ChrToReplace="," $ReplacementChr="."
GOSUB replace
$ChrToReplace="\" $ReplacementChr=","
GOSUB replace
? "(new format) "+$code
EXIT

:replace
WHILE (Instr($code,$ChrToReplace) <>0)
$i=Instr($code,$ChrToReplace)
IF $i = 1
$code=$ReplacementChr+Substr($code,2,len($code)-1)
ELSE
IF $i = len($code)
$code=Substr($code,1,len($code)-1)+$ReplacementChr
ELSE
$code=Substr($code,1,$i-1)+$ReplacementChr+Substr($code,$i+1,len($code)-i)
ENDIF
ENDIF
LOOP
RETURN

The kixtart 4.x version:
code:
  $code="1.234.567,89"
? "(old format) "+$code
? "(new format) "+replace(replace(replace($code,".","\"),",","."),"\",",")

Function Replace ($SourceString,$ChrToReplace,$ReplacementChr)
$Array = Split($SourceString,$ChrToReplace,-1)
For Each $Element In $Array
$Replace = $Replace + $Element + $ReplacementChr
Next
IF (Substr($Replace,len($Replace),1) = $ReplacementChr)
$Replace=substr($Replace,1,len($Replace)-1)
ENDIF
ENDFUNCTION

In your example the code
code:
  $code="1.234.567,89"
? "(old format) "+$code
$ChrToReplace="." $ReplacementChr="\"
GOSUB replace
$ChrToReplace="," $ReplacementChr="."
GOSUB replace
$ChrToReplace="\" $ReplacementChr=","
GOSUB replace
? "(new format) "+$code
EXIT

becomes
code:
  $code="This is a test"
? "(old format) "+$code
$ChrToReplace="t" $ReplacementChr="k"
GOSUB replace
? "(new format) "+$code
EXIT

greetings.

btw: replacement of characters is case insensitive.

btw: for more information about the REPLACE function see our reaction to topic

http://81.17.37.55/board/ultimatebb.php?ubb=get_topic;f=1;t=004630
_________________________
email scripting@wanadoo.nl homepage scripting@wanadoo.nl | Links | Summary of Site Site KiXforms FAQ kixtart.org library collection mirror MCA | FAQ & UDF help file UDF kixtart.org library collection mirror MCA | mirror USA | mirror europe UDF scriptlogic library collection UDFs | mirror MCA