[D2007, ADO, MSACCESS]Comment enregistrer un tableau grande taille ?
Bonjour,
J'utilise MSACESS avec les composants ADO sous D2007.
Quelle(s) table(s) dois-je créer pour écrire et lire un tableau dynamique de grande taille ?
le tableau est de type :
Tab: array of array of single;
La dimension peut atteindre l'ordre de Tab[4000,3000].
Votre avis Docteur ?
Il s'agit d'une application graphique
En fait il s'agit d'un tableau de coefficients appliqués aux pixels d'une bitmap.
La bitmap possède des dimensions qui dépendent de l'APN utilisé. Il est donc possible de dimensionner le tableau par la lecture de la configuration de l'application dans laquelle l'APN est défini.
A titre d'exemple avec un APN Olympus E400 l'image de 10 MPix fait 3648x2736.
Dans l'application que je développe je dois procèder à une calibration de l'image en début d'une séquence de travail qui définit trois tableaux de correction de type tab[3648,2736] pour R,G et B qu'il est souhaitable d'archiver et de pouvoir lire dans une BD.
Cela ne me semble pas de mon niveau
Si je défini une table telle que :
req := 'CREATE TABLE SEQUENCE ('+
' SEQUENCE_NO COUNTER NOT NULL, '+ // Clé primaire
' CONSTRAINT KeySequence PRIMARY KEY(SEQUENCE_NO), '+
' SEQUENCE_NAME VARCHAR(32) NOT NULL, '+ // Nom de la séquence
' SEQUENCE_FACTORS_R LONGBINARY, '+ // correction R
' SEQUENCE_FACTORS_G LONGBINARY, '+ // correction G
' SEQUENCE_FACTORS_B LONGBINARY, '+ // correction B
')';
ADOCommand.CommandText := req;
ADOCommand.Execute;
Et que je défini les types suivant :
TRGBfloat = record
fR,fG,fB : single;
end;
TTabFactors = array of array of TRGBfloat;
Et la variable
Tab : TTabFactors
À supposer que la variable tab a été dimensionnée avec la fonction
Length(Tab,w,h) et qu’elle a été initialisée en valeurs
Comment passer les valeurs de Tab dans la table SEQUENCE sous Delphi 2007 par une requête SQL de type INSERT INTO SEQUENCE (…)