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

Lazarus Pascal Discussion :

Quelle méthode pour dupliquer des Forms


Sujet :

Lazarus Pascal

  1. #1
    Invité
    Invité(e)
    Par défaut Quelle méthode pour dupliquer des Forms
    Bonjour,

    J'hésite beaucoup : j'ai réalisé une Form qui contient diverses méthodes et composants graphiques, Form me servant initialement de modèle. Les composants sont ancrés dans la Form. Il est très important qu'elle puisse changer de taille "intelligemment". Il s'agit en l'espèce d'un emploi du temps hebbomadaire d'une classe (scolaire ).
    Je dois gérer les permutations de matières et d'enseignants semaine après semaine. On appelle cela chez nous, les emplois du temps flottants...

    Exemple : une classe de Terminale a 6 heures de maths hebdo. De début mai à mi-juin, je veux pouvoir disposer de 8 heures... Compte tenu du fait que la masse globale annuelle est définie par le Ministère, il va falloir réduire la masse hebdomadaire de mathématiques durant plusieurs semaines sur les 36 semaines totales) avec les interactions en résultant. Ce problème d'échanges d'horaires est réglé par négociations directes entre les intervenants La subtilité du cerveau humain est extraordinaire à ce niveau. Je demande à voir le programme qui fera(it) aussi bien . Donc, il ne s'agit pas de générer les emplois du temps. L'objectif du programme est de contrôler que la masse horaire de chaque matière est respectée dans le cadre des permutations, qu'il n'y a pas d'incohérence dans l'organisation (1 enseignant(e) dans 2 classes différentes en même temps,... subtilité ou pas, le cerveau humain peut avoir des défaillances ) et d'imprimer les semaines modifiées dans l'emploi du temps (classes et profs) et diverses autres traces administratives exhaustives dont notre pays a le secret.

    Donc, à un moment sur mes 2 écrans (oui il en faut 2), j'ai plusieurs grilles hehbo affichées qui doivent être interactives (notamment Drag&Drop, c'est en test)... Supposons que j'affiche l'emploi du temps hebdo de la classe de Terminale et que les semaines concernées soient 42,43, 45, 47, 48 et 22 à 26... Alors comment approcher le problème ?
    1. Créer dynamiquement les 10 fiches à partir d'un modèle ?
    2. Créer Form1 à 36 (36 semaines d'enseignement annuel) et Form42.Show; Form43.Show; ?
    3. Créer une Form0 et l'ouvrir 10 fois par show en changeant son titre... mais quid des fonctions d'interactions ?


    Je suis ouvert à toute proposition... et il me reste 1,5 mois.

    Merci cordialement. Gilles
    Dernière modification par Invité ; 19/07/2012 à 12h48.

  2. #2
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Salut

    Pour moi, la meilleure solution serait de créer dynamiquement les 10 forms.

    Par contre, je m'y prendrais peut être autrement : au lieu d'utiliser des TForm, tu peux utiliser des TFrame. C'est un objet qui ne contient que le contenu d'un TForm. L'avantage : tu peux lui définir n'importe quoi comme parent. En d'autres termes, tu peux mettre ce TFrame dans une TForm, ou dans un TPanel, un TPageControl, d'une autre fiche. Tu peux ainsi envisager d'avoir plusieurs TFrame dans un TForm. C'est peut être plus pratique que d'avoir 10 fenêtres à l'écran.

    Tu peux aussi envisager l'approche MDI ...

    Enfin, dans tous les cas, je pense que c'est mieux de créer dynamiquement tes 10 objets, et pourquoi pas de les stocker dans un tableau. Ça évitera les trucs du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var Form1, Form2, Form3, Form4, Form5, Form6 :TForm;
    Un dernier conseil. Pour que tout cela fonctionne, il faut que ton code actuel ne contienne aucune référence a la variable globale Form1 ... (pas de Form1.Edit1.Text par exemple)

    En espérant t'avoir été utile,

    Bonne chance

    Mick605

  3. #3
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    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 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    Je plussoie ce que vient d'écrire mick605.

    Par ailleurs, j'admire la clarté de ton énoncé, digne d'un prof de maths ! Et je remarque que je n'avais pas le même problème, avec 9h de maths en Terminale (en 1980...)

    Mais la gestion du déplacement par Drag&Drop des heures de cours (de classes seulement, espéré-je) doit être une fameuse prise de tête !
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  4. #4
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    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 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    Par contre, quelle que soit la structure, je suppose qu'il faut une possibilité effective de la dupliquer pour créer des semaines identiques en création dynamique, ou de MAJ à partir des données d'emploi du temps d'une fiche pour recopier d'une semaine sur l'autre.

    Le mécanisme dépendra des données : composants horaires déplaçables eux-mêmes, ou tableau établi d'après ces composants.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/07/2012, 16h54
  2. Réponses: 2
    Dernier message: 08/06/2009, 14h46
  3. [C#] Quelle méthode pour imprimer un form?
    Par Bapt.ice dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/07/2006, 19h49
  4. Quelle solution pour partager des données entre Linux ?
    Par herzleid dans le forum Administration système
    Réponses: 5
    Dernier message: 03/04/2006, 16h19
  5. [FPDF] Quelle classe pour produire des PDF simples ?
    Par boteha dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 03/11/2005, 22h55

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