Delphi ActiveX
Delphi ActiveX
StringBuilder GetBefore
Demonstrates the StringBuilder.GetBefore method.The GetBefore method was added in Chilkat v9.5.0.77
Chilkat Delphi ActiveX Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
sb: TChilkatStringBuilder;
removeFlag: Integer;
marker: WideString;
substr: WideString;
begin
success := 0;
sb := TChilkatStringBuilder.Create(Self);
success := sb.Append('www.chilkatsoft.com');
// The GetBefore method returns the contents of the string up to but not including
// the marker string. If the remove flag is 1, then both the returned string AND
// the marker are removed.
removeFlag := 0;
marker := '.';
substr := sb.GetBefore(marker,removeFlag);
Memo1.Lines.Add('substr = ' + substr);
Memo1.Lines.Add('sb contains: ' + sb.GetAsString());
// Output:
// substr = www
// sb contains: www.chilkatsoft.com
removeFlag := 1;
substr := sb.GetBefore(marker,removeFlag);
Memo1.Lines.Add('substr = ' + substr);
Memo1.Lines.Add('sb contains: ' + sb.GetAsString());
// Output:
// substr = www
// sb contains: chilkatsoft.com
// If the marker is not found, and the removeFlag is 1,
// then the entire string is returned and the sb is cleared.
// For example:
sb.Clear();
sb.Append('111--222--333--444');
marker := '--';
removeFlag := 1;
while (sb.Length > 0) do
begin
substr := sb.GetBefore(marker,removeFlag);
Memo1.Lines.Add('substr = ' + substr + ', sb contains: ' + sb.GetAsString());
end;
// Output is:
// substr = 111, sb contains: 222--333--444
// substr = 222, sb contains: 333--444
// substr = 333, sb contains: 444
// substr = 444, sb contains:
end;