StringGadget avec #PB_String_Numeric

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
Gratteur
Messages : 147
Inscription : ven. 22/avr./2005 23:02

StringGadget avec #PB_String_Numeric

Message 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 ?
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Re: StringGadget avec #PB_String_Numeric

Message 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
Guimauve
Messages : 1015
Inscription : mer. 11/févr./2004 0:32
Localisation : Québec, Canada

Message 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
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

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

Message par nico »

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

Message 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...
Image
Répondre