PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → simplifier un code
simplifier un code
Débuté par Stephane Vital OHOU, 20 mai 2020 20:20 - 7 réponses
Membre enregistré
157 messages
Posté le 20 mai 2020 - 20:20
Bonjour à tous,
j'ai un code que je trouve trop long dans mon projet. Quelqu'un peut m'aider en le simplifiant SVP !
Voici le code que j'ai inséré dan la partie:

Clic sur bouton

SI SAI_CHAMBRE = "CHAMBRE 001" ALORS

BTN_CHAMBRE_001 = "Occupée"
BTN_CHAMBRE_001..ImageFond = Null
BTN_CHAMBRE_001..CouleurFond = RougeFoncé

EcranVersFichier()
HAjoute(INFOS_CLIENT)
HRAZ(INFOS_CLIENT)
RAZ()
FIN

SI SAI_CHAMBRE = "CHAMBRE 002" ALORS

BTN_CHAMBRE_002 = "Occupée"
BTN_CHAMBRE_002..ImageFond = Null
BTN_CHAMBRE_002..CouleurFond = RougeFoncé

EcranVersFichier()
HAjoute(INFOS_CLIENT)
HRAZ(INFOS_CLIENT)
RAZ()
FIN

SI SAI_CHAMBRE = "CHAMBRE 003" ALORS

BTN_CHAMBRE_003 = "Occupée"
BTN_CHAMBRE_003..ImageFond = Null
BTN_CHAMBRE_003..CouleurFond = RougeFoncé

EcranVersFichier()
HAjoute(INFOS_CLIENT)
HRAZ(INFOS_CLIENT)
RAZ()
FIN

SI SAI_CHAMBRE = "CHAMBRE 004" ALORS

BTN_CHAMBRE_004 = "Occupée"
BTN_CHAMBRE_004..ImageFond = Null
BTN_CHAMBRE_004..CouleurFond = RougeFoncé

EcranVersFichier()
HAjoute(INFOS_CLIENT)
HRAZ(INFOS_CLIENT)
RAZ()
FIN

SI SAI_CHAMBRE = "CHAMBRE 005" ALORS

BTN_CHAMBRE_005 = "Occupée"
BTN_CHAMBRE_005..ImageFond = Null
BTN_CHAMBRE_005..CouleurFond = RougeFoncé

EcranVersFichier()
HAjoute(INFOS_CLIENT)
HRAZ(INFOS_CLIENT)
RAZ()
FIN

SI SAI_CHAMBRE = "CHAMBRE 006" ALORS

BTN_CHAMBRE_006 = "Occupée"
BTN_CHAMBRE_006..ImageFond = Null
BTN_CHAMBRE_006..CouleurFond = RougeFoncé

EcranVersFichier()
HAjoute(INFOS_CLIENT)
HRAZ(INFOS_CLIENT)
RAZ()
FIN

SI SAI_CHAMBRE = "CHAMBRE 007" ALORS

BTN_CHAMBRE_007 = "Occupée"
BTN_CHAMBRE_007..ImageFond = Null
BTN_CHAMBRE_007..CouleurFond = RougeFoncé

EcranVersFichier()
HAjoute(INFOS_CLIENT)
HRAZ(INFOS_CLIENT)
RAZ()
FIN

SI SAI_CHAMBRE = "CHAMBRE 008" ALORS

BTN_CHAMBRE_008 = "Occupée"
BTN_CHAMBRE_008..ImageFond = Null
BTN_CHAMBRE_008..CouleurFond = RougeFoncé

EcranVersFichier()
HAjoute(INFOS_CLIENT)
HRAZ(INFOS_CLIENT)
RAZ()
FIN

SI SAI_CHAMBRE = "CHAMBRE 009" ALORS

BTN_CHAMBRE_009 = "Occupée"
BTN_CHAMBRE_009..ImageFond = Null
BTN_CHAMBRE_009..CouleurFond = RougeFoncé

EcranVersFichier()
HAjoute(INFOS_CLIENT)
HRAZ(INFOS_CLIENT)
RAZ()
FIN

SI SAI_CHAMBRE = "CHAMBRE 010" ALORS

BTN_CHAMBRE_010 = "Occupée"
BTN_CHAMBRE_010..ImageFond = Null
BTN_CHAMBRE_010..CouleurFond = RougeFoncé

EcranVersFichier()
HAjoute(INFOS_CLIENT)
HRAZ(INFOS_CLIENT)
RAZ()
FIN

NB: Ici encore je n'ai fais que copier une partie sinon le code vas jusqu'à 50, soit 50 fois copiés.

Merci.

--
Très respectueusement
Membre enregistré
334 messages
Posté le 20 mai 2020 - 21:09
Regarde du côté des indirections, tu devrais pouvoir diviser ton code par 10.

--
———————————————————————————————————
Ce qui se conçoit bien se code clairement et se débogue facilement...

- Pastiche d’une citation de Nicolas Boileau -
Membre enregistré
334 messages
Posté le 20 mai 2020 - 21:10
https://doc.pcsoft.fr/fr-FR/?1512005&name=

--
———————————————————————————————————
Ce qui se conçoit bien se code clairement et se débogue facilement...

- Pastiche d’une citation de Nicolas Boileau -
Membre enregistré
948 messages
Posté le 20 mai 2020 - 22:54
Bonsoir
sNumber est une chaîne = ExtraitChaîne(SAI_CHAMBRE, 2, " ")
{"BTN_CHAMBRE_" + sNumber, indChamp} = "Occupée"
{"BTN_CHAMBRE_" + sNumber, indChamp}..ImageFond = Null
{"BTN_CHAMBRE_" + sNumber, indChamp}..CouleurFond = RougeFoncé
EcranVersFichier()
HAjoute(INFOS_CLIENT)
HRAZ(INFOS_CLIENT)
RAZ()

cela devrait faire l'affaire.

--
« L'erreur ne devient pas vérité parce qu'elle se propage et se multiplie ; la vérité ne devient pas erreur parce que nul ne la voit. » Gandhi
Membre enregistré
157 messages
Posté le 20 mai 2020 - 23:31
Salut à tous.
Merci pour la réflexion sur mon code. Merci surtout à toi Monsieur PHILIPPE PASQUALI. Ton code est extraordinaire. Il fonctionne comme je l'aurais voulu. Merci.
Très respectueusement à tous.
Très respectueusement PHILIPPE

--
Très respectueusement
Membre enregistré
1 002 messages
Posté le 21 mai 2020 - 10:52
Bonjour,

Votre code sous-entend, que vous avez créer un bouton pour chaque chambre, pourquoi ne pas avoir créer une zone répétée ?

Jordan
Membre enregistré
157 messages
Posté le 22 mai 2020 - 15:10
Merci Jordan,
Je vais exécuté un autre projet avec le conseil que vous venez de me donner. Je crois que je pourrais faire vraiment de grandes choses.
Merci

--
Très respectueusement
Membre enregistré
5 messages
Posté le 22 mai 2020 - 23:11
sNUMCHAMBRE est une chaîne = droite(SAI_CHAMBRE, 3)
{"BTN_CHAMBRE_" + sNUMCHAMBRE, indChamp} = "Occupée"
{"BTN_CHAMBRE_" + sNUMCHAMBRE, indChamp}..ImageFond = Null
{"BTN_CHAMBRE_" + sNUMCHAMBRE, indChamp}..CouleurFond = RougeFoncé
EcranVersFichier()
HAjoute(INFOS_CLIENT)
HRAZ(INFOS_CLIENT)
RAZ()

--
Babas34