APORTE ( Busqueda en Archivos )
- cuatecatl82
- Posts: 614
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
APORTE ( Busqueda en Archivos )
Saludos a todos:
Estaba buscando en el foro alguna rutina que me permitiera hacer busquebas de texto en archivos, para un editor que estoy realizando y encontre esto que me gusto mucho y que quise compartirselos:
http://forums.fivetechsupport.com/viewt ... lit=ts.exe
En base al mismo código de Paco García me di a la tarea de revisar y corregir algunos detalles que faltaban, probe que realizara búsquedas recursivas pero no funcionaba, le agregue iconos en la lista de coincidencias, funciona al 95% lo unico que falla es que al hacer busquedas al estilo "Todos los archivos (*.*)" muestra resultados correctos con texto que no tiene que ver con lo que se esta buscando.. Si alguien puede mejorarlo sería genial..
http://www.mediafire.com/download/danbo ... squeda.rar
Saludos y ojala les sirva..
Estaba buscando en el foro alguna rutina que me permitiera hacer busquebas de texto en archivos, para un editor que estoy realizando y encontre esto que me gusto mucho y que quise compartirselos:
http://forums.fivetechsupport.com/viewt ... lit=ts.exe
En base al mismo código de Paco García me di a la tarea de revisar y corregir algunos detalles que faltaban, probe que realizara búsquedas recursivas pero no funcionaba, le agregue iconos en la lista de coincidencias, funciona al 95% lo unico que falla es que al hacer busquedas al estilo "Todos los archivos (*.*)" muestra resultados correctos con texto que no tiene que ver con lo que se esta buscando.. Si alguien puede mejorarlo sería genial..
http://www.mediafire.com/download/danbo ... squeda.rar
Saludos y ojala les sirva..
Soluciones y Diseño de Software
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: APORTE ( Busqueda en Archivos )
Victor,
Muchas gracias
buen trabajo!
Muchas gracias
buen trabajo!
- cuatecatl82
- Posts: 614
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
Re: APORTE ( Busqueda en Archivos )
Gracias Maestro:
Pero realmente el trabajo y el merito es de Paco Garcia, yo solo pulí algunas cosas.
http://www.mediafire.com/download/eawqn ... Search.rar
Nueva revision, corregi el fallo al hacer doble click en la linea de búsqueda, no mostraba los datos para ubicar el resultado.
En mi caso dentro de mi Editor al hacer doble click en la linea resaltada abre el archivo oEditor:Abrir(cFile) y lo posiciono al renglon indicado oEditor:GoTo(nLine)
saludos...
Pero realmente el trabajo y el merito es de Paco Garcia, yo solo pulí algunas cosas.
http://www.mediafire.com/download/eawqn ... Search.rar
Nueva revision, corregi el fallo al hacer doble click en la linea de búsqueda, no mostraba los datos para ubicar el resultado.
En mi caso dentro de mi Editor al hacer doble click en la linea resaltada abre el archivo oEditor:Abrir(cFile) y lo posiciono al renglon indicado oEditor:GoTo(nLine)
saludos...
Last edited by cuatecatl82 on Tue Apr 05, 2016 2:06 am, edited 1 time in total.
Soluciones y Diseño de Software
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Re: APORTE ( Busqueda en Archivos )
Victor, es posible que en estas lineas haya un pequeño bug?
Te pongo como debería ser, quizás
Te pongo como debería ser, quizás
Code: Select all
REDEFINE COMBOBOX oCbxRutas VAR cRutas ID 202 ITEMS aCbxRutas OF oDlg
REDEFINE COMBOBOX oCbxTipos VAR cTipos ID 203 ITEMS aCbxTipos OF oDlg
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: APORTE ( Busqueda en Archivos )
También se podrían añadir más extensiones de archivos de búsqueda
Code: Select all
FUNCTION BuscaFile()
local oDlg
local oCur
local oIco
local oBtn0
local oBtn1
local oBtn2
local cDir
local oCbxFind
local aCbxFind := {}
local oCbxTipos
local aCbxTipos := { "*.*", "*.prg", "*.ch", "*.h", "*.c", "*.cpp", "*.rc" }
local oCbxRutas
local aCbxRutas := {}
local oChkMay
local lMay := .F.
local oChkRec
local lRec := .F.
local cTipos := aCbxTipos[ 1 ] //"*.*"
local cRutas := PadR( GetCurDir(), 255)
local cFind := PadR( Space( 60 ), 60 )
local lValid := .F.
lCancel:= .F.
DEFINE ICON oIco RESOURCE "00"
DEFINE CURSOR oCur RESOURCE "MANO"
DEFINE DIALOG oDlg RESOURCE "BUSCARA" TITLE "Buscar en Archivos..." ICON oIco
REDEFINE COMBOBOX oCbxFind VAR cFind ID 201 ITEMS aCbxFind OF oDlg
REDEFINE COMBOBOX oCbxRutas VAR cRutas ID 202 ITEMS aCbxRutas OF oDlg
REDEFINE COMBOBOX oCbxTipos VAR cTipos ID 203 ITEMS aCbxTipos OF oDlg
REDEFINE BTNBMP oBtn0 RESOURCE "BUSCFILE" ID 400 OF oDlg ;
ACTION ( Self, cDir := cGetDir("Seleccione Ruta: ", ALLTRIM( cRutas ) ),;
IF( !EMPTY( cDir ),;
(IF(!oCbxRutas:FIND(cDir),oCbxRutas:Add( cDir ),),;
oCbxRutas:oGet:VarPut( cDir ), oCbxRutas:oGet:Refresh()),))
.../...
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: APORTE ( Busqueda en Archivos )
Victor,
Muchas gracias
buen trabajo!
Muchas gracias
buen trabajo!
João Santos - São Paulo - Brasil
- cuatecatl82
- Posts: 614
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
Re: APORTE ( Busqueda en Archivos )
Saludos Cristobal:
Igual se podria guardar en una .dbf, pero ya es cuestion de gustos, por eso lo deje libre tal cual esta en el código original..
Lo que todavia no encuentro es como hacer que en una búsqueda de tipo *.* respete la busqueda , ya que al ser una apertura y búsqueda en todos los archivos en general muestra resultados como éste:
}
dificilmente podriamos encontrar texto legible que coincida con la palabra a buscar, ando en eso..
karinha:
Ojala les pueda ser de ayuda..
Saludos a todos y seguire revisando para mejorarlo..
Cierto, los Items estaban cambiados, gracias por la observacíon.Victor, es posible que en estas lineas haya un pequeño bug?
Te pongo como debería ser, quizás
Asi es, de hecho por lo que estuve analizando el código, Paco Garcia tenia la idea de poder guardar en un archivo .ini todas las busquedas, las extenciones y los directorios algo como:También se podrían añadir más extensiones de archivos de búsqueda
Code: Select all
[BUSQUEDAS]
1=redefine
2=dialog
3=RESOURCE
4=oApp:
5=
[FOLDER]
1=C:\PRUEBAS
2=Z:\FWH\Samples
3=Z:\Harbour\Source
4=D:\
5=F:\Fivewin
[TIPOS]
1=.prg
2=.c
3=.ppo
4=*.*
5=*.txt
Lo que todavia no encuentro es como hacer que en una búsqueda de tipo *.* respete la busqueda , ya que al ser una apertura y búsqueda en todos los archivos en general muestra resultados como éste:
}
dificilmente podriamos encontrar texto legible que coincida con la palabra a buscar, ando en eso..
karinha:
Ojala les pueda ser de ayuda..
Saludos a todos y seguire revisando para mejorarlo..
Soluciones y Diseño de Software
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Re: APORTE ( Busqueda en Archivos )
Qué cadena buscabas en la imagen que has puesto?
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
- cuatecatl82
- Posts: 614
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
Re: APORTE ( Busqueda en Archivos )
En el ejemplo anterior buscaba "redefine", pero sea lo que sea siempre hace lo mismo.
En este caso busque "copiar" en tipo de archivos "*.*"
y aqui lo mismo.. la rutin hace un barrido de los archivos en los que se hace la busqueda y sin más sale este tipo de "basura"
No doy porque..
En este caso busque "copiar" en tipo de archivos "*.*"
y aqui lo mismo.. la rutin hace un barrido de los archivos en los que se hace la busqueda y sin más sale este tipo de "basura"
No doy porque..
Soluciones y Diseño de Software
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Re: APORTE ( Busqueda en Archivos )
Ideal para una idea que tenían en mente. Me parece que no la voy a desarrollar ya que este "aporte" casi que me lo soluciona.
Me explico:
Una de las cosas que mas me fastidia a la hora de compilar es el famoso error "external procedure", es decir cuando no hemos enlazado la pertinente librería que tiene la función que nos falta.
Pues bien:
Mi idea era (digo era ya que este aporte "casi" me vale) hacer una utilidad que buscara binariamente la cadena de texto dentro de todos los ficheros LIB o DLL deseados. Una vez encontrada la función en que fichero esta pues a compilar enlazando el fichero LIB apropiado.
Entonces pido una mejora/modificación si ello es posible.
Como se ve en el mensaje anterior, cuando un archivo no es texto (exe lib dll etc...) sale después de cada fichero toda una ristra de líneas que no aportan nada ya que son ilegibles.
La idea es poder poner un CHEKBOX mas que pregunte algo así "Búsqueda binaria", "Búsqueda en ficheros binarios" o "Sólo enumerar ficheros" y entonces el programa en la ventana de resultados que solo saque los ficheros con su path y nada mas. En la utilidad de referencia TS.exe ( text find ) utility replacement tiene ese chekbox como "Exibir apenas os nomes dos arquios" (Mostrar sólo los nombres de archivo), esta es la idea.
La ventana de resultados podría tener la opción de seleccionar el texto para poderlo pegar en otro sitio.
Gracias anticipadas.
Me explico:
Una de las cosas que mas me fastidia a la hora de compilar es el famoso error "external procedure", es decir cuando no hemos enlazado la pertinente librería que tiene la función que nos falta.
Pues bien:
Mi idea era (digo era ya que este aporte "casi" me vale) hacer una utilidad que buscara binariamente la cadena de texto dentro de todos los ficheros LIB o DLL deseados. Una vez encontrada la función en que fichero esta pues a compilar enlazando el fichero LIB apropiado.
Entonces pido una mejora/modificación si ello es posible.
Como se ve en el mensaje anterior, cuando un archivo no es texto (exe lib dll etc...) sale después de cada fichero toda una ristra de líneas que no aportan nada ya que son ilegibles.
La idea es poder poner un CHEKBOX mas que pregunte algo así "Búsqueda binaria", "Búsqueda en ficheros binarios" o "Sólo enumerar ficheros" y entonces el programa en la ventana de resultados que solo saque los ficheros con su path y nada mas. En la utilidad de referencia TS.exe ( text find ) utility replacement tiene ese chekbox como "Exibir apenas os nomes dos arquios" (Mostrar sólo los nombres de archivo), esta es la idea.
La ventana de resultados podría tener la opción de seleccionar el texto para poderlo pegar en otro sitio.
Gracias anticipadas.
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
- cuatecatl82
- Posts: 614
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
Re: APORTE ( Busqueda en Archivos )
Nueva version, ahora es posible guardar las palabras, las direcciones y los criterios de búsqueda en un archivo .ini, se ha incorporado la opcion de cancelar la búsqueda mostrando los resultados que se hallan encontrado, tambien he optimizado el código.
http://www.mediafire.com/download/eawqn ... Search.rar
Aún no puedo corregir el fallo de mostrar texto ilegible, estoy todavia por resolverlo pues el depuraqdor me saca con un error, espero encontrar la solución.
Saludos JmGarcia:
De hecho este fallo de mostrar texto Ascii es un bug que no he podido corregir, pues al usar el depurador me vota con un error y no puedo analizar porque muestra texto "basura"
El código es libre de modificaciones, lo puedes adaptar a tus necesidades..
Saludos.
http://www.mediafire.com/download/eawqn ... Search.rar
Aún no puedo corregir el fallo de mostrar texto ilegible, estoy todavia por resolverlo pues el depuraqdor me saca con un error, espero encontrar la solución.
Saludos JmGarcia:
De hecho este fallo de mostrar texto Ascii es un bug que no he podido corregir, pues al usar el depurador me vota con un error y no puedo analizar porque muestra texto "basura"
El código es libre de modificaciones, lo puedes adaptar a tus necesidades..
Saludos.
Soluciones y Diseño de Software
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Re: APORTE ( Busqueda en Archivos )
Gracias Victor.
Cuando tenga tiempo le echaré "un vistazo".
Me puedes decir con que compilador y versión de fwh lo compilas.
Cuando tenga tiempo le echaré "un vistazo".
Me puedes decir con que compilador y versión de fwh lo compilas.
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
- cuatecatl82
- Posts: 614
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
Re: APORTE ( Busqueda en Archivos )
debe compilar con cualquier version, todo el código fuente esta incluido, no require nada extra.
Yo tengo FWH 11.11, Harbour 3.2 y Bcc 582 sin problemas,
El código esta totalmente depurado, lo he revisado con W3, no hay variables sueltas que se cuelen en memoria. Compilalo y si te falta algo vemos como lo solucionamos.
Si le puedes dar una revisada a el bug, puede que en tu version de FW pueda verse desde el debug donde ocurre el fallo de la busqueda.
Saludos.
Yo tengo FWH 11.11, Harbour 3.2 y Bcc 582 sin problemas,
El código esta totalmente depurado, lo he revisado con W3, no hay variables sueltas que se cuelen en memoria. Compilalo y si te falta algo vemos como lo solucionamos.
Si le puedes dar una revisada a el bug, puede que en tu version de FW pueda verse desde el debug donde ocurre el fallo de la busqueda.
Saludos.
Soluciones y Diseño de Software
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Re: APORTE ( Busqueda en Archivos )
Hola a todos, yo uso desde hace tiempo y por enseñanza de un viejo maestro en programacion, una herramienta del sistema y lo uso con un .bat donde el parametro es lo que buscamos,
Espero les sirva de algo...
Saludos
Code: Select all
@echo off
del borrame.txt
find "%1" *.prg >> borrame.txt
notepad borrame.txt
@echo on
Saludos
Re: APORTE ( Busqueda en Archivos )
cuatecatl82 wrote:debe compilar con cualquier version, todo el código fuente esta incluido, no require nada extra.
Yo tengo FWH 11.11, Harbour 3.2 y Bcc 582 sin problemas,
El código esta totalmente depurado, lo he revisado con W3, no hay variables sueltas que se cuelen en memoria. Compilalo y si te falta algo vemos como lo solucionamos.
Si le puedes dar una revisada a el bug, puede que en tu version de FW pueda verse desde el debug donde ocurre el fallo de la busqueda.
Saludos.
Gracias Ing. Victor Daniel, buen aporte el error podria estar en ese codigo ALLTRIM(STR(nFnd)) que desde principio no esta la variable nFnd, segun veo ,del porque te marca error.
Y por otro lado donde o como consigo el programa W3 que mencionar para depurar variables sueltas.
Saludos y buen dia.
Atte: Adrian C. C.