PDA

Ver la Versión Completa : Filtrar las filas encontradas en un txt


Racso2006
03-11-2017, 12:07:19
Buenos dias y muchas gracias de antemano.

Lo que intento hacer es lo siguiente.

tengo un texto txt que al hacer un buscar me tiene que sacar todas las filas que contengan lo que se ha escrito en ese edit.

He provado de varias maneras diferentes pero no me llega a salir correctamente, y actualmente no tengo casi nada ya que nada me ha servido:

procedure TFconfigcliente.SpeedButton1Click(Sender: TObject);
var
Archivo: TStrings;
fichero:string;
i: Integer;
PosIni, PosFin : Integer;
CadenaTmp, Resultado : String;

begin
Archivo := TStringList.Create;
if Open1.execute then
begin
fichero := open1.Files.Strings[0];
Archivo.LoadFromFile(fichero);
end;
CadenaTmp := Archivo.text;
for i:=0 to (Archivo.Count-1) do
begin
if Ansipos(trim(edit1.text),trim(CadenaTmp))<>0 then //esto no se si lo tengo bien definido para que realize el if solo a las filas que tengan la palabra
begin
memo1.Text := archivo. ; //no se como definir que imprima toda la fila
end;
end;


si hay algun codigo que no cuadre es de todas las pruebas que he realizado que ya me he liado un poco.

espero podais arrojar luz sobre este desastre :P

Casimiro Notevi
03-11-2017, 13:48:05
¿Pero qué quieres hacer? ¿cargar un fichero de texto y mostrarlo?

ecfisa
03-11-2017, 14:54:07
Hola.

Según te entiendo, sería algo así:

procedure AddLocated(const FileName, Searched: string; Lines: TStrings);
var
TS: TStrings;
i : Integer;
begin
TS := TStringList.Create;
try
TS.LoadFromFile(FileName);
for i := 0 to TS.Count - 1 do
if AnsiPos(Searched, TS[i]) <> 0 then
Lines.Add(TS[i]);
finally
TS.Free;
end;
end;


Ej. de uso:

procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.Clear;
AddLocated('C:\ARCHIVO.TXT', Edit1.Text, Memo1.Lines);
end;


Saludos :)

Racso2006
03-11-2017, 14:56:49
cargar un fichero y mostrar en un memo (o meterlas en un DBgrid) las lineas del fichero que contengan la palabra definida en el edit1.

ejemplo:

(lunes 13:30) juan: hola que tal?
(martes 12:45) maria: perfecta aqui comiento
(martes 20:32) jose: yo tambien perfecto, y tu juan?

si este es el fichero, y en el edit ponemos juan tendriamops que optener lo siguiente:
(lunes 13:30) juan: hola que tal?
(martes 20:32) jose: yo tambien perfecto, y tu juan?

ecfisa
03-11-2017, 19:32:26
Hola.
cargar un fichero y mostrar en un memo (o meterlas en un DBgrid) las lineas del fichero que contengan la palabra definida en el edit1.

ejemplo:

(lunes 13:30) juan: hola que tal?
(martes 12:45) maria: perfecta aqui comiento
(martes 20:32) jose: yo tambien perfecto, y tu juan?

si este es el fichero, y en el edit ponemos juan tendriamops que optener lo siguiente:
(lunes 13:30) juan: hola que tal?
(martes 20:32) jose: yo tambien perfecto, y tu juan?
Entonces te entendí bién... ;)


Saludos :)

Racso2006
13-11-2017, 11:42:18
si, entendiste bien y me fue perfecto, lo que no se porque no se publico mi anterior post :D

muchisimas gracias