Ver Mensaje Individual
  #5  
Antiguo 29-02-2008
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Reputación: 22
Mick Va por buen camino
Cita:
Empezado por keyboy Ver Mensaje
No estoy muy seguro de qué tanto beneficia usar un DrawGrid. De entrada, el StringGrid también tiene el evento OnDrawCell, pero los datos de cualquier manera se tienen que vaciar sobre el componente. Posiblemente hay algo que no termino de ver, pero veo más conveniente usar un componente como el TListView, o mejor, el TVirtualTreeView, que funcionan en modo virtual. Esto significa que el componente no debe tener todos los datos al mismo tiempo, sino que éstos pueden mantenerse en otra estructura más eficiente (incluso, quizá, el propio disco) y se proporcionan al componente conforme se van requiriendo.

Bye
Ahi esta la clave, lo que no terminas de ver es que "los datos no se tienen que vaciar sobre el componente" un TDrawGrid solo facilita el dibujado en pantalla de un grid pero no hay ningun dato que traspasar al tdrawgrid, exceptuando el indicarle el numero de filas y columnas. Cada vez que el drawgrid te pida dibujar la Celda con coordenadas X,Y simplemente el programa debe leer el dato correspondiente a esas coordenadas del archivo en disco y dibujar ese dato directamente en pantalla.
Es decir un TDrawGrid es como el TVirtualTreeView que comentas.

Da igual de este modo que el archivo ocupe mucho o poco el consumo de memoria ram y la sobrecarga por cargar todos los datos en memoria al principio es CERO porque no se hace.

Saludos

Última edición por Mick fecha: 29-02-2008 a las 17:51:39.
Responder Con Cita