[WD10] Insérer une chaîne dans un champs

nicolas -  
 nicolas -
Bonjour j'aimerai inséré une chaine de caractère qui contient déjà une chaine de caractère a l'endroit du curseur

Dans l'aide il y avais un exemple qui correspondait a ce que je voulais faire :

SAI_texte = Gauche(SAI_texte, SAI_texte..Curseur) + "Nom" + Droite(SAI_texte, SAI_texte..Curseur)

Mais celui ci ne marche pas car il efface tout et me marque "nom" alors j'ai voulu marqué faire ceci

SAI_texte = Gauche(SAI_texte, SAI_texte..Curseur) + "Nom" + Droite(SAI_texte, SAI_texte..Curseur) + sai_texte
Mais malheureusement cela ne m'affiche qu'a la fin du texte .

Je n'y arriv e pas pouvez vous m'aider s'il vous plais !!
MERCI d'avance!!

6 réponses

Utilisateur anonyme
 
SAI_texte = Gauche(SAI_texte, SAI_texte..Curseur) + SAI_texte + Droite(SAI_texte, SAI_texte..Curseur)
0
nicolas
 
Merci pour ta réponse mais ce que je veux inséré(le mot "nom") je le met ou ??
0
Utilisateur anonyme
 
Ah ok pas compris.

Pas de windev 10 sous la main, je regarde ce soir.
0
nicolas
 
d'accord merci
0
Utilisateur anonyme
 
Passe en édition de code du champ Sais_Texte

Cliques en bas de ta fenêtre de code sur Bouton gauche double clic (4ème icone en partant de la gauche)

Ce qui va te créer un champ de code "Bouton gauche double-clic (WM_LBUTTONDBLCLK) de Sai_Texte sous "A chaque Modification de Sai_Texte"

Tu colles le code dans ce nouveau champ de code.

Temp est une chaîne = MoiMême
Temp = Gauche(MoiMême,MoiMême..Curseur-1)+" Nom " + Droite(MoiMême,MoiMême..Curseur)
MoiMême = temp

Tu lance ta fenêtre
Tu saisis ce que tu veux et à l'endroit ou tu veux insérer "Nom" tu double click.

C'est bon?

A toi de broder après avec par exemple que "Nom" n'as pas déjà été inséré, etc...
0
nicolas
 
Cela fait exactement la même chose que le code donné avec l'aide mais ce que je veux faire c'est qu'il y a un grand champs de saisie qui sera déjà rempli et l'utilisateur appuiera sur un bouton pour ajouter un mot ( il y a plusieur boutons car il peut ajouter différent mot ). Mais je viens de me rendre compte si je perdais l'endroit du curseur vu que je change de champs ca se trouve dés que j'appuie sur mon bouton le curseur dans mon champs de saisie n'éxiste plus !!
0
Utilisateur anonyme
 
Tu es toujours là?
0
nicolas
 
oui
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Alors voilà

Tu vas créer un champ de saisie numérique que tu vas positionner à l'extérieur des limites de ta fenêtre pour qu'il soit invisible à l'éxécution.
Nomme le Sai_Curseur

Dans ton code du champ Sai_Texte tu supprimes le champ de code double clic en recliquant sur la quatrième icone de souris en bas et tu réponds oui.

De la même façon que tout à l'heure tu crée un nouveau champ de code avec la deuxième icone (Bouton gauche enfoncé)

Ca doit te créer un champ de code "Bouton gauche enfoncé (WM_LBUTTONDOWN) de Sai-Texte.

Tu colles dedans

SAI_Curseur=0
SAI_Curseur = MoiMême..Curseur


Tu colles le code suivant dans le code de ton bouton dans la partie "Clic sur etc...

SAI_texte = Gauche(SAI_texte,SAI_Curseur-1)+" Nom " + Droite(SAI_texte,SAI_Curseur-2)


A l'utilisation, tu positionnes ton curseur dans ton champ de saisie en cliquant deux fois à l'emplacement d'insertion (avec un petit temps d'arrêt entre les deux clics pour ne pas sélectionner ce qu'il y a dedans)

Et ensuite tu cliques sur ton bouton.

Tu refais la même chose pour chaque bouton.

Et voilà.
0
nicolas
 
J'ai fait ce que tu m'a dis mais cela ne marche pas ca m'affiche met tout le contenu du champs de saisie a l'endroit du curseur et mais le commencement de cet insertion commence par le mot "nom"
0
nicolas > nicolas
 
rectification cela marche bien la première fois ( j'attendais pas assez longtemps entre chaque clic) mais lorsque je veux rajouté le même mot a un endroit différent cela ne marche pas
0
Utilisateur anonyme
 
J'y suis presque.
0
nicolas
 
EUREKA !! j'ai posté sur le forum de pcsoft ce problème et une personne a trouvé la solution voici le message qu'il ma posté :
"Bonjour,

Voici un code qui convient :
SAI_Saisie1 = SAI_Saisie1A SAI_Saisie1..Curseur-1+ " TEST " + SAI_Saisie1SAI_Saisie1..Curseur A

Attention, si vous l'exécutez depuis un bouton, indiquez bien le type interruption dans la description du bouton pour que votre champ reste en saisie."
Je te remercie boodha de m'avoir aidé
Je te souhaite une bonne soirée et bon developpement !!
Cordialement Nicolas ( je sais pas comment on fait pour mettre ce sujet en résolu )
0