Bonjour,
Je souhaiterais déclarer un tableau de la façon suivante:
Tableau:array[1..10] of type
où type serait passé comme paramètre de la procédure où ce tableau serait défini et utilisé...
Est-ce possible ? Et si oui, comment ?
Merci !
Drooxy
Bonjour,
Je souhaiterais déclarer un tableau de la façon suivante:
Tableau:array[1..10] of type
où type serait passé comme paramètre de la procédure où ce tableau serait défini et utilisé...
Est-ce possible ? Et si oui, comment ?
Merci !
Drooxy
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Si la pratique et la théorie sont réunies, rien ne fonctionne et on ne sait pas pourquoi.
(Albert Einstein)
Ben, je crois que tu vas devoir passer par un tableau de variant (Si ton type peut être une chiane ou un nombre, ... ) :
Bon dev'
Code : Sélectionner tout - Visualiser dans une fenêtre à part Table: array[0..10] of Variant;
OK... mais comment, une fois dans ma fonction ou ma procédure, en modifier le type pour qu'il corresponde à celui du paramètre passé à ladite fonction ou procédure ?
Merci pour ta réponse rapide.
Drooxy
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Si la pratique et la théorie sont réunies, rien ne fonctionne et on ne sait pas pourquoi.
(Albert Einstein)
Le variant predn automatiquement le type de la variable dont on lui affecte la valeur :
Alors Table[0] sera ensuite de type entier et Table[1] de type chaine. Mais la ou c'est le plus fort, c'est que les conversion sont automatisée dans la mesure on elles sont possible. Exemple : tu affectes MonEntier à Table[0], Table[0] contient alors un type entier. Et bien il est tout à fait légal de faire Edit1.Text:=Table[0], car à ce moment Table[0] sera converti en chaine avant d'être affecté à Edit1.Text ( mais Table[0] reste quand même de type entier ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Table[0]:=MonEntier; Table[1]:=MaChaine;
Il est possible de tester le type réel de la donnée contenu dans le variant avec VarType :
Magique non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part If (VarType(Table[0])And VarTypeMask)=VarInteger Then ...
et bien, comme d'habitude, je te dois d'être en mesure de continuer mes "expériences" Delphi.
Cet EDI est absolument passionnant... et ce forum absolument génial !
Merci, encore une fois, pour ton aide précieuse et avisée.
Drooxy
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Si la pratique et la théorie sont réunies, rien ne fonctionne et on ne sait pas pourquoi.
(Albert Einstein)
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