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 FMX Delphi Discussion :

Fermer toute les formes jusqu'à la forme principale [Android]


Sujet :

Composants FMX Delphi

  1. #1
    Membre éprouvé
    Avatar de Aooka
    Homme Profil pro
    Scripting Powershell & Wlangage
    Inscrit en
    Juillet 2015
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Scripting Powershell & Wlangage

    Informations forums :
    Inscription : Juillet 2015
    Messages : 227
    Points : 1 095
    Points
    1 095
    Par défaut Fermer toute les formes jusqu'à la forme principale
    Bonjour,

    Je vous poste un exemple de hiérarchisation d'une application delphi FMX.
    Les cadres rouges sont des formes.
    Les étoiles vertes sont des boutons qui sont censés lorsque l'on clique dessus fermé toutes les pages qui se sont empilé jusqu'à la forme principale (en gros, c'est un bouton "Home"). Si vous voulez.
    Les flèches noire montre qu'elle form show quelle form.

    Nom : exemple.png
Affichages : 307
Taille : 19,5 Ko

    Voilà il faudrait parcourir tout les parents un truc du genre jusqu'au parent principal mais en code je ne vois pas comment faire.


    Je vous remercie d'avance,
    Bonne journée à tous,
    Bien Cdt,

  2. #2
    Membre éprouvé
    Avatar de Aooka
    Homme Profil pro
    Scripting Powershell & Wlangage
    Inscrit en
    Juillet 2015
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Scripting Powershell & Wlangage

    Informations forums :
    Inscription : Juillet 2015
    Messages : 227
    Points : 1 095
    Points
    1 095
    Par défaut
    Un début de code, qui, ferme toute les formes y compris page principal et page courante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    procedure TFormCreaDA.BTN_GoMainClick(Sender: TObject);
    var
      I : Integer;
    begin
      for I := 0 to Screen.FormCount - 1 do
      Begin
        if (Screen.Forms[I] <> FormCreaDA) And (Screen.Forms[I] <> FormMain) then
        Begin
          Screen.Forms[I].Close;
        End;
      End;
     // Self.Close;
    end;

  3. #3
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    il y a-t-il un intérêt à cet empilement ? sinon il suffit de remplacer la fiche N par la fiche N+1 et ne garder qu'un seul niveau de profondeur.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  4. #4
    Membre éprouvé
    Avatar de Aooka
    Homme Profil pro
    Scripting Powershell & Wlangage
    Inscrit en
    Juillet 2015
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Scripting Powershell & Wlangage

    Informations forums :
    Inscription : Juillet 2015
    Messages : 227
    Points : 1 095
    Points
    1 095
    Par défaut
    Bonjour,

    Oui il y a un intérêt car sur certaine fiches l'on souhaitera revenir simplement sur la page parente/précédente via un bouton autre que le bouton home qui, lui, fermera toute les pages/fiches sauf la page principal (ici FormMain).

    Edit:
    J'ai l'impression que comme ça sa marche, je vais tester sur la plupart de mes pages, et je marque résolu si c'est bon.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var
      I : Integer;
    begin
      for I := 0 to Screen.FormCount - 1 do
      Begin
        if (Screen.Forms[I].Name <> 'FormCreaDA') And (Screen.Forms[I].Name <> 'FormMain') then
        Begin
          Screen.Forms[I].Close;
        End;
      End;
      Self.Close;
    end;

  5. #5
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 699
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 699
    Points : 13 138
    Points
    13 138
    Par défaut
    A moins d'avoir défini l'événement OnClose et de lui passer caFree, tes fiches sont juste masquées mais pas détruites.
    La fiche principale sera toujours Screen.Forms[0] (la boucle devrait commencer à 1 pour éviter le test) mais si tu veux t'en assurer, Screen.Forms[I] <> Application.MainForm.

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

Discussions similaires

  1. [Débutant] Fermer toutes les fenêtres sauf la principale
    Par Taiby dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 19/07/2013, 17h08
  2. obligation de fermer toutes les fenetres
    Par nicolovitch dans le forum Access
    Réponses: 1
    Dernier message: 07/10/2006, 17h52
  3. Réponses: 3
    Dernier message: 26/05/2006, 17h35
  4. Fermer toutes les fenetres
    Par imeys dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 09/04/2006, 12h06
  5. [VB6] Quitter l'appli et fermer toutes les feuilles...
    Par The Bob dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 10/06/2003, 21h06

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