Propriété d'un ensemble de dbedit

youhibadelphi Messages postés 187 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 20 février 2010 - 25 juil. 2009 à 22:45
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 1 août 2009 à 17:53
Salut tlm
Peut ont faire une action sur un ensemble dbedit sans répéter les actions pour chacun
Par exemple comment faire pour changer la propriété datasource pour un ensemble de dbedit.
Merci pour votre aide.


yahia

13 réponses

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
25 juil. 2009 à 23:56
Bonsoir,
Tags + Boucle sur tous les composants de la fiche (test si "is TDBEdit" + tag de groupe).
Ce n'est pas la seule solution.
Bonne chance.


Cordialement, Bacterius !
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
26 juil. 2009 à 00:09
bonsoir,
Peut-on changer de datasource comme on change de cavalière ?
eh bien non.

Il suffit de faire un test
pour s'en convaincre.

Je te laisse un peu mijoter..

cantador
0
youhibadelphi Messages postés 187 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 20 février 2010 3
28 juil. 2009 à 13:15
salut les amis
je suis débutant en delphi, j'ai besoin d'un peut de details svp.
monsieur et mon ami cantador je cherche faire le test sur un ensemble de dbedit au lieu de faire un test sur chaque composant.


yahia
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
28 juil. 2009 à 14:30
Sur ce point Bacterius a répondu et donné la méthode à suivre :

procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
begin
 for i := 0 to Form1 .ComponentCount - 1 do
   if Form1.Components[i] is TDBEdit then
   begin
     TDBEdit(Form1.Components[i]).Datasource :=//TraitementS                           
   end;
end;


Mais le souci de changement de Datasource lui reste entier..
nb : on peut mettre un with mais pour expliquer c'est mieux..

cantador
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
youhibadelphi Messages postés 187 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 20 février 2010 3
30 juil. 2009 à 18:42
salut
Peut-on faire des exceptions dans la boucle?
yahia
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
30 juil. 2009 à 19:14
Qu'entends-tu par "exception" ? Si tu veux exclure un TDBEdit, tu définis par exemple son Tag à "0", et si tu veux inclure un TDBEdit pour la modification de DataSource, tu mets son Tag à "1".
Ce qui nous donne :

procedure TForm1.Button1Click(Sender: TObject);
var
 I: integer;
begin
 for I := 0 to ComponentCount - 1 do
   if Components[I] is TDBEdit then
    if TDBEdit(Components[I]).Tag = 1 then
     with TDBEdit(Components[I]) do
      begin
       DataSource := ???;
       // Traitements
      end;                       
end;


Cordialement, Bacterius !
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
31 juil. 2009 à 15:39
procedure TForm1.Button1Click(Sender: TObject);
var
 I: integer;
begin
 for I := 0 to ComponentCount - 1 do
   if Components[I] is TDBEdit then
    if TDBEdit(Components[I]).Tag = 1 then
     with TDBEdit(Components[I]) do
      begin
       DataSource.DataSet.Close;
       DataSource := nil;
       DataSource := ???;//Traitements
       DataSource.DataSet.Open;
      end;
end;


J'ai même quelques doutes que cela fonctionne..


cantador
0
youhibadelphi Messages postés 187 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 20 février 2010 3
31 juil. 2009 à 23:49
salut
j'ai imprimer les boucles, rdv aprés l'essai.

yahia
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
1 août 2009 à 00:51
Penses au champagne !

Cordialement, Bacterius !
0
youhibadelphi Messages postés 187 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 20 février 2010 3
1 août 2009 à 11:49
non je pense beaucoup plus au antibiotiques.

yahia
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
1 août 2009 à 12:11
Pourquoi ?

Cordialement, Bacterius !
0
youhibadelphi Messages postés 187 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 20 février 2010 3
1 août 2009 à 15:29
Ahhhh
Si la boucle est bonne alors c'est une boisson non alcoolisée bien frais, else ça sera un antibiotique à large spectre.

yahia
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
1 août 2009 à 17:53
Juste un truc, si le nouveau DataSet est le même pour tous les dbedit alors il faut placer
le :
DataSource.DataSet.Open;


en fin de boucle,
sinon zim boum zim boum zim boum zim boum..................etc.
sur le même datasset.

cantador
0
Rejoignez-nous