Un truc éventuellement utile pour jaPBe

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Un truc éventuellement utile pour jaPBe

Message par Flype »

juste pour le fun j'ai fais çà l'autre jour.
çà pourrait être intéressant d'avoir dans jaPBe un onglet 'modèles' comme dans l'IDE purebasic. Mais ce serait encore mieux si les 2 utilisaient la même base (le même fichier). à méditer ;-)

Code : Tout sélectionner

; Lit le fichier 'templates' (modèles) de PureBasic 4.0

Structure PB_TEMPLATE
  name.s
  code.s
  comment.s
EndStructure

Procedure.l ReadPureBasicTemplates(gadget.l)
 
  Protected file.l, depth.l, result.l, line.s, value.s, *item.PB_TEMPLATE
 
  If IsGadget(gadget)
   
    file = ReadFile(#PB_Any, #PB_Compiler_Home + "Templates.prefs")
   
    If file
     
      While Eof(file) = #False
       
        line  = ReadString(file)
        value = Trim(StringField(line, 2, ":"))
       
        Select Trim(StringField(line, 1, ":"))
         
          Case "TEMPLATES"
            If value = "1.0"
              result = #True
            Else
              Break
            EndIf
           
          Case "Directory"
            AddGadgetItem(gadget, -1, value, 0, depth)
            depth + 1
           
          Case "Expanded"
            SetGadgetItemState(gadget, CountGadgetItems(gadget)-1, #PB_Tree_Expanded)
           
          Case "Template"
            *item = AllocateMemory(SizeOf(PB_TEMPLATE))
            If *item
              *item\name = value
              AddGadgetItem(gadget, -1, *item\name, 0, depth)
              SetGadgetItemData(gadget, CountGadgetItems(gadget)-1, *item)
            EndIf
           
          Case "Comment"
            *item\comment = ReplaceString(value, "\n", #CRLF$)
           
          Case "Code"
            *item\code = ReplaceString(value, "\n", #CRLF$)
           
          Case "CloseDirectory"
            depth - 1
           
        EndSelect
       
      Wend
     
      CloseFile(file)
     
    EndIf
   
  EndIf
 
  ProcedureReturn result
 
EndProcedure

Procedure.l Main()
 
  If OpenWindow(0, 0, 0, 320, 400, "PureBasic Templates", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)
   
    If CreateGadgetList(WindowID(0))
      TreeGadget(0, 5, 5, 310, 390, #PB_Tree_AlwaysShowSelection)
    EndIf
   
    ReadPureBasicTemplates(0)
   
    Repeat
     
      Select WaitWindowEvent()
       
        Case #PB_Event_CloseWindow
          Break
         
        Case #PB_Event_Gadget
          If EventType() = #PB_EventType_Change
            *item.PB_TEMPLATE = GetGadgetItemData(0, GetGadgetState(0))
            If *item
              Debug *item\name
              Debug *item\comment
              Debug *item\code
            EndIf
          EndIf
         
      EndSelect
     
    ForEver
   
  EndIf
 
EndProcedure

Main() 
Image
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Re: Un truc éventuellement utile pour jaPBe

Message par gnozal »

Flype a écrit :juste pour le fun j'ai fais çà l'autre jour.
çà pourrait être intéressant d'avoir dans jaPBe un onglet 'modèles' comme dans l'IDE purebasic. Mais ce serait encore mieux si les 2 utilisaient la même base (le même fichier).
Je n'ai pas encore utilisé cette fonctionnalité. Un template, c'est un modèle/exemple de code, c'est çà ?
Personnellement, j'ai tous mes exemples de code glanés dans les divers forums sous forme de fichiers distincts (avec des noms de fichiers informatifs) dans une seule archive ZIP. Il me reste ensuite à rechercher dans cette archive les codes intéressants par mots clés (nom du fichier et/ou contenu du fichier).
Flype a écrit :à méditer ;-)
:D
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

les 'templates' c'est çà. perso je trouve çà très utile.
tu doubles-clique sur un item dans la liste et la fonction s'insére dans le source en cours...

Image
Image
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Message par gnozal »

Flype a écrit :les 'templates' c'est çà. perso je trouve çà très utile.
tu doubles-clique sur un item dans la liste et la fonction s'insére dans le source en cours...
Ok !
Oui, çà a l'air utile.
Répondre