Ir al contenido


Foto

[RESUELTO] Carga de Datos con Búsqueda


  • Por favor identifícate para responder
10 respuestas en este tema

#1 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 04 octubre 2010 - 12:21

Pues eso, estoy haciendo un procedimiento que me cargue todos los archivos contenidos en una carpeta en un stringgrid, estoy usando el procedimiento GetNameFilesFromFolder de cadetill, al querer mostrar los archivos de una carpeta sólo me muestra uno (cuando tengo 3 pues), aquí el code:



delphi
  1. procedure TFABCGen.MostrarDatos(Visor: TStringGrid);
  2. var
  3.   F: TextFile;
  4.   Lista,Lineas: TStringList;
  5.   Linea: String;
  6.   s: Integer;
  7. begin
  8.   Lista := TStringList.Create;
  9.   Lineas := TStringList.Create;
  10.  
  11.   GetNameFilesFromFolder( ExtractFilePath( Application.ExeName ),Lista,'*.D1',False,True,False);
  12.  
  13.   for s := 1 to Lista.Count -1 do
  14.     begin
  15.       With Visor do begin
  16.         AssignFile( F, Lista.Strings[s] );
  17.         Reset( F );
  18.  
  19.         Cells[0,s]  := ExtractFileName( Lista.Strings[s]); //Mostramos el nombre del Archivo
  20.         Cells[1,s]  := IntToStr(FileSize( F )); //Mostramos el Tamaño del Archivo
  21.  
  22.         with Lineas do begin
  23.           while not Eof( F ) do
  24.             begin
  25.               ReadLn( F, Linea );
  26.               Add( Linea );
  27.             end;
  28.           CloseFile( F );
  29.         end;
  30.  
  31.         Cells[2,s]  := IntToStr( Lineas.Count ); //MOstramos la cantidad de lineas del File
  32.         Cells[3,s]  := 'NUEVO'; //Mostramos el Estado del Archivo
  33.       end; // With Visor
  34.     end; //for
  35. end;



En qué estoy fallando? :(

Saludos.

Archivos adjuntos


  • 0

#2 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 04 octubre 2010 - 12:34

Lista.Count, te está dando como valor un 3 ?...

Saludox ! :)
  • 0

#3 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 04 octubre 2010 - 12:40

Hola
Este ejemplo te ayudara, hace algo parecido. (y)
Saludos

Archivos adjuntos


  • 0

#4 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 04 octubre 2010 - 12:55

Garcias a mi estimado Egostar (Vía MSN) me hizo ver algunos detallitos y ya funciona el asunto :D:



delphi
  1. procedure TFABCGen.MostrarDatos(Visor: TStringGrid);
  2. var
  3.   F: TextFile;
  4.   Lista,Lineas: TStringList;
  5.   Linea: String;
  6.   s: Integer;
  7. begin
  8.   Lista := TStringList.Create;
  9.   Lineas := TStringList.Create;
  10.  
  11.   GetNameFilesFromFolder( ExtractFilePath( Application.ExeName ),Lista,'*.D1',False,True,False);
  12.   Visor.RowCount  := Lista.Count + 1;
  13.  
  14.   for s := 1 to Lista.Count do
  15.     begin
  16.       With Visor do begin
  17.         AssignFile( F, Lista.Strings[s - 1] );
  18.         Reset( F );
  19.  
  20.         Cells[0,s]  := ExtractFileName( Lista.Strings[s - 1]); //Mostramos el nombre del Archivo
  21.         Cells[1,s]  := IntToStr(FileSize( F )); //Mostramos el Tamaño del Archivo
  22.  
  23.         with Lineas do begin
  24.           while not Eof( F ) do
  25.             begin
  26.               ReadLn( F, Linea );
  27.               Add( Linea );
  28.             end;
  29.           CloseFile( F );
  30.         end;
  31.  
  32.         Cells[2,s]  := IntToStr( Lineas.Count ); //MOstramos la cantidad de lineas del File
  33.         Cells[3,s]  := 'NUEVO'; //Mostramos el Estado del Archivo
  34.  
  35.         Lineas.Clear;
  36.       end; // With Visor
  37.     end; //for
  38. end;



Saludos.
  • 0

#5 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 04 octubre 2010 - 01:03

Buenas,

Lista.Count, te está dando como valor un 3 ?...


Exacto, lo primero que tendrías que comprobar es que la lista contenga lo que tiene que contener, a ver que no sea un bug de la función.

Por lo que respecta a tu función, el contador de líneas yo no lo haría con un TStringList, sino con un simple integer contador (a no ser que necesites el contenido para algo posteriormente).

Nos leemos

  • 0

#6 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 04 octubre 2010 - 01:04

Buenas,

Vaya, te me adelantaste a la respuesta :D

Me alegro que lo tengas arreglado

Nos leemos

  • 0

#7 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 04 octubre 2010 - 01:04

Hola
A GetNameFilesFromFolder hay que ponerle algun USES ????.
Me da error, dice que no lo identifica.
Saludos
  • 0

#8 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 04 octubre 2010 - 01:05

Garcias a mi estimado Egostar (Vía MSN) me hizo ver algunos detallitos y ya funciona el asunto :D:

Saludos.


Hey que sólo te dije que estabas bien we........... :D :D :D

En realidad el problema estaba principalmente en que sólo había asignado 2 renglones en el Visor (el cual es un StringGrid), lo que le dije es que debía crear los renglones necesarios dependiendo de los archivos que se cargaran a la Lista y que se resolvió con esto



delphi
  1. Visor.RowCount  := Lista.Count + 1;



Salud OS
  • 0

#9 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 04 octubre 2010 - 01:13

Buenas,

Hola
A GetNameFilesFromFolder hay que ponerle algun USES ????.
Me da error, dice que no lo identifica.
Saludos


http://www.delphiacc...hp?topic=3424.0

:)

Nos leemos

  • 0

#10 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 04 octubre 2010 - 01:24

Hola
Gracias ya me funciono. (y)
Despues de romperme la cabeza pensando que era Visor... :D :D :D
Es que no poneis notas en vuestros codigos. 8o|
Saludos
  • 0

#11 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 05 octubre 2010 - 07:46

Hola
Gracias ya me funciono. (y)
Despues de romperme la cabeza pensando que era Visor... :D :D :D
Es que no poneis notas en vuestros codigos. 8o|
Saludos


Vaya amigo, es que como en el mismo code lo dice claro:

procedure MostrarDatos(Visor: TStringGrid);

:D :D

Saludos.
  • 0




IP.Board spam blocked by CleanTalk.