Page 1 sur 2

[Résolu] Texte bizzarre

Publié : ven. 07/sept./2012 8:29
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 !

Re: Texte bizzarre

Publié : ven. 07/sept./2012 8:31
par SPH
dans les options du compileur, met le support unicode :idea:

Re: Texte bizzarre

Publié : ven. 07/sept./2012 8:48
par Micoute
C'est pourtant ce que j'ai fait. Merci

Re: Texte bizzarre

Publié : ven. 07/sept./2012 8:54
par falsam
Tu génères ton programme dans un fichier texte ?

Re: Texte bizzarre

Publié : ven. 07/sept./2012 9:19
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à.

Re: Texte bizzarre

Publié : ven. 07/sept./2012 9:20
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 :)

Re: Texte bizzarre

Publié : ven. 07/sept./2012 9:42
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 !

Re: Texte bizzarre

Publié : ven. 07/sept./2012 9:42
par Ar-S
Donne du code stp. :wink:

Re: Texte bizzarre

Publié : ven. 07/sept./2012 9:49
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

Re: Texte bizzarre

Publié : ven. 07/sept./2012 10:03
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.

Re: Texte bizzarre

Publié : ven. 07/sept./2012 10:28
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

Re: Texte bizzarre

Publié : ven. 07/sept./2012 10:43
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 ;)

Re: Texte bizzarre

Publié : ven. 07/sept./2012 10:59
par Micoute
En fait, j'utilise les deux.

Archive complète à cette adresse :

http://dl.free.fr/fNcMb9jeR

Re: Texte bizzarre

Publié : ven. 07/sept./2012 11:26
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 ?

Re: Texte bizzarre

Publié : ven. 07/sept./2012 11:59
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 ?