[WD 15] optimisation algo

6 réponses
Avatar
JeAn-PhI
bonjour,

j'ai 3 champs de saisie, je souhaiterais faire des contrôles de saisie
sur ces champs afin de ne garder que les solutions suivantes :
- soit tous les champs sont vides
- soit tous les champs sont remplis

toutes les autres solutions (remplissage partiel) ne sont pas acceptés

afin de ne pas pondre du code à rallonger en testant avec des SI toutes
les possibilités j'aurais aimé trouver un algo optimisé mais je
n'arrive pas à le faire

qq'un pourrait il me donner une piste ?

merci

--
Cordialement JeAn-PhI

6 réponses

Avatar
Stéphane
Le 03/10/2012 14:34, JeAn-PhI a écrit :
bonjour,

j'ai 3 champs de saisie, je souhaiterais faire des contrôles de saisie
sur ces champs afin de ne garder que les solutions suivantes :
- soit tous les champs sont vides
- soit tous les champs sont remplis

toutes les autres solutions (remplissage partiel) ne sont pas acceptés

afin de ne pas pondre du code à rallonger en testant avec des SI toutes
les possibilités j'aurais aimé trouver un algo optimisé mais je n'arrive
pas à le faire

qq'un pourrait il me donner une piste ?

merci




Euh ...

Si (ch1="" ET ch2="" ET ch3= "") OU (ch1<>"" ET ch2<>"" ET ch3<> "")
alors ...

il n'y a qu'un seul SI et ça ne me parait pas trop long ...

ou alors j'ai rien compris !

--
Ami Calmant
Stéphane
Avatar
JeAn-PhI
Après mûre réflexion, Stéphane a écrit :
Le 03/10/2012 14:34, JeAn-PhI a écrit :
bonjour,

j'ai 3 champs de saisie, je souhaiterais faire des contrôles de saisie
sur ces champs afin de ne garder que les solutions suivantes :
- soit tous les champs sont vides
- soit tous les champs sont remplis

toutes les autres solutions (remplissage partiel) ne sont pas acceptés

afin de ne pas pondre du code à rallonger en testant avec des SI toutes
les possibilités j'aurais aimé trouver un algo optimisé mais je n'arrive
pas à le faire

qq'un pourrait il me donner une piste ?

merci




Euh ...

Si (ch1="" ET ch2="" ET ch3= "") OU (ch1<>"" ET ch2<>"" ET ch3<> "") alors
...

il n'y a qu'un seul SI et ça ne me parait pas trop long ...

ou alors j'ai rien compris !



merci

vous avez compris mais j'aurais du préciser que je voulais exatement le
test inverse

finalement je vais faire :

Si pas ((ch1="" ET ch2="" ET ch3= "") OU (ch1<>"" ET ch2<>"" ET ch3<>
"")) alors erreur("pas de saisie partielle")

en fait j'ai un peu de mal avec les opérateurs logiques ;-)

--
Cordialement JeAn-PhI
Avatar
titou44
JeAn-PhI a exprimé avec précision :
Après mûre réflexion, Stéphane a écrit :
Le 03/10/2012 14:34, JeAn-PhI a écrit :
bonjour,

j'ai 3 champs de saisie, je souhaiterais faire des contrôles de saisie
sur ces champs afin de ne garder que les solutions suivantes :
- soit tous les champs sont vides
- soit tous les champs sont remplis

toutes les autres solutions (remplissage partiel) ne sont pas acceptés

afin de ne pas pondre du code à rallonger en testant avec des SI toutes
les possibilités j'aurais aimé trouver un algo optimisé mais je n'arrive
pas à le faire

qq'un pourrait il me donner une piste ?

merci




Euh ...

Si (ch1="" ET ch2="" ET ch3= "") OU (ch1<>"" ET ch2<>"" ET ch3<> "") alors
...

il n'y a qu'un seul SI et ça ne me parait pas trop long ...

ou alors j'ai rien compris !



merci

vous avez compris mais j'aurais du préciser que je voulais exatement le test
inverse

finalement je vais faire :

Si pas ((ch1="" ET ch2="" ET ch3= "") OU (ch1<>"" ET ch2<>"" ET ch3<> ""))
alors erreur("pas de saisie partielle")

en fait j'ai un peu de mal avec les opérateurs logiques ;-)



tu peux aussi faire du copier/coller

si ch1=vide alors erreur(lemessage) goto finproc (ou retour)
si ch2=vide alors erreur(lemessage) goto finproc
si ch3=vide alors erreur(lemessage) goto finproc

tu sauras adapter et mmettre la bonne syntaxe

j'aime bien lénéariser les tests.
un pas bon, on sort du pg

titou44 chez libresurf.com
Avatar
JeAn-PhI
titou44 a formulé la demande :
JeAn-PhI a exprimé avec précision :
Après mûre réflexion, Stéphane a écrit :
Le 03/10/2012 14:34, JeAn-PhI a écrit :
bonjour,

j'ai 3 champs de saisie, je souhaiterais faire des contrôles de saisie
sur ces champs afin de ne garder que les solutions suivantes :
- soit tous les champs sont vides
- soit tous les champs sont remplis

