Petit bug ?? avec le sigle de l'Euro, avant c'était OK

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Petit bug ?? avec le sigle de l'Euro, avant c'était OK

Message 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 :lol:
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK

Message 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
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK

Message 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

Dernière modification par graph100 le lun. 18/août/2014 22:17, modifié 1 fois.
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Fred
Site Admin
Messages : 2805
Inscription : mer. 21/janv./2004 11:03

Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK

Message par Fred »

Assures toi quoi ton fichier est en UTF-8 (Menu -> Fichier/Format Fichier)
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK

Message 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. :twisted:
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
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK

Message 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.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK

Message par falsam »

Dans ton dernier code, remplace

Code : Tout sélectionner

DrawingFont(font)
par

Code : Tout sélectionner

DrawingFont(FontID(font))
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
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK

Message par Backup »

pas avec EPB , et je me demande bien pourquoi ? :roll: (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)
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK

Message 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 :mrgreen:

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.
Dernière modification par falsam le lun. 18/août/2014 17:24, modifié 1 fois.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK

Message 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 :cry:
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 ??
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK

Message par Ar-S »

On en revient à mon code qui marchait :wink:
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é :)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Fred
Site Admin
Messages : 2805
Inscription : mer. 21/janv./2004 11:03

Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK

Message par Fred »

Il y a "l'historique de session" qui doit permettre de retrouver facilement le contenu d'un fichier PB à une date anterieure.
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK

Message 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() :oops: Donc ça fonctionne bien ! (je corrige ça de suite)
@Ar-S: je n'avais pas vu que tu as posté avant moi d'ailleurs
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK

Message 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 ??
Fred
Site Admin
Messages : 2805
Inscription : mer. 21/janv./2004 11:03

Re: Petit bug ?? avec le sigle de l'Euro, avant c'était OK

Message par Fred »

Ici CTRL+A/CTRL+C et CTRL+V dans l'IDE fonctionne (sous Windows).
Répondre