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 19-10-2005
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 22
epuigdef Va por buen camino
Buenas!


Por lo del primer problema (con la línea comentada) lo que pasa es que tienes el procedimiento en la misma unit del form, pero fuera del form.

Tienes 2 opciones:
1) En la definición del form, en la parte private, declaras el procedure, y en la implementación del procedure le pones por delante el nombre del form. Alfo así como:

[delphi]
type
TFrmPrincipal = class(TForm)
.....
private

procedure ListFileDir(Path: string; FileList: TStrings);
[delphi]

y en la implementación:

Código Delphi [-]
procedure TFrmPrincipal.ListFileDir(Path: string; FileList: TStrings);



2) La segunda opción es declarar el procedure dentro de donde lo llamas.:

Código Delphi [-]
procedure TFrmFxMain.SpeedButton20Click(Sender: TObject);

var xpath: tStringList;

subcarpetas : TStringList;

cFile : String;

str : string;

i: integer;
 
procedure ListFileDir(Path: string; FileList: TStrings);

var SR: TSearchRec;

begin

if (FindFirst(Path + '*.*', faAnyFile, SR) = 0) then begin

repeat

if (SR.Attr = faDirectory) then begin

FileList.Add(SR.Name);

end;

until (FindNext(SR) <> 0);

FindClose(SR);

end;

end;

begin

TRY

xpath := TStringList.create;

cFile := 'c:\_Fx\FileLocation.ini';


Luego te digo algo de lo otro

Edu
Responder Con Cita
  #2  
Antiguo 19-10-2005
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 22
epuigdef Va por buen camino
Respecto al problema con el findclose, he visto que éste procedimiento está declarado en las unidades Windows y sysutils.


Tu problema es que estás llamando al findclose de la unidad windows, que recibe un cardinal como parámetro. Si te fijas en la lista de uses seguro que tienes las dos unidades.

En este caso, simplemente cambia

Código Delphi [-]
   findClose(SR);

por

Código Delphi [-]
   sysutils.findClose(SR);
Y solucionado!

Edu
Responder Con Cita
  #3  
Antiguo 19-10-2005
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Poder: 24
Giniromero Va por buen camino
Hola,


Definitivamente necesito que me graduen la vista, no me había dado cuenta que me faltaba TFrmPrincipal en el procedure. Gracias.

En cuanto a lo de:

Cita:
Empezado por epuigdef
Tu problema es que estás llamando al findclose de la unidad windows, que recibe un cardinal como parámetro. Si te fijas en la lista de uses seguro que tienes las dos unidades.
Efectivamente tengo las dos unidades.Ahora si me compila, a ver si tambien me funciona.

Un saludo,

GRacias de nuevo,

virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :)
Responder Con Cita
  #4  
Antiguo 20-10-2005
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Poder: 24
Giniromero Va por buen camino
Buenas,

'Eto yata'.
He reforzado el código usando el POS que me dijisteis, dentro del procedure ListFileDir, de modo que en la lista SÓLO se escriben los nombres de las subcarpetas que cumplen mi búsqueda, con lo que NO tengo que hacer un FOR con las mismas pasadas que subcarpetas haya, sólo se hace una vez si encuentra la carpeta, sino nada.

Tuve problemillas con el punto que había en el format... por que en el ejemplo no es el punto catalan, sino el normal, y aunque me guardaba OK en la lista las carpetas, luego al compararla con los datos que tenía yo, como una era con pto normal y la otra con el catalan, me decia que no encontraba esa carpeta en la lista.

Bueno, POS lo dicho, Muchas gracias por la ayuda.

Virginia Romero
__________________
Sonrie al mundo, y el mundo te sonreirá :)

Última edición por Giniromero fecha: 20-10-2005 a las 14:09:56.
Responder Con Cita
  #5  
Antiguo 20-10-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 Giniromero
Tuve problemillas con el punto que había en el format... por que en el ejemplo no es el punto catalan, sino el normal
Sí, bueno, es que mi vista ya no es lo que era

Lo que no me queda muy claro es para qué necesitas el ListBox. Si sólo va a haber una carpeta que satisfaga la búsqueda creo que está de más.

// 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 05:00:34.


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