Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1136 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] Appeler un composant dynamiquement dans le code

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Delphi] Appeler un composant dynamiquement dans le code

n°607984
Titalium
Posté le 11-01-2004 à 13:48:33  profilanswer
 

Je créé sur une fiche des composants TEdit en fonction du nombre de ligne dans le résultat d'une requête, et les nommant 'Edit' + l'entier de la position dans la requête. Quand je ferme la fiche, je voudrais pouvoir faire une mise à jour des données en appelant mes TEdit par le nom que je leur ai donné à la création. Le nom de chaque composant varie donc sans arrêt, je ne peux donc pas faire un appel en dur dans le code. Comment faire ?
 
 
J'avais pensé à une chose du genre :
 
(TEdit)(Component.Name['edit' + IntToStr(i)]).Text, mais c'est pas bon, je pense qu'il y a un truc du genre. Quelqu'un sait ?

mood
Publicité
Posté le 11-01-2004 à 13:48:33  profilanswer
 

n°608055
antp
Super Administrateur
Champion des excuses bidons
Posté le 11-01-2004 à 15:03:52  profilanswer
 

Tu peux le faire avec FindComponent mais c'est un peu crade comme méthode.
Il vaudrait mieux garder trace des TEdit que tu crées dans un tableau, genre array of TEdit.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°608070
bossamiral​2
Ctrl+Alt+Del
Posté le 11-01-2004 à 15:27:14  profilanswer
 

tu peux pas faire un heritage de class.

n°608071
antp
Super Administrateur
Champion des excuses bidons
Posté le 11-01-2004 à 15:28:33  profilanswer
 

:??: je vois pas trop le rapport


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°608078
bossamiral​2
Ctrl+Alt+Del
Posté le 11-01-2004 à 15:36:27  profilanswer
 

ben je ne sais plus si on peux le faire en delphi, mais je suppose que oui. tu recrées une class qui est une liste de tedit, cela te permet d'en rajouter à la volé.
 
et de modifié leur attribut indépendamment


Message édité par bossamiral2 le 11-01-2004 à 15:37:14
n°608094
antp
Super Administrateur
Champion des excuses bidons
Posté le 11-01-2004 à 16:03:25  profilanswer
 

:??: ici sa question est de récupérer un pointeur sur un objet créé, en donnant le nom de l'objet.
Je lui dis qu'on peut faire ça via FindComponent, mais qu'il est plus efficace de conserver ces pointeurs dans un tableau plutôt que de les rechercher un par un.
En effet il pourrait mettre sa liste dans une classe (dérivant de TList par ex) mais un simple tableau suffit dans ce cas-ci.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°608099
bossamiral​2
Ctrl+Alt+Del
Posté le 11-01-2004 à 16:21:35  profilanswer
 

c'est vrai, mais j'étais plus partie sur  
 
"Je créé sur une fiche des composants TEdit en fonction du nombre de ligne dans le résultat d'une requête"
 
Et j'ai supposé que le nombre de ligne changait assez fréquemment.  Voilà

n°608109
Titalium
Posté le 11-01-2004 à 16:46:26  profilanswer
 

Effectivement, le nombre de ligne change très souvent. Mais par contre, je peux initialiser mon tableau de manière claire, car je sais quelle est le nombre de ligne au moment ou je créé ma fiche (avec RecordCount).
 
Je peux donc passer par un tableau, je vais tester.

n°608110
antp
Super Administrateur
Champion des excuses bidons
Posté le 11-01-2004 à 16:50:20  profilanswer
 

Tu peux déclarer un tableau n'ayant pas de taille (= tableau dynamique) puis faire un SetLength(Tableau, nombre de lignes) juste avant de créer tous tes TEdit ;)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°608247
Titalium
Posté le 11-01-2004 à 19:40:49  profilanswer
 

C'est bon, j'ai fait un tableau dynamique de TEdit, et tout se passe bien. Merci à tous. ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] Appeler un composant dynamiquement dans le code

 

Sujets relatifs
voici mon premier code....Intérêt d'apprendre Delphi?
Résolu : Comment rendre invisible dynamiquement une zone de texte?[PHP] Construire un code solide pour un site web,les etapes?
Comment appeler un formulaire sur lui meme ??(nouveau code)Vérifier si une fenêtre un pop-up est ouverte ?
[PHP] Récuperer un code HTML déjà généré ? (explication inside)[ASM] Gros nb (oui c moi), j'ai pondu ce code plein d'érreurs...
[DELPHI 7 ] Detection d'url dans un Richedit[Delphi 6] Les updates !!!
Plus de sujets relatifs à : [Delphi] Appeler un composant dynamiquement dans le code


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR