Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-07-2011
Paulao Paulao is offline
Miembro
 
Registrado: sep 2003
Ubicación: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Poder: 21
Paulao Va por buen camino
Como hacer una mascara especifica

Mira, tengo un problema que no se resuelver, asi. Un archivo de busca, necesita que yo tenga una mascara, que puede ser: *.tif o formato_qualquier.tif. Bueno, hasta aí todo bien. Que pasa es que ahora, yo tengo que buscar archivo del tipo: cade.tif,agri.tif,econ.tif,leil.tif,class.tif y not.tif. Pero yo no puedo poner un radio button para cada extension.tif, esto es mui malo y un trabajo sucio. Tengo dos RadioButton, un para class y otro todos. Este todo no puede ser *.tif, como estava, pues el trae los class.tif. Necesito hacer una mascara que pueda traer todos, exceto los class.tif. Puede ser que todos los demas sea not.tif(esto es que debe hacer), asi:
IF CADE.TIF OR AGRI.TIF THEN NOT.TIF. Claro que desta forma no funciona, pero es lo que deseo hacer. No se como hacer esto, o sea, yo pasar una mascara, para todo archivo que el encuentrar pueda hacer el proceso, exceto para CLASS.tf. Este tiene un tratamiento diferenciado que ya resuelvi. No se si estas claro para usteds.
Responder Con Cita
  #2  
Antiguo 06-07-2011
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola Paulao, creo que estas utilizando FindFirst para recorrer tus archivos, si es así solo te queda buscarlo tu mismo, puede ser utilizando un Pos para buscar los archivos que tengan la palabra CLASS.

Código Delphi [-]
   if FindFirst(Path + '*.*', faAnyFile, sr) = 0 Then
     repeat
       if Pos('CLASS', sr.Name)=0 then
        begin 
         //si no tiene Class
        end;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 07-07-2011
Paulao Paulao is offline
Miembro
 
Registrado: sep 2003
Ubicación: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Poder: 21
Paulao Va por buen camino
No, asi no funciona, pues la busca tiene que tener la mascara primeiro.
Responder Con Cita
  #4  
Antiguo 07-07-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Paulao.

Si estas usando las funciones FindFirst y FindNext, no veo otra forma de hacerlo que como te dice Caro.
Ya que no hay (o al menos no conozco yo) niguna manera de excluir un nombre de archivo de una selección hecha con comodines en el S.O. Windows.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 07-07-2011
Paulao Paulao is offline
Miembro
 
Registrado: sep 2003
Ubicación: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Poder: 21
Paulao Va por buen camino
No, creo que no mi entendieron. Voy a explicar mejor. Necesito de la mascara, para decir al programa que tipo buscar. Esto funciona asi. Un RadioGroup, con tres botones que quiero hacer dos. Un Todos, Noticia y otro Classificado. Voy sacar el boton Noticia y si quedará solo Todos y Class. Quando premo el boton Class, el crea la mascara *.-CLASS.tif, entonces el solo va a buscar todo que tiene este formato. Acontece que Todos, son los seguintes: *.-CADE.tif, *.-LEIL.tif,*.-ECON.tif,*.-AGRI.tif y *.-NOT.tif. Quando yo premer el boton varios el busque qulquier cosa que no sea *.-CLASS.tif. O sea, una forma de yo hacer *.*, pero que exclua los CLASS. Si yo consigo hacer una exclusion de CLASS en la forma *.*, yo resuelvo mi problema, o sea, me lo trae todo que no sea CLASS. Esto yo no consigo hacer.
Responder Con Cita
  #6  
Antiguo 08-07-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Paulao.

Cita:
O sea, una forma de yo hacer *.*, pero que exclua los CLASS.
Creo entender con claridad lo que estás buscando. El problema es que no se puede utilizar un filtrado con exclusión como intentas.

La limitante no es de Delphi sino del propio sistema operativo. Por ejemplo, si hacemos desde el command prompt:
Código:
C:\>DIR *.*-CLASS.TIF
Recibimos el mensaje "No se encuentra el archivo" aunque existan archivos en el directorio raíz.


Basados en el sistema operativo, FindFirst y FindNext actúan del mismo modo:
Código Delphi [-]
var
  SR: TSearchRec;
begin
  case FindFirst('*.*-CLASS.TIF', $FF, SR) of
    0: ShowMessage('Todo OK');
    1: ShowMessage('Función incorrecta');
    2: ShowMessage('No se encuentra el archivo');
    3: ShowMessage('No se encuentra la ruta');
    4: ShowMessage('Demasiados archivos abiertos');
    //...
  end;
end;
En este caso también obtenemos el mensaje: "No se encuentra el archivo"

Como te sugirió Caro, la exclusion del archivo debe hacerce con posterioridad al filtrado. Al menos yo no veo manera de hacerlo desde la máscara en sí.

Si estas utilizando, o tenés en mente otra forma de realizarlo, por favor ponenos el código para poder brindarte una mejor ayuda.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como hacer TEdit Personalizado (maximo 10 caracteres, con una mascara, etc) mancurnino Conexión con bases de datos 2 08-03-2008 03:00:47
como filtrar las fechas que hay desde una fecha especifica a otra andre navarrete Conexión con bases de datos 3 13-08-2006 22:12:50
como crear una mascara personalizada Velia Impresión 4 15-11-2005 22:55:24
como saber cuando se abre una pagina de internet especifica gulder API de Windows 9 12-09-2005 15:37:33
Como leer una linea especifica de un Txt? nefy Varios 16 04-06-2004 20:34:05


La franja horaria es GMT +2. Ahora son las 14:38:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi