Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Sobre el TQProgressBar (https://www.clubdelphi.com/foros/showthread.php?t=76497)

salvica 04-11-2011 22:35:14

Sobre el TQProgressBar
 
Hola a todos

Estoy haciendo una aplicación que debe leer varios ficheros de texto para configurar unas tablas. Hasta aquí no hay problema :)

Como el ordenador tarda algo en leer los ficheros e insertar los datos, para dar una idea de como va el proceso he puesto un TQProgressBar (que encontré en éste mismo foro)

El código:
Código Delphi [-]
    QProgressBar.Caption  := 'Procesando '+UpperCase(TableName)+' ...';
    QProgressBar.Position := 0;
    //QProgressBar.Visible  := true; <---+ hago visible la barra
    QProgressBar.Show; <--------------+
    QProgressBar.Refresh;
    StringList            := TStringList.Create;
    try
      StringList.LoadFromFile( PathDoc+'\'+TableName+'.csv' ); <-------+ Esto hace lo mismo, leer el fich.
      //FileTxtToStringList( PathDoc, TableName+'.csv', StringList ); <--+
      QProgressBar.Maximum := StringList.Count; <------ Hasta aquí no se hace visible
      while( StringList.Count>0 ) do begin
             //Application.ProcessMessages;
             Inc( NumReg );
             QProgressBar.Position := NumReg;
             ...

El problema es que no sé como hacerlo visible antes de que entre a leer el fichero (no encuentro documentación sobre el componente, y en la demo que trae no lo usa)

¿Alguien que utilice el componente puede echarme una mano?

Gracias de antemano
salvica

maeyanes 04-11-2011 23:00:00

Hola...

Dentro del ciclo while (StringList.Count > 0) do, coloca una instrucción Application.ProcessMessages, con esto debe de actualizarse bien el componente...


Saludos...

salvica 04-11-2011 23:18:34

Hola maeyanes
Cita:

Empezado por maeyanes (Mensaje 417654)
Hola...
Dentro del ciclo while (StringList.Count > 0) do, coloca una instrucción Application.ProcessMessages, con esto debe de actualizarse bien el componente...
Saludos...

En el código lo puse inicialmente (está desactivado ahora) pero el resultado es el mismo.

Gecias
salvica


La franja horaria es GMT +2. Ahora son las 00:51:38.

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