Page 1 sur 1

UCase > Problème avec les caractères accentués en Unicode

Publié : sam. 04/oct./2008 17:01
par erix14
Bonjour :)
Comme la fonction UCase de PureBasic ne fonctionne pas avec les caractères accentués en mode Unicode :( , j'utilise la fonction CharUpperW. Mais celle-ci a des problèmes quand je l'utilise dans une procédure...
Quelqu'un sait pourquoi ou aurait une autre méthode ?

Code : Tout sélectionner

;- Compilez en Unicode

ImportC "user32.lib"
	CharUpperW(chaine.S)
	CharLowerW(chaine.S)
EndImport

Global chaine.S = "C'est déjà ça"
Debug "UCase = "+UCase(chaine)

CharUpperW(chaine)
Debug "CharUpperW = "+chaine

Procedure UCaseW()
	
	Protected MaChaine.S = "C'est déjà ça"
	CharUpperW(MaChaine)
	Debug "Dans une procédure en local : "+MaChaine
	
	CharLowerW(chaine)
	Debug "Dans une procédure avec la variable globale : "+chaine
	
EndProcedure
 
UCaseW()

Publié : sam. 04/oct./2008 17:38
par Anonyme2
Salut Erix14,

tu devrait essayer l'appel de la fonction avec CallCFunctionFast() ou CallCFunction()


Denis

Publié : sam. 04/oct./2008 17:42
par erix14
Merci Denis, tu m'a mis sur la voie, j'avais mis "ImportC" au lieu de "Import". :oops: