comment créer dynamiquement un composant delphi comme TLabel ou TEdit ...etc

À L'Aide De Delphi 2010

SQLQuery1.First; // move to the first record
while(not SQLQuery1.EOF)do begin
   // do something with the current record
   // What's the code should i write in this part in order to create a TEdit
   // containing the user fullname the current item.
   ShowMessage(SQLQuery1['whom']);
   SQLQuery1.Next; // move to the next record
end;
  • Pourquoi voulez-vous créer un composant à chaque enregistrement? essayez-vous à l'aide d'un dbgrid à la place?
  • Voulez-vous un contrôle d'édition pour chaque enregistrement? S'agit-il va à l'intérieur d'une grille ou d'ailleurs? Si vous utilisez un DBGrid, il n'y a pas besoin de faire tout cela, elle prend déjà en charge de l'édition. Si vous avez besoin d'elle pour d'autres raisons, alors vous aurez besoin d'une certaine manière à maintenir une liste de ces contrôles, quelque part, de sorte que vous pouvez correctement gratuit lorsque le transfert est terminé. Il dépend fortement de l'endroit où vous souhaitez placer ces contrôles et combien de temps vous voulez que ces contrôles soient visibles. Personnellement, je pense que (si vous n'utilisez pas un DBGrid) que vous pouvez utiliser une chaîne de caractères de la grille de la place (montre une zone d'édition pour chaque enregistrement).
  • PS - ShowMessage(SQLQuery1['whom']); est plus sûr d'être ShowMessage(SQLQuery1.FieldByName('whom').AsString);
  • Plus sûr de ce qu', @Jerry?
  • Si pour une raison quelconque 'qui' est NULL, il peut échouer, parce que c'est une variante du type et il traite différemment la valeur NULL. Ou sinon, juste pour s'assurer que vous êtes en utilisant explicitement le type correct peut éviter beaucoup de divers problèmes de conversion.
InformationsquelleAutor Rafik Bari | 2011-12-16