PureBasic 4.00 - Beta 1
Il existe maintenant une fonction native redim() pour redimensionner les tableaux. Normale que la tienne ne fonctionne plus! Renomme là.popstatic a écrit :N'est-ce arrivé qu'a moi? parmis les appels de fonctions de mon code, un foire et le message d'erreur est.....
---------------------------
PureBasic
---------------------------
Line 128: A array name need to start with a character (a-z, _ or *)
---------------------------
OK
---------------------------
ma fonction s'appelle redim() et elle est appellée depuis une autre fonction.
ici le procedurereturn de la procedure de Codage ne renvoie pas le charactere !!!!! ????
Code : Tout sélectionner
Procedure.s codage(texte$)
texte_coder$=""
For i=1 To Len(texte$)
char$=Mid(texte$,i,1)
If Asc(char$)>=30 And Asc(char$)<=127
nv_char$= Chr(Asc(char$)+80)
EndIf
texte_coder$=texte_coder$+nv_char$
Debug texte_coder$
CallDebugger
Next
ProcedureReturn texte_coder$
EndProcedure
Procedure.s DeCodage(texte$)
texte_decoder$=""
For i=1 To Len(texte$)
char$=Mid(texte$,i,1)
Debug Asc(char$)
CallDebugger
If Asc(char$)>=110 And Asc(char$)<=207
char$=Chr(Asc(char$)-80)
EndIf
texte_decoder$=texte_decoder$+char$
Next
ProcedureReturn texte_decoder$
EndProcedure
CallDebugger
Debug retour.s=codage("a")
Debug DeCodage(retour.s)
Tu fais comme ça
Est-ce normal de devoir faire comme ça ? ou c'est un bug ?
Code : Tout sélectionner
For i = 32 To 255
Debug Asc(Chr(i)) & $FF
Next i
Est-ce normal de devoir faire comme ça ? ou c'est un bug ?
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
On peut faire ainsi (truc du soldat inconnu):
val.l=Huit_bits_signes & $ff
[EDIT] grillé par Comtois!
val.l=Huit_bits_signes & $ff
Code : Tout sélectionner
Procedure.s DeCodage(texte$)
texte_decoder$=""
For i=1 To Len(texte$)
char$=Mid(texte$,i,1)
val.l= Asc(char$) & $ff
If val>=110 And val<=207
char$=Chr(Asc(char$)-80)
EndIf
texte_decoder$=texte_decoder$+char$
Next
Debug texte_decoder$
ProcedureReturn texte_decoder$
EndProcedure
Franchement , vous trouvez que c'est un progres vous ?
pourtant on peut faire

