[v4] Corrections & Améliorations de la doc FR

Archive.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

En faisant des recherches j'ai trouvé ça :
La barre à glissière inclus un. porte-savon et un porte-éponge ou shampoing profond.

Perso je trouve que curseur à glissière c'est encore le mieux. Il s'agit bien d'un curseur dans une glissière.


[EDIT]

Je vais continuer de copier les traductions de RegisLG.
Dernière modification par comtois le mer. 26/avr./2006 22:23, modifié 1 fois.
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.
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

deux p'tites coquilles :

1/
dans la doc
GetErrorModuleName(): non documenté

2/
dans l'aide en ligne
MemoryStringLength(String$[,Flags]): devrait etre MemoryStringLength(*String[,Flags])
Image
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

pour le 1 , effectivement , on a GetErrorModuleNR(), ok je change ça :)


[EDIT]

Comment vous le comprenez ?
Get the module filename where the error occurred (included file).
J'ai mis ça
Récupère le nom du fichier où l'erreur s'est produite (fichier inclu).
C'est surtout le included file que je ne comprends pas , ça veut dire 'fichier inclu compris '?
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.
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

comtois a écrit :En faisant des recherches j'ai trouvé ça :
La barre à glissière inclus un. porte-savon et un porte-éponge ou shampoing profond.
sinon j'ai vu aussi barre de progression.

Perso je trouve que curseur à glissière c'est encore le mieux. Il s'agit bien d'un curseur dans une glissière.
Le problème de la traduction "curseur à glissière" c'est qu'on perd le mot "barre" présent pour trackbar, progressbar, toolbar, statusbar...

et puis surtout quand je lis ça ca ne m'évoque pas du tout le gadget
barre à curseur ne fait pas l'affaire ?
(moi je choisirais plutot barre de suivi...)

Dri
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

Message par Dräc »

Ce glossaire peut servir:
http://www.glossaire.be/glossaire_progr ... ancais.htm

On trouve la traduction suivante pour trackbar: "barre de suivi".
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

J'ai fini de copier les traductions de RegisLG (Gadget + Thread)
Pour l'instant j'ai gardé son Barre à curseur, il y a au moins la notion de curseur. Sauf que pour moi la fonction principale c'est le curseur, pas la barre :)

Par contre j'ai conservé les titres des fenêtres avec le nom du gadget.

Flype j'étais prêt à modifier le HyperLinkGadget avec le flag, mais je ne l'ai pas trouvé dans l'aide anglaise, tu peux laisser un mot sur le forum anglais , il y a un post dans la section bug qui regroupe toutes les remarques au sujet de la doc.

Je ne mets rien dans la doc française pour l'instant, j'attends la correction de la doc anglaise pour la reprendre.


J'ai validé , le cvs est à jour. Et le nouveau chm est en ligne.

[EDIT]
1 point de plus pour la barre à curseur.

http://www.microsoft.com/france/msdn/se ... Intro.mspx
à cette adresse , ça parle de barre de curseur.
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.
RegisLG
Messages : 154
Inscription : mer. 22/juin/2005 2:32

Message par RegisLG »

En fait trackbar ça me fait penser à ce qu'on trouve sur les platines d'ingénieur du son, donc comme ils utilisent l'expression "jouer des curseurs" sur les pistes son (track), je me suis dit que 'barre à curseur' ou 'barre avec curseur(s)' ça le faisait bien. Le principal étant de trouver un terme différent du gadget 'scrollbar' (barre de défilement).
comtois a écrit :il y a un truc qui me parait bizarre, au début ça passait bien , mais quand je suis arrivé à ça :<snip>"Gadget liste déroulante ou ça <snip>"Gadget liste avec icônes explorateur" je me suis dis , houla !! c'est bien de traduire , c'est très utile (et j'en ai aussi besoin) mais là je trouve que c'est trop.
Dans le titre original il n'y a que le nom du gadget ,je pense qu'on devrait le garder tel quel, ça permet d'avoir un repère, on sait à quelle fonction se rattache l'exemple.
Je suis d'accord avec toi. C'est marrant je m'attendais à ce que ça pose problème, et c'est justement pour ça que j'ai posé la question l'autre jour !!!
Au début j'avais repris les termes utilisés dans le descriptif des commandes, et j'ai demandé si je devais continuer ainsi.
Evidement ça ne "choque" pas sur des titres comme : "case à cocher cochée" ou "Liste avec icônes - Ajouter des colonnes" mais pour d'autres ça fait bizarre je suis d'accord :)
Mais bon, on suit une logique ou pas.
Si ça ne va pas on remet tout sous la forme "Gadget ListIcon - Ajouter des colonnes", "checkbox cochée" (au lieu de "case à cocher cochée").
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

