Bonjour,
J'ai sans doute pas compris ce point, mais je voudrait passer un tableau a 2 dimension a une procedure.
Je n'ai pas de probleme pour un tableau a 1 dimension, est-ce pareil pour 2 dimension ?
Merci pour votre aide
elecpic
Bonjour,
J'ai sans doute pas compris ce point, mais je voudrait passer un tableau a 2 dimension a une procedure.
Je n'ai pas de probleme pour un tableau a 1 dimension, est-ce pareil pour 2 dimension ?
Merci pour votre aide
elecpic
Oui, puisqu'un tableau à deux dimensions est tout simplement un tableau de tableaux :signifie
Code : Sélectionner tout - Visualiser dans une fenêtre à part MyArray = Array[0..n, 0..p] of Integer;
Code : Sélectionner tout - Visualiser dans une fenêtre à part MyArray = Array [0..n] of Array [0..p] of Integer;
Pour un tableau à N dimensions, il faut obligatoirement définir un nouveau type. On ne peut pas déclarer un paramètre en array of array of ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 type TArray2D = array of array of integer; procedure Proc(aArray :TArray2D); begin ... end;
@ mick605
Bien sûr, mais on ne parle pas de déclaration de variable mais de passage de paramètre à une procédure.
Oups, bien vu!
Faut dire, je me sert pas souvent de tableaux a 2 dimensions comme ca (c'est souvent des TBitmaps ou des trucs comme ca !!)
Bonsoir a tous,
Je suis désolé,mais j'ai rien compris !
En fait, j'ai declaré un tableau a 2 dimensions. Il contient des strings.
Ce tableau est statique:
CouleurCase : array [0..500, 0..7] of string;
Par ailleur, j'ai ecrit une procedure devant reprendre les données du tableau:
procedure TFichePrincipale.Affichage(Tab_affich: array of string);
A la compil, ca plante! Je cherche donc a savoir pourquoi.
merci pour votre aide
elecpic
Bon, reprenons.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 type TCouleurCase :array [0..500, 0..7] of string; var CouleurCase :TCouleurCase; procedure TFichePrincipale.Affichage(Tab_affich :TCouleurCase); begin ... end;
Dans l'entete de ta procedure, tu demande un "tableau de string" (array of string)
Et tu veux lui passer un "tableau de tableau de string".
Il faut donc changer l'entete de ta procedure comme te l'a montré Adnotor.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager