[Résolu] Texte bizzarre

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

[Résolu] Texte bizzarre

Message par Micoute »

Pourquoi quand je fait un programme pour en générer un autre, dans le programme généré les caractères accentués sont-t'ils déformés du genre @A ou @i, enfin des trucs comme ça !

Si vous pouviez m'aider à trouver une solution à mon problème, je vous serais gré de m'accorde votre attention

Merci !
Dernière modification par Micoute le ven. 07/sept./2012 13:29, modifié 1 fois.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Texte bizzarre

Message par SPH »

dans les options du compileur, met le support unicode :idea:

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Texte bizzarre

Message par Micoute »

C'est pourtant ce que j'ai fait. Merci
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Texte bizzarre

Message par falsam »

Tu génères ton programme dans un fichier texte ?
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
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Texte bizzarre

Message par Ar-S »

Pour compléter ce que dit falsam si tu te sers d'un fichier texte, vérifie l'encodage de ce dernier, s'il est en UTF-8 ? AINSI ? etc.. ça pourrait venir de là.
~~~~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
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Texte bizzarre

Message par falsam »

Ar-S a écrit :Pour compléter ce que dit falsam si tu te sers d'un fichier texte, vérifie l'encodage de ce dernier, s'il est en UTF-8 ? AINSI ? etc.. ça pourrait venir de là.
Voila voila ..... je pense que tout est dit :)
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
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Texte bizzarre

Message par Micoute »

Ah ! Bon sang ! Mais c'est bien sûr ! disait Raymond Souplex

Mais oui, mon programme généré, malgré qu'il porte l'extension .PB, c'est du texte et ça, ça ne règle pas mon problème, pouvez-vous me fournir plus d'infos s'il vous plait !
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Texte bizzarre

Message par Ar-S »

Donne du code stp. :wink:
~~~~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
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Texte bizzarre

Message par Micoute »

Voici mon code :

Code : Tout sélectionner

XIncludeFile "Bouton maison.pbi"
Enumeration
	#Fenetre_principale
	#Fenetre_apercu
EndEnumeration
Enumeration
	#Texte_ChoisirIcone
	#Texte_Nbre_Boutons
	#Option_1_bouton
	#Option_2_boutons
	#Option_3_boutons
	#Texte_Option_1_bouton
	#Texte_Option_2_boutons
	#Texte_Option_3_boutons
	#Bouton_1_btn
	#Bouton_2_btn
	#Bouton_3_btn
	#Texte_des_boutons
	#Texte_Bouton_1
	#ComboBox_1
	#Texte_bouton_2
	#Texte_bouton_3
	#ComboBox_2
	#ComboBox_3
	#Option_son
	#Texte_titre_message
	#Chaine_message
	#Texte_EntrerMessage
	#Bouton_sans_icone
	#Editor_message
	#Bouton_Apercu
	#Bouton_Valider
	#Bouton_Quitter
	#Frame3D_Boutons
	#Frame3D_Icones
	#ButtonImage_1_btn
	#ButtonImage_2_btn
	#ButtonImage_3_btn
	#Bouton_Info
	#Bouton_Question
	#Bouton_Attention
	#Bouton_Erreur
	#Image
	#Image_1
	#Image_2
	#Image_3
	#Image_4
	#Fichier
EndEnumeration
;- Image Plugins
UsePNGImageDecoder()

