DataFlex
DataFlex
StringBuilder SetNth
Demonstrates the SetNth method.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Handle hoSb
Boolean iSuccess
String sDelimiterChar
Boolean iExceptDoubleQuoted
Boolean iExceptEscaped
String sTemp1
// The SetNth method is handy for setting a part of a delimited string.
// For example:
Get Create (RefClass(cComChilkatStringBuilder)) To hoSb
If (Not(IsComObjectCreated(hoSb))) Begin
Send CreateComObject of hoSb
End
Get ComAppend Of hoSb 'red,blue,"green,purple",,yellow' To iSuccess
Move "," To sDelimiterChar
Move True To iExceptDoubleQuoted
Move True To iExceptEscaped
Get ComSetNth Of hoSb 2 "magenta" sDelimiterChar iExceptDoubleQuoted iExceptEscaped To iSuccess
// Prints "red,blue,magenta,,yellow"
Get ComGetAsString Of hoSb To sTemp1
Showln sTemp1
Get ComSetNth Of hoSb 3 "orange" sDelimiterChar iExceptDoubleQuoted iExceptEscaped To iSuccess
// Prints "red,blue,magenta,orange,yellow"
Get ComGetAsString Of hoSb To sTemp1
Showln sTemp1
// What happens if we start with an empty string?
Send ComClear To hoSb
Get ComSetNth Of hoSb 2 "apple" sDelimiterChar iExceptDoubleQuoted iExceptEscaped To iSuccess
// Prints ",,apple"
Get ComGetAsString Of hoSb To sTemp1
Showln sTemp1
Get ComSetNth Of hoSb 0 "orange" sDelimiterChar iExceptDoubleQuoted iExceptEscaped To iSuccess
// Prints "orange,,apple"
Get ComGetAsString Of hoSb To sTemp1
Showln sTemp1
Get ComSetNth Of hoSb 1 "banana" sDelimiterChar iExceptDoubleQuoted iExceptEscaped To iSuccess
// Prints "orange,banana,apple"
Get ComGetAsString Of hoSb To sTemp1
Showln sTemp1
End_Procedure