toutes les autres solutions (remplissage partiel) ne sont pas acceptés

afin de ne pas pondre du code à rallonger en testant avec des SI toutes
les possibilités j'aurais aimé trouver un algo optimisé mais je n'arrive
pas à le faire

qq'un pourrait il me donner une piste ?

merci




Euh ...

Si (ch1="" ET ch2="" ET ch3= "") OU (ch1<>"" ET ch2<>"" ET ch3<> "") alors
...

il n'y a qu'un seul SI et ça ne me parait pas trop long ...

ou alors j'ai rien compris !



merci

vous avez compris mais j'aurais du préciser que je voulais exatement le
test inverse

finalement je vais faire :

Si pas ((ch1="" ET ch2="" ET ch3= "") OU (ch1<>"" ET ch2<>"" ET ch3<> ""))
alors erreur("pas de saisie partielle")

en fait j'ai un peu de mal avec les opérateurs logiques ;-)



tu peux aussi faire du copier/coller

si ch1=vide alors erreur(lemessage) goto finproc (ou retour)
si ch2=vide alors erreur(lemessage) goto finproc
si ch3=vide alors erreur(lemessage) goto finproc

tu sauras adapter et mmettre la bonne syntaxe

j'aime bien lénéariser les tests.
un pas bon, on sort du pg

titou44 chez libresurf.com



moi aussi j'aime bien avoir une syntaxe claire mais dans mon cas je ne
dois garder que si les 3 champs sont vides ou pleins dans tous les
autres cas je dois sortir un message

--
Cordialement JeAn-PhI
Avatar
Gilles
titou44 a présenté l'énoncé suivant :
JeAn-PhI a exprimé avec précision :
Après mûre réflexion, Stéphane a écrit :
Le 03/10/2012 14:34, JeAn-PhI a écrit :
bonjour,

j'ai 3 champs de saisie, je souhaiterais faire des contrôles de saisie
sur ces champs afin de ne garder que les solutions suivantes :
- soit tous les champs sont vides
- soit tous les champs sont remplis

toutes les autres solutions (remplissage partiel) ne sont pas acceptés

afin de ne pas pondre du code à rallonger en testant avec des SI toutes
les possibilités j'aurais aimé trouver un algo optimisé mais je n'arrive
pas à le faire

qq'un pourrait il me donner une piste ?

merci




Euh ...

Si (ch1="" ET ch2="" ET ch3= "") OU (ch1<>"" ET ch2<>"" ET ch3<> "") alors
...

il n'y a qu'un seul SI et ça ne me parait pas trop long ...

ou alors j'ai rien compris !



merci

vous avez compris mais j'aurais du préciser que je voulais exatement le
test inverse

finalement je vais faire :

Si pas ((ch1="" ET ch2="" ET ch3= "") OU (ch1<>"" ET ch2<>"" ET ch3<> ""))
alors erreur("pas de saisie partielle")

en fait j'ai un peu de mal avec les opérateurs logiques ;-)



tu peux aussi faire du copier/coller

si ch1=vide alors erreur(lemessage) goto finproc (ou retour)
si ch2=vide alors erreur(lemessage) goto finproc
si ch3=vide alors erreur(lemessage) goto finproc



Goto...arghhh
Je ne comprends même pas pourquoi cette instruction du moyen âge n'a
pas été supprimée...
Avatar
Gilles
titou44 vient de nous annoncer :
JeAn-PhI a exprimé avec précision :
Après mûre réflexion, Stéphane a écrit :
Le 03/10/2012 14:34, JeAn-PhI a écrit :
bonjour,

j'ai 3 champs de saisie, je souhaiterais faire des contrôles de saisie
sur ces champs afin de ne garder que les solutions suivantes :
- soit tous les champs sont vides
- soit tous les champs sont remplis

toutes les autres solutions (remplissage partiel) ne sont pas acceptés

afin de ne pas pondre du code à rallonger en testant avec des SI toutes
les possibilités j'aurais aimé trouver un algo optimisé mais je n'arrive
pas à le faire

qq'un pourrait il me donner une piste ?

merci




Euh ...

Si (ch1="" ET ch2="" ET ch3= "") OU (ch1<>"" ET ch2<>"" ET ch3<> "") alors
...

il n'y a qu'un seul SI et ça ne me parait pas trop long ...

ou alors j'ai rien compris !



merci

vous avez compris mais j'aurais du préciser que je voulais exatement le
test inverse

finalement je vais faire :

Si pas ((ch1="" ET ch2="" ET ch3= "") OU (ch1<>"" ET ch2<>"" ET ch3<> ""))
alors erreur("pas de saisie partielle")

en fait j'ai un peu de mal avec les opérateurs logiques ;-)



tu peux aussi faire du copier/coller

si ch1=vide alors erreur(lemessage) goto finproc (ou retour)
si ch2=vide alors erreur(lemessage) goto finproc
si ch3=vide alors erreur(lemessage) goto finproc

tu sauras adapter et mmettre la bonne syntaxe

j'aime bien lénéariser les tests.
un pas bon, on sort du pg



Il suffit d'utiliser un "_ET_" et tu as le même comportement, sans
mettre X lignes de code et des gotos.