Hola de nuevo.
A ver si lo que buscas es algo como esto:
Código Delphi
[-]
program Project2; {$APPTYPE CONSOLE}
uses
SysUtils, StrUtils;
type
TVecStr = array of string;
procedure SplitStr(Cadena: string; delim: string; var vec: TVecStr);
var
i, p1, p2: Integer;
begin
Cadena:= Cadena + delim;
p2:= Pos(delim, Cadena);
p1:= 1;
while p1 <= p2 do
begin
SetLength(vec, Length(vec) + 1);
vec[High(vec)]:= Copy(Cadena, p1, p2 - p1);
p1:= p2 + Length(delim);
p2:= PosEx(delim, Cadena, p1);
end;
end;
var
v: TVecStr;
s: string;
i: Integer;
begin
s:= 'UNO BLA BLAdelimitadorDOS BLA BLAdelimitadorTRES BLA BLA'+
'delimitadorCUATRO BLA BLAdelimitadorCINCO BLA BLAdelimitador'+
'SEIS BLA BLAdelimitadorSIETE BLA BLA';
SplitStr(s, 'delimitador', v);
for i:= Low(v) to High(v) do Writeln(v[i]);
v:= nil;
Readln;
end.
Salida:
Saludos