{s = ?}
case TokenNumber('CASE;ON;STRINGS;POSSIBLE;SOLUTION', ';', s) of
1 : ShowMessage('s = ''CASE''');
2 : ShowMessage('s = ''ON''');
3 : ShowMessage('s = ''STRINGS''');
4 : ShowMessage('s = ''POSSIBLE''');
5 : ShowMessage('s = ''SOLUTION''');
else
ShowMessage('s = unknown value');
end;
А вот сам код для функции TokenNumber...
function TokenNumber(Source : string; const Delimeter, Token : string) : integer;
var
i : integer;
begin
Result := 1;
while Result > 0 do {по всем "токенам" в строке Source}
begin
i := Pos(Delimeter, Source);
if ((i > 0) and (Token = Copy(Source, 1, i - 1))) or
((i = 0) and (Token = Source)) then {если верно, то }
Break; {конец }
if i > 0 then {если "токенов" больше ,то}
Delete(Source, 1, i + Length(Delimeter) - 1) {обрезание "не
согласованных токенов" }
else {либо }
Result := -1; {конец }
Inc(Result);
end;
end;
The Unofficial Newsletter of Delphi Users - by Robert Vivrette
By Henrik P. Hansen - hphansen@agora.dk