Hola,
Si leíste ya lo que te dice
Neftali seguro seguramente lo tienes hecho, porque así es como puede hacerse. Sin embargo, sabe que habrá varias formas de plantear el asunto, sin que esto quiera decir que es complicado. Ahí va lo que se me ocurrió a mí:
Código Delphi
[-]
procedure PartirCadena(cadena, separador: string;
var primeraParte, segundaParte: string);
var
i: integer;
begin
i := Pos(separador, cadena);
primeraParte := Copy(cadena, 0, i-1);
segundaParte := Copy(cadena, i+1, Length(cadena)-i);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
primeraParte,
segundaParte: string;
begin
PartirCadena('hoy_mañana', '_',
primeraParte, segundaParte);
ShowMessage(primeraParte);
ShowMessage(segundaParte);
end;
Así lo hice después de leer a
Neftali. Antes lo había hecho de este otro modo, obteniendo el mismo resultado (en ambos casos sin probar demasiado posibles consecuencias inesperadas u otros errores):
Código Delphi
[-]
uses
StrUtils;
procedure PartirCadena(cadena, separador: string;
var primeraParte, segundaParte: string);
var
i: integer;
begin
i := Pos(separador, cadena);
primeraParte := AnsiLeftStr(cadena, i-1);
segundaParte := AnsiRightStr(cadena, Length(cadena)-i);
end;