|
| Presse-papier vers plusieurs champs de saisie |
| Iniciado por Nicolas ROBIN, 05,jun. 2019 15:36 - 8 respuestas |
| |
| | | |
|
| |
Miembro registrado 87 mensajes |
|
| Publicado el 05,junio 2019 - 15:36 |
Bonjour,
Auriez-vous une solution à me proposer pour effectuer le traitement suivant, svp?
Supposons que j'ai 2 champs de saisie: SAI_1 et SAI_2 (4 caractères max chacun). Je copie du texte dans le presse papier à l'aide d'un "CTRL+C" ou "Clic droit + Copier" (exemple: valeur "VAL1VAL2" dans le presse-papier).
Ensuite, j'aimerai que lorsque je clique dans le champs de saisie SAI_1 et fait "CTRL+V" ou "Clic droit + Coller", l'on découpe le contenu du presse-papier de façon à ce que le champ SAI_1 contienne la valeur "VAL1" et le champ SAI_2 contienne la valeur "VAL_2".
Cordialement,
--
NRMensaje modificado, 05,junio 2019 - 15:37 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 26 mensajes |
|
| Publicado el 05,junio 2019 - 15:49 |
Sans pouvoir te donner le code essaye de faire un compteur qui s’incrémente à chaque caractère et dès que tu atteint 4 u bloque et le fait passe sur l'autre champs automatiquement ça vas peut être t'aider https://doc.pcsoft.fr/fr-FR/?3024008
nomdelachaine.occurence() pour avoir la taille max puis si nomdelachaine.occurence()>4 alors et tu sépare en 2 chainesMensaje modificado, 05,junio 2019 - 15:51 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 87 mensajes |
|
| Publicado el 05,junio 2019 - 15:52 |
Bonjour,
Pour ce qui est de la découpe, ça ne me pose pas trop de problème. Là où j'aurai besoin d'un peu d'aide, ce serait plus pour intercepter le "Ctrl+V" et le "Clic droit+Coller" effectués dans le champ SAI_1.
--
NR |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 26 mensajes |
|
| Publicado el 05,junio 2019 - 16:10 |
tu peu ajouter un traitement à ta zone et à ce moment tu lui dit si tu fais un clique droit dans la zone tu active la découpe
!!! je suis débutant en windev je propose des solutions mais je ne suis pas sur qu'elle marche !!!Mensaje modificado, 05,junio 2019 - 16:15 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 46 mensajes |
|
| Publicado el 06,junio 2019 - 20:36 |
En faisant le "Ctrl+V" ou le "Clic droit+Coller" sur le champ, automatiquement la chaine entière est ajouté dans le champ Moi, je te propose de créer un menu contextuel, par exemple "Coller Presse papier", et l'associer aux 2 champs
code de "Coller Presse papier" :
sTexte est une chaîne=PressePapier()
SAI_1=Gauche(sTexte,4) SAI_2=Milieu(sTexte,5)
Bien entendu, lors du clic droit, sur l'un des champs, cliquer sur l'option "Coller Presse papier" |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.682 mensajes |
|
| Publicado el 07,junio 2019 - 08:35 |
Bonjour,
Il te suffit de créer un événement de type WM_PASTE sur le champ qui t'intéresse et coder le reste
Evénement(coller, SAI_SansNom1..Nom, WM_PASTE)
Procedure coller()
sTexte_A_Coller est une chaîne = PressePapier()
SI Taille(sTexte_A_Coller) = 8 ALORS SAI_SansNom1 = sTexte_A_Coller[[À 4]] SAI_SansNom2 = sTexte_A_Coller[[5 À]] FIN
-- Cordialement,
Philippe SAINT-BERTIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 87 mensajes |
|
| Publicado el 07,junio 2019 - 09:20 |
Merci, C'est exactement la solution que j'ai retenu hier.
--
NR |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 87 mensajes |
|
| Publicado el 07,junio 2019 - 16:33 |
Si cela peut vous aider, voici la solution que j'ai mise en place pour coller un IBAN.
Evénement(CompteBanque_COLLER_IBAN,SAI_IBAN1..Nom,WM_PASTE)
Procedure CompteBanque_COLLER_IBAN() incCar est un entier incCar_Total est un entier nbCar_Total est un entier
sIBAN est une chaîne incIBAN est un entier
sChamp_IBAN est une chaîne
sIBAN=PressePapier() SI sIBAN<>"" ALORS nbCar_Total=Taille(sIBAN) POUR incIBAN=1 _A_ 9 incCar=0 sChamp_IBAN="SAI_IBAN"+incIBAN SI ChampExiste(sChamp_IBAN) ALORS {sChamp_IBAN,indChamp}="" POUR incCar=1 _A_ 4 incCar_Total++ SI incCar_Total<=nbCar_Total ALORS {sChamp_IBAN,indChamp}+=sIBAN[[incCar_Total]] SINON SORTIR FIN FIN FIN FIN _EVE.Retour = Faux FIN
--
NRMensaje modificado, 07,junio 2019 - 16:34 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.682 mensajes |
|
| Publicado el 07,junio 2019 - 20:54 |
Plus synthétiquement, j'aurais fait ça étant donné que l'IBAN est par bloc de 4 caractères
sPartieIBAN est une chaîne sIBAN est une chaîne i est un entier = 1
sIBAN=SansEspace(PressePapier(),sscTout) sPartieIBAN = sIBAN[[i SUR 4]] TANTQUE sPartieIBAN <> "" SI ChampExiste("SAI_IBAN"+i) ALORS {"SAI_IBAN"+i,indChamp} = sPartieIBAN FIN sPartieIBAN = sIBAN[[(i*4+1) SUR 4]] i++ FIN
_EVE.Retour = Faux
-- Cordialement,
Philippe SAINT-BERTIN |
| |
| |
| | | |
|
| | | | |
| | |
|