Page 1 sur 1

StringGadget avec #PB_String_Numeric

Publié : lun. 30/janv./2006 21:47
par Gratteur
Lorsque l'on utilise le paramètre #PB_String_Numeric d'un StringGadget, on ne peut pas rentrer un "." pourtant nécessaire pour entrer un nombre flotant, ce qui est d'autant plus bête que l'on peut très bien initialiser le string du gadget avec un tel nombre.

Pourquoi ne pas ajouter une option #PB_String_Numeric_Float pour palier à ce manque ?

Re: StringGadget avec #PB_String_Numeric

Publié : mar. 31/janv./2006 9:18
par Dr. Dri
Gratteur a écrit :on peut très bien initialiser le string du gadget avec un tel nombre.
Et même avec "hello"...

Pour le Flag je verrais plus simple, #PB_String_Digit a la place de l'actuel #PB_String_Numeric et #PB_String_Numeric pour les nombres réels
avec prise en charge au moins sous windows du format des nombres réels

(panneau de configurations -> parametres régionaux -> nombre)

Dri

Publié : mer. 01/févr./2006 5:19
par Guimauve
J'avais envoyer un message à Fred à ce sujet et il m'a dit que l'API Windows utilisé par la commandes StringGadget() ne pouvait prendre en charge les nombres flottants.

Donc il faut faire soi-même une commande pour vérifier si la chaine entrée est bien un nombre flottant ou non. Du genre IsStringReal() ou IsStringFloat32() et l'appeller comme suit dans le programme

Code : Tout sélectionner

 If IsStringFloat32(GetGadgetText(#StringGadget)) = #True
   Nombre.f = ValF(GetGadgetText(#StringGadget))
EndIf


A+
Guimauve

Publié : mer. 01/févr./2006 15:37
par Flype
Oui, il y a une autre solution un peu moins catholique :
Changer le Callback de traitement interne du StringGadget(), et l'adapter à son goût.
A réserver à windows évidemment.

Sinon, j'en parlais justement l'été dernier à Fred sur le forum anglais:
http://forums.purebasic.com/english/vie ... tringfloat
Ou encore ici ( toujours en anglais ) :
http://forums.purebasic.com/english/vie ... tringfloat
http://forums.purebasic.com/english/vie ... tringfloat

Bref, c'est une demande voulue par pas mal de monde et qui me parait importante étant donnée la difficulté (relative mais bon) de gérer çà soi-même.

Publié : mer. 01/févr./2006 17:47
par nico

Publié : mer. 01/févr./2006 19:28
par Flype
Yes, je l'avais déjà mis de coté celui là ;-)

C'est pas mal du tout d'ailleurs, deux problèmes à résoudre encore :
Le copier-coller n'est pas filtrer,
le choix du '.' ou ',' en fonction du pays.

Je crois avoir vu un flag spécial dans l'API qui désactive le copier-coller dans un stringgadget. Je vais chercher un peu...