Delphi - Separar documento en Delphi

   
Vista:

Separar documento en Delphi

Publicado por XaSu (2 intervenciones) el 18/01/2008 19:03:42
Hola, les explico tengo un sistema donde agrego un documento a un memo y este documento viene con frases asi 01,hola,como,estan ustedes,29 por ejemplo donde no siempre son del mismo largo las palabras y/o numeros, lo que yo necesito es algo que me separe estas palabras y numeros, y me los guarde en variables para luego guardarlas en una tabla algo asi:
variable1 := 01
variable2 := hola
variable3 := como
variable4 := estan ustedes
variable5 := 29

como ustedes se deron cuenta lo que quiero separar ya viene separado por comas(,) , tengo un codigo pero lo que hace es separarme por comas y espacios y no es lo que yo necesito, alguna idea de como hacerlo

aqui pongo el codigo:

procedure TformPrincipal.btnAbrirClick(Sender: TObject);
var Dir: string;
t :TStringList;
begin
if CargarPLU.Execute then
begin
t := TStrinList.Create;
t.Clear;

Memo.Clear;
Dir := CargarPLU.FileName;
Memo.Lines.LoadFromFile(Dir);
eDireccion.Text := Dir ; //Edit para visualizar la ruta
// t.LoadFromFile(Dir); No cargar los datos desde el archivo, hay que asignarlos a CommaText
t.CommaText := Memo.Lines.Text;
Memo2.Lines.Assign(t); //Para Visualizar el StringList
t.free;
end;

end;

de ante mano muchas gracias!

XaSu!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Separar documento en Delphi

Publicado por M@rceloL (43 intervenciones) el 18/01/2008 21:24:55
Yo haría algo así:

function parsear(Memo:TMemo):TStringList;
var Linea,Palabra:String;
    Ind,IndLinea:Word;
begin
  Result:=TStringList.Create; //Inicializamos el resultado
  for Ind:=0 to Memo.Lines.Count-1 do //Recorremos todas las líneas
    begin
    Linea:=Memo.Lines[Ind];
    Palabra:='';
    for IndLinea:=1 to Length(Linea) do //Para cade letra de la línea
      if Linea[IndLinea]<>',' then
        Palabra:=Palabra+Linea[IndLinea]
      else
        begin
        Result.Add(Palabra);
        Palabra:='';
        end;
      if Palabra<>Result[Result.Count-1] then //Agregamos la última si no está agregada
       Result.Add(Palabra);
    end;//for Memo.Lines
end;

Espero te sirva.

Saludongos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Separar documento en Delphi

Publicado por XaSu (2 intervenciones) el 18/01/2008 21:41:12
lo voi a probar y te dijo

gracias por la respuesta ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar