[v4] Corrections & Améliorations de la doc FR
Suite à ce post - http://purebasic.forum-gratuit.com/view ... highlight= - je me suis dit :
Ce serait pas mal qu'une fois la doc fr terminée, que quelqu'un traduise la doc en PDF. Ca permettrait d'avoir un bÔ manuel, prêt à imprimer.
Si je trouve le courage, je le ferais.
Qu'en pensez-vous ?
[EDIT]
Je vais voir si je peux pas faire un générateur automatique qui prendrais le source du CHM vers PDF ( pour éviter d'avoir à mettre à jour et le CHM et le PDF à la main ).
Ce serait pas mal qu'une fois la doc fr terminée, que quelqu'un traduise la doc en PDF. Ca permettrait d'avoir un bÔ manuel, prêt à imprimer.
Si je trouve le courage, je le ferais.
Qu'en pensez-vous ?
[EDIT]
Je vais voir si je peux pas faire un générateur automatique qui prendrais le source du CHM vers PDF ( pour éviter d'avoir à mettre à jour et le CHM et le PDF à la main ).
Dernière modification par Flype le mer. 14/juin/2006 19:30, modifié 2 fois.
Il y a un accès anonyme pour le cvs public (lecture seule). Pour l'accès en anonymous:Flype a écrit :au fait,
où puis-je télécharger les sources de la doc, déjà ?
le CVSROOT:
:pserver:anonymous@alphasnd.dyndns.org:/home/cvs/Public
le module: Documentation
Les fichiers sont au format docmaker. Fred recommande TortoiseCVS pour acceder au CVS sous Windows, c'est le plus intégré.
[EDIT]
Bon je n'ai pas trop de courage ce soir pour faire de la doc, je voulais en faire une petite demi heure mais c'est déjà trop par ces températures

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.
Je lis l'allemand avec google alors je ne suis pas sûr , mais il me semble qu'André parle de mettre la doc au format PDF sur purearea.net
Vu ici
Il a peut-être déjà fait une moulinette ?
Vu ici
Il a peut-être déjà fait une moulinette ?
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.
Je viens de voir un complément d'info possible pour les pointeurs
Faudra que je prenne le temps de lire la suite du post , y'a peut-être des infos intéressantes à placer dans la doc ?
Vu iciFreak a écrit :The "String" structure looks like this:
Code:
Structure String
s.s
EndStructure
So when doing *Struct.String, you actually have a pointer (the structure pointer)
to a pointer (the s.s) to a string (the actual data)
Doing "@String$" however returns the pointer to the actual data.
This is a fundamental difference to the other basic types, where the variable data
is actually stored inside the structure, and that is why it will not work with strings.
This one illustrates it:
Code:
String$ = "Hello World"
*Pointer = @String$ ; get pointer to string data
*Struct.String = @*Pointer ; get pointer to pointer to string data
Debug *Struct\s ; now it displays
The best solution to this problem really depends on what you need to do with the string.
If you need to compare the string data to something else, the best thing
is to use commands like CompareMemoryString()/MemoryStringLength(),
which can operate on pointers, so you have no overhead at all.
If what you need is to copy the string from the pointer into a normal
PB variable, PeekS() is a good thing to use, as it is almost as fast as
a normak string copy like "a$ = b$".
Faudra que je prenne le temps de lire la suite du post , y'a peut-être des infos intéressantes à placer dans la doc ?
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.
Je viens de faire un essai, ça a pris 2 minutes pour transformer le manuel en PDF... 433 pages et près de 3 Mo quand mêmeCe serait pas mal qu'une fois la doc fr terminée, que quelqu'un traduise la doc en PDF

Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Ajout de l'aide d'une fonction OnErrorExit(), en anglais :
Et j'ai traduit comme ça, vous pouvez corriger
@Function OnErrorExit()
@Description
If an error occurs, a requester with a general error message will be showed
and your program will be safely terminated.
@LineBreak
@LineBreak
Example:
@Code
; Please disable PB Debugger for testing, else the error will already
; be catched by the debugger!
OnErrorExit()
Null = 0
Result = 123 / Null ; division by 0 will generate an error
; The following code will never be executed, because of the error before
MessageRequester("Information!", "This will never be executed!")
@EndCode
Et j'ai traduit comme ça, vous pouvez corriger

@Function OnErrorExit()
@Description
Si une erreur se produit, un message d'erreur général
sera affiché et votre programme se terminera correctement.
@LineBreak
@LineBreak
@Example
@Code
; Dévalidez le débogueur pour tester sinon c'est lui qui traitera l'erreur!
OnErrorExit()
Null = 0
Result = 123 / Null ; La division par zéro génère une erreur
; Le code suivant ne sera jamais exécuté à cause de l'erreur précédente
MessageRequester("Information!", "Ceci ne sera jamais exécuté!")
@EndCode
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.
Pour "will be safely terminated" j'ai hésité avec "se terminera en toute sécurité".
L'idée, par rapport à "correctement", c'est que justement la programmation n'est pas correcte.
L'idée, par rapport à "correctement", c'est que justement la programmation n'est pas correcte.
comtois a écrit : Et j'ai traduit comme ça, vous pouvez corriger
@Function OnErrorExit()
@Description
Si une erreur se produit, un message d'erreur général
sera affiché et votre programme se terminera proprement.
@LineBreak
@LineBreak
@Example
@Code
; Désactivez le débogueur pour tester sinon c'est lui qui traitera l'erreur!
OnErrorExit()
Null = 0
Result = 123 / Null ; La division par zéro génère une erreur
; Le code suivant ne sera jamais exécuté à cause de l'erreur précédente
MessageRequester("Information!", "Ceci ne sera jamais exécuté!")
@EndCode
oui j'ai hésité aussi 
Ok je prends tes remarques en compte.
Sinon pour info , il y a une petite correction pour

Ok je prends tes remarques en compte.
Sinon pour info , il y a une petite correction pour
Et je suis en train de regarder les autres corrections.MovieAudio()
Balance peut avoir une amplitude de -100 à 100 (-100 étant le plus à gauche et 100 le plus à droite).
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.
Comtois,
En voulant utiliser le Gadget MDI, j'ai eu quelques problèmes à cause de la doc qui n'est pas précise:
AddGadgetItem(#Gadget, Position, Texte$ [, ImageID [, Options]])
Ici Position correspond à l'index de la nouvelle fenêtre créée; ça devrait être spécifié.
De plus, il est nullement dit comment fermer une fenêtre du Gadget MDI, bien sûr la commande est CloseWindow mais ça aurait pu être autre chose, en tout cas ce n'est pas spécifié. Surtout que CloseWindow est une commande Window se situant dans une autre rubrique.
Sinon je trouve la description de cette commande incomplète:
Fenetre = EventWindow()
Je vois ça, je me suis dit qu'il retourne un Handle alors que c'est un Id.
D'une manière générale, j'ai toujours été ennuyé avec les id de Pure, une fois c'est l'Id qu'il faut prendre pour une commande et pour d'autre faut le Handle.
Voilà, je te dis les problèmes que j'ai eu, si ça peux t'aider à rendre la doc plus claire.
En voulant utiliser le Gadget MDI, j'ai eu quelques problèmes à cause de la doc qui n'est pas précise:
AddGadgetItem(#Gadget, Position, Texte$ [, ImageID [, Options]])
Ici Position correspond à l'index de la nouvelle fenêtre créée; ça devrait être spécifié.
De plus, il est nullement dit comment fermer une fenêtre du Gadget MDI, bien sûr la commande est CloseWindow mais ça aurait pu être autre chose, en tout cas ce n'est pas spécifié. Surtout que CloseWindow est une commande Window se situant dans une autre rubrique.
Sinon je trouve la description de cette commande incomplète:
Fenetre = EventWindow()
Je vois ça, je me suis dit qu'il retourne un Handle alors que c'est un Id.
D'une manière générale, j'ai toujours été ennuyé avec les id de Pure, une fois c'est l'Id qu'il faut prendre pour une commande et pour d'autre faut le Handle.
Voilà, je te dis les problèmes que j'ai eu, si ça peux t'aider à rendre la doc plus claire.
Je suis le moins qualifié pour parler de cette bibliothèque, je ne peux faire que le secrétaire pour les corrections que vous proposereznico a écrit :AddGadgetItem(#Gadget, Position, Texte$ [, ImageID [, Options]])
Ici Position correspond à l'index de la nouvelle fenêtre créée; ça devrait être spécifié.

C'est pourquoi j'ai besoin que vous me disiez exactement quelle phrase corriger ou ajouter.
Ensuite j'attends un peu , pour laisser le temps à d'autres d'intervenir, s'il y a consensus , je prends en compte la modif, s'il y a le moindre doute, il faut en parler à Fred , ou faire un post sur le forum anglais pour avoir confirmation avant de modifier la doc.
Pour en revenir à ta remarque , dans la doc il y a ça :
AddGadgetItem()
Pour le MDIGadget() le paramètre 'Position' indique le numéro de la #Fenetre pour la nouvelle fenêtre MDI. #PB_Any peut être utilisé, auquel cas la valeur de retour sera le nouveau numéro défini automatiquement par PureBasic. Le paramètre 'Options' peut servir à spécifier les options de la nouvelle fenêtre MDI (voir OpenWindow()). Les constantes #PB_Window_BorderLess, #PB_Window_ScreenCentered et #PB_Window_WindowCentered ne sont pas supportées par les fenêtre MDI.
Que faut-il corriger ?
Il y a ça dans l'aide :De plus, il est nullement dit comment fermer une fenêtre du Gadget MDI, bien sûr la commande est CloseWindow mais ça aurait pu être autre chose, en tout cas ce n'est pas spécifié. Surtout que CloseWindow est une commande Window se situant dans une autre rubrique.
Quand la commande AddGadgetItem() est utilisée avec ce gadget, l'élément créé est en fait une nouvelle fenêtre. Ainsi, toutes les commandes de la bibliothèque 'Fenêtre' sont disponibles pour gérer cette nouvelle fenêtre (sauf StickyWindow()).
Alors pour commencer je vais mettre le nom de la biliothèque 'Window' avec un lien. Et dites moi clairement ce qu'il faudrait ajouter.
Dans l'aide anglaise c'est WindowNumber = EventWindow()Sinon je trouve la description de cette commande incomplète:
Fenetre
Je vois ça, je me suis dit qu'il retourne un Handle alors que c'est un Id.
Alors je vais mettre NumeroFenetre = EventWindow()
Ben quand tu vois des trucs pas clair comme ça ,n'hésite pas à les lister ici.D'une manière générale, j'ai toujours été ennuyé avec les id de Pure, une fois c'est l'Id qu'il faut prendre pour une commande et pour d'autre faut le Handle.
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.
Ben ceux que tu trouves incompletsnico a écrit :Les exemples fournis dans la doc sont vraiment incomplets, je veux bien t'aider à en faire si tu penses que c'est mieux, dis moi lesquels je dois reprendre.

Pour l'instant je n'en ai pas créé , enfin seulement pour le FillArea, sinon c'est les exemples de la doc anglaise.
Si tu trouves qu'il en manque ou qu'ils sont incomplets, propose quelque chose. Dans l'aide l'exemple doit être court et le plus simple possible.
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.
J'ai surement survolé l'aide mais il y a les habitudes aussi, en général un identifiant dans l'aide à un # qui le repère.
- AddGadgetItem(): Crée une nouvelle fenêtre fille.
- ClearGadgetItemList(): Ferme toutes les fenêtres filles.
- GetGadgetState(): Renvoie l'identifiant de la fenêtre fille active.
- SetGadgetState(): Change la fenêtre fille active ou ré-arrange la disposition des fenêtres filles (voir GetGadgetState()).
- SetGadgetAttribute(): Avec une des constantes suivantes:
Ce serait bien de mentionner la commande ici
Pour ce qui est de Position, c'est vrai que c'est expliqué mais le terme ne correspond pas, c'est un identifiant.
Oui c'est bienAlors je vais mettre NumeroFenetre = EventWindow()
- CountGadgetItems(): Renvoie le nombre de fenêtres fille.Alors pour commencer je vais mettre le nom de la biliothèque 'Window' avec un lien. Et dites moi clairement ce qu'il faudrait ajouter.
- AddGadgetItem(): Crée une nouvelle fenêtre fille.
- ClearGadgetItemList(): Ferme toutes les fenêtres filles.
- GetGadgetState(): Renvoie l'identifiant de la fenêtre fille active.
- SetGadgetState(): Change la fenêtre fille active ou ré-arrange la disposition des fenêtres filles (voir GetGadgetState()).
- SetGadgetAttribute(): Avec une des constantes suivantes:
Ce serait bien de mentionner la commande ici
Pour ce qui est de Position, c'est vrai que c'est expliqué mais le terme ne correspond pas, c'est un identifiant.