[Unity] Tableaux a deux dimensions
-
MiGaNuTs
- Mi homme - Mi automate

- Messages : 1580
- Enregistré le : 12 nov. 2015, 21:02
- Localisation : 45 - Loiret
- Contact :
[Unity] Tableaux a deux dimensions
Bonjour,
J'aimerai pouvoir utiliser des tableaux a 2 dimensions sous Unity.
J'ai essayé de déclarer des trucs du genre array[0..10] of (Array [0..10] of int) mais ca ne veux pas.
Est ce parce que je l'ecrit mal, ou parce que ce n'est pas possible ?
J'aimerai pouvoir utiliser des tableaux a 2 dimensions sous Unity.
J'ai essayé de déclarer des trucs du genre array[0..10] of (Array [0..10] of int) mais ca ne veux pas.
Est ce parce que je l'ecrit mal, ou parce que ce n'est pas possible ?
Modifié en dernier par MiGaNuTs le 20 avr. 2022, 11:09, modifié 1 fois.
Re: Unity : Tableaux a deux dimensions
Bonjour,
Pour des tableaux multi dimensions la syntaxe est : <variable name> : ARRAY[ <1st dimension> ( , <next dimension> )+ ] OF <data type> ( := <initialization> )? ;
Exemple : monTableau : ARRAY[1..2, 1..2] OF INT;
Bien cordialement;
Edit: Rien à voir, mais quand j'utilise un tableau pour stocker plusieurs informations. Par exemple : Date, Heure, mesure1 , mesure2... Donc avec différents types de variable. Je déclare un Struct, ensuite un je fais un array de ce struct (donc un array à une dimension). Cela permet d'éviter de stocker la mauvaise valeur dans le mauvais endroit.
Exemple :
Mon struct:
TYPE structHistorique :
STRUCT
H_Date: DT;
H_Pres: REAL;
H_Mesure1: REAL;
H_Mesure2: INT;
END_STRUCT
END_TYPE
Mon array:
Historique : ARRAY [1..10] OF structHistorique;
L'utilisation:
Historique[index].H_Date := LaDateEtHaure;
Historique[index].H_Pres := LaPres;
...
Voilà, j'espère t'avoir aidé
Pour des tableaux multi dimensions la syntaxe est : <variable name> : ARRAY[ <1st dimension> ( , <next dimension> )+ ] OF <data type> ( := <initialization> )? ;
Exemple : monTableau : ARRAY[1..2, 1..2] OF INT;
Bien cordialement;
Edit: Rien à voir, mais quand j'utilise un tableau pour stocker plusieurs informations. Par exemple : Date, Heure, mesure1 , mesure2... Donc avec différents types de variable. Je déclare un Struct, ensuite un je fais un array de ce struct (donc un array à une dimension). Cela permet d'éviter de stocker la mauvaise valeur dans le mauvais endroit.
Exemple :
Mon struct:
TYPE structHistorique :
STRUCT
H_Date: DT;
H_Pres: REAL;
H_Mesure1: REAL;
H_Mesure2: INT;
END_STRUCT
END_TYPE
Mon array:
Historique : ARRAY [1..10] OF structHistorique;
L'utilisation:
Historique[index].H_Date := LaDateEtHaure;
Historique[index].H_Pres := LaPres;
...
Voilà, j'espère t'avoir aidé
<< La vie d'un homme passe par trois phases : apprentissage, apprentissage et apprentissage. >>
Et j'ai même pas fini la première phase
- itasoft
- Mi homme - Mi automate

- Messages : 7807
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Unity : Tableaux a deux dimensions
slts,
A ce propos, on ne peut pas faire de tri sur tableau à deux dimension, je m'étais paluché un DFB , voir mon post si besoin
viewtopic.php?f=15&t=5475&p=38092&hilit ... 151#p38092
A ce propos, on ne peut pas faire de tri sur tableau à deux dimension, je m'étais paluché un DFB , voir mon post si besoin
viewtopic.php?f=15&t=5475&p=38092&hilit ... 151#p38092
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
- Béryl
- Mi homme - Mi automate

