Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 03-12-2013
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
El error que describes es porque no as asignado el evento OnDestroy.

La pega que puede tener leer primero todos los archivos para guardarlos en un TStringList es que si son muchos se notará un retardo considerable antes de empezar a aparecer en el Label con lo que el programa parecerá "colgado". Una solución puede ser la siguiente, aprovechando el código expuesto y con alguna modificación mínima mas descartar el uso del Timer para usar un retardo Sleep(500):

Código:
void ListFiles(char *Dir, TLabel *L)
{
  struct _finddata_t fdt;
  long hFile;
  char tmp[MAX_PATH];

  chdir(Dir);
  fdt.attrib = _A_SUBDIR;
  if ((hFile = _findfirst("*.*", &fdt) ) != -1) {
    do {
      if (fdt.attrib == _A_SUBDIR) {
        if (strcmp(fdt.name,".")!= 0 && strcmp(fdt.name,"..") != 0) {
          strcpy(tmp, Dir);
          strcat(tmp, "\\");
          strcat(tmp, fdt.name);
          ListFiles(tmp, L);
        }
      }
      else{
        L->Caption = String(fdt.name);
        Application->ProcessMessages();
        Sleep(500);
      }
    } while (_findnext(hFile, &fdt) == 0);
    _findclose(hFile);
  };
}
El uso sería así de simple:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  ListFiles("C:\\UNA_CARPETA", Label1);
}

Por supuesto que podemos encontrar muchísimas variantes más, pero esta es simple, fácil de entender y evita el trastorno de tener que esperar la lectura completa de la carpeta y subcarpetas en cuestión.


Saludos.
Responder Con Cita
 



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
Mostrar mas archivos de un sitio por FTP ctronx Varios 3 03-03-2012 00:48:56
Mostrar en una label un item de un ChekListBox cslbcn OOP 2 23-01-2009 18:07:38
Como mostrar Resultados de una consulta en componentes como los Edit,Label y DbGrids! danny Conexión con bases de datos 2 08-05-2008 23:35:46
Mostrar archivos 3ds Drake OOP 1 04-08-2006 20:40:13
Mostrar archivos y directorios en TListView Drake C++ Builder 1 12-01-2006 15:48:54


La franja horaria es GMT +2. Ahora son las 15:41:31.


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