pourtant on peut faire
Code : Tout sélectionner
For a =1 To 255
Debug Chr(a)
Next a
va dans menu -> compiler -> compiler options -> create unicode executableolivier a écrit :Tellement absorbé par regarder les nouveautés, je n'arrive pas à poster mes fellicitations à l'équipe de PUREBASIC LONGUE VIE !!!![]()
![]()
![]()
![]()
Je m'arrette devant un problème tout simple, ce code ne marche pluset je reste
alors si vous aviez une piste pour me dé
,
@Droopy : c'est la mise à jour de ta lib qui doit arrivé un lundi ????Code : Tout sélectionner
Procedure.s codage(texte$) texte_coder$="" For i=1 To Len(texte$) char$=Mid(texte$,i,1) If Asc(char$)>=30 And Asc(char$)<=127 nv_char$= Chr(Asc(char$)+80) EndIf texte_coder$=texte_coder$+nv_char$ Next ProcedureReturn texte_coder$ EndProcedure Procedure.s DeCodage(texte$) texte_decoder$="" For i=1 To Len(texte$) char$=Mid(texte$,i,1) If Asc(char$)>=110 And Asc(char$)<=207 char$=Chr(Asc(char$)-80) EndIf texte_decoder$=texte_decoder$+char$ Next ;Debug texte_decoder$ ProcedureReturn texte_decoder$ EndProcedure Debug DeCodage(codage("abcdefgh"))
![]()
Juste une boutade pour te remercier encore pour ta fabuleuse lib et que j'attends apres pour pouvoir corriger mes progs....
Merci d'avance.
et çà marche.
Merci à toute l'équipe Purebasic pour PB4.0, qui respecte largement ses engagements.
J'ai pas testé beaucoup, mais j'ai trouvé qq bugs avec PB4.0
. Bug graphique avec ListIconGadget() + #PB_Gadget_LineColor.
. EditorGadget() + #PB_Gadget_FrontColor : La couleur est perdu après un SetGadgetFont()
. HyperLinkGadget() : Le fond n'est pas transparent comme spécifié dans le 'readme'
Code : Tout sélectionner
;-
Enumeration ; Gadgets
#gPanel
#gContainer1
#gString1
#gString2
#gString3
#gEditor
#gContainer2
#gText
#gHyperLink
#gComboBox
#gContainer3
#gListIcon
#gMax
EndEnumeration
;-
Procedure.l GUI_Create()
; Create the window and the graphical interface
If OpenWindow(0,0,0,640,480,#PB_Window_Invisible|#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget,"Test")
; Create the Menu
If CreateMenu(0,WindowID(0))
MenuTitle("Project")
MenuItem(1, "Open" +Chr(9)+"Ctrl+O")
MenuItem(2, "Save" +Chr(9)+"Ctrl+S")
MenuItem(3, "Save as"+Chr(9)+"Ctrl+A")
MenuBar()
MenuItem(4, "Close" +Chr(9)+"Ctrl+C")
EndIf
; Create a PopupMenu
If CreatePopupMenu(1)
EndIf
; Create the ToolBar
If CreateToolBar(0,WindowID(0))
ToolBarStandardButton(0,#PB_ToolBarIcon_New)
ToolBarStandardButton(1,#PB_ToolBarIcon_Open)
ToolBarStandardButton(2,#PB_ToolBarIcon_Save)
EndIf
; Create the Statusbar
If CreateStatusBar(0,WindowID(0))
AddStatusBarField(250)
AddStatusBarField(1000)
EndIf
; Create the GadgetList
If CreateGadgetList(WindowID(0))
If PanelGadget(#gPanel,10,30,620,400)
AddGadgetItem(#gPanel,-1,"Page 1")
If ContainerGadget(#gContainer1,5,5,350,350,#PB_Container_Single)
StringGadget(#gString1,10,10,200,22,"StringGadget()")
StringGadget(#gString2,10,40,200,22,"StringGadget()")
StringGadget(#gString3,10,70,200,22,"StringGadget()")
EditorGadget(#gEditor,10,100,200,200)
SetGadgetText(#gEditor,"EditorGadget()"+#CRLF$+"EditorGadget()")
CloseGadgetList()
EndIf
AddGadgetItem(#gPanel,-1,"Page 2")
If ContainerGadget(#gContainer2,5,5,350,350,#PB_Container_Single)
TextGadget(#gText,10,10,200,22,"TextGadget()")
HyperLinkGadget(#gHyperLink,10,40,200,22,"HyperLinkGadget()",$00ffff,#PB_HyperLink_Underline)
CloseGadgetList()
EndIf
AddGadgetItem(#gPanel,-1,"Page 3")
If ContainerGadget(#gContainer3,5,5,350,350,#PB_Container_Single)
ListIconGadget(#gListIcon,10,10,200,200,"A",20,#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect)
For i=2 To 25
AddGadgetColumn(#gListIcon,i,Chr(65+i),20)
Next
For i=1 To 99
AddGadgetItem(#gListIcon,i,Str(i))
Next
CloseGadgetList()
EndIf
EndIf
EndIf
EndIf
ProcedureReturn #True
EndProcedure
Procedure.l GUI_Color()
; Scanning for desktop properties
If ExamineDesktops()
If DesktopDepth(0) < 16
ProcedureReturn #False
EndIf
EndIf
; Colors of the graphical interface
a.l = $000000
b.l = $ffffff
c.l = $e0e0e0
d.l = $00e0e0
e.l = $00e000
f.l = $d06060
; Colorize the window
SetWindowColor(0,c)
; Colorize the gadgetlist
For i=0 To #gMax-1
If IsGadget(i)
Select GadgetType(i)
Case #PB_GadgetType_Container
SetGadgetColor(i,#PB_Gadget_BackColor,c)
Case #PB_GadgetType_String, #PB_GadgetType_Editor
SetGadgetColor(i,#PB_Gadget_FrontColor,f)
SetGadgetColor(i,#PB_Gadget_BackColor,d)
Case #PB_GadgetType_Text
SetGadgetColor(i,#PB_Gadget_FrontColor,a)
SetGadgetColor(i,#PB_Gadget_BackColor,c)
Case #PB_GadgetType_ListIcon
SetGadgetColor(i,#PB_Gadget_FrontColor,a)
SetGadgetColor(i,#PB_Gadget_BackColor,d)
SetGadgetColor(i,#PB_Gadget_LineColor,a)
Case #PB_GadgetType_ListView
SetGadgetColor(i,#PB_Gadget_FrontColor,a)
SetGadgetColor(i,#PB_Gadget_BackColor,d)
Case #PB_GadgetType_HyperLink
SetGadgetColor(i,#PB_Gadget_FrontColor,c)
Case #PB_GadgetType_ScrollArea
SetGadgetColor(i,#PB_Gadget_BackColor,d)
Case #PB_GadgetType_Calendar, #PB_GadgetType_Date
SetGadgetColor(i,#PB_Gadget_FrontColor,a)
SetGadgetColor(i,#PB_Gadget_BackColor,d)
SetGadgetColor(i,#PB_Gadget_TitleBackColor,a)
SetGadgetColor(i,#PB_Gadget_TitleFrontColor,d)
SetGadgetColor(i,#PB_Gadget_GreyTextColor,a)
Case #PB_GadgetType_Tree
SetGadgetColor(i,#PB_Gadget_FrontColor,a)
SetGadgetColor(i,#PB_Gadget_BackColor,d)
SetGadgetColor(i,#PB_Gadget_LineColor,a)
Case #PB_GadgetType_ExplorerList
SetGadgetColor(i,#PB_Gadget_FrontColor,a)
SetGadgetColor(i,#PB_Gadget_BackColor,d)
Case #PB_GadgetType_ExplorerTree
SetGadgetColor(i,#PB_Gadget_FrontColor,a)
SetGadgetColor(i,#PB_Gadget_BackColor,d)
Case #PB_GadgetType_ProgressBar
SetGadgetColor(i,#PB_Gadget_FrontColor,a)
SetGadgetColor(i,#PB_Gadget_BackColor,d)
Case #PB_GadgetType_Spin
SetGadgetColor(i,#PB_Gadget_FrontColor,a)
SetGadgetColor(i,#PB_Gadget_BackColor,d)
Case #PB_GadgetType_MDI
SetGadgetColor(i,#PB_Gadget_BackColor,d)
Case #PB_GadgetType_Splitter, #PB_GadgetType_ScrollBar, #PB_GadgetType_TrackBar, #PB_GadgetType_ComboBox, #PB_GadgetType_Panel
; Not Supported
Default
; Unknown Gadget Type
EndSelect
EndIf
Next
ProcedureReturn #True
EndProcedure
Procedure.l GUI_Font()
; Load Fonts
LoadFont(0,"Arial", 8,#Null)
LoadFont(1,"Arial", 8,#PB_Font_Bold)
LoadFont(2,"Arial",14,#PB_Font_Bold)
; Apply to the graphical interface
For i=0 To #gMax-1
If IsGadget(i)
Select GadgetType(i)
Case #PB_GadgetType_Button: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_Calendar: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_CheckBox: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_ComboBox: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_Container : SetGadgetFont(i,FontID(0))
Case #PB_GadgetType_Date: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_Editor: SetGadgetFont(i,FontID(2))
Case #PB_GadgetType_ExplorerList: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_ExplorerTree: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_ExplorerCombo: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_Frame3D: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_HyperLink: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_Image: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_IPAddress: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_ListIcon: SetGadgetFont(i,FontID(0))
Case #PB_GadgetType_ListView: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_MDI: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_Option: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_Panel: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_ProgressBar: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_ScrollArea: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_ScrollBar: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_Spin: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_Splitter: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_String: SetGadgetFont(i,FontID(2))
Case #PB_GadgetType_Text: SetGadgetFont(i,FontID(2))
Case #PB_GadgetType_TrackBar: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_Tree: SetGadgetFont(i,FontID(1))
Case #PB_GadgetType_Web: SetGadgetFont(i,FontID(1))
Default
EndSelect
EndIf
Next
ProcedureReturn #True
EndProcedure
Procedure.l GUI_Main()
; Main Loop
HideWindow(0,#False)
Repeat
; Process events
Select WaitWindowEvent(50)
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Menu
Debug EventMenu()
Case #PB_Event_Gadget
Debug EventGadget()
Case #WM_MOUSEMOVE
StatusBarText(0,1,"Mouse("+Str(WindowMouseX(0))+","+Str(WindowMouseY(0))+")")
EndSelect
; After events
StatusBarText(0,0,FormatDate("%dd/%mm/%yyyy, %hh:%ii:%ss",Date()))
ForEver
CloseWindow(0)
ProcedureReturn #True
EndProcedure
;-
If GUI_Create()
GUI_Color()
GUI_Font() ; <-------- La couleur #PB_Gadget_FrontColor de l'EditorGadget() est perdue.
GUI_Main()
EndIf
;-
If GUI_Create()
GUI_Font() ; <-------- Là non c'est ok.
GUI_Color()
GUI_Main()
EndIf
;-
ceci ne resoud pas le blem suivant
la variable retour.s , ne recois pas le charactere !!!
la variable retour.s , ne recois pas le charactere !!!
Code : Tout sélectionner
Procedure.s codage(texte$)
texte_coder$=""
For i=1 To Len(texte$)
char$=Mid(texte$,i,1)
If Asc(char$)>=30 And Asc(char$)<=127
nv_char$= Chr(Asc(char$)+80)
EndIf
texte_coder$=texte_coder$+nv_char$
Debug texte_coder$
CallDebugger
Next
ProcedureReturn texte_coder$
EndProcedure
Procedure.s DeCodage(texte$)
texte_decoder$=""
For i=1 To Len(texte$)
char$=Mid(texte$,i,1)
Debug Asc(char$)
CallDebugger
If Asc(char$)>=110 And Asc(char$)<=207
char$=Chr(Asc(char$)-80)
EndIf
texte_decoder$=texte_decoder$+char$
Next
ProcedureReturn texte_decoder$
EndProcedure
CallDebugger
Debug retour.s=codage("a")
Debug DeCodage(retour.s)
Ca marche sous cette forme
Code : Tout sélectionner
CallDebugger
retour.s=codage("a")
Debug retour.s
Debug DeCodage(retour.s)
Code : Tout sélectionner
Procedure.s codage(texte$)
texte_coder$=""
For i=1 To Len(texte$)
;char.c = PeekC(@texte$+i-1)
char.c = Asc(Mid(texte$,i,1))
If char >= 30 And char <= 127
nv_char$= Chr(char+80)
EndIf
texte_coder$=texte_coder$+nv_char$
Next
ProcedureReturn texte_coder$
EndProcedure
Procedure.s DeCodage(texte$)
texte_decoder$=""
For i=1 To Len(texte$)
char.c = PeekC(@texte$+i-1)
;char.c = Asc(Mid(texte$,i,1))
If char >= 110 And char <= 207
nv_char$=Chr(char-80)
EndIf
texte_decoder$=texte_decoder$+nv_char$
Next
ProcedureReturn texte_decoder$
EndProcedure
Debug DeCodage(codage("abcdefgh"))
Et çà, çà fait avancer le schmilblik ?
