Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Array en una tabla existente (https://www.clubdelphi.com/foros/showthread.php?t=92805)

Kar 07-02-2018 18:28:22

Array en una tabla existente
 
Hola a todos, necesito de su ayuda, estoy intentando utilizar un arreglo dentro de una tabla, es una tabla con muchos datos, pero necesito sacar el promedio cada 24 datos y así sucesivamente hasta llegar al último registro, necesito guardarlos en una tabla para hacer comparaciones, pero el tema de los arreglos aún me cuesta trabajo, ojalá me puedan ayudar o sugerir algo. :confused:
Gracias. Saludos!!

Código Delphi [-]
Type
  TPacasRecord = record
    Banco:Integer;
    Bale:string;
    MicProm:real;
    RdProm:real;
    MasBProm:real;
    end;
      Procedure Proceso(pacarray:array of tpacasrecord);
var
  pacarray:array [1..1000] of tpacasrecord;
Table1.ACTIVE:=TRUE;
    TABLE1.OPEN;


 function Sumas(sumamic, sumard, sumamasb:real):TPacasRecord;
 begin
     sumamic:=sumamic+TABLE1.FieldByName('Mic').Asfloat;
     sumard:=sumard+TABLE1.FieldByName('Rd').Asfloat;
     sumamasb:=sumamasb+TABLE1.FieldByName('Masb').Asfloat;
 end;

 Procedure Proceso(pacarray:array of tpacasrecord);
   IF I=(Conta*24) THEN
     BEGIN

      PACARRAY[1].BANCO:=Conta;
      PACARRAY[1].MICPROM:=sumamic/24;
      PACARRAY[1].RDPROM:=sumard/24;
      PACARRAY[1].MASBPROM:=sumamasb/24;

      TPacasRecord.Banco:=Conta;
      TPacasRecord.Banco:=MICPROM;
      TPacasRecord.Banco:=RDPROM;
      TPacasRecord.Banco:=MASBPROM;

      Conta:=Conta+1;
      sumamic:= 0;
      sumard:= 0;
      sumamasb:= 0;
   end;
      table1.close;
      table1.active:=false;

    end;

mamcx 07-02-2018 19:14:16

Lo que pides lo puedes hacer mas adecuadamente con SQL.

Kar 07-02-2018 22:55:54

Lo que pasa es que es parte de un programa, el usuario final sólo se le van a presentar los resultados, el usuario no va a hacer consultas.

Kar 08-02-2018 16:39:31

Hola ya logré que corra mi array pero no me está guardando nada en el record. El Pacarray aparece vacío y me marca un error cuando pido que se vaya al inicio de la lista. Ojalá me puedan orientar. Gracias
Código Delphi [-]
    TABLE1.OPEN;
    TABLE1.ACTIVE:=TRUE;
    for i:=1 to cantrow do
     begin

     TABLE1.First;
     Bale:=TABLE1.FieldByName('Bale_ID').AsString;
     sumamic:=sumamic+TABLE1.FieldByName('Mic').Asfloat;
     sumard:=sumard+TABLE1.FieldByName('Rd').Asfloat;
     sumamasb:=sumamasb+TABLE1.FieldByName('Masb').Asfloat;


    IF I=(Contador*24) THEN
     BEGIN
      PACARRAY[1].BANCO:=Contador;
      PACARRAY[1].MICPROM:=sumamic/24;
      PACARRAY[1].RDPROM:=sumard/24;
      PACARRAY[1].MASBPROM:=sumamasb/24;



      Contador:=Contador+1;
      sumamic:= 0;
      sumard:= 0;
      sumamasb:= 0;
   end;

Kar 14-02-2018 00:50:07

Hola otra vez, una pregunta ya tengo los resultados del arreglo pero ahora necesito imprimirlos en pantalla y guardarlos en un archivo o en una tabla, se puede?


La franja horaria es GMT +2. Ahora son las 14:53:50.

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