- Messages : 1960
- Enregistré le : 20 oct. 2015, 12:00
- Localisation : localhost
Re: Unity : Tableaux a deux dimensions
J'emploie aussi les structures même avec un seul type de variable, car les noms de variables sont plus parlants qu'avec des tableaux.
Ex : toto.titi:=True est plus lisible que toto[0]=True.
Et ça évite de passer par des alias, que je préfère éviter.
L'inconvénient (minime) étant que pour initialiser des tableaux de structure, il faut passer par une boucle, le MOVE n'étant pas possible, même s'il n'y a qu'un seul type de variable.
Ex : toto.titi:=True est plus lisible que toto[0]=True.
Et ça évite de passer par des alias, que je préfère éviter.
L'inconvénient (minime) étant que pour initialiser des tableaux de structure, il faut passer par une boucle, le MOVE n'étant pas possible, même s'il n'y a qu'un seul type de variable.
Re: Unity : Tableaux a deux dimensions
Très bonne remarque, c'est vrai que dans les rares cas où j'ai utilisé cette méthode. Je n'avais pas besoin de faire une initialisation (Béryl a écrit : ↑10 mars 2022, 07:28 J'emploie aussi les structures même avec un seul type de variable, car les noms de variables sont plus parlants qu'avec des tableaux.
Ex : toto.titi:=True est plus lisible que toto[0]=True.
Et ça évite de passer par des alias, que je préfère éviter.
L'inconvénient (minime) étant que pour initialiser des tableaux de structure, il faut passer par une boucle, le MOVE n'étant pas possible, même s'il n'y a qu'un seul type de variable.
Moi monsieuritasoft a écrit : ↑09 mars 2022, 22:26 slts,
A ce propos, on ne peut pas faire de tri sur tableau à deux dimension, je m'étais paluché un DFB , voir mon post si besoin
viewtopic.php?f=15&t=5475&p=38092&hilit ... 151#p38092
<< La vie d'un homme passe par trois phases : apprentissage, apprentissage et apprentissage. >>
Et j'ai même pas fini la première phase
- itasoft
- Mi homme - Mi automate

- Messages : 7807
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Unity : Tableaux a deux dimensions
@AC23
la ligne d'appel
TRI_TABLES_AB_INT_0(true,TABLE_A_source,TABLE_B_source,TABLE_A_result,TABLE_B_result);
pour le fdb donner @mail en MP
la ligne d'appel
TRI_TABLES_AB_INT_0(true,TABLE_A_source,TABLE_B_source,TABLE_A_result,TABLE_B_result);
pour le fdb donner @mail en MP
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
-
MiGaNuTs
- Mi homme - Mi automate

- Messages : 1580
- Enregistré le : 12 nov. 2015, 21:02
- Localisation : 45 - Loiret
- Contact :
Re: Unity : Tableaux a deux dimensions
Merci pour ces precisions 
Pour me decoincer j'était parti sur un tableau de structures. A voir si je repasse sur un tableau 2d ou pas.
Pour le moment je vais continuer a profiter de mes vacances.
Pour me decoincer j'était parti sur un tableau de structures. A voir si je repasse sur un tableau 2d ou pas.
Pour le moment je vais continuer a profiter de mes vacances.
Re: Unity : Tableaux a deux dimensions
Salut,
Autre alternative, tu peux simuler un tableau à 2 dimensions en utilisant un tableau à 1 dimension.
Exemple avec un tableau 2d:
déclaration:
utilisation:
Exemple avec un tableau 1d:
déclaration:
utilisation:
C'est utile si tu as des IHM qui ne savent adresser que du tableau 1d par exemple (cas des IHM Siemens).
@+
Autre alternative, tu peux simuler un tableau à 2 dimensions en utilisant un tableau à 1 dimension.
Exemple avec un tableau 2d:
déclaration:
Code : Tout sélectionner
tableau: ARRAY[0..9, 0..9] OF INTCode : Tout sélectionner
tableau[ligne][colonne]déclaration:
Code : Tout sélectionner
tableau: ARRAY[0..99] OF INTCode : Tout sélectionner
tableau[ligne * 10 + colonne]@+

