|
Une histoire de guillemets |
Started by paul.gera, Mar., 26 2006 7:26 PM - 17 replies |
| |
| | | |
|
| |
Posted on March, 26 2006 - 7:26 PM |
Bonjour,
Un client, très à cheval sur la langue française, me demande de remplacer les guillemets "" par des guillements <<>> (comme dans Word).
Comment faire ceci avec Windev ?
Merci de votre réponse. |
| |
| |
| | | |
|
| | |
| |
Posted on March, 26 2006 - 9:08 PM |
Bonjour,
LIB_Libellé1..Libellé = Caract(171)+ "Bonjour" + Caract(187) |
| |
| |
| | | |
|
| | |
| |
Posted on March, 27 2006 - 3:37 PM |
OK mais là c'est pour le définir dynamiquement...
> Comment faire pour le définir dans un champ de saisie ? |
| |
| |
| | | |
|
| | |
| |
Posted on March, 27 2006 - 6:38 PM |
ALT + 174 et ALT + 175
« » |
| |
| |
| | | |
|
| | |
| |
Posted on March, 27 2006 - 7:17 PM |
Je ne peux quand meme pas demander aux utilisateurs d'avoir recours à cette méthode... si ?
"Damien T." <guest@newsgroup.fr> a écrit dans le message de news: 4427f8d5@news.pcsoft.fr...
ALT + 174 et ALT + 175
« »
|
| |
| |
| | | |
|
| | |
| |
Posted on March, 27 2006 - 8:06 PM |
Il se trouve que Paul a formulé :
Je ne peux quand meme pas demander aux utilisateurs d'avoir recours à cette méthode... si ?
Bonjour,
Bien sur que non, mais tu peux mémoriser ces séquences dans 2 touches de fonction inutilisées...
Freddie
-- freddie3@wanadoo.fr |
| |
| |
| | | |
|
| | |
| |
Posted on March, 27 2006 - 8:06 PM |
1= Déclarer un booleen en global dans la fenetre bDrapeau est un booleen=Faux
Dans le code de ton champ texte 'A chaque Modification....' Tu peux mettre ce bout de code. Il peut certainement être améliorer !!
[Code] nTouche est un entier = 0x33 // Touche " nCurseur est un réel=MoiMême..Curseur QUAND EXCEPTION DANS SI ToucheEnfoncée(nTouche) ALORS ExceptionDéclenche(bDrapeau) FIN FAIRE SELON bDrapeau CAS Faux MoiMême=Milieu(MoiMême,1,nCurseur-2)+"<<"+Milieu(MoiMême,nCurseur) bDrapeau=Vrai CAS Vrai MoiMême=Milieu(MoiMême,1,nCurseur-2)+">>"+Milieu(MoiMême,nCurseur) bDrapeau=Faux FIN ExceptionActive() // On reprend le traitement MoiMême..Curseur=nCurseur RepriseSaisie() FIN |
| |
| |
| | | |
|
| | |
| |
Posted on March, 27 2006 - 8:51 PM |
OK Claude. Mais quand je vais ajouter la valeur du champ dans mon fichier, quels types de guillements Windev va t il retenir ?
"MANDIN" <Cm16.top@wanadoo.fr> a écrit dans le message de news: 44280cf0$1@news.pcsoft.fr...
1= Déclarer un booleen en global dans la fenetre bDrapeau est un booleen=Faux
Dans le code de ton champ texte 'A chaque Modification....' Tu peux mettre ce bout de code. Il peut certainement être améliorer !!
[Code] nTouche est un entier = 0x33 // Touche " nCurseur est un réel=MoiMême..Curseur QUAND EXCEPTION DANS SI ToucheEnfoncée(nTouche) ALORS ExceptionDéclenche(bDrapeau) FIN
FAIRE SELON bDrapeau CAS Faux
MoiMême=Milieu(MoiMême,1,nCurseur-2)+"<<"+Milieu(MoiMême,nCurseur) bDrapeau=Vrai CAS Vrai
MoiMême=Milieu(MoiMême,1,nCurseur-2)+">>"+Milieu(MoiMême,nCurseur) bDrapeau=Faux FIN ExceptionActive() // On reprend le traitement MoiMême..Curseur=nCurseur RepriseSaisie()
FIN
|
| |
| |
| | | |
|
| | |
| |
Posted on March, 27 2006 - 10:41 PM |
Le champ sera enregistré telquel ce 'est a dire avec les guillements << et >>. Mais ce bout de code et a perfectionner. Par exemple lors de la suppression de la guillement ouverture afin de repositionner le drapeau. Si j'ai 5 minutes je regarderai cela et je le posterai |
| |
| |
| | | |
|
| | |
| |
Posted on March, 28 2006 - 4:21 PM |
Apparament ma réponse n'est pas passée olars je la renvoie.
Dans le code de ton champ Texte. [Code ENTREE] bDrapeau=rechercheGuillemet(MoiMême..Nom) [Code A CHAQUE MODIFICATION] VK_GUILL est un entier = 0x33 // Guillemet " VK_BACK est un entier = 0x08 // Suppression Arrière VK_DELETE est un entier = 0x2e // Suppression rCurseur est un réel=MoiMême..Curseur SI ToucheEnfoncée(VK_DELETE) OU ... ToucheEnfoncée(VK_BACK) ALORS bDrapeau=rechercheGuillemet(MoiMême..Nom) FIN QUAND EXCEPTION DANS SI ToucheEnfoncée(VK_GUILL) ALORS ExceptionDéclenche(bDrapeau) FIN FAIRE SELON bDrapeau CAS Faux // Guillemet Ouvrante MoiMême=Milieu(MoiMême,1,rCurseur-2)+Caract(171)+Milieu(MoiMême,rCurseur) bDrapeau=Vrai CAS Vrai // Guillemet Fermante MoiMême=Milieu(MoiMême,1,rCurseur-2)+Caract(187)+Milieu(MoiMême,rCurseur) bDrapeau=Faux FIN ExceptionActive() // On reprend le traitement MoiMême..Curseur=rCurseur RepriseSaisie() FIN
[Création D'une procédure Globale ou Locale]
PROCEDURE rechercheGuillemet(_NomChamp) nposCurs est un entier={_NomChamp,indChamp}..Curseur schaine est une chaîne={_NomChamp,indChamp}..Valeur i est un entier=1 nGuillemet_Ouvrante est un entier nGuillemet_Fermante est un entier TANTQUE i<Taille({_NomChamp,indChamp}..ValeurAffichée) SI Position({_NomChamp,indChamp}..ValeurAffichée,Caract(171),i)>0 ALORS nGuillemet_Ouvrante+=1 i=Position({_NomChamp,indChamp}..ValeurAffichée,Caract(171),i)+1 FIN SI Position({_NomChamp,indChamp}..ValeurAffichée,Caract(187),i)>0 ALORS nGuillemet_Fermante+=1 i=Position({_NomChamp,indChamp}..ValeurAffichée,Caract(187),i)+1 SINON i=Taille({_NomChamp,indChamp}..ValeurAffichée) FIN FIN SI nGuillemet_Fermante <nGuillemet_Ouvrante ALORS RENVOYER Vrai RENVOYER Faux
c'est tout, j'ai essayé cela fonctionne
Mon adresse si tu ne comprends pas cm16.top@wanadoo.fr |
| |
| |
| | | |
|
| | |
| |
Posted on March, 28 2006 - 9:08 PM |
Je ne sais pas pourquoi, j'ai voulu employer les exceptions mais ce n'est pas la peine
[Code ENTREE] bDrapeau=rechercheGuillemet(MoiMême..Nom) [Code A CHAQUE MODIFICATION] VK_GUILL est un entier = 0x33 // Guillemet " VK_BACK est un entier = 0x08 // Suppression Arrière VK_DELETE est un entier = 0x2e // Suppression rCurseur est un réel=MoiMême..Curseur SI ToucheEnfoncée(VK_DELETE) OU ... ToucheEnfoncée(VK_BACK) ALORS bDrapeau=rechercheGuillemet(MoiMême..Nom) FIN SI ToucheEnfoncée(VK_GUILL) ALORS SELON bDrapeau CAS Faux // Guillemet Ouvrante MoiMême=Milieu(MoiMême,1,rCurseur-2)+Caract(171)+Milieu(MoiMême,rCurseur) bDrapeau=Vrai CAS Vrai // Guillemet Fermante MoiMême=Milieu(MoiMême,1,rCurseur-2)+Caract(187)+Milieu(MoiMême,rCurseur) bDrapeau=Faux FIN MoiMême..Curseur=rCurseur RepriseSaisie() FIN |
| |
| |
| | | |
|
| | |
| |
Posted on March, 30 2006 - 8:08 AM |
Bonjour,
***A chaque modification*** (il faudra replacer le curseur)
SI Position(MoiMême,Caract(34))>0 ALORS i est un entier POUR il=1 A Position(MoiMême,Caract(34),DepuisFin) SI ChaîneOccurrence(MoiMême,"«")=ChaîneOccurrence(MoiMême,"»") ALORS MoiMême=Remplace(MoiMême,Caract(34),"«") SINON MoiMême=Remplace(MoiMême,Caract(34),"»") FIN FIN FIN
La ligne POUR TOUTE POSITION ... peut être utilisée avantageusement. Le logique change un peu pour un traitement en sortie de champ.
Bon dev, PEGOS |
| |
| |
| | | |
|
| | |
| |
Posted on March, 30 2006 - 10:06 AM |
J'utilise la procédure suivante dans les champs : Prénom et Prénom + Nom Tpeu facilement l'adapter à ton cas
// Met la 1ére lettre de chaque mot en majuscule // à utiliser sur l'évenement Chaque modification du champ concerné PROCEDURE SaisieDébutMajuscule(psChamp) sContenuChamp est une chaîne = {psChamp,indChamp} nCurseur est un entier = {psChamp,indChamp}..Curseur SI nCurseur > 2 ALORS SI sContenuChamp[[nCurseur-2]] DANS (" ", ".", "-") ALORS // liste des séparateurs de mot sContenuChamp[[nCurseur-1]] = Majuscule(SansAccent(sContenuChamp[[nCurseur-1]])) {psChamp,indChamp} = sContenuChamp {psChamp,indChamp}..Curseur = nCurseur FIN FIN
cordialement JCP
"Paul" <paul.gera@free.fr> a écrit dans le message de news: 44269177$1@news.pcsoft.fr...
Bonjour,
Un client, très à cheval sur la langue française, me demande de remplacer les guillemets "" par des guillements <<>> (comme dans Word).
Comment faire ceci avec Windev ?
Merci de votre réponse.
|
| |
| |
| | | |
|
| | |
| |
Posted on April, 05 2006 - 3:57 PM |
Bonjour,
J'utilise votre procédure mais le curseur revien toujours au début du champ ?!!!
Comment éviter cela ?
Sinon, parfait !
MERCI
"Pegos" <pepbob@club.fr> a écrit dans le message de news: 442c741e$1@news.pcsoft.fr...
Bonjour,
***A chaque modification*** (il faudra replacer le curseur)
SI Position(MoiMême,Caract(34))>0 ALORS i est un entier POUR il=1 A Position(MoiMême,Caract(34),DepuisFin) SI ChaîneOccurrence(MoiMême,"«")=ChaîneOccurrence(MoiMême,"»") ALORS MoiMême=Remplace(MoiMême,Caract(34),"«") SINON MoiMême=Remplace(MoiMême,Caract(34),"»") FIN FIN FIN
La ligne POUR TOUTE POSITION ... peut être utilisée avantageusement. Le logique change un peu pour un traitement en sortie de champ.
Bon dev, PEGOS
|
| |
| |
| | | |
|
| | |
| |
Posted on April, 06 2006 - 5:43 PM |
????
Vous avez une solution ???
MERCIIIII
"Paul" <paul.gera@free.fr> a écrit dans le message de news: 4433b087$1@news.pcsoft.fr...
Bonjour, J'utilise votre procédure mais le curseur revien toujours au début du champ ?!!! Comment éviter cela ? Sinon, parfait ! MERCI "Pegos" <pepbob@club.fr> a écrit dans le message de news: 442c741e$1@news.pcsoft.fr... Bonjour,
***A chaque modification*** (il faudra replacer le curseur)
SI Position(MoiMême,Caract(34))>0 ALORS i est un entier POUR il=1 A Position(MoiMême,Caract(34),DepuisFin) SI ChaîneOccurrence(MoiMême,"«")=ChaîneOccurrence(MoiMême,"»") ALORS MoiMême=Remplace(MoiMême,Caract(34),"«") SINON MoiMême=Remplace(MoiMême,Caract(34),"»") FIN FIN FIN
La ligne POUR TOUTE POSITION ... peut être utilisée avantageusement. Le logique change un peu pour un traitement en sortie de champ.
Bon dev, PEGOS
|
| |
| |
| | | |
|
| | |
| |
Posted on April, 10 2006 - 11:12 AM |
Bonjour,
Je réitère ma question car ce code fonctionne très bien mais il repositionne le curseur au début du champ de saisie et non à la fin.
Quel code utiliser pour que le curseur se repositionne correctement ?
MERCI.
Paul
"JCP" <puccettijc@free.fr> a écrit dans le message de news: 442cc34c$1@news.pcsoft.fr...
J'utilise la procédure suivante dans les champs : Prénom et Prénom + Nom Tpeu facilement l'adapter à ton cas // Met la 1ére lettre de chaque mot en majuscule // à utiliser sur l'évenement Chaque modification du champ concerné PROCEDURE SaisieDébutMajuscule(psChamp) sContenuChamp est une chaîne = {psChamp,indChamp} nCurseur est un entier = {psChamp,indChamp}..Curseur SI nCurseur > 2 ALORS SI sContenuChamp[[nCurseur-2]] DANS (" ", ".", "-") ALORS // liste des séparateurs de mot sContenuChamp[[nCurseur-1]] = Majuscule(SansAccent(sContenuChamp[[nCurseur-1]])) {psChamp,indChamp} = sContenuChamp {psChamp,indChamp}..Curseur = nCurseur FIN FIN cordialement JCP "Paul" <paul.gera@free.fr> a écrit dans le message de news: 44269177$1@news.pcsoft.fr... Bonjour,
Un client, très à cheval sur la langue française, me demande de remplacer les guillemets "" par des guillements <<>> (comme dans Word).
Comment faire ceci avec Windev ?
Merci de votre réponse.
|
| |
| |
| | | |
|
| | |
| |
Posted on April, 18 2006 - 11:05 AM |
Mille excuses PAUL
Pour repositionner le curseur il suffit de réutiliser le nCurseur
Moimeme..Curseur=ncurseur |
| |
| |
| | | |
|
| | |
| |
Posted on April, 18 2006 - 4:01 PM |
Merci Claude !
"MANDIN Claude" <cm16.top@wanadoo.fr> a écrit dans le message de news: 444486f2$1@news.pcsoft.fr...
Mille excuses PAUL
Pour repositionner le curseur il suffit de réutiliser le nCurseur
Moimeme..Curseur=ncurseur
|
| |
| |
| | | |
|
| | | | |
| | |
|