hay veces que necesitamos obtener una subcadena o serie de subcadenas de una cadena. La función recibe una cadena formateada para tal propósito, la subcadena en un índice determinado y opcionalmente un separador
Código:
function GetText(s: string; Indice: Byte;Separador:string='|'): string;
var i:Integer;
tmp:string;
begin
i:=1;
while i<=Indice do
begin
Delete(s,1,Pos(Separador,s));
Inc(i);
end;
if Pos(Separador,s)<>0 then
tmp:=Copy(s,1,Pos(Separador,s)-1)
else
tmp:=s;
if Length(tmp)=0 then
tmp:=EmptyString;
Result:=tmp;
end;
ejem:
Tenemos la cadena
'12345|AGUA|H2O'
si llamamos la funcion con :
GetText('12345|AGUA|H2O',0);
nos devuelve '12345'
si llamamos la funcion con :
GetText('12345|AGUA|H2O',1);
nos devuelve 'AGUA'
Yo lo utilizo para personalizar en conjunto con el DrawText, los ListBox y los StringGrid