FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Estructura para Tabla paradox
Hola, tengo la siguiente estructura:
y tengo que manejar un fichero con esa estructura, con sus correspondientes operaciones de inserción, modificación,.... el caso es que cuando va teniendo un numero considerable de registros se hace "eterno" el tiempo, ya que hago busquedas secuenciales en el archivo de disco y en caso de tener que modificar creo un fichero temporal, copiar los registros, borrar el fichero original y renombrar el fichero copia al nombre original. Estoy usando delphi 6 y paradox El caso es que no se me ocurre una estructura para una (o mas) tablas..... EL objetivo es cargar (o modificar o grabar) cada una de las 65 graficas con los valores indicados en el array "Valores" con un total de puntos indicados en "Numero_Valores", siendo "NumeroLectura" el dato que sirve de indice. A alguien se le ocurre algo... Gracias por su tiempo. |
#2
|
||||
|
||||
Hola tarco35.
No me queda del todo claro el uso que vas a hacer de los datos ni como van a ser accedidos, pero en principio una tabla es un arreglo bidimensional. Para el caso de "Valores" seguramente te sea mas fácil invertir la definición del arreglo, es decir declarar una tabla de 64 columnas por 1500 (o mas filas). Código:
ID | campo 1 | ... | campo 64 -----+---------+-----+--------- 1 | valor 1 | ... | valor 64 ... | valor 1 | ... | valor 64 ... | valor 1 | ... | valor 64 1500 | valor 1 | ... | valor 64 Código:
ID | campo 1 -----+-------- 1 | valor 1 ... | ... 64 | valor 64 Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
|||
|
|||
A ver si ahora me explico mejor....
La estructura lo que tiene que guardar son los valores que ha tomado una grafica con 1500 puntos como maximo (de media se leen sobre 500 o 600) y hay 64 graficas (normalmente se leen 50) tambien como maximo.... aunque no siempre hay los 1500 puntos y/o las 64 graficas. La idea es guardar esos valores para despues poder cargarlos y representar la grafica de nuevo, o modificar los valores de la grafica y guardarlos de nuevo. Estaba pensando en guardar el numero de grafica en un campo y todos los valores en uno de tipo MEMO (o asi) separados por algun delimitador y despues por codigo ir separando los valores, convertirlos a numero y meterlos en su sitio correspondiente. ID_Lectura NumeroGrafica MemoValores Gracias por su respuesta y su dedicacion. Un saludo |
#4
|
||||
|
||||
Hola.
Ahora creo entender mejor la situación. Si, también podrías guardar los valores separados por delimitadores en un campo BLOB. Pero tomá en cuenta que en ese caso, tenes que adicionar el tiempo empleado para la componer los datos antes del guardado y el necesario para la recomposición de los valores luego de la lectura. No sé si aportará mejorías en el caso de las lecturas secuenciales... ¿ En este momento estas usando un archivo de acceso aleatorio ? Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#5
|
|||
|
|||
En este momento uso un archivo secuencial, por lo que el tiempo de acceso cada vez ira a peor, por eso es ver convertilo en una tabla de paradox.
He probado el tiempo que tardaria en meter todos los datos en el campo y usa del orden de 10/12 eternos segundos.... si no me queda otra, lo que haré es sacar un mensaje en pantalla con alguna animación para que el usuario vea que el sistema esta ocupado guardando los datos.... Gracias. |
#6
|
||||
|
||||
Hola tarco35.
Una opción que te puede servir es usar archivos de acceso aleatorio, por ejemplo: Este tipo de tratamiento, te permite acceder de forma directa, tanto en lectura como en escritura, a los registros en disco:
Es más, gracias a un pequeño truco con moldeos podes usar un arreglo de registros para acceder a bloques de registros en un sólo acceso a disco: Y dado que los accesos a disco son una de las taréas más lentas, brinda una gran ganancia de velocidad. Una vez cargado el arreglo podes manejar todo desde memoria. Si tenes dificultad para implementarlo, comentame y te preparo/adjunto un código demo. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
|||
|
|||
Muchas gracias.... lo probare y si no me sale bien ya te pregunto
un saludo |
#8
|
||||
|
||||
tarco35,
Cita:
Revisa este código: El código anterior en Delphi 7 bajo Windows 7 Professional x32, permite leer y grabar bloques de registros de un archivo en una sola operación de acceso a disco. Nota: Excelente técnica ecfisa Espero sea útil Nelson. |
#9
|
||||
|
||||
Hola nlsgarcia.
Es un resabio del viejo Turbo Pascal... , con Delphi ya podemos hacer: con el mismo resultado. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#10
|
|||
|
|||
Muchas gracias.... con esto y creando un fichero indice que me indique en que posición esta para poder hacer un acceso directamente a la posición de lo que quiero leer o modificar.
Pero si quiero añadir, como tendría que hacerlo?... un seek al final de fichero??? o como. Gracias por su ayuda. |
#11
|
||||
|
||||
Hola tarco35.
Cita:
Agregar un registro:
Leer último registro:
Mostrar posición del registro actual:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 05-09-2014 a las 22:27:45. |
#12
|
|||
|
|||
gracias....
|
#13
|
||||
|
||||
tarco35,
Cita:
Revisa este código: El código anterior en Delphi 7 bajo Windows 7 Professional x32, permite leer y grabar bloques de registros de un archivo en una sola operación de acceso a disco con TFileStream y consultar registros individuales de forma aleatoria. Espero sea útil Nelson. Última edición por nlsgarcia fecha: 07-09-2014 a las 17:59:15. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Importar estructura de tablas paradox en Firebird | Matorral | Firebird e Interbase | 2 | 23-12-2010 13:43:03 |
Copiar la estructura de paradox a mysql | seoane | MySQL | 6 | 19-02-2008 00:25:33 |
Obtener estructura de Tablas Paradox | Coco_jac | Varios | 6 | 09-02-2007 06:14:59 |
Copiar estructura Paradox ? | Coco_jac | Varios | 5 | 07-12-2005 17:31:11 |
Comparar estructura tablas paradox | Joana | Tablas planas | 0 | 14-05-2004 11:47:26 |
|