![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
otro tip
gracias Alvaro por tu interes, tal vez se deba a algun 'error' en el archivo de texto, de todos modos mi pregunta es si cargaste el archivo de 10Mb en el TStringList y lo recorriste? o solo lo cargaste?
acerca de mi otra duda de por que me demora tanto la carga y al tener en mi codigo una llamada repetitiva del ProcessMessages encontre este comentario: In your loop you need to add a call to the Application.ProcessMessages method. This will allow your application to process Windows messages, including those generated by user actions. There are two significant caveats. First, since Windows messages often translate into calls to event handlers your program may begin to do things at inappropriate times. Make sure that the user can't initiate actions that will interfere with the loop while the loop is active. In particular, note the following sentence, taken from Delphi 3's help file on TApplication.Terminated: "For applications using calculation-intensive loops, call Application.ProcessMessages periodically, and also check Application.Terminated to determine whether or not to abort the calculation so that the application can terminate." The second caveat is that calling Application.ProcessMessages can be relatively expensive and may slow the program. In a fast (tight) loop you may not want to call the method on each iteration. If you only want to update the display and not handle user input you can use the Update method (Delphi 3 and up) of the control covering the part of the display you want to update. Remember that this will also slow down the loop! Última edición por halcon_rojo fecha: 12-04-2006 a las 22:02:33. |
|
#2
|
|||
|
|||
|
Exacto, eso que remarcaste en rojo es correcto, tal vez sería mejor llamar a Application.ProcessMessages cada X cantidad de registros procesados, no cada 1.
|
|
#3
|
|||
|
|||
|
Hola.
Me estuve leyendo el fragmento que esta en ingles pues casualmente soy uno de los que tiene el problema con el caracter #0. Me estaba ocurriendo que cuando leia el archivo con LoadFromFile y dicho archivo contenia en algun lugar el caracter #0 se me cortaba ahi el archivo no seguia cargando. Quizas la solucion del problema le sea util a alguien y aqui se las dejo. En el fuente solamente lo que hice fue cambiar el caracter #0 que venia por un caracter A, quizas en otras aplicaciones se deba hacer otra cosa pero creo que el ejemplo vale.
Ah y la llamada y creacion del nuevo componente muy facil.
Otra variante pudo ser redefinir el metodo SetTextStr en lugar de loadfromstream Por cierto he cargado archivos de mas de 100MBytes con ese codigo Espero que sea de utilidad a alguien. Saludos Juan Carlos Última edición por JCarlosas fecha: 16-05-2006 a las 01:47:44. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Capacidad de Paradox | irvingcm | Tablas planas | 3 | 13-04-2005 00:41:59 |
| Cual es el limite de capacidad de Paradox? | URBANO | Tablas planas | 1 | 15-03-2005 09:54:12 |
| Saber exactamente cual es cual en un DBLookUpComboBox | bustio | OOP | 3 | 03-02-2005 23:16:58 |
| Capacidad del QReport | marila | Impresión | 2 | 22-04-2004 16:02:47 |
| Capacidad No soportada con BDE | GIVO | Conexión con bases de datos | 3 | 27-08-2003 03:10:09 |
|