[Résolu] Texte bizzarre
[Résolu] Texte bizzarre
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 !
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 !
Un homme doit être poli, mais il doit aussi être libre !
Re: Texte bizzarre
dans les options du compileur, met le support unicode 

!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
Re: Texte bizzarre
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 !
Un homme doit être poli, mais il doit aussi être libre !
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Texte bizzarre
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%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Texte bizzarre
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
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳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
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Texte bizzarre
Voila voila ..... je pense que tout est ditAr-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à.

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%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Texte bizzarre
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 !
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 !
Un homme doit être poli, mais il doit aussi être libre !
Re: Texte bizzarre
Donne du code stp. 

~~~~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
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳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
Re: Texte bizzarre
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 !
Un homme doit être poli, mais il doit aussi être libre !
Re: Texte bizzarre
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
-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
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
J'aurai procédé comme ceci pour éviter les répétitions :
Tu peux procéder de même pour la partie :
Vu qu'il ni a que quelques paramètres qui changent.
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)
- Ensuite tu utilises la commande OpenFile.
Mais j'ai peur que mélanger
Code : Tout sélectionner
CreateFile(#Fichier, FichierSource)
OpenFile(#Fichier, FichierSource)
(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
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, "")
Code : Tout sélectionner
If Resultat1 ; texte renvoyé par le combo1 (...)
If Resultat2 ; texte renvoyé par le combo2 (....)
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
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳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
Re: Texte bizzarre
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
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 !
Un homme doit être poli, mais il doit aussi être libre !
Re: Texte bizzarre
Si tu n'es pas adepte des select/case alors metsMicoute 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
Code : Tout sélectionner
If NbreBoutons = 1
elseiIf NbreBoutons = 2
elseIf NbreBoutons = 3
endif

~~~~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
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳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
Re: Texte bizzarre
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 !
Un homme doit être poli, mais il doit aussi être libre !
Re: Texte bizzarre
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()
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 ?
(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")
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
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳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
Re: Texte bizzarre
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 ?
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 !
Un homme doit être poli, mais il doit aussi être libre !