Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : TIBTable et TIBQuery - Récupérer les Displaylabel en une seule procedure [ Base de données / Autre ] (simonpelloquin)

vendredi 13 juillet 2007 à 15:33:30 | TIBTable et TIBQuery - Récupérer les Displaylabel en une seule procedure

simonpelloquin

Bonjour

A partir du tutoriel de DelphiProg (j'adore ce tutoriel !), j'essaie de modifier le composant TComboBox pour le remplir automatiquement avec les displaylabel d'un composant de base de données firebird. Ça donne ça :

-----------------------------------------------------------------------------------
unit Umdf_ComboBox;

interface

uses stdctrls, IBCustomDataSet;

type TComboBox = Class(stdctrls.TComboBox)
     Private

     Public

     published
              procedure BuildFieldList(ADataSet: TIBDataSet);
     End;


implementation

procedure TComboBox.BuildFieldList(ADataSet: TIBDataSet);
var
   i : integer;
begin
     Items.Clear;
     For i := 0 to ADataSet.Fields.Count - 1 do begin
         Items.Add(ADataSet.Fields[i].DisplayLabel);
     End;
end;
----------------------------------------------------------------------------------

Le problème, c'est que j'aimerais par la suite pouvoir rechercher les displaylabel d'un TIBTable ou d'un TIBQuery. Existe-t-il un moyen autre que de faire deux procédures distincte ?

Merci


Simon

vendredi 13 juillet 2007 à 16:30:36 | Re : modification de composant

f0xi

Membre Club Administrateur CodeS-SourceS

petite correction de rien du tout :


procedure TComboBox.BuildFieldList(ADataSet: TIBDataSet);
var i : integer;
begin
  with Items do
  begin
    Clear;
    BeginUpdates;
    try
      For i := 0 to ADataSet.Fields.Count-1 do
        Add( ADataSet.Fields[i].DisplayLabel );
    finally
      EndUpdates;
    end;
  end;
end;


vendredi 13 juillet 2007 à 16:50:53 | Re : modification de composant

cirec

Membre Club Administrateur CodeS-SourceS
On pouvait même encore se passer d'un bloc Begin/End 

procedure TComboBox.BuildFieldList(ADataSet: TIBDataSet);
var
   i : integer;
begin
  With Items do Try
    Clear;
    BeginUpdates;
     For i := 0 to ADataSet.Fields.Count - 1 do
         Items.Add(ADataSet.Fields[i].DisplayLabel);
  Finally
    EndUpdates;
  End;
end;

 
@+
Cirec


vendredi 13 juillet 2007 à 17:45:22 | Re : modification de composant

simonpelloquin

Merci les gars...
Mais je voudrais surtour savoir comment ça pourrait marcher avec un ttable et un tibquery... pour le moment, j'ai fait un BuildTFieldList pour le ttable et un BuildQFieldList pour le tibquery...

Simon

vendredi 13 juillet 2007 à 18:07:31 | Re : modification de composant

florenth

Membre Club
Salut !
Toujours dans la logique d'optimisation de Cirec, on pourrait appeler BeginUpdate (sans "s") avant Clear comme ça, on a un rafraîchissement de moins.
Il est quand même préférable d'appeler BeginUpdate avant le "try" (ou alors en tout premier). Sinon, si le code plante entre le "try" et le BeginUpdate, on appelle EndUpdate (qui va décrémenter un compteur que l'on a pas incrémenter... et bousiller tout le code utilisant de nouveau la séquence Beginupdate...Endupdate)

++

vendredi 13 juillet 2007 à 19:11:07 | Re : modification de composant

simonpelloquin

Je suis bien d'accord avec toi florenth... mais ça ne répond pas à la question posée

Simon

vendredi 13 juillet 2007 à 20:26:01 | Re : modification de composant

japee

Membre Club Administrateur CodeS-SourceS
Simon a raison, revenons à la question posée.

Personnellement, je pense que les champignons, il faudrait les faire sauter.
Les champignons sautés gardent toute leur saveur...

out1.gif

vendredi 13 juillet 2007 à 21:17:43 | Re : modification de composant

simonpelloquin

Japee :
A noter que les cepes se font très bien en conserve. Et quand tu les sors du bocal, tu  les sautes à la poele et ils sont comme s'ils étaient frais... (foi de landais !)
(J'aime bien les girolles aussi)

Et sinon, ma question ?

Simon

samedi 14 juillet 2007 à 01:29:42 | Re : modification de composant

Francky23012301

Membre Club
"Les champignons sautés gardent toute leur saveur" : Et Buffy aussi elle garde toute sa saveur quand elle est s.... ? (Le big Troll )

samedi 14 juillet 2007 à 10:28:57 | Re : modification de composant

florenth

Membre Club
Les IBTable et IBQuery ne possèdent-ils pas une propriété DataSet par hazard ?


1 2

Cette discussion est classé dans : end, composant, tcombobox, adataset, displaylabel


Répondre à ce message

Sujets en rapport avec ce message

Création de composant [ par Don0Choa ] Lu,Voila mon problème:J'ai essayé de créer un composant (bah oui jvoulé voir quoi...)mais quand je veux l'installer bah la ca par en cou...Quand ya pa Composant et Message Windows - Comment ? [ par glt0732 ] Voila j'ai un gros probléme, et même l'aide de Delphi ne m'a pas donnée la réponse, enfin si, mais ça marche pas ! Alors s'il vous plait Aidez-Moi. Un créeation de composant [ par mathieu57100 ] bonjour,j'ai suivis un tuto pour la création de composant, un label qui ressemble à un lien hypertexte et qui lance soit le navigateur par défaut soit Composant dans une propriété de composant [ par Piziwate ] Bonjour à tous !Je débute dans la création de composants et je n'arrive pas a faire quelque chose de très simple... En fait je suis en train de dévelo Retransformer un Tcontrol en Tcombobox [ par dederfred ] Retransformer un  Tcontrol en  Tcombobox : par ceci je veux dire est t'il possible de réaffecter mon TabPagepiece.Controls[NumTableau] au composant qu Creation d'un composant graphique [ par Sat83 ] Bonjour!Je me suis lancée dans la création de mon premier composant graphique, mais j'ai un petit probleme.En gros, je veut creer un composant de type Procedure KeyPress dans un composant dérivé de TWinControl [ par Francky23012301 ] Salut à tous,Je suis entrain de faire un composant dérivé de TWinControl. Tout va bien sauf que j'essaye d'utiliser la procedure KeyPress : je ne sais effacer un composant crée dynamiquement [ par fidji ] Bonjour, J'ai un problème lié à la construction et destructions de composants dynamiquement.Lorsque je veux détruire le composant composant pour ajouter les la propriété CHAR_SET, Font [ par lehcen ] Bonjour,je mets ce composant dans un seul but,pour changer les propertes FONT et CHARA_SET de MAINMENU, le composant eté hérité d'un TMAINMENU,------- pb de module [ par mathieu57100 ] bonjour je débute en delphi et j'ai un ptit prob...j'ai dans mon projet un module de données dans lequel j'ai mis un composant TIdSMTP1 et un TIdMessa


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.