Simple Split Function - Reading settings from executables.
Post date: Feb 8, 2010 11:50:20 AM
After reading our previous tutorials, many of you will be using resources to store the settings for your applications.
To avoid writing and reading settings separately, you could write your settings:
Good, Morning and World
as
"Good||Morning||World||" [The delimiter is "||" in this case]
This split function parses your settings after reading from resources into a string array for use in your application.
Coder: steve10120
Function
TStringArray = array of string;
function Split(Expression:string; Delimiter:string):TStringArray;
var
Res: TStringArray;
ResCount: DWORD;
dLength: DWORD;
StartIndex: DWORD;
sTemp: string;
begin
dLength := Length(Expression);
StartIndex := 1;
ResCount := 0;
repeat
sTemp := Copy(Expression, StartIndex, Pos(Delimiter, Copy(Expression, StartIndex, Length(Expression))) - 1);
SetLength(Res, Length(Res) + 1);
SetLength(Res[ResCount], Length(sTemp));
Res[ResCount] := sTemp;
StartIndex := StartIndex + Length(sTemp) + Length(Delimiter);
ResCount := ResCount + 1;
until StartIndex > dLength;
Result := Res;
end;
Usage:
var
Strings: TStringArray;
begin
Strings := Split('Good||Morning||World||', '||');
MessageBox(0, PChar(Strings[2]), nil, 0);
end.