comtois a écrit : Si ça ne va pas on remet tout sous la forme "Gadget ListIcon - Ajouter des colonnes", "checkbox cochée" (au lieu de "case à cocher cochée").

pour ma part , je trouvera ça mieux en effets
on est habitue aux termes d'origine , c'est ce que je disais l'autre fois ... :D
trop françiser n'est peut etre pas judicieux .. en tout cas Meci pour votre travail ! :D
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

J'ai gardé le nom des gadgets dans le titre de la fenêtre.

la nouvelle doc est disponible, jetez un coup d'oeil , si y'a des trucs qui vous paraissent trop gros , dites le :)
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.
RegisLG
Messages : 154
Inscription : mer. 22/juin/2005 2:32

Message par RegisLG »

@comtois :
1) Peux-tu faire la modif sur le reference.html et utiliser le Table of Contents.hhc pour les prochains chm ?
2) Que puis-je faire pour t'aider maintenant (quel fichier ?)

Pas eu le temps de tout relire encore mais pour disablegadget le titre original était "Disable/enable buttons..." donc je pense que tu aurais pu conserver "Désactiver/Activer des boutons..."

EDIT : 27/04 00h34 je n'arrive pas à accéder au chm sur ta page perso comtois.
J'ai aussi modifié mon Table of Contents.hhc suite au changement de nom de GetErrorModuleNr + recompile du demo.chm (pour ceux que ça interesse ;))
Dernière modification par RegisLG le jeu. 27/avr./2006 13:35, modifié 1 fois.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

RegisLG a écrit :@comtois :
1) Peux-tu faire la modif sur le reference.html et utiliser le Table of Contents.hhc pour les prochains chm ?
Je ferai la modif du reference.html quand elle sera faite dans la doc anglaise. Perso je trouve que ça n'apporte rien.

Pour le Table of Contents.hhc , non je ne veux pas bricoler la doc, je la compile avec ce qui se trouve sur le cvs. Ceux qui ont cvs et qui compilent leur doc , auront exactement la même chose. Pas question d'avoir différente version dans la nature. Enfin c'est juste mon avis.
Tu nous as dit que Fred devrait faire la modif du source du docmaker pour ça , il suffit d'attendre un peu , c'est pas capital ce sommaire.
2) Que puis-je faire pour t'aider maintenant (quel fichier ?)
il y a les derniers petits bouts d'anglais qui trainent dans la doc.
Pas eu le temps de tout relire encore mais pour disablegadget le titre original était "Disable/enable buttons..." donc je pense que tu aurais pu conserver "Désactiver/Activer des boutons..."
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.

EDIT : 27/04 00h34 je n'arrive pas à accéder au chm sur ta page perso comtois.
Je viens d'essayer ça fonctionne.
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.
RegisLG
Messages : 154
Inscription : mer. 22/juin/2005 2:32

Message par RegisLG »

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&registrer 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()

Code : Tout sélectionner

End 1   ; renvoie le code de retour 1
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 "
Dernière modification par RegisLG le jeu. 27/avr./2006 21:48, modifié 5 fois.
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

CouleurCaractere -> CouleurTexte ^^

Dri
RegisLG
Messages : 154
Inscription : mer. 22/juin/2005 2:32

Message par RegisLG »

Dr. Dri a écrit :CouleurCaractere -> CouleurTexte ^^
Oui ce serait mieux effectivement (j'ai repris le terme déjà indiqué dans la syntaxe) ;) Mettre la même chose partout quoi (syntaxe & exemple)

EDIT : j'ai actualisé mon post précédent et j'ai tout regroupé c'est plus simple.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Ok tout est validé, et j'ai aussi mis le nouveau .chm en ligne qui inclut les dernières modifications.
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.
Répondre