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

Archive.
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

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 ).
Dernière modification par Flype le mer. 14/juin/2006 19:30, modifié 2 fois.
Image
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

Ca c'est une idée! Une version imprimable de l'aide!

Dri +1 :D
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

au fait,
où puis-je télécharger les sources de la doc, déjà ?
Image
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Flype a écrit :au fait,
où puis-je télécharger les sources de la doc, déjà ?
Il y a un accès anonyme pour le cvs public (lecture seule). Pour l'accès en anonymous:

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.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

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 ?
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.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Je viens de voir un complément d'info possible pour les pointeurs
Freak 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$".
Vu ici

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.
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

Ce serait pas mal qu'une fois la doc fr terminée, que quelqu'un traduise la doc en PDF
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ême :?
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.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Ajout de l'aide d'une fonction OnErrorExit(), en anglais :
@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.
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

Message par Dräc »

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.
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
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

oui j'ai hésité aussi :)
Ok je prends tes remarques en compte.


Sinon pour info , il y a une petite correction pour
MovieAudio()
Balance peut avoir une amplitude de -100 à 100 (-100 étant le plus à gauche et 100 le plus à droite).
Et je suis en train de regarder les autres corrections.
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.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

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.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

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.

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

Message par comtois »

nico 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é.
Je suis le moins qualifié pour parler de cette bibliothèque, je ne peux faire que le secrétaire pour les corrections que vous proposerez :)

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 ?
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.
Il y a ça dans l'aide :

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.
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.
Dans l'aide anglaise c'est WindowNumber = EventWindow()
Alors je vais mettre NumeroFenetre = EventWindow()


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.
Ben quand tu vois des trucs pas clair comme ça ,n'hésite pas à les lister ici.
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.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

nico 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. :)
Ben ceux que tu trouves incomplets :)

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.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

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.
Alors je vais mettre NumeroFenetre = EventWindow()
Oui c'est bien

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.
- CountGadgetItems(): Renvoie le nombre de fenêtres fille.
- 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.
Répondre