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

WinDev Discussion :

trtinit? Ou autre fonction a utiliser? [WD21]


Sujet :

WinDev

  1. #1
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 219
    Points : 72
    Points
    72
    Par défaut trtinit? Ou autre fonction a utiliser?
    Bonjour,

    Je suis un peu embêté sur une de mes fenêtre.
    Voici le code

    Déclaration Golbale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PROCEDURE MaFenêtre(Action)
    sNumClient est une chaîne
    Fin d'initialisation
    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
    32
    33
    34
    35
    36
    37
    38
    SELON Action
     
    	CAS "Consultation"
    		GR_TousChampsClients..Visible=Faux
    		SI sNumClient = "" ALORS // On a déjà un numéro de client, on repasse pas dans la recherche
    			sNumClient = Ouvre(FEN_RechercheClient,"ConsultClient")
    		FIN
     
    		SI sNumClient ="" ALORS//On est sortis sans choisir de client ALORS
    			//1 : Oui
    			//2 : Non
    			SELON Dialogue("Voulez-vous créer un client ?")
    				// Oui
    				CAS 1
    					Action="Création"
    					ExécuteTraitement(FEN_Client,trtInit)
     
    				// Non
    				CAS 2
    					Ferme()
    			FIN
    		FIN
     
    		HLitRecherchePremier(CLIENT,NumClient,sNumClient)
    		SI HTrouve ALORS
    			FichierVersEcran()
    			LIB_TitreModification..Visible=Faux
    			GR_TousChampsClients..Visible=Vrai
    			GR_TousChampsClients..Etat=AffichageSeulement
    		SINON
    			Erreur("Client " + sNumClient + "inaccessible !")
    		FIN
     
    	CAS "Création"
     
     
     
    FIN

    On vois dans mon Dialogue que je change la valeur de "Action" et relance l'init de la fenêtre.
    Le souci que j'ai c'est qu'une fois qu'il a refait tout l'init (en passant par le CAS "Création") , il reviens à la suite du dialogue. Donc à mon HlitRecherchePremier.

    Comment éviter cela?

    J'utilise un peu le même style de syntaxe dans une autre fenêtre et n'ai pas eu ce problème (Je pense que je part ailleurs et du coup ça ne m'a pas gêné).

    Merci

  2. #2
    Membre du Club Avatar de ptahsokaris
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2011
    Messages : 36
    Points : 56
    Points
    56
    Par défaut
    Bonjour,

    Peut-être avec un "RETOUR" après ton "ExécuteTraitement" ?
    "Une fois, à une exécution, je m'approche d'une fille. Pour rigoler, je lui fais : « Vous êtes de la famille du pendu ? »... C'était sa sœur. Bonjour l'approche !"

  3. #3
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 219
    Points : 72
    Points
    72
    Par défaut
    Citation Envoyé par ptahsokaris Voir le message
    Bonjour,

    Peut-être avec un "RETOUR" après ton "ExécuteTraitement" ?
    Salut,

    Oui j'y pensais, mais il existe peut être quelque chose de "plus propre"?

    Merci

  4. #4
    Membre du Club Avatar de ptahsokaris
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2011
    Messages : 36
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par Nicos77 Voir le message
    Salut,

    Oui j'y pensais, mais il existe peut être quelque chose de "plus propre"?

    Merci
    Ah pour du plus propre je ferais plutôt :

    Code Initialisation du Projet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CONSTANTE
               csConsultation  = "Consultation"
               csCreation       = "Création"
    FIN
    Déclaration Globale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PROCEDURE MaFenêtre(LOCAL gsAction est une chaine) //LOCAL ou pas, selon si tu veux conserver la valeur en sortant de la fenêtre ou non
    GLOBAL
         gsNumClient est une chaîne
    Fin d'initialisation
    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
    32
    33
    34
    35
    36
    PROCEDURE pl_Initialisation()
     
    SELON gsAction
    	CAS csConsultation
    		GR_TousChampsClients..Visible=Faux
    		SI gsNumClient = "" ALORS // On a déjà un numéro de client, on repasse pas dans la recherche
    			gsNumClient = Ouvre(FEN_RechercheClient,"ConsultClient")
    		FIN
     
    		SI gsNumClient <> "" ALORS
    			SI HLitRecherchePremier(CLIENT,NumClient,gsNumClient) ALORS
    				FichierVersEcran()
    				LIB_TitreModification..Visible	= Faux
    				GR_TousChampsClients..Visible	= Vrai
    				GR_TousChampsClients..Etat		= AffichageSeulement
    			SINON
    				Erreur("Client " + gsNumClient + "inaccessible !")
    			FIN
    		SINON
    			//1 : Oui
    			//2 : Non
    			SELON Dialogue("Voulez-vous créer un client ?")
    				// Oui
    				CAS 1
    					gsAction = csCreation
    					pl_Initialisation()
     
    				// Non
    				CAS 2
    					Ferme()
    			FIN
    		FIN
     
    	CAS csCreation
     
    FIN
    "Une fois, à une exécution, je m'approche d'une fille. Pour rigoler, je lui fais : « Vous êtes de la famille du pendu ? »... C'était sa sœur. Bonjour l'approche !"

  5. #5
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 441
    Points
    2 441
    Par défaut
    Bonjour,

    Tout simplement, me semble-t-il, un SINON en ligne 22 et report du FIN de la ligne 22 en ligne 33.
    Donc, SI "" vous traitez la création ou l'abandon, SINON vous consultez.

    Bon travail,

    Hemgé

  6. #6
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 219
    Points : 72
    Points
    72
    Par défaut
    Merci à vous

    Effectivement @Hemgé

    Merci

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/03/2011, 13h00
  2. Réponses: 2
    Dernier message: 11/03/2011, 21h17
  3. Fonction Protected utilisée dans une autre classe
    Par dinguedemoi dans le forum Langage
    Réponses: 17
    Dernier message: 13/07/2009, 09h28
  4. utilisation des variables d'une autre fonction
    Par naim2009 dans le forum Interfaces Graphiques
    Réponses: 6
    Dernier message: 08/01/2009, 10h07
  5. Réponses: 2
    Dernier message: 29/08/2007, 19h43

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