Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD11] passer en unicode

9 réponses
Avatar
Daireaux Jean-Baptiste
Bonjour,

Pourriez-vous m'indiquer les étapes à effectuer pour transformer un
projet actuel pour que les utilisateurs puissent saisir des données en
français et en grec (alphabet grec) et que les états associés à ses
données sortent correctement.

Merci
J.B.D.

9 réponses

Avatar
Daireaux Jean-Baptiste
Daireaux Jean-Baptiste a écrit :
Bonjour,

Pourriez-vous m'indiquer les étapes à effectuer pour transformer un
projet actuel pour que les utilisateurs puissent saisir des données en
français et en grec (alphabet grec) et que les états associés à ses
données sortent correctement.

Merci
J.B.D.




Personne n'a fait d'unicode avec windev ?

est-ce que windev gère l'unicode dans hyperfile ?

Merci.
Avatar
marcel.berman
Salut !
Je pense avoir vu dans l'analyse que l'on pouvait indiquer qu'un fichier
pouvait contenir de l'unicode ... mais est-ce seulement en V12 ... je ne
sais plus !

--
Marcel Berman
Président de Be-Dev (www.be-dev.be)
Membre du conseil d'administration de Windasso
Be-dev et Windasso sont des groupes d'utilisateurs de Windev, Webdev et
Windev Mobile
produits par la société PC-Soft (France)
Avatar
patrice
"Daireaux Jean-Baptiste" a écrit
dans le message de news:4832dcb4$0$926$
Personne n'a fait d'unicode avec windev ?

est-ce que windev gère l'unicode dans hyperfile ?




non, c'est une nouveauté de la v12
Avatar
mat
Daireaux Jean-Baptiste wrote:
Bonjour,

Pourriez-vous m'indiquer les étapes à effectuer pour transformer un
projet actuel pour que les utilisateurs puissent saisir des données en
français et en grec (alphabet grec) et que les états associés à ses
données sortent correctement.

Merci
J.B.D.



Bonjour,

si un seul document n'a pas besoin de deux alphabets à la fois, donc on
ne veut que pouvoir choisir entre différents alphabets, le lien suivant
donne une piste:

http://groups.google.com/group/fr.comp.developpement.agl.windev/browse_thread/thread/44188a37539a45f/0625049c13f50972?lnk=gst&q=mat+%2B+unicode#0625049c13f50972

Salutations
Mat
Avatar
mat
j'ai oublié que Parsimony n'existe plus. J'ai trouvé les liens suivants
sur le newsgroup de PC Soft qui copie les messages du Windev Forum en
anglais:

http://forum.pcsoft.fr/post.awp?id…08&forum=pcsoft.us.windev&lang=us&result=../search.awp?keyw=unicode%26method=1%2c1%26forum=pcsoft.us.windev%26lang=us%26setoptions=get_results

http://forum.pcsoft.fr/post.awp?idh95&forum=pcsoft.us.windev&lang=us&result=../search.awp?keyw=unicode%26method=1%2c1%26forum=pcsoft.us.windev%26lang=us%26setoptions=get_results
Avatar
Romain PETIT
mat a exposé le 25/05/2008 :
j'ai oublié que Parsimony n'existe plus.



Je crois qu'il a simplement changé d'adresse :
http://forum.mysnip.de/list.php?27131

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
mat
Romain PETIT wrote:
mat a exposé le 25/05/2008 :
j'ai oublié que Parsimony n'existe plus.



Je crois qu'il a simplement changé d'adresse :
http://forum.mysnip.de/list.php?27131

A+




oui, mais il n'y a plus les archives, au moins pour l'instant ...
Avatar
Daireaux Jean-Baptiste
mat a écrit :
Daireaux Jean-Baptiste wrote:
Bonjour,

Pourriez-vous m'indiquer les étapes à effectuer pour transformer un
projet actuel pour que les utilisateurs puissent saisir des données en
français et en grec (alphabet grec) et que les états associés à ses
données sortent correctement.

Merci
J.B.D.



Bonjour,

si un seul document n'a pas besoin de deux alphabets à la fois, donc on
ne veut que pouvoir choisir entre différents alphabets, le lien suivant
donne une piste:

http://groups.google.com/group/fr.comp.developpement.agl.windev/browse_thread/thread/44188a37539a45f/0625049c13f50972?lnk=gst&q=mat+%2B+unicode#0625049c13f50972


Salutations
Mat



Hélas j'ai besoin des deux à la fois ...

J.B.D.
Avatar
Daireaux Jean-Baptiste
Daireaux Jean-Baptiste a écrit :
Bonjour,

Pourriez-vous m'indiquer les étapes à effectuer pour transformer un
projet actuel pour que les utilisateurs puissent saisir des données en
français et en grec (alphabet grec) et que les états associés à ses
données sortent correctement.

Merci
J.B.D.



Bien après quelque recherche et test:

Pour passer un projet en unicode(UTF-8) en windev 11 voici les éléments
à prendre en compte :

A l'initialisation du projet :

ChangeAlphabet(alphabetUTF8)
SI PAS HCréationSiInexistant(*,"","","",hChangeAlphabet) ALORS
Info("Impossible de créer ou d'initialiser l'accès au fichier"

,HErreurInfo())
Fin

Cela passe windev en unicode et indique que les données devront être
stocker en unicode

Attention UTF-8 est un système de caractère à taille variable donc si
vous avez dans votre analyse vous avez une chaine taille 5, ce n'est pas
5 caractères mais 5 octets que windev stockera soit de 1 à 5 caractères
UTF-8

en UTF-8 , le premier octet du caractère indique la taille en octet du
caractère selon le schéma suivant :

X un entier qui a la valeur du premier octet d'un caractère

si x<128 alors la taille du caractère est de 1 octet
si x<224 alors la taille du caractère est de 2 octets
si x<240 alors la taille du caractère est de 3 octets
si x<248 alors la taille du caractère est de 4 octets
...(Cf Wikipédia UTF-8)

les fonction de windev ne savent pas gérer l'UTF-8 en effet elle
considère toujours la chaine comme étant une suite d'octet.

Donc, il faut abolir l'utilisation de '[[' et ']]' dans le projet et
surcharger toutes les fonction de manipulation des chaine de windev.
(taille, gauche, droite, milieu, ...)

exemple : taille("éù") donne 4 au lieu de 2

d'ou le code suivant à mettre dans les fonction globale du projet:

//------ code -------//
FONCTION taille(sTxt est une chaîne)

nNb_c est un entier
i est un entier
j est un entier
k est un entier

nNb_c=0
j=1
i=WL.Taille(sTxt)
TANTQUE j<=i
k=Asc(sTxt[[j]])
SI k<128 ALORS
j+=1
SINON
SI k<224 ALORS
j+=2
SINON
SI k<240 ALORS
j+=3
SINON
SI k<248 ALORS
j+=4
SINON
ExceptionDéclenche(55,"La chaine """+sTxt+""" contient des code
UTF-8 hors de la porté du programme actuel.")
FIN
FIN
FIN
FIN
nNb_c+=1
FIN
RENVOYER nNb_c
//----------fin code---------//

avec cette fonction on a taille("éù") qui donne 2.

Voila pour pouvoir gérer de l'unicode (UTF-8) dans windev 11

Vous remarquerez que la notion de la taille d'une chaine dans l'analyse
des bases hyperfile devient délicate, il convient d'augmenter la taille
des chaines du double voir du triple de leur taille ANSI.

Bonne Journée
J.B.D.