Page 34 sur 42
Publié : jeu. 08/févr./2007 22:54
par comtois
Voila c'est fait, et dispo (voir ma signature pour télécharger).
Pour ceux qui n'ont pas l'ADSL c'est pas la peine de vous précipiter sur ce fichier, il n' y a que les bricoles mentionnées plus haut de nouveau (plus une note sur LoadFont()), et j'ai mis la liste des constantes à jour.
Publié : mer. 21/mars/2007 9:31
par Flype
salut comtois,
semble qu'il y ai un p'tit probleme - mais je pense que çà vient de chez lui (en bas du post) :
http://www.purebasic.fr/french/viewtopic.php?t=6404
Publié : mer. 21/mars/2007 19:17
par Dr. Dri
Dans l'aide on peut voir des choses comme "nombres flottants"
Je pense que "nombre réel" ou à la rigueur "nombre à virgule flottante" aurait plus de sens
Dri
Publié : mer. 21/mars/2007 23:07
par RegisLG
Dr. Dri a écrit :Dans l'aide on peut voir des choses comme "nombres flottants"
Je pense que "nombre réel" ou à la rigueur "nombre à virgule flottante" aurait plus de sens
En fait le terme "les réels"
désigne un ensemble de nombres
en mathématique.
L'
informatique permet de
représenter de manière exacte ou approchée (selon les nombres) les réels, on parle alors de représentation à virgule flottante ou de nombre flottant. (plus d'infos :
ici)
Plusieurs docs de langages utilisent le terme "les flottants", le terme "les nombres à virgule flottante" est "plus parlant" dans la mesure ou il explicite la représentation.
Alors soit on choisit le terme généralement admis "les flottants" qui a pour inconvénient d'être un peu "déroutant" pour celui qui le lit pour la première fois. Soit on choisit, le terme plus explicite, qui a pour inconvénient de devoir écrire des "phrases à rallonge" lors de la traduction

.
Cela dit, c'est vrai que ça ne serait pas plus mal d'utiliser le même terme partout dans la doc (mea culpa, le cas échéant).
Publié : jeu. 22/mars/2007 7:11
par comtois
ça me rappelle une discussion en privé avec RegisLG
J'avais suggéré ceci (parce que je l'avais lu dans un livre d'info) :
On pourrait s'en tenir à parler de réel simple précision à virgule flottante pour le type float , et de réel double précision à virgule flottante pour le type double, ou en plus court : 'réel simple précision' et 'réel double précision'.
Dans ce même livre, je peux lire aussi 'valeur à virgule flottante'.
Finalement nombre flottant c'est pas si mal, c'est un bon compromis.
Publié : lun. 26/mars/2007 20:01
par comtois
Slide m'a fait la remarque :
UsePNGImageDecoder()
Active le support du format PNG (Portable Network Graphic) pour les commandes CatchImage(), LoadImage(), CatchSprite() et LoadSprite(). Toutes les variantes du PNG sont supportés, y compris la forme progressive. Le format PNG utilise un algorithme de compression non-destructif, ce qui veut dire que l'intégralité de l'information est conservée. C'est actuellement le meilleur format pour stocker des images sans perte d'information. Si une couche alpha (alphachannel) est présente dans l'image, elle ne sera pas prise en compte.
En fait, avec DrawAlphaImage() la phrase soulignée n'a plus lieu d'être. Je ferai la correction. Par contre j'ai un doute pour
UsePNGImageEncoder()
J'ai fait un essai rapidement et je n'ai pas l'impression que la couche alpha soit sauvegardée avec l'image ? quelqu'un a déjà fait des essais ?
[EDIT]
Ok j'ai la réponse, ça ne fonctionne pas et Fred fera quelque chose, y'a plus qu'à attendre

