comtois a écrit :J'ai hésité à le faire, mais le principe c'était de ne mettre que le nom de la fonction dans le titre, mais je mettrai Désactiver/Activer des boutons... en commentaire une ligne avant pour dire ce que fait le code.
Ok, j'avais compris que ce n'était valable que pour les titres composés de nom de gadget, pas pour tous les titres.
Ta page perso fonctionne à nouveau, c'est bon !
EDIT : (27/04 16h25) Quelques p'tites choses à corriger
EDIT : (27/04 21h20) Je complète la liste (je regroupe tout dans le meme post c'est plus facile)
Console.txt
ConsoleColor()
(Dr. Dri) Dans la syntaxe, remplacer CouleurCaractere par CouleurTexte
Dans l'exemple remplacer les variables ForeGround/Background par CouleurTexte/CouleurFond
ConsoleError()
du 'Programme'. => du programme.
ReadConsoleData()
Dans l'exemple : If TotalSize > 0 ; display the image if successfull => ; affiche l'image si tout se passe bien
Memory.txt
AllocateMemory()
contigüe de la taille spécifiée => contigüe de la taille spécifiée (en octets)
Exemple traduit :
Code : Tout sélectionner
*MemoireID = AllocateMemory(5000)
  If *MemoireID
    Debug "Adresse de début de la zone mémoire de 5000 octets :"
    Debug *MemoireID
    PokeS(*MemoireID, "Stocke cette chaîne dans la zone mémoire")
    FreeMemory(*MemoireID)  ; sera également effectué automatiquement à la fin du programme
  Else
    Debug "Impossible d'allouer la mémoire demandée !"
  EndIf
 
CopyMemoryString()
Dans la syntaxe : *Addresse => *Adresse
Dans la description : Si '@*destinationmemoryid' => Si @*DestinationMemoryID
Exemple traduit :
Code : Tout sélectionner
*Tampon = AllocateMemory(1000)
  *Pointeur = *Tampon
  CopyMemoryString("Salut", @*Pointeur)
  CopyMemoryString(" le Monde")  ; Cette chaîne sera copiée juste après "Salut"
  *Pointeur-2                    ; revient en arrière de 2 caractères (sur le 'd' de 'Monde')
  CopyMemoryString("DE")         ; les deux dernières lettres seront en majuscules
  Debug PeekS(*Tampon)
 
ReAllocateMemory()
Dans la description, ajouter  : en fonction de la taille indiquée (en octets)
Exemple traduit :
Code : Tout sélectionner
*MemoireID = AllocateMemory(1000)
  PokeS(*MemoireID, "Stocke cette chaîne")
  ; faire quelque chose en plus avec ça ici...
  ;
  *NouveauMemoireID = ReAllocateMemory(*MemoireID, 2000) ; besoin de plus de mémoire
  If *NouveauMemoireID
    ; maintenant travailler avec *NouveauMemoireID avec une taille de 2000 octets
    Debug "L'ancien contenu est toujours là :"
    Debug PeekS(*NouveauMemoireID)
    ;
    FreeMemory(*NouveauMemoireID) 
  Else
    ; le redimensionnement a échoué, continuons de travailler avec *MemoireID (de taille 1000 octets)
    ;
    FreeMemory(*MemoireID)
  EndIf
 
Menu.txt
titres des menus + var francisées (correspond à la description)
+ traduction des commentaires 
quand ce n'était pas déjà fait
+ traduction du passage OS X
CreateMenu()Code : Tout sélectionner
  If OpenWindow(0, 200, 200, 200, 100, "Exemple de menu")
    If CreateMenu(0, WindowID(0))    
      MenuTitle("Projet")
        MenuItem(1, "&Ouvrir"   +Chr(9)+"Ctrl+O")
        MenuItem(2, "&Enregistrer"   +Chr(9)+"Ctrl+E")
        MenuItem(3, "En®istrer sous"+Chr(9)+"Ctrl+R")
        MenuItem(4, "&Fermer"  +Chr(9)+"Ctrl+F")
    EndIf
    Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
  EndIf
 
CreatePopupMenu()Code : Tout sélectionner
  If OpenWindow(0, 200, 200, 220, 120, "Exemple de menu contextuel")
    If CreatePopupMenu(0)        ; La création du menu contextuel commence...
      MenuTitle("Projet")        ; Vous pouvez utiliser toutes les commandes relatives au menu,
        MenuItem(1, "Ouvrir")    ; comme si c'était un menu normal...
        MenuItem(2, "Enregistrer")
        MenuItem(3, "Enregistrer sous")
        MenuItem(4, "Quitter")
        MenuBar()
        OpenSubMenu("Fic&hiers récents")
          MenuItem(5, "PureBasic.exe")
          MenuItem(6, "Test.txt")
        CloseSubMenu()
      MenuTitle("Editer")
      MenuTitle("Options")
    EndIf
    Repeat
      Select WaitWindowEvent()            ; Examine quel type d'évènement est survenu sur la fenêtre
        Case #WM_RBUTTONDOWN              ; Le bouton droit de la souris a été clické =>
          DisplayPopupMenu(0,WindowID(0))  ; On affiche le menu contextuel
        Case #PB_Event_Menu      ; Un élément du menu a été sélectionné
          Select EventMenu()     ; On recupère le numéro de cet élement...
            Case 1 : Debug "Menu : Ouvrir"
            Case 2 : Debug "Menu : Enregistrer"
            Case 3 : Debug "Menu : Enregistrer sous"
            Case 4 : Quitter = 1
            Case 5 : Debug "Menu : PureBasic.exe"
            Case 6 : Debug "Menu : Text.txt"
          EndSelect
        Case #PB_Event_CloseWindow
          Quitter = 1
      EndSelect
    Until Quitter = 1
  EndIf
 
DisableMenuItem()Code : Tout sélectionner
  If OpenWindow(0, 200, 200, 200, 100, "Exemple DisableMenuItem")
    If CreateMenu(0, WindowID(0))
      MenuTitle("Projet")
        MenuItem(1, "Ouvrir")
        MenuItem(2, "Enregistrer")
        DisableMenuItem(0,2,1)     ; Désactive le second élément du menu ("Enregistrer")
    EndIf
    Repeat
    Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf
 
GetMenuItemState()Code : Tout sélectionner
  If OpenWindow(0, 200, 200, 220, 100, "Exemple GetMenuItemState")
    If CreateMenu(0, WindowID(0))
      MenuTitle("Projet")
        MenuItem(1, "Changé")
        SetMenuItemState(0,1,1)    ; Affiche l'élément du menu comme étant coché.
    EndIf
    Repeat
      Evenement = WaitWindowEvent()          ; Attente d'un évenement 
      If Evenement = #PB_Event_Menu          ; Evenement de type 'Menu'
        If EventMenu() = 1             ; Le premier élément du menu a été sélectionné
          If GetMenuItemState(0,1) = 1   ; Etat actuel de l'élément = coché
            SetMenuItemState(0,1,0)      ; On le décoche
          Else                           ; Etat actuel de l'élément = décoché
            SetMenuItemState(0,1,1)      ; On le coche
          EndIf
        EndIf
      EndIf
    Until Evenement = #PB_Event_CloseWindow
  EndIf
 
MenuBar()Code : Tout sélectionner
  If OpenWindow(0, 200, 200, 200, 100, "Exemple MenuBar")
    If CreateMenu(0, WindowID(0))  ; la création du menu commence ici....
      MenuTitle("Projet")
        MenuItem(1, "Ouvrir")
        MenuBar()                 ; la barre de séparation sera insérée ici
        MenuItem(4, "Fermer")
    EndIf
    Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
  EndIf
 
MenuItem()Code : Tout sélectionner
  If OpenWindow(0, 200, 200, 200, 100, "Exemple MenuItem")
    If CreateMenu(0, WindowID(0))
      MenuTitle("Projet")
        MenuItem(1, "Ouvrir")        ; Element normal
        MenuItem(2, "&Enregistrer")  ; Element avec une lettre soulignée.
                                     ; Le trait souligné n'apparaîtra que si le menu est appelé avec F10 ou ALT.
; Note : sous Windows XP, le trait souligné apparaitra toujours si l'option
;        'Masquer les lettres soulignées pour la navigation au clavier jusqu'à ce que j'appuie sur la touche Alt'
;        est décochée dans Propriétés de affichage / Apparence / Effets
        MenuItem(3, "Quitter"+Chr(9)+"ECHAP")  ; Element avec un raccourci clavier affiché sur la droite.
    EndIf
    Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
  EndIf
 
MacOS X : les éléments 'Quitter', 'Préférences' et 'A propos' sont considérés comme spéciaux et doivent être placés dans le menu 'Application' pour avoir l'apparence et le comportement des applications OS X. PureBasic fournit les constantes #PB_Menu_Quit, #PB_Menu_Preferences et #PB_Menu_About pour gérer ce genre d'éléments de menu. Lorsqu'une de ces constantes est détectée, l'élément n'est pas inséré à la place courante, mais dans le menu 'Application'. Si un raccourci a été associé, il est simplement ignoré et remplacé par le raccourci standard. Ces 3 constantes ne sont pas définies sur les autres systèmes d'exploitation, afin de permettre une numérotation flexible sur ces OS.
Misc.txt
ElapsedMilliseconds()
commentaires de l'exemple traduits + j'ai précisé le but de l'exemple car apparement ce n'était pas clair
jerexgrz a écrit :Sur la doc, on a ca : Renvoie le nombre de millisecondes qui se sont écoulées depuis le démarrage de l'ordinateur. Hors, si l'on regarde de + pres l'exemple, il s'agit d'activer un timer lorsque l'on execute le prog (startime). Donc tres different !
Code : Tout sélectionner
;
; exemple d'utilisation comme chronomètre
;
TempsDepart = ElapsedMilliseconds()  ; Récupère la valeur actuelle
  ;
  Delay(1000)  ; Attend 1000 millisecondes
  ;
TempsEcoule = ElapsedMilliseconds()-TempsDepart  ; La valeur 'ElapsedTime' devrait être d'environ 1000 millisecondes
Debug "Temps écoulé : "+Str(TempsEcoule)+" millisecondes"
 
Process.txt
Traductions des exemples
ExamineEnvironmentVariables()Code : Tout sélectionner
  ; énumérera toutes les variables d'environnement disponibles pour le programme
  ;
  OpenConsole()
  If ExamineEnvironmentVariables()
    While NextEnvironmentVariable()
      PrintN(EnvironmentVariableName() + " = " + EnvironmentVariableValue())
    Wend
  EndIf
  PrintN("")
  PrintN("Appuyez sur [Entree] pour quitter.")
  Input()
 
GetEnvironnmentVariables()Code : Tout sélectionner
  ; Affiche le contenu de la variable d'environnement "PATH"
  ;
  OpenConsole()
  PrintN(GetEnvironmentVariable("PATH"))
  PrintN("")
  PrintN("Appuyez sur [Entree] pour quitter.")
  Input()
 
ProgramExitCode()
ProgramParameter()
MonProgramme.exe MonTexte.txt /RAPIDE "Mode Special"
La première fois que ProgramParameter() est appelé, la commande va renvoyer "MonTexte.txt", la seconde fois "/RAPIDE" et la troisieme fois "Mode Special".
RunProgram()Code : Tout sélectionner
  ; Execute le compilateur PureBasic avec l'option /? et affiche la sortie (version windows)
  ; Pour Linux/MacOS changez le paramètre "/?" en "-h" et le "" en "/" dans le chemin vers le compilateur.
  ;
  Compilateur = RunProgram(#PB_Compiler_Home+"\Compilers\pbcompiler", "/?", "", #PB_Program_Open|#PB_Program_Read)
  Sortie$ = ""
  If Compilateur  
    While ProgramRunning(Compilateur)
      Sortie$ + ReadProgramString(Compilateur) + Chr(13)
    Wend
    Sortie$ + Chr(13) + Chr(13)
    Sortie$ + "Code de retour : " + Str(ProgramExitCode(Compilateur))
  EndIf
  MessageRequester("Sortie", Sortie$)
 
Requester.txt
ColorRequester()
color => couleur
Code : Tout sélectionner
  Couleur.l = ColorRequester()
  If Couleur > -1
    a$ = "Vous avez sélectionné la couleur suivante :" + Chr(10)  ; Chr(10) est seulement nécessaire
    a$ + "Valeur 24 Bits : " + Str(Couleur)              + Chr(10)  ; pour les retours à la ligne
    a$ + "Composante rouge :    " + Str(Red(Couleur))    + Chr(10)
    a$ + "Composante verte :  " + Str(Green(Couleur))    + Chr(10)
    a$ + "Composante bleue :   " + Str(Blue(Couleur))
  Else  
    a$ = "La sélection a été annulée."
  EndIf
  MessageRequester("Information",a$,0)
  End
 
FontRequester()
libellés
Code : Tout sélectionner
Police$ = "Arial"   ; Police initiale (peut aussi être nulle)
  TaillePolice  = 14        ; Taille initiale (peut aussi être nulle)
  Resultat = FontRequester(Police$, TaillePolice, #PB_FontRequester_Effects)
  If Resultat
    Message$ = "Vous avez sélectionné la police suivante :"  + #LF$ 
    Message$ + "Nom :  " + SelectedFontName()       + #LF$
    Message$ + "Taille :  " + Str(SelectedFontSize())  + #LF$
    Message$ + "Couleur : " + Str(SelectedFontColor()) + #LF$
    If SelectedFontStyle() & #PB_Font_Bold
      Message$ + "Gras" + #LF$
    EndIf
    If SelectedFontStyle() & #PB_Font_StrikeOut
      Message$ + "Barré" + #LF$
    EndIf
    If SelectedFontStyle() & #PB_Font_Underline
      Message$ + "Souligné" + #LF$
    EndIf
  Else 
    Message$ = "La sélection a été annulée."
  EndIf
  
  MessageRequester("FontRequester", Message$, #PB_MessageRequester_Ok)
 
InputRequester()
nom gadget + input$ => saisie$
Code : Tout sélectionner
Saisie$ = InputRequester("InputRequester","Saisissez un texte :","Texte par défaut.")
  If Saisie$ > ""
    a$ = "Vous avez écrit le texte suivant :" + Chr(10)  ; Chr(10) nécessaire seulement 
    a$ + Saisie$                                         ; pour faire un saut de ligne
  Else  
    a$ = "La saisie a été annulée ou il n'y a pas de texte saisi."
  EndIf
  MessageRequester("Information",a$,0)
  End
 
MessageRequester()
Traduction
Code : Tout sélectionner
  ; MessageRequester simple (normalement utilisé uniquement pour afficher des informations)
  ; (le résultat sera toujours identique, donc nous ne le vérifions pas ici)
  MessageRequester("MessageRequester Simple","Juste un petit texte d'information.",#PB_MessageRequester_Ok)
  ; MessageRequester avec boutons Oui / Non (normalement utilisé pour les questions)
  ; (le résulat sera affiché dans la fenêtre d'information suivante)
  Resultat = MessageRequester("MessageRequester avec boutons Oui/Non ","Veuillez faire votre choix :",#PB_MessageRequester_YesNo)
  a$ = "Le résultat du MessageRequester précédent était : "
  If Resultat = 6     ; le bouton Oui a été choisi (Resultat = 6)
    a$ + "Oui"
  Else                ; le bouton Non a été choisi (Resultat = 7)
    a$ + "Non"
  EndIf
  MessageRequester("Information",a$,#PB_MessageRequester_Ok)
  ; MessageRequester avec boutons Oui / Non / Annuler (normalement utilisé pour les questions)
  ; (le résulat sera affiché dans la fenêtre d'information suivante)
  Resultat = MessageRequester("MessageRequester avec boutons Oui / Non / Annuler","Veuillez faire votre choix :",#PB_MessageRequester_YesNoCancel) 
  a$ = "Le résultat du MessageRequester précédent était : "
  If Result = 6        ; le bouton Oui a été choisi (Resultat = 6)
    a$ + "Oui"
  ElseIf Result = 7    ; le bouton Non a été choisi (Resultat = 7)
    a$ + "Non"
  Else                 ; le bouton Annuler a été choisi ou la touche Echap a été appuyée (Resultat = 2)
    a$ + "Annuler"
  EndIf
  MessageRequester("Information",a$,#PB_MessageRequester_Ok)
 
NextSelectedFileName()
Filename$ => NomFichier$
Code : Tout sélectionner
NomFichier$ = OpenFileRequester("Choisissez quelques fichiers","","",0, #PB_Requester_MultiSelection)
  
  While NomFichier$ 
    Debug NomFichier$ 
    NomFichier$ = NextSelectedFileName() 
  Wend
 
OpenFileRequester()
Traduction commentaires + var
Code : Tout sélectionner
 FichierParDefaut$ = "C:\autoexec.bat"   ; Répertoire et fichier par défaut qui seront affichés
  ;  Avec la chaîne suivante nous allons définir les filtres ("|" comme séparateur) pour l'affichage de fichier :
  ;  1er  : "Texte (*.txt)" comme nom, ".txt" et ".bat" comme extension autorisée
  ;  2ème : "PureBasic (*.pb)" comme nom, ".pb" comme extension autorisée
  ;  3ème : "Tous les fichiers (*.*)" comme nom, "*.*" comme extension autorisée, valide pour tous les fichiers
  Filtre$ = "Texte (*.txt)|*.txt;*.bat|PureBasic (*.pb)|*.pb|Tous les fichiers (*.*)|*.*"
  Filtre  = 0    ; utiliser  par défaut le premier des trois filtres possibles
  Fichier$ = OpenFileRequester("Choisissez un fichier à charger", FichierParDefaut$, Filtre$, Filtre)
  If Fichier$
    MessageRequester("Information", "Vous avez choisi le fichier suivant :"+Chr(10)+Fichier$, 0)
  Else
    MessageRequester("Information", "La sélection a été annulée.", 0) 
  EndIf
 
PathRequester()
Dans la syntaxe + Description : NomChemin$ => Chemin$
var francisees
Code : Tout sélectionner
CheminInitial$ = "C:"   ; Répertoire par défaut qui sera affiché (une chaîne vide est aussi possible)
Chemin$ = PathRequester("Choisissez un répertoire", CheminInitial$)
If Chemin$
  MessageRequester("Information", "Vous avez choisi le répertoire suivant :"+Chr(10)+Chemin$, 0)
Else
  MessageRequester("Information", "La sélection a été annulée.", 0) 
EndIf
 
SaveFileRequester()
Traduction commentaires + var
Code : Tout sélectionner
FichierParDefaut$ = "C:\autoexec.bat"   ; Répertoire et fichier par défaut qui seront affichés
  ;  Avec la chaîne suivante nous allons définir les filtres ("|" comme séparateur) pour l'affichage de fichier :
  ;  1er  : "Texte (*.txt)" comme nom, ".txt" et ".bat" comme extension autorisée
  ;  2ème : "PureBasic (*.pb)" comme nom, ".pb" comme extension autorisée
  ;  3ème : "Tous les fichiers (*.*)" comme nom, "*.*" comme extension autorisée, valide pour tous les fichiers
  Filtre$ = "Texte (*.txt)|*.txt;*.bat|PureBasic (*.pb)|*.pb|Tous les fichiers (*.*)|*.*"
  Filtre = 0    ; utiliser  par défaut le premier des trois filtres possibles
  Fichier$ = SaveFileRequester("Choisissez un fichier à sauvegarder", FichierParDefaut$, Filtre$, Filtre)
  If Fichier$
    MessageRequester("Information", "Vous avez choisi ce fichier :"+Chr(10)+Fichier$, 0)
  Else
    MessageRequester("Information", "La sélection a été annulée.", 0) 
  EndIf
 
SelectedFilePattern()
var francisées
Code : Tout sélectionner
  FichierParDefaut$ = "C:\autoexec.bat"    ; Répertoire et fichier par défaut 
  Filtre$ = "Texte (*.txt)|*.txt;*.bat|"   ; Premier filtre   (index = 0)
  Filtre$ + "PureBasic (*.pb)|*.pb|"       ; Deuxième filtre  (index = 1)
  Filtre$ + "Bmp (*.bmp)|*.bmp|"           ; Troisième filtre (index = 2)
  Filtre$ + "Jpeg (*.jpg)|*.jpg|"          ; Quatrième filtre (index = 3)
  Filtre$ + "Tous les fichiers (*.*)|*.*"  ; Cinquième filtre (index = 4)
  Filtre = 1  ; Le deuxième filtre sera utilisé par défaut.
  ; Ouvre une boîte de dialogue pour choisir un fichier, vous pouvez changer de filtre et obtenir son index après validation
  Fichier$ = OpenFileRequester("Choisissez un fichier", FichierParDefaut$, Filtre$, Filtre)
  Index = SelectedFilePattern()
  If Index > -1
    MessageRequester("Information", "L'index du filtre sélectionné est le suivant : "+Str(Index), 0)
  Else
    MessageRequester("Information", "La sélection a été annulée.", 0)
  EndIf
 
Gadget.txt
DateGadget
- SetGadgetAttribute(): With the following attributes: => avec les attributs suivants :
ScrollBarGadget
- SetGadgetAttribute(): With one of the following attributes: => avec un des attributs suivants:
OnError.txt
DisASMCommand() et 
GetDisASMString() (exemple identique)
Corrections exemple
Mini-Disassembleur => Mini-Désassembleur
Null.l => Zero
Ergebnis.l => Resultat
+ espaces superflus dans les étiquettes
Code : Tout sélectionner
  Debug "Mini-Désassembleur !"
  Debug "Tapez votre code entre les 2 étiquettes DEBUT_C: et FIN_C:"
  Debug "et laissez la bibliothèque Error désassembler pour vous"
  Pointeur=?DEBUT_C
  If Pointeur<>?FIN_C
    SetClipboardText("")
    Repeat
      CettePosition=Pointeur
      Pointeur=DisASMCommand(Pointeur)
      Debug Hex(CettePosition)+" - " + GetDisASMString()
      SetClipboardText(GetClipboardText()+GetDisASMString()+Chr(13)+Chr(10))
    Until Pointeur>=?FIN_C
  EndIf
  End
  DEBUT_C:
    Zero.l=0                  ; 1. Erreur: Division par zéro
    Resultat.l = 123 / Zero
  
    !INT 3                    ; 2. Erreur: Point d'arrêt en ASM
    !NOP                      ; Les NOPS sont aussi désassemblés 
    PeekL(99)                 ; 3. Erreur: Lecture  d'une valeur à partir d'une adresse mémoire invalide
    SetErrorNumber(9)         ; 4. Erreur: Force un numéro d'erreur  manuellement
  FIN_C:
 
GoToEIP()
;a simple Message Debug => ;un simple message Debug
et goto à la dernière adresse => et va à la dernière adresse
OnErrorGosub()
ErrorHandler => GestionnaireErreur (ou ControleurErreur, pour reprendre le terme de la doc)
"An error happened...","Continue with the program?" => "Une erreur est survenue...","Continuer ce programme ?"
"Normal end" => Fin normale
SetErrorNumber()
Syntaxe : SetErrorNumber(Number) => SetErrorNumber(Numéro)
ErrorHandler => GestionnaireErreur (ou ControleurErreur, pour reprendre le terme de la doc)
"Error  " =>"Erreur "