Table dynamique

flamgreg Messages postés 12 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 4 avril 2007 - 28 févr. 2005 à 15:48
jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 - 1 mars 2005 à 09:53
Je voudrais mettre une string Grid a deux dimension dans une table dynamique à deux dimension .

Est possible, si oui comment je pourrais le faire?

Merci d'avance

Greg.

6 réponses

jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 7
28 févr. 2005 à 16:47
Hello,



Quand tu dis une table c'est une table de base de données ? Si oui quelle base de données utilises tu?

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
0
flamgreg Messages postés 12 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 4 avril 2007
28 févr. 2005 à 18:03
Non ce n'est pas une base de donnée mais on dois utiliser un tableau dynamique pour enregistrer les données mais je vais essayer un array of array of string pour voir si ça marche
0
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
28 févr. 2005 à 18:05
type
TEnreg = array [0..15] of string;
TDblArray = array[0..15] of TEnreg;
var
Datas : TDblArray;

Après:

Datas[5][6]

===========
Validez les réponses si ok...

ViewVite : HTML
0
flamgreg Messages postés 12 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 4 avril 2007
28 févr. 2005 à 20:10
c'est gentil de me donner ce code mais le problème c que c'est deux tableaux statiques. et pour mon projet de fin d'année on me demande un tableau dynamique.

Mais merci bcq.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
1 mars 2005 à 09:34
Ensuite tu utilises la fonction SetLength pour accroître la dimension des tableaux, mais ça, je ne l'ai jamais fait... car mon Delphi refuse des déclarations du type:


type
TEnreg = array {rien} of string;
TDblArray = array{rien} of TEnreg;
var
Datas : TDblArray;


Il y a possibilité de contourner ma contrainte, mais je reste à tout ce qui n'est pas dynamique. Je ne me prend pas inutilement la tête.


Autre astuce: tu gères des lignes dans un TStringList et dans chacun des Items, tu gères des String contenant les colonnes. Pour ne pas tricher et éviter les erreurs, prend un format CSV pour les String. jmp77 (ci-dessus) propose un code pour faire. Tu cliques sur sa tête et CSV apparait. Sauf que son code n'est pas abouti. Désolé pour lui, mais il te fera seulement la moitié du boulot.


Le TStringList est illimité en nombre de lignes, le String est illimité en nombre de caractère. Cela te fait donc un tableau dynamique à double entrée. On peut faire aussi à trois dimensions, mais là, c'est maso. Mais avec les tableaux dynamiques, tu auras un accès plus rapide.

===========
Validez les réponses si ok...

ViewVite : HTML
0
jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 7
1 mars 2005 à 09:53
Hello,



Voici comment faire alors :



var

MonTableau : Array of Array of String;



Ensuite quand tu veux remplir ton tableau tu fais un SetLength pour dimensionner ton tableau :



var

I,J : Integer;



begin

SetLength(StringGrid.ColCount,StringGrid.RowCount,MonTableau);



For I:=0 to StringGrid.RowCount-1 do

begin



For J:=0 to StringGrid.ColCount-1 do

MonTableau[J,I] := StringGrid.Cells[J,I];

end;
end;



Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
0
Rejoignez-nous