I have discovered a small problem with String manipulation.
The file to compile :
Code: Select all
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; Project name : Format Integer
; File : Lib_FormatInteger.pb
; File Version : 1.0.0
; Programmation : Bugged
; Programmed by : Gnozal
; Modified by : Guimauve
; Date : 27-05-2009
; Last Update : 27-05-2009
; Coded for PureBasic V4.31 Beta
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
ProcedureDLL.s FormatInteger(Number.s)
NumberLen = Len(Number)
Start = NumberLen % 3
FormatedNumber.s = Left(Number, Start)
For i = Start + 1 To NumberLen - Start Step 3
FormatedNumber + " " + Mid(Number, i, 3)
Next
ProcedureReturn LTrim(FormatedNumber)
EndProcedure
; <<<<<<<<<<<<<<<<<<<<<<<
; <<<<< END OF FILE <<<<<
; <<<<<<<<<<<<<<<<<<<<<<<
Code: Select all
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; Project name : Format Integer
; File : Lib_FormatInteger.pb
; File Version : 1.0.0
; Programmation : Bugged
; Programmed by : Gnozal
; Modified by : Guimauve
; Date : 27-05-2009
; Last Update : 27-05-2009
; Coded for PureBasic V4.31 Beta
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
ProcedureDLL.s FormatInteger2(Number.s)
NumberLen = Len(Number)
Start = NumberLen % 3
FormatedNumber.s = Left(Number, Start)
For i = Start + 1 To NumberLen - Start Step 3
FormatedNumber + " " + Mid(Number, i, 3)
Next
ProcedureReturn LTrim(FormatedNumber)
EndProcedure
String.s = Str(12345677)
Debug FormatInteger(String)
Debug FormatInteger(Str(12345677))
Debug FormatInteger2(String)
Debug FormatInteger2(Str(12345677))
; <<<<<<<<<<<<<<<<<<<<<<<
; <<<<< END OF FILE <<<<<
; <<<<<<<<<<<<<<<<<<<<<<<
Debugger output wrote:12 345 677
12345677
12 345 677
12 345 677
Code: Select all
12 345 677 <-- This one OK
12345677 <-- This one Not OK
12 345 677 <-- This one OK
12 345 677 <-- This one OK
Guimauve