Código: Seleccionar todo

type
TStringArray=array of string
{...}

{ *******************************
     FUNCION SPLIT BY Linkgl
     }
function split(cadena:string;delimitador:string):TStringArray;
var i:Integer;
begin
for i:=1 to length(cadena) do
begin
  if AnsiPos(delimitador,cadena) = 0 then
  begin
    Result[i]:=Copy(cadena,1,Length(cadena));
    exit;
  end
  else
  begin
    Result[i]:=Copy(cadena,1,AnsiPos(delimitador,cadena));
    cadena:=Copy(cadena,length(Result[i])+length(delimitador),length(cadena)-length(delimitador));
  end;
  end;
end;
hay que definir TStringArray como un array de string para poder hacer que la funcion devuelva un array :P la probé con la cadena:

Código: Seleccionar todo

dato:=split('xDDD&&Indetectables&&foro&&','&&');
dato definido como TStringArray...
//mHmm..
broooo, y en delphi!
Me gusto mucho que retornes un array de strings......
Avansas rapido en este lenguaje capo..
obey escribió:Pues si tuviese mas edad todavia pero esqe perder la virginidad con tu profesora de informatica y que ademas tenga 50....
Jeje gracias por los comentarios, tenia un error pequeño lo que pasa que devolvia un caracter mas despues de cortar ya lo arreglé hace un rato pero olvidé posterlo correjido:

Código: Seleccionar todo

{ *******************************
     FUNCION SPLIT BY Linkgl
     }
function split(cadena:string;delimitador:string):TStringArray;
var i:Integer;
begin
for i:=1 to length(cadena) do
begin
  if AnsiPos(delimitador,cadena) = 0 then
  begin
    Result[i]:=Copy(cadena,1,Length(cadena));
    exit;
  end
  else
  begin
    Result[i]:=Copy(cadena,1,AnsiPos(delimitador,cadena)-1);
    cadena:=Copy(cadena,length(Result[i])+length(delimitador)+1,length(cadena)-length(delimitador));
  end;
  end;
end;
//mHmm..
Responder

Volver a “Fuentes”