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 iEst-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 ?