IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Changer un TLabel a l'aide d'un dbCombobox


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de b.bilel
    Inscrit en
    Août 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 54
    Par défaut Changer un TLabel a l'aide d'un dbCombobox
    Salut ; Je travaille avec D7 , et j'ai deux composants :un Dbcombobox1 et un Label1
    Items du dbcombobox1 contient 'a' , 'b' , 'c' .
    je voudrais changer la valeur caption d'un label1 quand dbcombobox1 change d'item.
    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure TForm1.DBComboBox1Change(Sender: TObject);
    begin
    if dbcombobox2.Itemindex = 0 then Label5.Caption:= 'a'
    else label1.Caption :='';
     
    if dbcombobox2.Itemindex = 1 then Label5.Caption:= 'b'
    else label1.Caption :='';
     
    if dbcombobox2.Itemindex = 2 then Label5.Caption:= 'c'
    else label1.Caption :='';
    end;
    end.
    Le problème c'est que quand je met item0 et item1 du dbcombobox1 , label1 ne change pas de caption , par contre item2 change le caption du label1 en 'c' . J'èspere que je me suis bien fait comprendre .Merci

  2. #2
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Label5 ???
    then Label5.Caption:= xxx

  3. #3
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 129
    Par défaut
    Citation Envoyé par Graffito Voir le message
    Label5 ???
    [Mode Donneur de Leçon ON]
    Je souligne la remarque de Graffito qui est tombé à l'oubli, b.bilel nomme tes Label\Combo avec un nom clair et compréhensible pour que si un jour tu reviens dessus tu sache à quoi correspond tes composants, j'ai des application à maintenir, avec des trucs du genre Combo17 ou Label52, et c'est la misère quand tu dois ensuite selon une option les cacher ou non par ce que cela n'était pas prévu à l'origine
    [Mode Donneur de Leçon OFF]

    Il ne faut pas perdre à l'esprit qu'un DBComboBox a un DataSet associé, avec un DataSet en Edition, normalement, le Champ contient ce qu'il y a dans le Texte ... sinon Text est hérité depuis le TControl ... mais contrairement à un TComboBox la propriété Text est juste publique et non publiée

    Au cas où, un code qui fonctionne tout le temps avec n'importe quel composant DB :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.DBComboBox1Change(Sender: TObject);
    begin
      Label1.caption := dbcombobox2.DataSource.DataSet.FieldByName(dbcombobox2.DataField).AsString;
    end;
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre chevronné
    Inscrit en
    Octobre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 338
    Par défaut
    Citation Envoyé par b.bilel Voir le message
    je voudrai chagé la valeur caption d'un label1 quand dbcombobox1 change d'item.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if dbcombobox2.Itemindex = 2 then Label5.Caption:= 'c'
    else label1.Caption :='';
    Le probléme est quand je met item0 et item1 du dbcombobox1 , label1 ne change pas de caption , par contre item2 change le caption du label1 en 'c' . J'éspere que je me suis bien fait comprendre .Merci
    Cette condition est toujours testée en dernier, donc tu auras toujours ce résultat!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TForm1.DBComboBox1Change(Sender: TObject);
    begin
      if dbcombobox2.Itemindex = 0 then Label1.Caption:= 'a'
      else if dbcombobox2.Itemindex = 1 then Label1.Caption:= 'b'
      else if dbcombobox2.Itemindex = 2 then Label1.Caption:= 'c'
      else label1.Caption :='';
    end;
    ou:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.DBComboBox1Change(Sender: TObject);
    begin
       Label1.caption := DBComboBox1.Items.Names[DBComboBox1.ItemIndex];
    end;
    à plus

  5. #5
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    A la place des if, il serait mieux d'utiliser un case

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TForm1.DBComboBox1Change(Sender: TObject);
    begin
      case dbcombobox2.Itemindex of
        0: Label1.Caption:= 'a';
        1: Label1.Caption:= 'b';
        2: Label1.Caption:= 'c';
        else label1.Caption :='';
      end;
    end;
    Sinon, si c'est pour afficher le contenu du combobox dans le label

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm1.DBComboBox1Change(Sender: TObject);
    begin
      Label1.caption := dbcombobox2.Text;
    end;
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  6. #6
    Membre chevronné
    Inscrit en
    Octobre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 338
    Par défaut
    Citation Envoyé par Rayek Voir le message

    Sinon, si c'est pour afficher le contenu du combobox dans le label

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm1.DBComboBox1Change(Sender: TObject);
    begin
      Label1.caption := dbcombobox2.Text;
    end;
    il me semble que combobox2.Text existe mais pas dbcombobox2.Text
    à +

  7. #7
    Membre confirmé Avatar de b.bilel
    Inscrit en
    Août 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 54
    Par défaut
    Salut ; Je suis trés heureux d'avoir tout ces jolies codes , sa me rassure
    Merci pour l'aide que vous nous offré .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment changer une background-position à l'aide de javascript?
    Par lefelinherbivore dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/09/2008, 22h45
  2. Changer son pseudo msn à l'aide de Perl
    Par FoxDragon dans le forum Web
    Réponses: 1
    Dernier message: 05/04/2006, 09h33
  3. Changer le style en JavaScript [besoin d'aide]
    Par maximenet dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 13/09/2005, 18h21
  4. Aide pour changer de couleur sur les primitifs GLUT
    Par romainhoarau2764 dans le forum GLUT
    Réponses: 3
    Dernier message: 19/03/2005, 14h30
  5. comment changer d'attribut de fonte dans un Tlabel?
    Par sb dans le forum Composants VCL
    Réponses: 3
    Dernier message: 21/08/2002, 17h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo