PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → comment sauvegarder facilement un interrupteur avec choix multiples
comment sauvegarder facilement un interrupteur avec choix multiples
Iniciado por Jeff51, 21,ago. 2020 12:37 - 5 respuestas
Miembro registrado
17 mensajes
Publicado el 21,agosto 2020 - 12:37
J'ai un interrupteur avec 3 choix possibles ex : quelle voiture aimeriez vous avoir : x Opel _ Renault x Ford
Comment enregistrer cela facilement en BD ? Interrupteur avec tableau ne fonctionne pas il faut que l'interrupteur soit de type '3 états'

Merci de votre aide
Miembro registrado
4.363 mensajes
Publicado el 21,agosto 2020 - 13:15
Bonjour,
Je suppose que tu parles d'un champ interrupteur avec plusieurs coches.
Il suffit d'appliquer un "masque". Chaque coche correspond à 1 bit. Donc Opel correspond à 4 (100), Renault à 2 (010) et Ford à 1 (001).
Le résultat Res de la question est donc 4*IntOpel+2*IntRenault+intFord (dans notre cas 5)
La cécomposition se fait en faisant un EtBinaire sur le résultat avec 4, 2 et 1 qui donnera le résultat de chaque bit

--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
4.363 mensajes
Publicado el 21,agosto 2020 - 22:34
En adaptant cela à un champ interrupteur qui va être associé à la rubrique RéponseVoiture :
Initialisation
DécomposerRéponse(MoiMême,Questionnaire.RéponseVoiture)

Sortie
Questionnaire.RéponseVoiture=RécupérerRéponse(MoiMême)


Procedure DécomposerRéponse(chInterrupeur est Champ,nRéponse est entier)
nIndiceChamp est un entier

POUR nIndiceChamp=1 _À_ chInterrupeur..Occurrence
chInterrupeur[nIndiceChamp]=ETBinaire(nRéponse,Puissance(2,nIndiceChamp-1))
FIN


FONCTION RécupérerRéponses(chInterrupteur est Champ) : entier
nRéponse est un entier
nIndice est un entier

POUR nIndice=1 _À_ chInterrupteur..Occurrence
nRéponse=nRéponse+chInterrupteur[nIndice]*Puissance(2,nIndice-1)
FIN

RENVOYER nRéponse


--
Il y a peut être plus simple, mais, ça tourne
Publicado el 21,agosto 2020 - 23:26
ou alors, si, comme je le suppose, vu l'exemple, il n'y a qu'un choix possible sur les 3, tu sauvegardes 1,2, ou3
Miembro registrado
4.363 mensajes
Publicado el 22,agosto 2020 - 08:38
Argus a écrit :
ou alors, si, comme je le suppose, vu l'exemple, il n'y a qu'un choix possible sur les 3, tu sauvegardes 1,2, ou3

Vu l'exemple, on a Opel et Ford qui sont sélectionnés. Qui plus est, s'il n'y a qu'un choix possible, on utilise un champ Sélecteur

--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
1.173 mensajes
Publicado el 23,agosto 2020 - 13:32
Bonjour,

Le type combinaison pourrait peut-être simplifier le code ?!

--
Thierry TILLIER
Développeur Windev-Webdev
Formation Windev : https://coursdinfo.teachable.com/
Formation bureautique : https://coursdinfo.net