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

Delphi Discussion :

Récupération de données dans Frame dynamique


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Enseigant en EPS et responsable informatique d'un établissement scolaire à la retraite.
    Inscrit en
    Octobre 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseigant en EPS et responsable informatique d'un établissement scolaire à la retraite.
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 84
    Par défaut Récupération de données dans Frame dynamique
    Bonjour à tous,
    -j'ai crée une frame contenant un masque de saisie (plusieurs edits).
    -j'ai crée un page control sans onglet au départ.
    A l'exécution je crée dynamiquement des onglets qui contiennent chacune une frame.
    voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    procedure TF_Construction_QCM.B_Nouvelle_QuestionClick(Sender: TObject);
    begin
      // ajout d'un onglet
      t := TTabSheet.Create(self);
      t.PageControl := pageControl1;
      t.Caption := 'Q ' + intToStr(pageControl1.PageCount);
      // ajout d'une frame dans l'onglet
      xframe := TMasque_quest_prop.Create(self);
      with xframe do
      begin
        name := 'Q' + intToStr(pageControl1.PageCount);
        align := AlClient;
        parent := t;
        L_Question.Caption := 'Question ' + intToStr(pageControl1.PageCount);
      end;
      // Activation du nouvel onglet
      pageControl1.ActivePage := t;
    end;
    Lorsque j'essaie de récupérer le texte d'un édit dans une onglet donnée je ne récupère que celui de la dernière frame crée :
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TF_Construction_QCM.SpeedButton1Click(Sender: TObject);
    var i : integer;
    begin
    for i := 0 to pageControl1.PageCount-1 do
    begin
      memo1.Lines.add(xframe.edit1.text);
    end;
    end;
    Au clic sur ce speedbutton j'aimerai récupérer les informations de tous les edit1 sur chaque frame.

    Merci de votre aide je travaille avec D7
    A bientôt

  2. #2
    Membre extrêmement actif
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 219
    Par défaut
    Bonjour,

    oui c'est normal puisque XFrame pointe sur le dernier objet créé. Pour faire ce que tu cherche il faudrait faire qque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TF_Construction_QCM.SpeedButton1Click(Sender: TObject);
    var i : integer;
    begin
    for i := 0 to pageControl1.PageCount-1 do
    begin
      memo1.Lines.add( TMasque_quest_prop( findcomponent('Q' + inttostr(i))).Edit1.text);
    end;
    end;
    (je n'ai pas testé le code mais ça devrait pas être loin)

    Joyeux Noël
    Dany

  3. #3
    Membre confirmé
    Homme Profil pro
    Enseigant en EPS et responsable informatique d'un établissement scolaire à la retraite.
    Inscrit en
    Octobre 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseigant en EPS et responsable informatique d'un établissement scolaire à la retraite.
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 84
    Par défaut Erreur violation d'accés
    Tout d'abord, merci pour ta réponse.
    A la lecture du code que tu me suggères j'ai bien cru tenir la solution. Malheureusement à l'exécution ça plante avec violation d'accès.
    Si tu as une suggestion, je suis preneur.

  4. #4
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Salut, SkyWaukers ne doit pas être loin de la solution !

    Essaye plutot avec cette itération:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      for i := 1 to pageControl1.PageCount do
    Je n'ai pas testé non plus !
    @+ Claudius

  5. #5
    Membre confirmé
    Homme Profil pro
    Enseigant en EPS et responsable informatique d'un établissement scolaire à la retraite.
    Inscrit en
    Octobre 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseigant en EPS et responsable informatique d'un établissement scolaire à la retraite.
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 84
    Par défaut Un grand merci
    Merci les gars, vous êtes géniaux.
    Bonnes fêtes de fin d'année !!!

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

Discussions similaires

  1. [MySQL] Récupération des données dans liste déroulante dynamique
    Par shenmicke dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 02/09/2009, 17h02
  2. [VB]Récupération de données dans Excel
    Par jeanangel dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/01/2006, 00h30
  3. Réponses: 16
    Dernier message: 10/11/2005, 22h10
  4. Réponses: 6
    Dernier message: 23/10/2005, 13h24
  5. récupération de données dans un TDBControlGrid
    Par dableuf dans le forum Bases de données
    Réponses: 3
    Dernier message: 22/11/2004, 15h25

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