Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-06-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por DarkByte
Claro está, esto también me da los archivos de los subdirectorios y todo, cosa que no quiero. Me gustaría implantar la solución de Román a mi procedure, ya que el function de quimeras me da error en la primera línea como que no he definido el tipo de resultado (Uso Delphi Enterprise).
¿Y cuál es la duda?

De hecho lo "difícil" es hacerlo recursivo pero si no lo necesitas entonces la respuesta está desde el mensaje de delphi.com.ar al principio del hilo.

// Saludos
Responder Con Cita
  #2  
Antiguo 15-06-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 24
DarkByte Va por buen camino
Bueno, ya lo he conseguido, la duda era que no sabía eliminar el if de la búsqueda recursiva.
Código Delphi [-]
procedure Rastrear (Dir:string);
   var
      FileSearch:  TSearchRec;
   begin
     Screen.Cursor := crHourGlass;
     ChDir ( Dir );
     if FindFirst ( '*.*', faDirectory, FileSearch )=0 then
     repeat
       begin
         //Pon aqui lo que quieras hacer con los ficheros encontrados
         Form1.Memo1.Lines.Add (FileSearch.Name);
       end;
     until FindNext( FileSearch ) <> 0;
     FindClose( FileSearch );
     Screen.Cursor := crDefault;
  end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Rastrear ('C:\');
end;
Ala, ya está, me parece que este hilo debería quedar en la colección de hilos útiles. a mi me parece que lo és y mucho.
__________________
:)
Responder Con Cita
  #3  
Antiguo 16-06-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
DarkByte, si usas las rxlibs, tienen una unidad llamada nkfiles.pas en la cual tienes esta funcion:
Código:
// Devuelve una lista con todos los ficheros de un directorio que se ajustan
// a la máscara cMask, con unos atributos dados, si lRecursive vale True,
// busca también en los subdirectorios, en los subdirectorios de los
// subdirectorios, etc.
// Devuelve False si el directorio no existe.
function FindFilesInDir(const cDir:String; cMask: TStrings; iAttr: Integer;
						 lRecur: Boolean; S: TStringList): Boolean;
cmask := '*.jpg';
iattr := fareadonly+faAnyfile;

creo que debes añadir la unidad FileCtrl para usar fareadonly, si no es esta unidad, busca en la ayuda.(no tengo delphi a mano ahora mismo)

Para usar la libreria nkfiles, deberás añadir la ruta de la misma al Library Path de Delphi


Espero te sea de utilidad

Última edición por Lepe fecha: 16-06-2004 a las 12:15:39.
Responder Con Cita
  #4  
Antiguo 16-06-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 24
DarkByte Va por buen camino
Gracias Lepe, la próxima vez seguiré tu consejo, que parece más sencillo. Ahora no puedo porque ya lo tengo todo implementado y me da perezaaaaaa .

Gracias de nuevo, compañero
__________________
:)
Responder Con Cita
  #5  
Antiguo 03-08-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 23
lucasarts_18 Va por buen camino
Hola:

Tengo un problemita con esta función, espero sus ayudas

Código Delphi [-]
 
 
function TFrmDistribuidor.LeerArchivo (Dir : String) : String;
var
  Nombre : TSearchRec;
  NomFile : String;
begin
  if FindFirst(Dir,faDirectory,Nombre) = 0 then
      NomFile := Nombre.Name;

  LeerArchivo := NomFile;
end;

En vez de devolverme el nombre del archivo, me devulve el nombre de la carpeta.

Saludos.
Responder Con Cita
  #6  
Antiguo 03-08-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
- Cierra la búsqueda con Nombre.Close despues de buscar.
- busca por faArchive, ahora solo estas buscando las carpetas (faDirectory)

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #7  
Antiguo 03-08-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por lucasarts_18
En vez de devolverme el nombre del archivo
¿El nombre de cuál archivo quieres obtener?

// Saludos
Responder Con Cita
  #8  
Antiguo 03-08-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 23
lucasarts_18 Va por buen camino
Cita:
Empezado por roman
¿El nombre de cuál archivo quieres obtener?

Saludos
Hola.

Es un solo archivo del cual quiero rescatar el nombre, solo hay un solo archivo...

Cita:
Empezado por Lepe

- Cierra la búsqueda con Nombre.Close despues de buscar.
- busca por faArchive, ahora solo estas buscando las carpetas (faDirectory)

Hola:

Nombre.Close -> No aparece el método Close
faArchive -> Lo hice y no pasa nada.

Estoy con delphi 7

Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 15:49:03.


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