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

4D Discussion :

Script objet avant methode formulaire?


Sujet :

4D

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 71
    Points : 35
    Points
    35
    Par défaut Script objet avant methode formulaire?
    Bonjour,

    Jaimerai savoir, entre la methode d'un formulaire et le script d'un objet contenu dans le formulaire, lequel des 2 s'execute en premier? Est ce le script ou la méthode?

    Merci d'avance

  2. #2
    Membre averti
    Homme Profil pro
    Bientôt retraité
    Inscrit en
    Juillet 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Bientôt retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 312
    Points : 385
    Points
    385
    Par défaut
    Je viens de faire un test deux boutons un ancien et un nouveau sur un formualire déjà existant.
    D'abord l'action sur les boutons puis l'action sur le formulaire.

    A +

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 71
    Points : 35
    Points
    35
    Par défaut
    merci beaucoup

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 71
    Points : 89
    Points
    89
    Par défaut
    Bonjour,

    En effet ce sont d'abord les méthodes objets qui sont exécutées par 4D dans leur ordre de création et ensuite la méthode formulaire.

    Vous pouvez connaître l'ordre de création des objets d'un formulaire grâce à la commande : LIRE OBJETS FORMULAIRE.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 71
    Points : 35
    Points
    35
    Par défaut
    Jai encore une question,
    jai créer un formulaire contenant plusieurs champs et boutons "ok".
    Jai associer a 2 champs et 1 bouton des scripts et jai aussi creer une methode formulaire.

    si les scripts des objets "champs" sexecutent, il restera toujours le script de l'objet "bouton" qui s'executera que lorsque je cliquerai dessus.

    Ma question est donc : Quand est ce que la methode formulaire s'executera? Avant, pendant ou apres que jai cliquer sur le bouton?

    Merci

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 71
    Points : 89
    Points
    89
    Par défaut
    En fait dans votre méthode formulaire, il est conseillé d'utiliser les évenements formulaires.

    Dans la partie "événements" de la "liste des propriétes" des objets et des formulaires, vous avez la possibilité de cocher certains événements (ex: sur clic, sur chargement, etc...) qui pousseront 4D à "regarder" votre code.

    Ces différents événements seront ensuite traiter de manière individuelle dans votre code pour obtenir le comportement que vous désirez en fonction des cas.

    Voici un exemple de code que vous pourriez avoir dans une méthode formulaire :

    Au cas ou
    : (Evenement formulaire=Sur chargement)
    ` ...
    : (Evenement formulaire=Sur gain focus)
    ` ...
    : (Evenement formulaire=Sur perte focus)
    ` ...
    Fin de cas

    Vous pouvez vous rapprocher de la documentation sur cette commande ici : http://4d.developpez.com/documentati...F/CMF00388.HTM

  7. #7
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 71
    Points : 35
    Points
    35
    Par défaut
    merci pour votre reponse.
    je comprend mieux l'ordre des choses maintenant.

    je sais maintenant que mon probleme de variable qui s'affiche lors de laffichage du formulaire de sortie n'est pas dû aux evenements formulaires.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 71
    Points : 35
    Points
    35
    Par défaut
    est ce quil est possible de definir l'ordre des script?
    par exemple, dire que sur tel evenement formulaire, il faut que ce soit le script 1 avant le script 2 et inversement sur un autre evenement formulaire.

    merci d'avance

  9. #9
    Membre averti
    Homme Profil pro
    Bientôt retraité
    Inscrit en
    Juillet 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Bientôt retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 312
    Points : 385
    Points
    385
    Par défaut
    Je ne voies pas très l'objectif mais par exemple.

    c_entier long($evt)

    $evt:=evenement formulaire

    au cas ou
    $evt=sur chargement)
    Scritp1
    Script2

    $evt=sur liberation)
    Scritp2
    Script1

    fin de cas

    A +

  10. #10
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 71
    Points : 35
    Points
    35
    Par défaut
    lorsque j'execute mon application, a un moment de l'execution, il y a une methode formulaire qui s'execute avant les script objet.
    d'apres votre reponse precedement, normalement le script objet doit s'executer avant la methode formulaire. Jai fait un test ac la commande trace sur la version originale de la base =>pas de soucis. Par contre sur la version sur laquelle je travaille la methode formulaire s'execute avant le script objet.

    voila pourquoi jaimerai savoir sil y a un moyen d'interagir sur l'ordre d'execution des scripts.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Points : 18
    Points
    18
    Par défaut
    4D ira voir en premier le code de la méthode objet, mais l'ordre d'exécution des scripts entre une méthode formulaire et une méthode objet dépend des événements que vous utilisez.

    Par exemple si vous utilisez un événement sur chargement dans une méthode formulaire et un événement sur clic dans une méthode objet, c'est le code de la méthode formulaire qui s'exécutera en premier.

  12. #12
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 71
    Points : 35
    Points
    35
    Par défaut
    voila ce que jai coché ds les evenements formulaires :
    validation
    appel exterieur,
    menu selectionné,
    ouverture/fermeture corps
    clic/double clic/clic long/clic fleche
    donnée modifié
    deposé,
    minuteur,
    entete,
    impression sos total/corps/pied de ligne
    affichage corps,
    appel zone plugin
    apres modifications

    tous ces evenements sont coché pour la methode formulaire.

    voici ceux qui sont cochés pour les scripts objets:
    chargement,
    validation,
    clic,
    données modifiées,
    entete,
    impression sous total/corps/pied de ligne,
    affichage corps

    parmis ts les evenements possibles, quels sont ceux quil faut que je coche pour que le script objet s'execute avant la metrhode formulaire?

    merci d'avance

  13. #13
    Membre averti
    Homme Profil pro
    Bientôt retraité
    Inscrit en
    Juillet 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Bientôt retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 312
    Points : 385
    Points
    385
    Par défaut
    Bon, on va reprendre le problème du début.
    Ton formulaire, c'est un formualire 'Sortie' ou 'Saisie'.

    Pour les scripts personnelement j'ajoute la gestions de évenenements afin de savoir précisement à quel moment je veux mon action (sans avoir à regarder dans les propriétés du formulaire) et, éviter des soucis lors d'une mise à jour.

    Peux-tu nous donner une idée de ce que tu veux faire. Eventuellement, l'action que tu mets sur chargement de ton bouton peut très bien êre mise sur le chargement du formulaire avant celel que tu as déjà. Cela te permettra d'être sur que celle-ci aura lieu avant.

    A+

  14. #14
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 71
    Points : 35
    Points
    35
    Par défaut
    pour commencer par le commencement:
    mon formulaire est un formulaire de saisie sur lequel jai mis une methode formulaire.

    et dans ce formulaire, jai 2 champs sur lesquels jai associé des scripts.
    Dans l'execution, il est necessaire que ces scripts soit executés avant la methode formulaire car ils font des tests qui seront necessaire, par la suite, a la methode formulaire.

    pour la gestion des evenements formulaires, aucun n'est gérés dans la methode. Ils sont tous gérés dans les proporiétés.

  15. #15
    Membre averti
    Homme Profil pro
    Bientôt retraité
    Inscrit en
    Juillet 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Bientôt retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 312
    Points : 385
    Points
    385
    Par défaut
    Au lieu de faire le traitement sur les champ, est-il possible de mettre ces traitements dans le formulaire.
    Exemple
    Champ 1
    sur chargement TraitChamp1
    Champ 2
    sur chargement Traitchamp2
    Formulaire
    sur chargement TraitForm

    Cela pourrait devenir
    Champ 1 et 2 plus rien
    Formulaire
    TraitChamp1
    TraitChamp2
    TraitForm

    A +

  16. #16
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 71
    Points : 35
    Points
    35
    Par défaut
    ca pourrait etre possible, cependant quest ce quil faudrait mettre pour dire que l'on travaille dans le champ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Au cas ou
       :(evenement formulaire = affichage corp)
            (Traitement du champ 1)  <= comment je peu specifié a 4D qu'il s'agit du champ 1?
       :(evenement formulaire = affichage corp)
             (Traitement du champ 2)
       :(evenement formulaire = affichage corp)
             (Traitement du formulaire)
    Fin de cas

  17. #17
    Membre averti
    Homme Profil pro
    Bientôt retraité
    Inscrit en
    Juillet 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Bientôt retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 312
    Points : 385
    Points
    385
    Par défaut
    Le problème se complique un peu.
    Dans un formulaire liste voici l'ordre d'exécution des evenements.

    D'abord sur chargement du champ (ou des champs). Il n'y a qu'un passage
    Ensuite Sur chargement du formulaire . Il n'y a qu'un passage
    Ensuite sur affichage corps . Un passage par ligne.
    Pour pouvoir t'aider un peu plus, peux tu préciser ce que tu attends.

    A +

  18. #18
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 71
    Points : 35
    Points
    35
    Par défaut
    Il s'agit d'un formulaire d'entrée, le formulaire Liste est sur l'autre post

    Jai mis les scripts objets avec la methode formulaire comme tu me l'avais conseiller pour que je n'ai pas a m'inquiété de l'ordre. Le resultat est celui que j'attend donc merci bcp pour ton aide.

    Merci a tt le monde aussi.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/03/2006, 12h53
  2. Réponses: 7
    Dernier message: 11/02/2006, 15h32
  3. Réponses: 1
    Dernier message: 11/02/2006, 12h50
  4. Réponses: 4
    Dernier message: 30/01/2006, 03h08
  5. Classe ou script de validation des formulaires.
    Par __fabrice dans le forum Langage
    Réponses: 22
    Dernier message: 30/12/2005, 10h26

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