PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → saisie assistée & auto-incrémentation
saisie assistée & auto-incrémentation
Iniciado por blacksun, 06,jun. 2019 11:18 - 2 respuestas
Miembro registrado
26 mensajes
Publicado el 06,junio 2019 - 11:18
Bonjour , j'ai un petit soucis je veux remplir automatiquement des camps après une connexion a une api (jusque la je maîtrise )
l'objectif est d'utilisée la saisie assistée pour remplir directement les champs donc quand l'utilisateur commence à renter une adresse (l'API contient des adresse en GEOJSON) la connexion a l'API se fait et propose dans la liste générée par la saisie assistée les meilleurs résultats

problème n°1 je n’arrive pas à rentrer plusieurs adresse dans ma saisie assistée

problème n°2 : j'ai une liste longue comme le bras de ligne blanches dans la liste générée par la saisies assistée

des idées?



i est un entier
i=1


SI restimer ALORS
FinTimer(restimer)
restimer=0
FIN
SI SAI_saisie_utilisateur<>"" ALORS
restimer=Timer(Lancer_Recherche,500)
FIN
TANTQUE i<API_BAN.NombreAdresseFichierJson
SaisieAssistéeParamètre(SAI_saisie_utilisateur, saOuvertureAutomatique, Faux)
SaisieAssistéeParamètre(SAI_saisie_utilisateur, saFiltre, filtreAucun)
SaisieAssistéeParamètre(SAI_saisie_utilisateur, saTailleMin, 4 )
SaisieAssistéeAjoute(SAI_saisie_utilisateur,gMonAdresse.AdresseTemp.sCity)
SaisieAssistéeAjoute(SAI_saisie_utilisateur,gMonAdresse.AdresseTemp.sLabel)
SaisieAssistéeOuvre(SAI_saisie_utilisateur)
i++
FIN
Miembro registrado
2.682 mensajes
Publicado el 07,junio 2019 - 09:03
Bonjour,

Tu nne testes jamais si la valeur que tu vas insérer est vide. si elle l'est alors il faut passer au suivant. De plus, tu ne lis jamais l'enregistrement de gMonAdresse donc je ne sais pas comment tu peux avoir la bonne adresse.

En tout état de cause, j'écrirai plutôt ceci:

SaisieAssistéeParamètre(SAI_saisie_utilisateur, saOuvertureAutomatique, Faux)
SaisieAssistéeParamètre(SAI_saisie_utilisateur, saFiltre, filtreAucun)
SaisieAssistéeParamètre(SAI_saisie_utilisateur, saTailleMin, 4 )
TANTQUE i<API_BAN.NombreAdresseFichierJson
SI gMonAdresse.AdresseTemp.sCity = "" _ET_ gMonAdresse.AdresseTemp.sLabel = "" ALORS
i++
CONTINUER
FIN

SaisieAssistéeAjoute(SAI_saisie_utilisateur,gMonAdresse.AdresseTemp.sCity + " - " + gMonAdresse.AdresseTemp.sLabel)
i++
FIN
SaisieAssistéeOuvre(SAI_saisie_utilisateur)


--
Cordialement,

Philippe SAINT-BERTIN
Miembro registrado
26 mensajes
Publicado el 07,junio 2019 - 10:55
j'ai pus résoudre mes problème en utilisant une liste plutôt que la saisie assisté mais j'ai un problème qui persiste
quad je clique sur une adresse pour remplir les champs associé ça sélectionne toujours la dernière adresse de la liste ... comment faire pour prendre en compte le choix de l'utilisateur?
SAI_Ville=gMonAdresse.Struc_STAPI.sCity
SAI_Code_Postal=gMonAdresse.Struc_STAPI.sCodepostal
SAI_Adresse=gMonAdresse.Struc_STAPI.sName
SAI_Code_Insee=gMonAdresse.Struc_STAPI.sCodeInsee

STAPI est une structure
sType est une chaîne
sHouseNumber est une chaîne
sName est une chaîne
sCodepostal est une chaîne fixe sur 5
sCodeInsee est une chaîne fixe sur 5
sCity est une chaîne
sLabel est une chaîne
id est un entier
FIN

TANTQUE PAS (AdresseJSON.features[i].properties.score < Pertinence OU AdresseJSON.features[i]=0)
AdresseTemp.sCity = AdresseJSON.features[i].properties.city
AdresseTemp.sCodepostal = AdresseJSON.features[i].properties.postcode
AdresseTemp.sCodeInsee = AdresseJSON.features[i].properties.citycode
AdresseTemp.sHouseNumber = AdresseJSON.features[i].properties.housenumber
AdresseTemp.sLabel = AdresseJSON.features[i].properties.label
AdresseTemp.sName = AdresseJSON.features[i].properties.name
AdresseTemp.sType = AdresseJSON.features[i].properties.type
AdresseTemp.id =i
TableauAjoute(m_tabSTAPI_retournée_structure_TAB,AdresseTemp)

i++


FIN