Delphi DLL
Delphi DLL
StringBuilder GetBefore
Demonstrates the StringBuilder.GetBefore method.The GetBefore method was added in Chilkat v9.5.0.77
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
success: Boolean;
sb: HCkStringBuilder;
removeFlag: Boolean;
marker: PWideChar;
substr: PWideChar;
begin
success := False;
sb := CkStringBuilder_Create();
success := CkStringBuilder_Append(sb,'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 True, then both the returned string AND
// the marker are removed.
removeFlag := False;
marker := '.';
substr := CkStringBuilder__getBefore(sb,marker,removeFlag);
Memo1.Lines.Add('substr = ' + substr);
Memo1.Lines.Add('sb contains: ' + CkStringBuilder__getAsString(sb));
// Output:
// substr = www
// sb contains: www.chilkatsoft.com
removeFlag := True;
substr := CkStringBuilder__getBefore(sb,marker,removeFlag);
Memo1.Lines.Add('substr = ' + substr);
Memo1.Lines.Add('sb contains: ' + CkStringBuilder__getAsString(sb));
// Output:
// substr = www
// sb contains: chilkatsoft.com
// If the marker is not found, and the removeFlag is True,
// then the entire string is returned and the sb is cleared.
// For example:
CkStringBuilder_Clear(sb);
CkStringBuilder_Append(sb,'111--222--333--444');
marker := '--';
removeFlag := True;
while (CkStringBuilder_getLength(sb) > 0) do
begin
substr := CkStringBuilder__getBefore(sb,marker,removeFlag);
Memo1.Lines.Add('substr = ' + substr + ', sb contains: ' + CkStringBuilder__getAsString(sb));
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:
CkStringBuilder_Dispose(sb);
end;