Toute les fonctions de PureBasic

Programmation d'applications complexes
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Toute les fonctions de PureBasic

Message par Chris »

Je viens de finir un nouveau petit prog. (Pas tout à fait fini, mais bon...)

Par contre, je ne sais pas si il va fonctionner chez tout le monde, car il se base sur un fichier texte qui s'appelle PBFunctionListing.txt, contenu dans le dossier "Compilers", et je ne sais pas si il est généré par PureBasic ou par jaPBe.

Donc, vérifiez si vous l'avez, avant de me dire que ça ne fonctionne pas :lol:

Alors c'est simple, ce fichier regroupe toutes les commandes, y compris celles incluses dans les librairies utilisateur, avec une description, (en anglais, malheureusement), si le programmeur en a mis une.

Pour l'utiliser, vous ouvrez le fichier, et toutes les fonctions s'affichient dans la liste. Si vous cliquez sur un des petits boutons à gauche, seules les fonctions dont le nom commence par le lettre choisie s'affichent.

Voilà le code:

Code : Tout sélectionner

Structure PB_FONCTIONS
  Fonction.s
  Description.s
EndStructure
NewList Type.PB_FONCTIONS()

;- Window Constants
;
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
;
Enumeration
  #Editor_0
  #Button_Open
  #Button_Quit
  #BtnA
  #BtnB
  #BtnC
  #BtnD
  #BtnE
  #BtnF
  #BtnG
  #BtnH
  #BtnI
  #BtnJ
  #BtnK
  #BtnL
  #BtnM
  #BtnN
  #BtnO
  #BtnP
  #BtnQ
  #BtnR
  #BtnS
  #BtnT
  #BtnU
  #BtnV
  #BtnW
  #BtnX
  #BtnY
  #BtnZ
  #BtnAll
EndEnumeration

Declare FillList(Lettre.s)
Declare LoadFile(Index, Path$)
Declare CallBack(Hnd,Mess,wParam,lParam)
Declare Open_Window_0()

Procedure LoadFile(Index, Path$)
  ClearList(Type())
  
  If ReadFile(Index,Path$)
    Tmp$ = ReadString()
    Repeat
      Tmp$ = ReadString()
      Pos = FindString(Tmp$," - ",0)
      If Pos = 0
        StrLeft$ = Tmp$
        StrRight$ = ""
      Else
        StrLeft$ = Left(Tmp$,Pos)
        StrRight$ = Right(Tmp$,Len(Tmp$)-(Pos+1))
      EndIf
      AddElement(Type())
      Type()\Fonction = StrLeft$
      Type()\Description = StrRight$
    Until Eof(Index)
    CloseFile(Index)
    
    FillList("")
  EndIf
EndProcedure