Global.i Image1, Image2, Image3, Image4 ; Icones sur nos boutons
Global.i NbreBoutons ; Nombre de boutons du requester
Global.i ValeurCombo1, ValeurCombo2, ValeurCombo3 ;Valeur renvoyée par chaque combo
Global.i Image; Id de l'icone du requester
Global.s Elements ; Eléments de la liste de chaque combo
Global.s Resultat1, Resultat2, Resultat3 ; texte renvoyé par les combos
Global Icone$ ; Icone affichée dans le requester
Global.s FichierSource = #PB_Compiler_FilePath + "Requester perso.pb"
;- Catch Images
Image1 = CatchImage(#Image_1, ?Image1); Icone Info
Image2 = CatchImage(#Image_2, ?Image2); Icone Question
Image3 = CatchImage(#Image_3, ?Image3); Icone Attention
Image4 = CatchImage(#Image_4, ?Image4); Icone Erreur

;- Images
DataSection
	Image1:
	IncludeBinary "icones\information 3.png"
	Image2:
	IncludeBinary "icones\question 3.png"
	Image3:
	IncludeBinary "icones\attention 3.png"
	Image4:
	IncludeBinary "icones\erreur 3.png"
	ImageSon:
	IncludeBinary "icones\son.ico"
EndDataSection

Procedure Apercu()	
	Protected.i Bouton1=1, Bouton2=2, Bouton3=3, Icone=4, Texte=5
	
	OpenWindow(#Fenetre_apercu, 0, 0, 300, 150, GetGadgetText(#Chaine_message),#PB_Window_SystemMenu|#PB_Window_ScreenCentered)	
	
	If Resultat1 ; texte renvoyé par le combo1
		Init_BoutonPerso(1, 75, 30, GetWindowColor(#Fenetre_apercu), $FFFFFF, $E60B00, $FFFFFF, $E60B00, 0, 1)	
		CreerBouton(Bouton1, #Fenetre_apercu, Resultat1, 20, WindowHeight(#Fenetre_apercu)-50, 0)
	EndIf	
	
	If Resultat2 ; texte renvoyé par le combo2
		Init_BoutonPerso(1, 75, 30, GetWindowColor(#Fenetre_apercu), $FFFFFF, $1C00FF, $FFFFFF, $1C00FF, 0, 1)
		CreerBouton(Bouton2, #Fenetre_apercu, Resultat2, 115, WindowHeight(#Fenetre_apercu)-50, 0)
	EndIf	
	
	If Resultat3 ; texte renvoyé par le combo3
		Init_BoutonPerso(1, 75, 30, GetWindowColor(#Fenetre_principale), $FFFFFF, $019B24, $FFFFFF, $019B24, 0, 1)
		CreerBouton(Bouton3, #Fenetre_apercu, Resultat3, 210, WindowHeight(#Fenetre_apercu)-50, 0)
	EndIf
	
	If Image
		ImageGadget(Icone, 5,5,40,40, Image); Icone du requester
	EndIf
	
	Texte$ = GetGadgetText(#Editor_message); Texte du requester
	TextGadget(Texte, 60, 20, 200, 80, Texte$)
	
	Repeat
		Select WaitWindowEvent()
			Case #PB_Event_Gadget
				Select EventGadget()
					Case Bouton1
						Debug ValeurCombo1
					Case Bouton2
						Debug ValeurCombo2
					Case Bouton3
						Debug ValeurCombo3
				EndSelect
			Case #PB_Event_CloseWindow
				Select EventWindow()
					Case #Fenetre_apercu
						CloseWindow(#Fenetre_apercu)
						Break
				EndSelect
		EndSelect
		VerifierSurvolBouton(#Fenetre_apercu)
	ForEver
EndProcedure

Procedure CreerCode()
	If FileSize(FichierSource) 
		DeleteFile(FichierSource)
		CreateFile(#Fichier, FichierSource)
		OpenFile(#Fichier, FichierSource)
		
		WriteStringN(#Fichier, "XIncludeFile "+Chr(34)+"Bouton maison.pbi"+Chr(34))
		WriteStringN(#Fichier, "Enumeration")
		WriteStringN(#Fichier, "	#Fenetre_principale")
		WriteStringN(#Fichier, "	#Titre")
		WriteStringN(#Fichier, "	#Icone")
		WriteStringN(#Fichier, "	#message")
		WriteStringN(#Fichier, "	#Bouton1")
		WriteStringN(#Fichier, "	#Bouton2")
		WriteStringN(#Fichier, "	#Bouton3")
		WriteStringN(#Fichier, "EndEnumeration")
		WriteStringN(#Fichier, "")
		WriteStringN(#Fichier, ";- Image Plugins")
		WriteStringN(#Fichier, "UsePNGImageDecoder()")
		WriteStringN(#Fichier, "")
		WriteStringN(#Fichier, "Global.i NbreBoutons ; Nombre de boutons du requester")
		WriteStringN(#Fichier, "Global.i Image; Id de l'icone du requester")
		WriteStringN(#Fichier, "Global Icone$ ; Icone affichee dans le requester")
		WriteStringN(#Fichier, "")
		WriteStringN(#Fichier, "Procedure RequesterPerso()")
		WriteStringN(#Fichier, "	Protected.i Bouton1=1, Bouton2=2, Bouton3=3, Icone=4, Texte=5")
		WriteStringN(#Fichier, "")
		WriteStringN(#Fichier, "	OpenWindow(#Fenetre_principale, 0, 0, 300, 150, "+Chr(34)+GetGadgetText(#Chaine_message)+Chr(34)+",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)")
		WriteStringN(#Fichier, "")
		If NbreBoutons = 1 Or NbreBoutons = 2 Or NbreBoutons = 3
			WriteStringN(#Fichier, "	Init_BoutonPerso(1, 75, 30, GetWindowColor(#Fenetre_principale), $FFFFFF, $E60B00, $FFFFFF, $E60B00, 0, 1)")
			WriteStringN(#Fichier, "	CreerBouton(Bouton1, #Fenetre_principale, "+Chr(34)+Resultat1+Chr(34)+", 20, WindowHeight(#Fenetre_principale)-50, 0)")
			WriteStringN(#Fichier, "")
		EndIf
		If NbreBoutons = 2	Or NbreBoutons =3
			WriteStringN(#Fichier, "	Init_BoutonPerso(1, 75, 30, GetWindowColor(#Fenetre_principale), $FFFFFF, $1C00FF, $FFFFFF, $1C00FF, 0, 1)")
			WriteStringN(#Fichier, "	CreerBouton(Bouton2, #Fenetre_principale, "+Chr(34)+Resultat2+Chr(34)+", 115, WindowHeight(#Fenetre_principale)-50, 0)")
			WriteStringN(#Fichier, "")
		EndIf
		If NbreBoutons = 3
			WriteStringN(#Fichier, "	Init_BoutonPerso(1, 75, 30, GetWindowColor(#Fenetre_principale), $FFFFFF, $019B24, $FFFFFF, $019B24, 0, 1)")
			WriteStringN(#Fichier, "	CreerBouton(Bouton3, #Fenetre_principale, "+Chr(34)+Resultat3+Chr(34)+", 210, WindowHeight(#Fenetre_principale)-50, 0)")
			WriteStringN(#Fichier, "")
		EndIf
		WriteStringN(#Fichier, "	LoadImage(#Icone, "+Chr(34)+Icone$+Chr(34)+")")
		WriteStringN(#Fichier, "	ImageGadget(Icone, 5,5,40,40, ImageID("+"#Icone"+"))"); Icone du requester
		WriteStringN(#Fichier, "")
		WriteStringN(#Fichier, "	TextGadget(Texte, 60, 20, 200, 80, "+Chr(34)+GetGadgetText(#Editor_message)+Chr(34)+")")
		WriteStringN(#Fichier, "")
		WriteStringN(#Fichier, "	Repeat")
		WriteStringN(#Fichier, "		Select WaitWindowEvent()")
		WriteStringN(#Fichier, "			Case #PB_Event_Gadget")
		WriteStringN(#Fichier, "				Select EventGadget()")
		WriteStringN(#Fichier, "					Case Bouton1")
		WriteStringN(#Fichier, "						Debug "+Str(ValeurCombo1))
		WriteStringN(#Fichier, "					Case Bouton2")
		WriteStringN(#Fichier, "						Debug "+Str(ValeurCombo2))
		WriteStringN(#Fichier, "					Case Bouton3")
		WriteStringN(#Fichier, "						Debug "+Str(ValeurCombo3))
		WriteStringN(#Fichier, "				EndSelect")
		WriteStringN(#Fichier, "			Case #PB_Event_CloseWindow")
		WriteStringN(#Fichier, "			Select EventWindow()")
		WriteStringN(#Fichier, "				Case #Fenetre_principale")
		WriteStringN(#Fichier, "					CloseWindow(#Fenetre_principale)")
		WriteStringN(#Fichier, "					Break")
		WriteStringN(#Fichier, "			EndSelect")
		WriteStringN(#Fichier, "		EndSelect")
		WriteStringN(#Fichier, "		VerifierSurvolBouton(#Fenetre_principale)")
		WriteStringN(#Fichier, "	ForEver")
		WriteStringN(#Fichier, "EndProcedure")
		WriteStringN(#Fichier, "")
		WriteStringN(#Fichier, "RequesterPerso()")		
		WriteStringN(#Fichier, "")
		WriteStringN(#Fichier, "; IDE Options = PureBasic 4.60 (Windows - x64)")
		WriteStringN(#Fichier, "; CursorPosition = 1")
		WriteStringN(#Fichier, "; FirstLine = 1")
		WriteStringN(#Fichier, "; Folding = -")
		WriteStringN(#Fichier, "; EnableUnicode")
		WriteStringN(#Fichier, "; EnableThread")
		WriteStringN(#Fichier, "; EnableOnError")
		WriteStringN(#Fichier, "; CompileSourceDirectory")
		WriteStringN(#Fichier, "; Compiler = PureBasic 4.60 (Windows - x86)")
		WriteStringN(#Fichier, "; EnablePurifier")
		CloseFile(#Fichier)
	EndIf
	;CallDebugger
EndProcedure		

Procedure Ouvrir_Fenetre_principale()
	If OpenWindow(#Fenetre_principale, 476, 65, 400, 599, "Programme de création de message requester", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
		DefinirPoliceBouton("Microsoft Sans Serif", 8)
		
		;On crée notre zone pour choisir une icîne
		Frame3DGadget(#Frame3D_Icones, 15, 5, 235, 285, "")
		TextGadget(#Texte_ChoisirIcone, 70, 15, 125, 15, "Veuillez choisir une icone")
		Init_BoutonPerso(1, 150, 40, GetWindowColor(#Fenetre_principale), $FFFFFF, $F5C8C8, $000000, $FFFFFF, 0, 2)
		ResizeImage(#Image_1, 20, 20)
		CreerBoutonH(#Bouton_Info, #Fenetre_principale, "Icone Info", 55, 40, #Image_1)
		ResizeImage(#Image_2, 20, 20)
		CreerBoutonH(#Bouton_Question, #Fenetre_principale, "Icone Question", 55, 90, #Image_2)
		ResizeImage(#Image_3, 20, 20)
		CreerBoutonH(#Bouton_Attention, #Fenetre_principale, "Icone Attention", 55, 140, #Image_3)
		ResizeImage(#Image_4, 20, 20)
		CreerBoutonH(#Bouton_Erreur, #Fenetre_principale, "Icone Erreur", 55, 190, #Image_4)
		
		;On définit si on veut une icone
		Init_BoutonPerso(1, 165, 30, GetWindowColor(#Fenetre_principale), $FFFFFF, $F5C8C8, $000000, $FFFFFF, 0, 2)
		CreerBouton(#Bouton_sans_icone, #Fenetre_principale, "Ne pas mettre d'icone", 30, 255, 0)
		
		;On choisit si on veut du son
		OptionGadget(#Option_son, 206, 264, 35, 15, "son")
		
		;On crée une zone por définir le nombres de boutons dans notre requester 
		Frame3DGadget(#Frame3D_Boutons, 260, 5, 120, 285, "")
		TextGadget(#Texte_Nbre_Boutons, 273, 15, 95, 15, "Nombre de boutons")
		OptionGadget(#Option_1_bouton, 275, 50, 15, 15, "")
		OptionGadget(#Option_2_boutons, 275, 70, 15, 15, "")
		OptionGadget(#Option_3_boutons, 275, 90, 15, 15, "")
		TextGadget(#Texte_Option_1_bouton, 290, 50, 50, 15, "1 bouton")
		TextGadget(#Texte_Option_2_boutons, 290, 70, 50, 15 , "2 boutons")
		TextGadget(#Texte_Option_3_boutons, 290, 90, 50, 15, "3 boutons")
		Init_BoutonPerso(1, 15, 15, GetWindowColor(#Fenetre_principale), $E60B00, $E60B00, $E60B00, $E60B00, 0, 2)
		DefinirPoliceBouton("Microsoft Sans Serif", 8)
		CreerBouton(#Bouton_1_btn, #Fenetre_principale, "", 350, 50, 0)
		Init_BoutonPerso(1, 15, 15, GetWindowColor(#Fenetre_principale), $1C00FF, $1C00FF, $1C00FF, $1C00FF, 0, 2)
		CreerBouton(#Bouton_2_btn, #Fenetre_principale, "", 350, 70, 0)
		Init_BoutonPerso(1, 15, 15, GetWindowColor(#Fenetre_principale), $019B24, $019B24, $019B24, $019B24, 0, 2)
		CreerBouton(#Bouton_3_btn, #Fenetre_principale, "", 350, 90, 0)
		TextGadget(#Texte_des_boutons, 274, 115, 90, 15, "Texte des boutons")
		TextGadget(#Texte_Bouton_1, 275, 145, 100, 15, "Texte du bouton 1 :")
		TextGadget(#Texte_bouton_2, 275, 185, 100, 15, "Texte du bouton 2")
		TextGadget(#Texte_bouton_3, 275, 230, 100, 15, "Texte du bouton 3")
		
		;On crée une liste les légendes pour les boutons du requester
		Elements = "Ok|Oui|Non|Annuler|Abandonner|Recommencer|Continuer|Ignorer|Choisir|Valider|Quitter"
		
		;On crée le combo 1
		ComboBoxGadget(#ComboBox_1, 275, 160, 100, 20)
		Compteur = CountString(Elements, "|")+1
		For i = 1 To compteur
			AddGadgetItem(#ComboBox_1, -1, StringField(Elements, i, "|"))
		Next
		DisableGadget(#ComboBox_1, 1)
		
		;puis le combo 2
		ComboBoxGadget(#ComboBox_2, 275, 205, 100, 20)
		For i = 1 To Compteur
			AddGadgetItem(#ComboBox_2, -1, StringField(Elements, i, "|"))
		Next
		DisableGadget(#ComboBox_2, 1)
		
		;et enfin le combo 3
		ComboBoxGadget(#ComboBox_3, 275, 250, 100, 20)
		For i = 1 To Compteur
			AddGadgetItem(#ComboBox_3, -1, StringField(Elements, i, "|"))
		Next
		DisableGadget(#ComboBox_3, 1)
		
		TextGadget(#Texte_titre_message, 25, 300, 350, 15, "Veuillez entrer le titre de votre message", #PB_Text_Center)
		StringGadget(#Chaine_message, 20, 320, 360, 20, "") ;Titre du Requester
		TextGadget(#Texte_EntrerMessage, 25, 345, 350, 15, "Veuillez entrer votre message", #PB_Text_Center)
		EditorGadget(#Editor_message, 20, 365, 360, 160) ; Texte du requester
		
		;On crée nos boutons
		Init_BoutonPerso(1, 115, 40, GetWindowColor(#Fenetre_principale), $FFFFFF, $F5C8C8, $000000, $FFFFFF, 0, 2)
		CreerBouton(#Bouton_Apercu, #Fenetre_principale, "Aperçu", 20, 550, 0)
		CreerBouton(#Bouton_Valider, #Fenetre_principale, "Valider", 143, 550, 0)
		CreerBouton(#Bouton_Quitter, #Fenetre_principale, "Quitter", 269, 550, 0)
	EndIf
EndProcedure

Ouvrir_Fenetre_principale()

;- Boucle d'événements
Repeat
	Select WaitWindowEvent()
		Case #PB_Event_Gadget
			Select EventGadget()
				Case #Option_1_bouton
					SetGadgetColor(#Texte_Option_1_bouton, #PB_Gadget_FrontColor, $E7A600)
					SetGadgetColor(#Texte_Option_2_boutons, #PB_Gadget_FrontColor, #Black)
					SetGadgetColor(#Texte_Option_3_boutons, #PB_Gadget_FrontColor, #Black)
					DisableGadget(#ComboBox_1, 0)
					DisableGadget(#ComboBox_2, 1)
					DisableGadget(#ComboBox_3, 1)
					NbreBoutons = 1
				Case #Option_2_boutons
					SetGadgetColor(#Texte_Option_1_bouton, #PB_Gadget_FrontColor, #Black)
					SetGadgetColor(#Texte_Option_2_boutons, #PB_Gadget_FrontColor, $E7A600)
					SetGadgetColor(#Texte_Option_3_boutons, #PB_Gadget_FrontColor, #Black)
					DisableGadget(#ComboBox_1, 0)
					DisableGadget(#ComboBox_2, 0)
					DisableGadget(#ComboBox_3, 1)
					NbreBoutons = 2
				Case #Option_3_boutons
					SetGadgetColor(#Texte_Option_1_bouton, #PB_Gadget_FrontColor, #Black)
					SetGadgetColor(#Texte_Option_2_boutons, #PB_Gadget_FrontColor, #Black)
					SetGadgetColor(#Texte_Option_3_boutons, #PB_Gadget_FrontColor, $E7A600)
					DisableGadget(#ComboBox_1, 0)
					DisableGadget(#ComboBox_2, 0)
					DisableGadget(#ComboBox_3, 0)
					NbreBoutons = 3
				Case #ComboBox_1
					Resultat1 = GetGadgetItemText(#ComboBox_1, GetGadgetState(#ComboBox_1)) ; texte renvoyé par le combo
					ValeurCombo1 = GetGadgetState(#ComboBox_1)
				Case #ComboBox_2
					Resultat2 = GetGadgetItemText(#ComboBox_2, GetGadgetState(#ComboBox_2))
					ValeurCombo2 = GetGadgetState(#ComboBox_2)
				Case #ComboBox_3
					Resultat3 = GetGadgetItemText(#ComboBox_3, GetGadgetState(#ComboBox_3))
					ValeurCombo1 = GetGadgetState(#ComboBox_3)
				Case #Option_son
				Case #Chaine_message
				Case #Bouton_sans_icone
				Case #Editor_message
				Case #Bouton_Apercu
					Apercu()
				Case #Bouton_Valider
					CreerCode()
				Case #Bouton_Quitter
					CloseWindow(#Fenetre_principale)
					End
				Case #Bouton_Info
					IconeParDefaut$ = #PB_Compiler_FilePath+"Icones\Info*.png"
					Filtre$ = "Icone Info*.png|Info*.png|Exclamination.png|Exclamination*.png"
					Filtre = 0
					Icone$ = OpenFileRequester("Choisissez une icone à charger", IconeParDefaut$, Filtre$, Filtre)
					If Icone$
						LoadImage(#Image, Icone$)
						Image = ImageID(#Image)
					Else
						MessageRequester("Information", "La sélection a été annulée.", 0)
					EndIf 
					
					SetGadgetText(#Chaine_message, "Information...")
				Case #Bouton_Question
					IconeParDefaut$ = #PB_Compiler_FilePath+"Icones\Question*.png"
					Filtre$ = "Icone Question*.png|Question*.png|Aide.png|Aide*.Png"
					Icone$ = OpenFileRequester("Choisissez une icone à charger", IconeParDefaut$, Filtre$, 0)
					If Icone$
						LoadImage(#Image, Icone$)
						Image = ImageID(#Image)
					Else
						MessageRequester("Information", "La sélection a été annulée.", 0)
					EndIf 
					
					SetGadgetText(#Chaine_message, "Question...")
				Case #Bouton_Attention
					IconeParDefaut$ = #PB_Compiler_FilePath+"Icones\Attention*.png"
					Filtre$ = "Icone Attention*.png|Attention*.png"
					Icone$ = OpenFileRequester("Choisissez une icone à charger", IconeParDefaut$, Filtre$, 0)
					If Icone$
						LoadImage(#Image, Icone$)
						Image = ImageID(#Image)
					Else
						MessageRequester("Information", "La sélection a été annulée.", 0)
					EndIf 
					
					SetGadgetText(#Chaine_message, "Attention...")
				Case #Bouton_Erreur
					IconeParDefaut$ = #PB_Compiler_FilePath+"Icones\Erreur*.png"
					Filtre$ = "Icone Erreur*.png|Erreur*.png"
					Icone$ = OpenFileRequester("Choisissez une icone à charger", IconeParDefaut$, Filtre$, 0)
					If Icone$
						LoadImage(#Image, Icone$)
						Image = ImageID(#Image)
					Else
						MessageRequester("Information", "La sélection a été annulée.", 0)
					EndIf 
					
					SetGadgetText(#Chaine_message, "Erreur...")
			EndSelect
		Case #PB_Event_CloseWindow
			Select EventWindow()
				Case #Fenetre_principale
					CloseWindow(#Fenetre_principale)
					Break
			EndSelect
	EndSelect
	VerifierSurvolBouton(#Fenetre_principale)
ForEver
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Texte bizzarre

Message par Ar-S »

Merci.
Le code n'est pas utilisable (sans les includes) mais si j'ai bien compris tu souhaites écrire un fichier .pb via ton programme ?

en attendant voilà quelques (petits) conseils.

- CreateFile(#Fichier, FichierSource) => mets toujours une vérif lors de la création/ouverture de fichiers

Ensuite je vois

Code : Tout sélectionner

CreateFile(#Fichier, FichierSource)
OpenFile(#Fichier, FichierSource)
-Crées d'abord ton fichier avec if createfile() puis tu le fermes.
- Ensuite tu utilises la commande OpenFile.
Mais j'ai peur que mélanger

Code : Tout sélectionner

CreateFile(#Fichier, FichierSource)
OpenFile(#Fichier, FichierSource)
en ne mettant qu'un seul closefile() à la fin il arrive des bricoles.

(qu'on me corrige si ça n'a pas d’impacts).

Ensuite ton
If FileSize() n'est pas complet.
If quoi ? si tu ne dis pas à PB if filesize(xxxx) > 0 il pensera toujours que c'est ok.
pour rappel -2 = dossier et -1 fichier inexistant.

-----edit-----

je ne pige pas trop la partie

Code : Tout sélectionner

If NbreBoutons = 1 Or NbreBoutons = 2 Or NbreBoutons = 3 : endif
If NbreBoutons = 2   Or NbreBoutons =3 : endif
If NbreBoutons = 3 : endif
J'aurai procédé comme ceci pour éviter les répétitions :

Code : Tout sélectionner

Select NbreBoutons
  Case 3
    coul1.s = "$019B24" : coul2.s = "$019B24"
    BTname.s = "Bouton"+Str(NbreBoutons)
    BTheight = 210
    Resu.s = Resultat3
    
  Case 2
    coul1.s = "$1C00FF" : coul2.s = "$1C00FF"
    BTname.s = "Bouton"+Str(NbreBoutons)
    BTheight = 10
    Resu.s = Resultat2
    
  Case 1   
    ; Idem avec les données correspondantes
    
EndSelect

WriteStringN(#Fichier, "   Init_BoutonPerso(1, 75, 30, GetWindowColor(#Fenetre_principale), $FFFFFF, " + coul1.s + ", $FFFFFF," + coul2.s +", 0, 1)")
WriteStringN(#Fichier, "   "+BTname.s, #Fenetre_principale, "+Chr(34)+"Resu.s"+Chr(34)+", BTheight, WindowHeight(#Fenetre_principale)-50, 0)")
WriteStringN(#Fichier, "")
Tu peux procéder de même pour la partie :

Code : Tout sélectionner

If Resultat1 ; texte renvoyé par le combo1 (...)
If Resultat2 ; texte renvoyé par le combo2 (....)
Vu qu'il ni a que quelques paramètres qui changent.
Dernière modification par Ar-S le ven. 07/sept./2012 10:46, modifié 1 fois.
~~~~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
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Texte bizzarre

Message par Micoute »

Je crois que je vais avoir pas mal de programmes à corrigé, car je programme depuis la version 4.10 et j'ai toujours pratiqué de la sorte, car je pensais que IF FileSize(#Fichier) voulait dire SI TailleFichier(#Fichier)<>0, c'est vrai que l'aide n'est pas toujours faite pour ceux qui ne savent pas programmer, je veux dire pas assez explicite, heureusement qu'il y a ce forum où on peut partager les connaissances !

je ne pige pas trop la partie

Code:
If NbreBoutons = 1 Or NbreBoutons = 2 Or NbreBoutons = 3 : endif
If NbreBoutons = 2 Or NbreBoutons =3 : endif
If NbreBoutons = 3 : endif

Ça reste un grand mystère, mais ça fonctionne, ça affiche 1, 2 ou 3 boutons selon la condition
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Texte bizzarre

Message par Ar-S »

Micoute a écrit :Je crois que je vais avoir pas mal de programmes à corrigé, car je programme depuis la version 4.10 et j'ai toujours pratiqué de la sorte, car je pensais que IF FileSize(#Fichier) voulait dire SI TailleFichier(#Fichier)<>0, c'est vrai que l'aide n'est pas toujours faite pour ceux qui ne savent pas programmer, je veux dire pas assez explicite, heureusement qu'il y a ce forum où on peut partager les connaissances !

je ne pige pas trop la partie

Code:
If NbreBoutons = 1 Or NbreBoutons = 2 Or NbreBoutons = 3 : endif
If NbreBoutons = 2 Or NbreBoutons =3 : endif
If NbreBoutons = 3 : endif

Ça reste un grand mystère, mais ça fonctionne, ça affiche 1, 2 ou 3 boutons selon la condition
Si tu n'es pas adepte des select/case alors mets

Code : Tout sélectionner

If NbreBoutons = 1
elseiIf NbreBoutons = 2 
elseIf NbreBoutons = 3
endif
Parce qu'actuellement, si ton NbreBoutons = 3 il se tape tes 3 If ;)
~~~~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
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Texte bizzarre

Message par Micoute »

En fait, j'utilise les deux.

Archive complète à cette adresse :

http://dl.free.fr/fNcMb9jeR
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Texte bizzarre

Message par Ar-S »

J'ai testé le code, je n'ai pas de bug au résultat du requester.pb avec les caractères spéciaux.
(ci ce n'est la non vérification du LoadImage(#Icone, "") qui mériterait aussi son If)

dans ta procédure creercode()

Code : Tout sélectionner

WriteStringN(#Fichier, "; IDE Options = PureBasic 4.60 (Windows - x64)")
		WriteStringN(#Fichier, "; CursorPosition = 1")
		WriteStringN(#Fichier, "; FirstLine = 1")
		WriteStringN(#Fichier, "; Folding = -")
		WriteStringN(#Fichier, "; EnableUnicode")
		WriteStringN(#Fichier, "; EnableThread")
		WriteStringN(#Fichier, "; EnableOnError")
		WriteStringN(#Fichier, "; CompileSourceDirectory")
		WriteStringN(#Fichier, "; Compiler = PureBasic 4.60 (Windows - x86)")
		WriteStringN(#Fichier, "; EnablePurifier")
Tout ceci est superflux vu que la personne utilisant le code peut être en PB4.61 ou 5 en x64 etc... Ce ne sont que des commentaires

Je vais regarder plus avant le code...

Tu utilises quel éditeur PB avec quelles options de compilation ?
~~~~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
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Texte bizzarre

Message par Micoute »

Activer le rapport d'activité
Activer le debogueur
Activer le purificateur
Activer le support Unicode
Activer la gestion des Threads
Créer l'exécutable dans le répertoire des sources
Format de l'exécutable: Windows
Optimisation CPU : Tous les CPU
Encodage du fichier source : Texte brut
Caractère de fin de ligne; Windows (CRLF)

Au fait as-tu renommé le répertoire Icones en Icônes pour voir ?
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Répondre