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

Langage Delphi Discussion :

créer une fiche a partir d'une autre fiche sous delphi


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Femme Profil pro
    genie des systemes automatisés
    Inscrit en
    Avril 2013
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : genie des systemes automatisés
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 49
    Points : 60
    Points
    60
    Par défaut créer une fiche a partir d'une autre fiche sous delphi
    Je voudrais savoir comment créer une fiche(fiche A) a partir d'une autre fiche(fiche B) en réalisant un bouton dans cette fiche (fiche B) sous delphi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TFicheB.Bouton1Click(Sender: TObject);
     var .............
    begin
     dans cette partie je sais pas  la syntaxe exact pour appeler ma fiche créer  
    end;

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 886
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 886
    Points : 11 411
    Points
    11 411
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure TFicheB.Bouton1Click(Sender: TObject);
    var
      FormA: TFormA;
      Res: integer;
    begin
      FormA := TFormA.Create(self); // self => propriétaire = fiche de type B (ou Application, ou nil si tu gères la destruction)
      Res := FormA.ShowModal;
      case Res of
      // ..
      end;
      FormA.Free;
    end;
    A adapter en fonction de l'utilisation (fiche non modale => ne pas garder sa référence dans une variable locale) ; création/utilisation/libération sans garder de référence dans une variable (with TFormA.Create do ...)

  3. #3
    Membre du Club
    Femme Profil pro
    genie des systemes automatisés
    Inscrit en
    Avril 2013
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : genie des systemes automatisés
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 49
    Points : 60
    Points
    60
    Par défaut
    enfaite j ai fait ceci mais j ai un souci quand je compile en mode débogage j'ai une erreur 'impossible de rendre modale un fenêtre visible'
    en prenant en compte que j'ai enlevé ceci de ma fiche principale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.CreateficheA(TForm1, Form1);
    Voila ce que j'ai réalisé sous delphi
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    procedure TFicheB.Bouton1Click(Sender: TObject);
     var 
     listresultats: TobjectList;
      Horaire : boolean;
      SerieTemps, Serietheta: TLineSeries;
    begin
    listresultats:=ResultatsSelectionnes();
    if (listresultats.Count= 1) then
    begin
    serietheta:=tlineseries.Create(self); //,Tobjetmultimetre a rjouter dans mon  constructeur
    ficheA:=TficheA.Create(nil,OrdonneeSelectionnee,Tobjetresultats(listresultats.items[0]),TLineSeries(SerieTheta)); //items nimporte kel objet dans la liste (mon objet)
      fichecalculethermique.showmodal;// Mon Programme  bloque dans cette ligne  
    if ficheCalculeThermique.ModalResult =mrOk then//Validation de la fenêtre
    begin
     NombrePoints := 5000;
      Horaire:=RadioAbscisseHoraire.Checked;
     SerieTheta.title:='temperature d''échauffement -'+PanneauOnglets.ActivePage.Caption;
     
    //Changement d'onglet de temperature
      NouvelOnglet();
      CreerGraphique(PanneauOnglets.ActivePage);
      setlength(ProprietesOnglet,PanneauOnglets.ActivePage.TabIndex+1);
     
      ProprietesOnglet[PanneauOnglets.ActivePageIndex].Temperature.Actif:=true;
      ProprietesOnglet[PanneauOnglets.ActivePageIndex].Temperature.SerieTemperature:=serietheta;
      ProprietesOnglet[PanneauOnglets.ActivePageIndex].Temperature.Horaire:=Horaire;
     ChargerOnglet();
      end
    end
    end;
    je sais pas comment résoudre ceci est ce que il y a une autre instruction apart le showmodal

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15
    Points : 20
    Points
    20
    Par défaut
    Apparemment, tu essaies de ré-afficher en modal une fenêtre déjà affichée à l'écran.

    Qu'est-ce que tu souhaites faire réellement, fonctionnellement parlant ?
    Autrement dit, à quoi te sert ces fiches A et B, et à quel moment tu souhaites les voir s'afficher, dès que la température baisse ou autre chose ?

    Sinon la méthode que te donne tourlourou fonctionne parfaitement, l'as-tu essayée ?

    PS : Si tu souhaites simplement afficher une fenêtre comme une boite à outils, essaye simplement FicheA.Show.

  5. #5
    Membre du Club
    Femme Profil pro
    genie des systemes automatisés
    Inscrit en
    Avril 2013
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : genie des systemes automatisés
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 49
    Points : 60
    Points
    60
    Par défaut
    enfaite ma ficheA est une fiche qui calcule ma température initiale et aussi a l'aide d'un autre algorithme elle me sort un fonction (température,temps)
    grâce au calcule par itération quand cette fenetre sera affiché l'utilisateur ne doit pas avoir la main sur la fiche B .

    ma ficheB récupéré ces donné a l'aide du constructeur de la ficheA pour les affiché.

    concernant la liaison entre les 02 fiches j ai créé un bouton dans ma fiche a lors que je exécute mon programme mon bouton est affiché et quand je clique la fenêtre de la fiche A doit être visible a l'utilisateur mais j'ai un message d'erreur

    fichecalculethermique= ficheA // J'ai oublié de mettre ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fichecalculethermique.showmodal;// Mon Programme  bloque dans cette ligne  
    if ficheCalculeThermique.ModalResult =mrOk then//Validation de la fenêtre
    le problème c est dans showmodal

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 306
    Points : 41 792
    Points
    41 792
    Billets dans le blog
    65
    Par défaut
    pour tester le modal result , c'est ainsi qu'il faudrait faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if fichecalculethermique.showmodal=mrOk then //Validation de la fenêtre

  7. #7
    Membre du Club
    Femme Profil pro
    genie des systemes automatisés
    Inscrit en
    Avril 2013
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : genie des systemes automatisés
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 49
    Points : 60
    Points
    60
    Par défaut
    j ai déjà essayé ceci et j'ai toujours une erreur 'le projet a déclenché la classe exception EInvalideOperation avec le message impossible de rendre modale un fenêtre visible'

  8. #8
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 306
    Points : 41 792
    Points
    41 792
    Billets dans le blog
    65
    Par défaut
    il faut regarder dans le projet (source) , il ne faut pas que cette fiche soit crée automatiquement . Ou alors regarder dans les options du projet et mettre cette fiche en disponible

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/10/2010, 12h46
  2. Réponses: 2
    Dernier message: 05/03/2010, 15h15
  3. créer une liste a partir d'une autre feuille ?
    Par deuval dans le forum Excel
    Réponses: 2
    Dernier message: 23/07/2009, 12h12
  4. [VB6]créer une textebox a partir d'une autre textbox
    Par shaka84 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 16/12/2006, 17h47
  5. Créer une table a partir d'une autre table/Vue
    Par TangoZoulou dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 09/11/2006, 11h45

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