Lorsque l'on rédige un document dans le champ traitement de texte, on souhaite souvent utiliser les guillemets français « et » et non les guillemets techniques "" ou guillemets anglais.
C'est une option de Word et vous pouvez créer une option identique pour vos champs traitement de texte de WINDEV en utilisant la procédure suivante :
// chTTX (chaîne UNICODE) : Nom du champ Traitement de texte // nCurseur (entier) : position du dernier caractère saisi
PROCÉDURE RemplaceGuillemets(chTTX est une chaîne , nCurseur est un entier)
f est un docFragment({chTTX,indChamp},nCurseur-1,1)
tabGuillemetsOuvrants est tableau de docFragments
tabGuillemetsFermants est tableau de docFragments
SI Asc(f.Texte) = 34 ALORS
// Recherche de tous les guillemets
tabGuillemetsOuvrants = DocRecherche({chTTX,indChamp},Caract(171))
tabGuillemetsFermants = DocRecherche({chTTX,indChamp}, Caract(187))
// On vérifie le sens du guillemet précédent.
SI tabGuillemetsOuvrants.Occurrence > 0 ALORS
SI tabGuillemetsFermants..Occurrence > 0 ALORS
SI tabGuillemetsOuvrants[tabGuillemetsOuvrants.Occurrence].PositionDébut > tabGuillemetsFermants[tabGuillemetsFermants.Occurrence].PositionDébut ALORS
// Le dernier guillemet est ouvrant, on utilise un guillemet fermant.
f.Texte = Caract(187)
SINON
// Le dernier est fermant, on utilise un guillemet ouvrant.
f.Texte = Caract(171)
FIN
SINON
// Le seul guillemet existant est ouvant, on utilise un guillemet fermant.
f.Texte = Caract(187)
FIN
SINON
// Il n'y a pas encore de guillemets, on utilise un guillemet ouvant.
f.Texte = Caract(171)
FIN
FIN
Cette procédure est ensuite à appeler dans le code « A chaque modification du champ ».
// Remplacement des "" par «
RemplaceGuillemets(MoiMême..Nom,MoiMême..Curseur)
|
|
< Retour
|
|
|
|
|
|