Procedure FillList(Lettre.s)
  ClearGadgetItemList(#Editor_0)
  If Lettre = ""
    ForEach Type()
      AddGadgetItem(#Editor_0,-1,Type()\Fonction+Chr(10)+Type()\Description)
    Next
  Else
    ForEach Type()
      If Left(Type()\Fonction,1) = Lettre
        AddGadgetItem(#Editor_0,-1,Type()\Fonction+Chr(10)+Type()\Description)
      EndIf
    Next
  EndIf
EndProcedure

Procedure CallBack(Hnd,Mess,wParam,lParam)
  WH = WindowHeight() : WW = WindowWidth()
  Select Mess
    Case #WM_SIZE
      ResizeGadget(#Button_Quit, WW-80, WH-35, 75, 30)
      ResizeGadget(#Button_Open, WW-160, WH-35, 75, 30)
      ResizeGadget(#Editor_0, 0, 0, WW, WH-40)
      
      ResizeGadget(#BtnA,5,WH-35,15,15)
      ResizeGadget(#BtnN,5,WH-20,15,15)
      ResizeGadget(#BtnB,20,WH-35,15,15)
      ResizeGadget(#BtnO,20,WH-20,15,15)
      ResizeGadget(#BtnC,35,WH-35,15,15)
      ResizeGadget(#BtnP,35,WH-20,15,15)
      ResizeGadget(#BtnD,50,WH-35,15,15)
      ResizeGadget(#BtnQ,50,WH-20,15,15)
      ResizeGadget(#BtnE,65,WH-35,15,15)
      ResizeGadget(#BtnR,65,WH-20,15,15)
      ResizeGadget(#BtnF,80,WH-35,15,15)
      ResizeGadget(#BtnS,80,WH-20,15,15)
      ResizeGadget(#BtnG,95,WH-35,15,15)
      ResizeGadget(#BtnT,95,WH-20,15,15)
      ResizeGadget(#BtnH,110,WH-35,15,15)
      ResizeGadget(#BtnU,110,WH-20,15,15)
      ResizeGadget(#BtnI,125,WH-35,15,15)
      ResizeGadget(#BtnV,125,WH-20,15,15)
      ResizeGadget(#BtnJ,140,WH-35,15,15)
      ResizeGadget(#BtnW,140,WH-20,15,15)
      ResizeGadget(#BtnK,155,WH-35,15,15)
      ResizeGadget(#BtnX,155,WH-20,15,15)
      ResizeGadget(#BtnL,170,WH-35,15,15)
      ResizeGadget(#BtnY,170,WH-20,15,15)
      ResizeGadget(#BtnM,185,WH-35,15,15)
      ResizeGadget(#BtnZ,185,WH-20,15,15)
      ResizeGadget(#BtnAll,200,WH-35,30,30)
      SendMessage_(GadgetID(#Editor_0),#LVM_SETCOLUMNWIDTH,0,WW/3)
      SendMessage_(GadgetID(#Editor_0),#LVM_SETCOLUMNWIDTH,1,(WW/3)*2)
  EndSelect
  ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure 

Procedure Open_Window_0()
  If OpenWindow(#Window_0, 216, 0, 530, 420,  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered , "PB-Functions")
    WH = WindowHeight() : WW = WindowWidth()
    
    If CreateGadgetList(WindowID())
      ListIconGadget(#Editor_0,0,0,WW,WH-40,"Fonction",WW/3,#PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect)
      AddGadgetColumn(#Editor_0,2,"Description",(WW/3)*2)
      ButtonGadget(#Button_Quit, WW-80, WH-35, 75, 30, "Quitter")
      ButtonGadget(#Button_Open, WW-160, WH-35, 75, 30, "Ouvrir")
      
      ButtonGadget(#BtnA,5,WH-35,15,15,"A")
      ButtonGadget(#BtnN,5,WH-20,15,15,"N")
      ButtonGadget(#BtnB,20,WH-35,15,15,"B")
      ButtonGadget(#BtnO,20,WH-20,15,15,"O")
      ButtonGadget(#BtnC,35,WH-35,15,15,"C")
      ButtonGadget(#BtnP,35,WH-20,15,15,"P")
      ButtonGadget(#BtnD,50,WH-35,15,15,"D")
      ButtonGadget(#BtnQ,50,WH-20,15,15,"Q")
      ButtonGadget(#BtnE,65,WH-35,15,15,"E")
      ButtonGadget(#BtnR,65,WH-20,15,15,"R")
      ButtonGadget(#BtnF,80,WH-35,15,15,"F")
      ButtonGadget(#BtnS,80,WH-20,15,15,"S")
      ButtonGadget(#BtnG,95,WH-35,15,15,"G")
      ButtonGadget(#BtnT,95,WH-20,15,15,"T")
      ButtonGadget(#BtnH,110,WH-35,15,15,"H")
      ButtonGadget(#BtnU,110,WH-20,15,15,"U")
      ButtonGadget(#BtnI,125,WH-35,15,15,"I")
      ButtonGadget(#BtnV,125,WH-20,15,15,"V")
      ButtonGadget(#BtnJ,140,WH-35,15,15,"J")
      ButtonGadget(#BtnW,140,WH-20,15,15,"W")
      ButtonGadget(#BtnK,155,WH-35,15,15,"K")
      ButtonGadget(#BtnX,155,WH-20,15,15,"X")
      ButtonGadget(#BtnL,170,WH-35,15,15,"L")
      ButtonGadget(#BtnY,170,WH-20,15,15,"Y")
      ButtonGadget(#BtnM,185,WH-35,15,15,"M")
      ButtonGadget(#BtnZ,185,WH-20,15,15,"Z")
      ButtonGadget(#BtnAll,200,WH-35,30,30,"Tout")
    EndIf
  EndIf
EndProcedure

Open_Window_0()
SetWindowCallback(@CallBack())

Chemin$ = Space(256)
GetCurrentDirectory_(#MAX_PATH,@Chemin$)
If Right(Chemin$,1)<>"\"
  Chemin$+"\"
EndIf

Repeat
  Select WaitWindowEvent()
    
    Case #PB_EventGadget
      If EventGadgetID() >=#BtnA And EventGadgetID()<=#BtnZ
        FillList(GetGadgetText(EventGadgetID()))
      EndIf
      
      Select EventGadgetID()
        Case #Editor_0
          
        Case #Button_Open
          File$ = OpenFileRequester("Ouvrir un fichier",Chemin$+"PBFunctionListing.txt","Text file|*.txt|All Files|*.*",0)
          LoadFile(0,File$)
          
        Case #Button_Quit : quit = 1
          End
          
        Case #BtnAll
          FillList("")
          
        EndSelect
        
    Case #PB_EventCloseWindow : quit = 1
      
  EndSelect
Until quit = 1

End
Dans une prochaine version, il devrai y avoir la possibilité de coller la fonction dans l'éditeur. Enfin... peut-être :)

Chris :)
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

On en rêvait, Chris nous l'a fait.

Il fallait y penser! :D
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Pas mal :D , le fichier est avec l'éditeur de PB :wink:
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Oliv a écrit :Pas mal :D , le fichier est avec l'éditeur de PB :wink:
Super, comme ça, tout le monde pourra en profiter :)

Chris :)
Avatar de l’utilisateur
ZapMan
Messages : 460
Inscription : ven. 13/févr./2004 23:14
Localisation : France
Contact :

Message par ZapMan »

Chouette !

Il manque la possibilité de faire un copier/coller ou un glisser déposé pour ne pas avoir à retaper une fonction quand on l'a trouvée.
Tout obstacle est un point d'appui potentiel.

Bibliothèques PureBasic et autres codes à télécharger :https://www.editions-humanis.com/downlo ... ads_FR.htm
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

C'est bien pour ça que j'avais mis "(Pas tout à fait fini, mais bon...)" dans mon premier message.

Voilà le code avec le copier/coller, et la sauvegarde du chemin du fichier.

Pour copier la fonction, il faut double-cliquer dessus pour qu'elle s'affiche dans la zone du bas, et ensuite, cliquer sur le bouton "Copier".

J'avais pensé faire la copie directement dans le presse-papier au double clic, mais ça permet de vérifier que c'est la bonne fonction qui a été cliquée.

Code : Tout sélectionner

Structure PB_FONCTIONS
  Fonction.s
  Description.s
EndStructure
NewList Type.PB_FONCTIONS()

;- Window Constants
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
Enumeration
  #Editor_0
  #Button_Open
  #Button_Quit
  #Button_Copy
  #Button_Cancel
  #Edit
  #BtnA
  #BtnB
  #BtnC
  #BtnD
  #BtnE
  #BtnF
  #BtnG
  #BtnH
  #BtnI
  #BtnJ
  #BtnK
  #BtnL
  #BtnM
  #BtnN
  #BtnO
  #BtnP
  #BtnQ
  #BtnR
  #BtnS
  #BtnT
  #BtnU
  #BtnV
  #BtnW
  #BtnX
  #BtnY
  #BtnZ
  #BtnAll
EndEnumeration

Declare LoadFile(Index, Path$)
Declare FillList(Lettre.s)
Declare CallBack(Hnd,Mess,wParam,lParam)
Declare Open_Window_0()

Procedure LoadFile(Index, Path$)
  ClearList(Type())
  If ReadFile(Index,Path$)
    Tmp$ = ReadString()
    Repeat
      Tmp$ = ReadString()
      Pos = FindString(Tmp$," - ",0)
      If Pos = 0
        StrLeft$ = Tmp$
        StrRight$ = ""
      Else
        StrLeft$ = Left(Tmp$,Pos)
        StrRight$ = Right(Tmp$,Len(Tmp$)-(Pos+1))
      EndIf
      AddElement(Type())
      Type()\Fonction = StrLeft$
      Type()\Description = StrRight$
    Until Eof(Index)
    CloseFile(Index)
    FillList("")
    CreatePreferences("PB_Func.ini")
    PreferenceGroup("Chemin")
    WritePreferenceString("Chemin", Path$)
    ClosePreferences()
  EndIf
EndProcedure

Procedure FillList(Lettre.s)
  ClearGadgetItemList(#Editor_0)
  If Lettre = ""
    ForEach Type()
      AddGadgetItem(#Editor_0,-1,Type()\Fonction+Chr(10)+Type()\Description)
    Next
  Else
    ForEach Type()
      If Left(Type()\Fonction,1) = Lettre
        AddGadgetItem(#Editor_0,-1,Type()\Fonction+Chr(10)+Type()\Description)
      EndIf
    Next
  EndIf
EndProcedure

Procedure CallBack(Hnd,Mess,wParam,lParam)
  WH = WindowHeight() : WW = WindowWidth()
  Select Mess
    Case #WM_SIZE
      ResizeGadget(#Button_Quit, WW-80, WH-35, 75, 30)
      ResizeGadget(#Button_Open, WW-160, WH-35, 75, 30)
      ResizeGadget(#Button_Copy, WW-240,WH-35,75,30)
      ResizeGadget(#Button_Cancel,WW-320,WH-35,75,30)
      ResizeGadget(#Editor_0, 0, 0, WW, WH-65)
      ResizeGadget(#Edit,5,WH-60,WW-10,20)
      
      ResizeGadget(#BtnA,5,WH-35,15,15)
      ResizeGadget(#BtnN,5,WH-20,15,15)
      ResizeGadget(#BtnB,20,WH-35,15,15)
      ResizeGadget(#BtnO,20,WH-20,15,15)
      ResizeGadget(#BtnC,35,WH-35,15,15)
      ResizeGadget(#BtnP,35,WH-20,15,15)
      ResizeGadget(#BtnD,50,WH-35,15,15)
      ResizeGadget(#BtnQ,50,WH-20,15,15)
      ResizeGadget(#BtnE,65,WH-35,15,15)
      ResizeGadget(#BtnR,65,WH-20,15,15)
      ResizeGadget(#BtnF,80,WH-35,15,15)
      ResizeGadget(#BtnS,80,WH-20,15,15)
      ResizeGadget(#BtnG,95,WH-35,15,15)
      ResizeGadget(#BtnT,95,WH-20,15,15)
      ResizeGadget(#BtnH,110,WH-35,15,15)
      ResizeGadget(#BtnU,110,WH-20,15,15)
      ResizeGadget(#BtnI,125,WH-35,15,15)
      ResizeGadget(#BtnV,125,WH-20,15,15)
      ResizeGadget(#BtnJ,140,WH-35,15,15)
      ResizeGadget(#BtnW,140,WH-20,15,15)
      ResizeGadget(#BtnK,155,WH-35,15,15)
      ResizeGadget(#BtnX,155,WH-20,15,15)
      ResizeGadget(#BtnL,170,WH-35,15,15)
      ResizeGadget(#BtnY,170,WH-20,15,15)
      ResizeGadget(#BtnM,185,WH-35,15,15)
      ResizeGadget(#BtnZ,185,WH-20,15,15)
      ResizeGadget(#BtnAll,200,WH-35,30,30)
      SendMessage_(GadgetID(#Editor_0),#LVM_SETCOLUMNWIDTH,0,WW/3)
      SendMessage_(GadgetID(#Editor_0),#LVM_SETCOLUMNWIDTH,1,(WW/3)*2)
  EndSelect
  ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure 

Procedure Open_Window_0()
  If OpenWindow(#Window_0, 216, 0, 630, 320,  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered , "PB-Functions")
    WH = WindowHeight() : WW = WindowWidth()
    If CreateGadgetList(WindowID())
      ListIconGadget(#Editor_0,0,0,WW,WH-65,"Fonction",WW/3,#PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect)
      AddGadgetColumn(#Editor_0,2,"Description",(WW/3)*2)
      
      ButtonGadget(#Button_Quit, WW-80, WH-35, 75, 30, "Quitter")
      ButtonGadget(#Button_Open, WW-160, WH-35, 75, 30, "Ouvrir")
      ButtonGadget(#Button_Copy, WW-240,WH-35,75,30, "Copier")
      ButtonGadget(#Button_Cancel,WW-320,WH-35,75,30,"Effacer")
      StringGadget(#Edit,5,WH-60,WW-10,20,"",#PB_String_ReadOnly|#ES_READONLY )
      
      ButtonGadget(#BtnA,5,WH-35,15,15,"A")
      ButtonGadget(#BtnN,5,WH-20,15,15,"N")
      ButtonGadget(#BtnB,20,WH-35,15,15,"B")
      ButtonGadget(#BtnO,20,WH-20,15,15,"O")
      ButtonGadget(#BtnC,35,WH-35,15,15,"C")
      ButtonGadget(#BtnP,35,WH-20,15,15,"P")
      ButtonGadget(#BtnD,50,WH-35,15,15,"D")
      ButtonGadget(#BtnQ,50,WH-20,15,15,"Q")
      ButtonGadget(#BtnE,65,WH-35,15,15,"E")
      ButtonGadget(#BtnR,65,WH-20,15,15,"R")
      ButtonGadget(#BtnF,80,WH-35,15,15,"F")
      ButtonGadget(#BtnS,80,WH-20,15,15,"S")
      ButtonGadget(#BtnG,95,WH-35,15,15,"G")
      ButtonGadget(#BtnT,95,WH-20,15,15,"T")
      ButtonGadget(#BtnH,110,WH-35,15,15,"H")
      ButtonGadget(#BtnU,110,WH-20,15,15,"U")
      ButtonGadget(#BtnI,125,WH-35,15,15,"I")
      ButtonGadget(#BtnV,125,WH-20,15,15,"V")
      ButtonGadget(#BtnJ,140,WH-35,15,15,"J")
      ButtonGadget(#BtnW,140,WH-20,15,15,"W")
      ButtonGadget(#BtnK,155,WH-35,15,15,"K")
      ButtonGadget(#BtnX,155,WH-20,15,15,"X")
      ButtonGadget(#BtnL,170,WH-35,15,15,"L")
      ButtonGadget(#BtnY,170,WH-20,15,15,"Y")
      ButtonGadget(#BtnM,185,WH-35,15,15,"M")
      ButtonGadget(#BtnZ,185,WH-20,15,15,"Z")
      ButtonGadget(#BtnAll,200,WH-35,30,30,"Tout")
    EndIf
  EndIf
EndProcedure

Open_Window_0()
SetWindowCallback(@CallBack())

Chemin$ = Space(256)
GetCurrentDirectory_(#MAX_PATH,@Chemin$)
If Right(Chemin$,1)<>"\"
  Chemin$+"\"
EndIf

Repeat;{
  Select WaitWindowEvent()
    Case #PB_EventGadget
      If EventGadgetID() >=#BtnA And EventGadgetID()<=#BtnZ
        FillList(GetGadgetText(EventGadgetID()))
      EndIf
      
      Select EventGadgetID()
        Case #Button_Open
          OpenPreferences("PB_Func.ini")
          PreferenceGroup("Chemin")
          P$ = ReadPreferenceString("Chemin", "")
          ClosePreferences()
          If P$ = "":P$ = Chemin$+"PBFunctionListing.txt":EndIf
          File$ = OpenFileRequester("Ouvrir un fichier",P$,"Fichier de fonctions|PBFunctionListing.txt|Fichiers Texte|*.txt|Tout Type|*.*",0)
          LoadFile(0,File$)
          
        Case #Button_Quit : quit = 1
          End
          
        Case #BtnAll
          FillList("")
          
        Case #Editor_0
          If EventType() = #PB_EventType_LeftDoubleClick
            SetGadgetText(#Edit, GetGadgetItemText(#Editor_0,GetGadgetState(#Editor_0),0))
          EndIf
          
        Case #Button_Copy
          If GetGadgetText(#Edit) <> ""
            ClearClipboard()
            SetClipboardText(GetGadgetText(#Edit))
          EndIf
          
        Case #Button_Cancel
          SetGadgetText(#Edit,"")
          
      EndSelect
    Case #PB_EventCloseWindow : quit = 1
  EndSelect
Until quit = 1
End;}
Je suis en train de chercher un moyen de faire afficher l'aide à la bonne page quand on double-clique du bouton droit sur une des fonctions.

J'ai un peu épluché les sources de jaPBe et de l'éditeur de PB, mais c'est pas dans la poche.

Ou alors, je vais peut-être décompiler le fichier et le recompiler, pour
récupérer le fichier d'index créé par MachinWorkShop de MicroMou. :)

Si Fred m'y autorise, évidemment. Fred???

Chris :)
Fred
Site Admin
Messages : 2808
Inscription : mer. 21/janv./2004 11:03

Message par Fred »

Vazy vazy.. Je te conseille quand meme de reprendre la routine 'OpenHelp' de l'editeur du pure, ce sera plus simple..
Invité

Message par Invité »

et la je vais passer pour mon avatar mais

ça va servir a quoi exactement ton truc ?? 8O
Aranoth
Messages : 293
Inscription : sam. 24/janv./2004 12:00
Localisation : Toulouse (31)
Contact :

Message par Aranoth »

excellent, mais bon...y'a l'aide déjà pour ca^^ :wink:
Débutant en programmation, notament en C++ ?
Vous souhaitez apprendre ?
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message par filperj »

Mais l'aide ne donne pas la liste des fonctions qui sont dans le dossier "Userlibs"...
Bonne idées Chris :wink:
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

La dernière version se trouve ici, avec prise en charge de l'aide.

Pour le moment, il n'y a que les fonctions de PureBasic qui disposent de l'aide, parce que pour les libs utilisateur, au niveau de l'aide, c'est bien souvent tout et n'importe quoi, et encore, quand il y en a une! :mad:

On verra ça plus tard!

Pour l'instant, le prog tourne avec un fichier qui donne le chemin et le nom des pages html du fichier, parce que j'ai pas encore tout compris, en ce qui concerne les routines qui sont dans le source de PureBasic. :oops:

Bon, maintenant, je prends les devant, pour les grincheux!!! (Je ne cite personne, il se reconnaîtront. :roll: )
Le Grincheux a écrit :Le programme devrait charger automatiquement le fichier d'aide
Ben oui, mais quand on a plusieurs versions de PureBasic, le chemin retourné par la fonction qui va bien, est celui de la dernière intallée.
Et si on ne travaille pas avec cette version, et qu'on oublie de changer le chemin, l'aide n'est pas la bonne !
Le Grincheux qui insiste lourdement a écrit :La fenêtre devrait rester au premier plan!
Et si la fenêtre du programme est ouverte au maximum, on ne voit plus l'aide!
Le Grincheux qui va s'en prendre une a écrit :Oui, mais....!
:mad: :evil: :snipersmile:

Chris :)
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Pour le moment, il n'y a que les fonctions de PureBasic qui disposent de l'aide, parce que pour les libs utilisateur, au niveau de l'aide, c'est bien souvent tout et n'importe quoi

:cry: Avec tout le mal que je me donne pour faire l'aide en 2 langues de mes librairies!

Tant pis (Bon, je te pardonne :mrgreen: )

Sinon, il te faudrait un fichier txt pour chaque lib perso ?
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Non, au contraire, un fichier .chm, c'est très bien :)

Mais j'ai trouvé d'autres lib avec du txt, du doc, du rtf, etc...

Et avec ca, je ne peux rien faire, parce que si je veux faire afficher l'aide de l'élément cliqué, il faudrait faire tout un code pour chaque type de fichier.

J'ai déjà pas réussi à trouver une description compréhensible du format .chm pour coder un truc qui créerait automatiquement l'index du fichier d'aide, alors si je dois coder des routines pour tous les formats...

Chris :)
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Bien pratique ça :-D.
Bravo.
Torp
Messages : 360
Inscription : lun. 22/nov./2004 13:05

Message par Torp »

Slt,

Le lien vers la dernière version est mort...

++
Répondre