Delphi DLL
Delphi DLL
StringBuilder SetNth
Demonstrates the SetNth method.Chilkat Delphi DLL Downloads
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 SetNth method is handy for setting a part of a delimited string.
// For example:
sb := CkStringBuilder_Create();
CkStringBuilder_Append(sb,'red,blue,"green,purple",,yellow');
delimiterChar := ',';
exceptDoubleQuoted := True;
exceptEscaped := True;
CkStringBuilder_SetNth(sb,2,'magenta',delimiterChar,exceptDoubleQuoted,exceptEscaped);
// Prints "red,blue,magenta,,yellow"
Memo1.Lines.Add(CkStringBuilder__getAsString(sb));
CkStringBuilder_SetNth(sb,3,'orange',delimiterChar,exceptDoubleQuoted,exceptEscaped);
// Prints "red,blue,magenta,orange,yellow"
Memo1.Lines.Add(CkStringBuilder__getAsString(sb));
// What happens if we start with an empty string?
CkStringBuilder_Clear(sb);
CkStringBuilder_SetNth(sb,2,'apple',delimiterChar,exceptDoubleQuoted,exceptEscaped);
// Prints ",,apple"
Memo1.Lines.Add(CkStringBuilder__getAsString(sb));
CkStringBuilder_SetNth(sb,0,'orange',delimiterChar,exceptDoubleQuoted,exceptEscaped);
// Prints "orange,,apple"
Memo1.Lines.Add(CkStringBuilder__getAsString(sb));
CkStringBuilder_SetNth(sb,1,'banana',delimiterChar,exceptDoubleQuoted,exceptEscaped);
// Prints "orange,banana,apple"
Memo1.Lines.Add(CkStringBuilder__getAsString(sb));
CkStringBuilder_Dispose(sb);
end;