Publié : mer. 18/avr./2007 20:26
par Jacobus
Hello Comtois, je suppose que tu t'occupes toujours de la doc et je tenais à signaler un petit manque au sujet du
ButtonGadget() et l'option
#PB_Button_Toggle
Il n'y a pas d'exemple ou de commande signalée pour la récupération de l'état enfoncé ou non et il me semble utile de le mentionner, beaucoup de débutants pourraient ne pas trouver comment faire alors que c'est simple et très pratique.
Exemple :
création du bouton dans la fenêtre:
Code : Tout sélectionner
ButtonGadget(#Btn_stick, 235, 330, 110, 20, "Premier plan",#PB_Button_Toggle)
gestion dans la boucle d'évènements:
Code : Tout sélectionner
Case #Btn_stick
Resultat = GetGadgetState(#Btn_stick) ; récupère l'état du bouton
If Resultat = 1 ; si bouton enfoncé
SetGadgetText(#Btn_stick,"Second plan"); modif du texte bouton
StickyWindow(#Window, 1) ;premier plan
Else ;sinon bouton relevé
SetGadgetText(#Btn_stick,"Premier plan") ; modif du texte bouton
StickyWindow(#Window, 0) ;second plan
EndIf
Voilà, tu trouveras sûrement une meilleure façon de le dire mais c'est ce qu'il m'a manqué. @+

Publié : jeu. 19/avr./2007 8:03
par comtois
Effectivement ButtonGadget() n'apparait pas dans la liste des gadgets gérés par GetGadgetState().
Est-ce un oubli ou est-ce qu'il y a une raison particulière pour ne pas le mettre ?
Faudrait que Fred réponde sur ce point, à chaque fois que j'ai pensé qu'il y avait un oubli , en fait Fred répondait que c'était de la chance si ça fonctionnait ainsi.
Si c'est un oubli , il faut aussi préciser pour quels OS c'est valable.
Il y a un nouveau tableau à tenir à jour.
Publié : jeu. 19/avr./2007 11:15
par Jacobus
en fait Fred répondait que c'était de la chance si ça fonctionnait ainsi

génial! PB le langage qui fonctionne au coup de bol
Publié : jeu. 19/avr./2007 12:34
par comtois
Jacobus a écrit :en fait Fred répondait que c'était de la chance si ça fonctionnait ainsi

génial! PB le langage qui fonctionne au coup de bol
Je me suis sans doute mal exprimé
Disons que je me souviens que SetGadgetText() fonctionnait avec un gadget qui n'était pas répertorié dans la doc et Fred m'avait répondu que ce n'était pas implémenté, et si ça fonctionnait c'était de la chance ou un pur hasard si tu préfères
Autrement dit, si ce n'est pas dans la doc, c'est peut-être un oubli , mais il y a plus de chances pour que ça ne soit pas implémenté. Comme l'
exemplede Flype avec la ProgressBar dans une StatusBar, ça fonctionne, mais pas documenté, parce que c'est spécifique à Windows (tout est fenêtre il suffit de traiter la statusbar comme une fenêtre).
Il faut attendre une réponse de Fred, à moins que quelqu'un pose la question sur le forum anglais pour obtenir une réponse plus rapidement ?
Publié : jeu. 19/avr./2007 13:00
par Jacobus
Non non, je t'avais bien compris... je plaisantais c'est tout

Publié : sam. 05/mai/2007 14:48
par comtois
ça alors, on en apprend tous les jours, en parcourant rapidement le guide de RegisLG , je suis tombé sur un exemple avec
Define$ adresse
, et je ne savais pas qu'on pouvait faire ça !!
Alors j'ai testé ,et effectivement , ça fonctionne.
Code : Tout sélectionner
Define$ truc, machin
Truc = "salut"
machin = UCase(truc)
Debug truc
Debug machin
Par contre le commentaire dans le guide est faux, il n'est pas nécessaire de conserver le $ avec la variable.
Publié : lun. 07/mai/2007 16:46
par Dr. Dri
je dirais même plus qu'il ne faut pas l'ajouter
Code : Tout sélectionner
Define$ truc, machin
Truc = "salut"
machin = UCase(truc)
Debug truc$
Debug machin$
Dri

Publié : mar. 08/mai/2007 2:56
par RegisLG
J'ai corrigé la page en question, mais ne serait-ce pas un bug de Define ? Car du coup, Define.s toto est strictement la même chose que Define$ toto alors que quand on déclare : toto.s ="test" et toto$="test2" ce sont bien 2 variables distinctes.
Publié : mar. 08/mai/2007 10:57
par Backup
RegisLG a écrit :alors que quand on déclare : toto.s ="test" et toto$="test2" ce sont bien 2 variables distinctes.
a mon avis le bug est plutot la !!
puisque a.s ou a$ devrai etre considéré comme la meme variable !!
(Normalement), puisque dans les deux cas on declare une variable avec comme nom "a" et comme type "Chaine" !!
le fait que Purebasic considere ces deux variables comme differente, est une erreur a mon sens !
