Page 1 sur 3
Petit bug ?? avec le sigle de l'Euro, avant c'était OK
Publié : lun. 18/août/2014 9:16
par MLD
Mais c'était avant la 5.30
Maintenant pourquoi ceci ne fonctionne pas?
Code : Tout sélectionner
OpenWindow(0, 0, 0, 200, 200, "DrawText Exemple", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateImage(0 ,200,200,32)
StartDrawing(ImageOutput(0))
DrawingMode(#PB_2DDrawing_Default)
Box(0, 0,200,200 ,$DCC28A)
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(5,20, "1000"+ ".€",$FFFFFF)
DrawText(5,50, "1000." + Chr(128),$FFFFFF)
StopDrawing()
ImageGadget(1,0, 45, 40, 0, ImageID(0))
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
End
Merci pour vos réponses

Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK
Publié : lun. 18/août/2014 9:50
par Ar-S
le problème vient surement de ta font.
En chargeant de l'arial ça marche sous 5.30 et 5.22
Code : Tout sélectionner
LoadFont(1, "Arial", 14) ; Ajout
OpenWindow(0, 0, 0, 200, 200, "DrawText Exemple", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateImage(0 ,200,200,32)
StartDrawing(ImageOutput(0))
DrawingFont(FontID(1)) ; Ajout
DrawingMode(#PB_2DDrawing_Default)
Box(0, 0,200,200 ,$DCC28A)
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(5,20, "1000"+ ".€",$FFFFFF)
DrawText(5,50, "1000." + Chr(128),$FFFFFF)
StopDrawing()
ImageGadget(1,0, 45, 40, 0, ImageID(0))
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
End
Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK
Publié : lun. 18/août/2014 9:57
par graph100
Franchement, je sais pas !
je pensais que c'était la police par défault qui ne comporte pas le caractère '€' mais apparemment non.
Ca ne fonctionne pas :
[EDIT] : ca fonctionne, ne pas oublier de mettre DrawingFont(FontID(font))
Code : Tout sélectionner
OpenWindow(0, 0, 0, 200, 200, "DrawText Exemple", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateImage(0 ,200,200,32)
; chargement d'une police qui contient tous les symboles unicodes
font = LoadFont(#PB_Any, "Georgia", 10)
Debug font
StartDrawing(ImageOutput(0))
DrawingMode(#PB_2DDrawing_Default)
Box(0, 0,200,200 ,$DCC28A)
DrawingMode(#PB_2DDrawing_Transparent)
DrawingFont(FontID(font))
s.s = "1000.€"
DrawText(5,20, s, $FFFFFF)
DrawText(5,50, "1000." + Str('€'),$FFFFFF)
StopDrawing()
ImageGadget(1,0, 45, 40, 0, ImageID(0))
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
End
Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK
Publié : lun. 18/août/2014 10:08
par Fred
Assures toi quoi ton fichier est en UTF-8 (Menu -> Fichier/Format Fichier)
Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK
Publié : lun. 18/août/2014 10:50
par MLD
@ Merci a tous
Non je n'était pas en UTF8
J'ai fait la manip en UTF sur mon vrais fichier, et j'ai voulu revenir en arrière. Les trois quart de mon fichier a été éffacé 3 semaines de travail a la poubelle (c'est bien fait pour moi , car pas de sauvegarde) Je ne veut pas de l'UTF qui met la panique dans nombres de fichiers.
PB doit avoir une compatibilité ascendante.
Mais il y a Bug avec la fonte par défaut de PB car si l'on ne fait pas ceci
StartDrawing(ImageOutput(0))
DrawingFont(FontID(1))
le sigle euro n'apparait plus
Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK
Publié : lun. 18/août/2014 11:17
par falsam
MLD a écrit :Mais c'était avant la 5.30
Maintenant pourquoi ceci ne fonctionne pas?
Même avant la 5.30, le code que tu proposes ne fonctionne pas. J'ai testé ton code avec la version 4.51 et je n'ai pas d'affichage du symbole Euro.
Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK
Publié : lun. 18/août/2014 11:28
par falsam
Dans ton dernier code, remplace
par
et ça fonctionnera.
Code : Tout sélectionner
OpenWindow(0, 0, 0, 200, 200, "DrawText Exemple", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CreateImage(0 ,200,200,32)
; chargement d'une police qui contient tous les symboles unicodes
font = LoadFont(#PB_Any, "Georgia", 10)
Debug font
StartDrawing(ImageOutput(0))
DrawingMode(#PB_2DDrawing_Default)
Box(0, 0,200,200 ,$DCC28A)
DrawingMode(#PB_2DDrawing_Transparent)
DrawingFont(FontID(font))
s.s = "1000.00 €"
DrawText(5,20, s, $FFFFFF)
DrawText(5,50, "1000.00 " + "€",$FFFFFF)
StopDrawing()
ImageGadget(1,0, 45, 40, 0, ImageID(0))
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
End
Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK
Publié : lun. 18/août/2014 11:56
par Backup
pas avec EPB , et je me demande bien pourquoi ?

(mode unicode ou pas )
faudrai arreter de changer les regles toutes les 5 minutes
avec EPB , je suis obligé de faire appel au code Ascii
ça , ça marche
Code : Tout sélectionner
s.s = "1000.00 "+chr(128)
DrawText(5,20, s, $FFFFFF)
DrawText(5,50, "1000.00 " + chr(128),$FFFFFF)
Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK
Publié : lun. 18/août/2014 12:02
par falsam
Dobro a écrit :pas avec EPB , et je me demande bien pourquoi ?
On peut dire que tu en fait de la pub pour EPB
Le dernier code que propose MLD fonctionne bien (UTF 8 ou pas) à condition de ne pas faire d'erreur sur l'utilisation de DrawingFont() Son code ne fonctionnait pas non plus avec les versions précédentes de Pure Basic.
Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK
Publié : lun. 18/août/2014 17:21
par MLD
Merci les amis
Le code que j'ai mis en dernier bien entendu est faux. Mais j'avais tellement les boules d'avoir perdus 3 semaines de boulot, que mes doigts ont déraillés
Je vient seulement de rallumer mon ordi.
Je relookais un de mes logiciels pour en faire une nouvelle version.
Ne faite jamais cette manip lancer le programme en passant de encodage texte brut en UTF8 et retour en arrière. Je ne sait pas porquoi mais les 3/4 du programme a été éffacé. Une horreur
@ falsam tu veux dire que la fonte par défaut de PB ne fonctionne pas correctement ??
Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK
Publié : lun. 18/août/2014 20:46
par Ar-S
On en revient à mon code qui marchait
Je plussoie sur la conversion de fichier en utf8, faut toujours se faire une tite sauvegarde avant. ça m'est arrivé une fois j'ai couiné

Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK
Publié : lun. 18/août/2014 21:28
par Fred
Il y a "l'historique de session" qui doit permettre de retrouver facilement le contenu d'un fichier PB à une date anterieure.
Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK
Publié : lun. 18/août/2014 22:17
par graph100
Fred l'a déja mentionné, tu peux retrouver tout ton boulot avec l'historique de PB qui garde tout en mémoire !
Sinon, dans le code que j'ai posté j'avais oublié le FontId()

Donc ça fonctionne bien ! (je corrige ça de suite)
@Ar-S: je n'avais pas vu que tu as posté avant moi d'ailleurs
Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK
Publié : mar. 19/août/2014 9:25
par MLD
Merci Fred Ar-S Graph100
J'ai en effet retrouver mon code d'origine. Ou plus exactement je le vois, mais je bave comme un chien devant un os, car je n'est pas compris comment récupérer le code; (Copier coller ne fonctionne pas?) SOS les amis.
Oui ton code fonctionne Ar-S. faut'il en déduire que avec StartDrawing(xx) ect, DrawingFont(FontID(xx)) soit obligatoire ??
Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK
Publié : mar. 19/août/2014 9:28
par Fred
Ici CTRL+A/CTRL+C et CTRL+V dans l'IDE fonctionne (sous Windows).