Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Debo utilizar un Array ? (https://www.clubdelphi.com/foros/showthread.php?t=29647)

gluglu 27-01-2006 15:57:44

Debo utilizar un Array ?
 
Hola compañeros del foro !

Tengo que calcular el total de registros según grupos de tres claves diferentes, y almacenarlo (en memoria) para su posterior tratamiento : Algo así como Clave1, Clave2, Clave3, Cantidad_Total

Las claves a su vez se irán añadiendo a medida que se vaya detectando su presencia según otras tablas de una base de datos.

Debo utilizar para ello un Array, y si es así, como lo debería definir ? Todas las cifras serán numéricas (integer).

Saludos !

delphi.com.ar 27-01-2006 16:17:16

No puedes resolverlo desde la base de datos??

Código SQL [-]
SELECT CLAVE1, CLAVE2, CLAVE3, COUNT(*)
FROM TABLA
GROUP BY CLAVE1, CLAVE2, CLAVE3

gluglu 27-01-2006 16:34:08

Gracias Federico !

Es que Clave1, Clave2, Clave3 no son valores que esten en ninguna tabla en concreto sino que son valores que voy buscando y decidiendo en diferentes pasadas por diferentes tablas.

delphi.com.ar 27-01-2006 16:42:02

Ahhhh..
Bueno, algo muy similar a lo que dices en el primer hilo, puede ser tener un array de un record:
Código Delphi [-]
  TRegistro = record
    Clave1, Clave2, Clave3, Cantidad_Total: Integer;
  end;
  
Registros: array[0..X] of TRegistro;

Saludos!

gluglu 27-01-2006 16:46:50

Eso es, correcto.

Una última pregunta, como accedería entonces a cada uno de los valores de ese array ?

Registros[1,1], Registros[1,2], ... ?

delphi.com.ar 27-01-2006 16:50:52

Noo.. en este caso tendrías que buscar el item entre todos los registros, es un array de una sola dimensión.
No conozco los valores que piensas guardar para tener tres dimensiones.

gluglu 27-01-2006 17:19:10

Pongamos un ejemplo concreto:

Quiero añadir (de manera dinámica) un nuevo registro que sea 1,2,3,4 y después acceder de nuevo para volver a obtener cada uno de esos valores.

Que debería poner ?

Código:

SetLength(Registros,Length(Registros)+1);
Registros.Clave1 := 1;
Registros.Clave2 := 2;
Registros.Clave3 := 3;
Registros.Cantidad_Total := 4;



La franja horaria es GMT +2. Ahora son las 22:20:00.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi