PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → [WD10] - Combo saisie assisté
[WD10] - Combo saisie assisté
Iniciado por s.laffont, 22,mar. 2006 11:37 - 3 respuestas
Publicado el 22,marzo 2006 - 11:37
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
Publicado el 22,marzo 2006 - 13:42
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.
Publicado el 22,marzo 2006 - 15:14
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
Publicado el 22,marzo 2006 - 15:15
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