Sample code for 30+ languages & platforms
Delphi DLL

StringBuilder GetNth

Demonstrates the GetNth method.

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, StringBuilder;

...

procedure TForm1.Button1Click(Sender: TObject);
var
sb: HCkStringBuilder;
delimiterChar: PWideChar;
exceptDoubleQuoted: Boolean;
exceptEscaped: Boolean;

begin
// The GetNth method is handy for getting parts from delimited strings.
// For example:

sb := CkStringBuilder_Create();
CkStringBuilder_Append(sb,'red,blue,"green,purple",,yellow');

delimiterChar := ',';
exceptDoubleQuoted := True;
exceptEscaped := True;

// Prints "[red]"
Memo1.Lines.Add('[' + CkStringBuilder__getNth(sb,0,delimiterChar,exceptDoubleQuoted,exceptEscaped) + ']');

// Prints "[blue]"
Memo1.Lines.Add('[' + CkStringBuilder__getNth(sb,1,delimiterChar,exceptDoubleQuoted,exceptEscaped) + ']');

// Prints "[green,purple]"
Memo1.Lines.Add('[' + CkStringBuilder__getNth(sb,2,delimiterChar,exceptDoubleQuoted,exceptEscaped) + ']');

// Prints "[]"
Memo1.Lines.Add('[' + CkStringBuilder__getNth(sb,3,delimiterChar,exceptDoubleQuoted,exceptEscaped) + ']');

// Prints "[yellow]"
Memo1.Lines.Add('[' + CkStringBuilder__getNth(sb,4,delimiterChar,exceptDoubleQuoted,exceptEscaped) + ']');

// Prints "[]"
Memo1.Lines.Add('[' + CkStringBuilder__getNth(sb,5,delimiterChar,exceptDoubleQuoted,exceptEscaped) + ']');

CkStringBuilder_Dispose(sb);

end;