PDA

Ver la Versión Completa : Aplicación para: Buscar y Reemplazar.


Xianto
19-11-2005, 00:37:15
Varias veces, al entrar a este foro veo muchos hilos los cuales tiene preguntas y respuestas con mucho código interesante, la gente muchas veces pregunta por cosas que, pensandolo bien, podría solucionar simplemente leyendo y buscando...

Hace un par de días en mi trabajo, hicimos una busqueda en miles de ficheros, buscando cierto String que necesitabamos cambiar, pero como es un server, al cual accedemos por terminal server, no tiene muchas aplicaciones instaladas, asi que usamos el buscador de windows 2003, los resultados nefastos. Asi que subimos un editor que hace esto.

Al dia siguiente, mirando este foro, vi por un momento un monton de código útil para hacer lo que el día anterior necesité. Un programilla para buscar y reemplazar texto de forma recursiva en carpetas, así de simple.

Así que lo hice, solo con el código que encontre en este foro.

Simple no ?


Saludetes.

PD: al que pregunte para que hice un TStringList, para guardar el nombre de las carpetas, que intente ver el código desde un punto de vista más amplio, jejeje :D

dec
19-11-2005, 01:06:09
Hola,

Muchas gracias Xianto por publicar el código fuente del programa, que, a buen seguro dará ideas y será útil a más de uno y de dos. ;)

jachguate
19-11-2005, 03:52:34
Hola.

No he visto el código, pero me parece que este tipo de iniciativas deben llevarse todavía un poco mas lejos. Que tal la creación de un componente TFileSearchReplaceText (por ejemplo) que realice la tarea y sea mas robusto, simple de usar y sobre todo reutilizable?

Seguro que muchos de nosotros nos topamos con necesidades como esta.

Si estas de acuerdo, yo me apunto con algunas horas de trabajo para este hipotético componente.

Saludos.

Lepe
19-11-2005, 12:43:59
Si has ejecutado ese programa, que sepas que el primer archivo que encuentra no busca en su interior:


function TForm1.lFile(dOrigen: string) : String;
var
sr: TSearchRec;
begin
Application.ProcessMessages;
chDir (dOrigen);
FindFirst (Edit3.Text, faAnyFile, sr);
while FindNext(sr)=0 do


Debería ser algo así:

function TForm1.lFile(dOrigen: string) : String;
var
sr: TSearchRec;
Respuesta:integer;
begin
Application.ProcessMessages;
chDir (dOrigen);
Respuesta := FindFirst (Edit3.Text, faAnyFile, sr);
while Respuesta = 0 do


Lo mismo con la rutina LDir

saludos

Xianto
19-11-2005, 13:36:25
jachguate eso seria genial, pero nunca he hecho componentes para delphi, aunque si hice un par de activex en C, tendre que leer un poco, pero esto es asi, hay que tener valor, asi que tambien me apunto... dejame un poco de ventaja...

Lepe, el programilla tiene 2 dias, seguro que tiene algun linea chunga, pero más que nada es porque no lo he mirado del todo, pero por una cuestion de tiempo. Lo hice el jueves en unas 2 horas que tenia para mis desarrollos en el trabajo.
Pero fijate que igualmente esto es lo bueno de un foro, yo pongo un código, tu lo compruebas y todos aprendemos algo, jejeje !

Saludos.

jachguate
22-11-2005, 02:45:09
Ahora no tengo mucho tiempo para responder. Enviame un privado y veremos la forma de llevar a cabo esto.

Hasta luego.

;)