PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → [WD10] - Combo saisie assisté
[WD10] - Combo saisie assisté
Started by s.laffont, Mar., 22 2006 11:37 AM - 3 replies
Posted on March, 22 2006 - 11:37 AM
Bonjour,
J'ai une combobox en saisie assistée, ayant comme contenue les villes de france (fichier CEDEX)

La rubrique affiché étant la ville,
La rubrique renvoyer est le code postal me permettant de le définir dès qu'une sélection correspond.
La rubrique de parcours est la ville.

L'utilisateur commence donc a saisir une ville si elle est trouvé dans la combo le code postal est automatiquement remplis.

L'utilisateur a la possibilité de saisir une ville n'appartenant pas au fichier CEDEX

Jusqu'a la pas de probleme je récupere le nom de ville grace a COMBO..ValeurAffichée

Mon probleme ce situe lors d'un chargement si je veux affecter une ville inexistante dans le fichier CEDEX a la COMBO, je ne trouve aucun moyen pour le faire a partir de Windev:
- L'assignation COMBO correspondant a un codePostal
- ListeAjoute n'étant pas actif car le contenu est lié à un fichier
- Combo[1] ne marche pas
- Combo..ValeurAffichée est en lecteure seul ...

J'ai feinté en utilisant l'API windows "SetWindowTextA" celà marche trés bien seul hic, c'est que si l'utilisateur passe sur le champ via TAB ou souris sans changer le contenu, Windev m'efface la valeurAffichée.

Si quelqu'un a une idée et en espérant avoir été clair sur mon problème
Cordialement
Sylvain Laffont
Posted on March, 22 2006 - 1:42 PM
Bonjour,
A mon avis, le plus simple est d'ajouter la ville saisie dans ton fichier, celà simplifie la gestion de ta combo, et de plus lors de la prochaine saisie la ville est déjà connue.
Voici comment je vois les choses:
L'utilisateur saisie une ville
Si la ville est connue => pas de soucis
Si la ville est inconnue => ouverture d'une fenêtre de saisie des informations ( nom de la ville, code postal, pays.. ). Si l'utilisateur valide, tu ajoutes tout simplement la ville dans le fichier, sinon retour en saisie dans la combo.

Frédéric.
Posted on March, 22 2006 - 3:14 PM
Bonjour, merci de cette réponse malheureusement je voulais éviter l'enregistrement de la ville non présente dans le fichier, naturellement celà serais beaucoup plus simple pour moi.

Tout de même je trouve çelà surprenant qu'une combo avec saisie lié avec un contenu on ne puisse pas définir la saisie par programmation

Cordialement
Sylvain Laffont
Posted on March, 22 2006 - 3:15 PM
Un moyen complémentaire a cette méthode est la suivante :
si l'utilisateur ne veut pas créer de nouvelle ville dans le fichier CEDEX, mais veut quand meme avoir la possibilité d'ajouter des villes inexistantes, il est possible de passer par une liste mémoire :

=> déclarer la combo comme étant combo mémoire
=> faire "fichierverslistemémoire(CEDEX, COMBO)"

=> faire "listeajoute(COMBO, Ville_Inexistante)" OU "listeinsère(COMBO, Ville_Inexistante, position)" // ici Ville_Inexistante est une chaine contenant le nom de la ville

De cette manière la ville deja selectionnée apparait bien dans la liste, elle n'est pas effacée lors du passage sur la combo par la touche TAB.


Normalement cela devrait fonctionner a peu pres comme ca selon moi, après il faut modifier légèrement ce code pour correspondre exactement au besoin.

Lionel