Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : textbox numérique [ Divers / Général ] (jee0404)

lundi 19 février 2007 à 20:56:29 | textbox numérique

jee0404

bonjour,

 J,ai un problème avec un textbox numérique. C'est pour la rentré de chiffre dans un textbox. Le problème c'est que je met l'inputmask a '99,999.99' et quand je le fait partir ,il m'affiche '0.00' dans le textbox parce que ma variable qui est dans le textbox est initialisé a 0. Quand j'entre 25 dans le textbox exemple " 25 0.00" et je fait enter , le contenu de la virable apres est de "25" , c'est qui est parfais, mais quand j'utilise une autre touche pour sortie et l'entregistrer comme pgdw ou pgup , la quand j'entre 25 ex : "25 0.00" la il me sort 250 ! ,comment faire pour que le textbox réagisse de la même façon que quand on pése sur ENTER, j'ai essayer de le sélectionner au complet ,mais je peut pas faire ca .  Pouvez-vous m,aider ? 

PS je vous envoye le code de mon textbox 

DEFINE CLASS

CLSTXTBOX AS TEXTBOX

TOP

= (35*CSTM)

LEFT = (216*CSTM)

WIDTH = (55*CSTM)

HEIGHT = (18*CSTM)

VALUE = 0

ControlSource = CODE2

RightToLeft = .F.

InputMask = '99,99.99'

 

PROCEDURE KEYPRESS

LPARAMETERS

NKEYCODE, NSHIFTALTCTRL

*!* NODEFAULT

IF NKEYCODE = 13 && .or. NKEYCODE = 3 .OR. NKEYCODE = 18

CLEAR events

STORE this

.VALUE TO CODE2

ENDIF

if

NKEYCODE = 27

CLEAR EVENTS

ENDIF

IF

NKEYCODE = 3 .OR. NKEYCODE = 18

CLEAR EVENTS

STORE THIS

.Value TO CODE2

ENDIF

ENDPROC

PROCEDURE LostFocus

STORE this

.VALUE TO CODE2

MESSAGEBOX("PERDU LE FOCUS")

MESSAGEBOX(CODE2)

ENDPROC

ENDDEFINE

                                                                                                                 Merci d'avance
  

 


jeudi 22 février 2007 à 12:31:59 | Re : textbox numérique

Mike Gagnon

Membre Club
Réponse acceptée !
Voici un classe que j'utilise, roule ce qui suit dans un prg

o = CREATEOBJECT("form")
o.addobject("txtnumber2","txtnumber2")
o.txtnumber2.visible = .t.
o.show(1)
DEFINE CLASS txtnumber2 AS textbox
    Alignment = 3
    Value = 0
    InputMask = "9,999,999.99"
    SelectOnEntry = .T.
    Name = "txtnumber2"
    csofar = .F.
    ndecimal = .F.


    PROCEDURE setvalue
        THIS.Value = VAL(THIS.cSoFar)
        THIS.Refresh()
    ENDPROC


    PROCEDURE inputmask_assign
        LPARAMETERS vNewVal
        wait window "m.vNewVal" +m.vNewVal
        wait window "this.inputmask" + this.inputmask
        THIS.InputMask = m.vNewVal
        THIS.SetValue()
    ENDPROC


    PROCEDURE setdecimal
    ENDPROC


    PROCEDURE LostFocus
        rele llsd,lld
        set decimals to
    ENDPROC


    PROCEDURE KeyPress
        Lparameters nKeyCode, nShiftAltCtrl

        Do case
        Case (nKeyCode=46 or (nKeyCode>=48 and nKeyCode<=57)) and len(this.cSoFar)< llsd + 1
            Nodefault
            This.cSoFar=this.cSoFar+chr(nKeyCode)
            This.setvalue
        If len(this.csofar)=llsd
            ?? chr(7)
        Endi
        Case nKeyCode=46 and len(this.cSoFar)= llsd
            Nodefault
            This.cSoFar=this.cSoFar+chr(nKeyCode)
            This.setvalue
        Case nKeyCode>=48 and nKeyCode<=57 and len(this.cSoFar)<lld and len(this.cSoFar)>llsd
            Nodefault
            This.cSoFar=this.cSoFar+chr(nKeyCode)
            This.setvalue
            If len(this.cSoFar)=lld
                ?? chr(7)
            Endi
        Case nKeyCode=127 and len(this.cSoFar)#1
            Nodefault
            This.cSoFar=substr(this.cSoFar,1,(len(this.cSoFar)-1))
            This.setvalue
        Case nKeyCode=7
                Nodefault
            This.cSoFar="0"
            This.setvalue
        Case len(this.cSoFar)=lld
            nodefault
            ?? chr(7)
        Case nKeyCode = 43
            Nodefault
            If LEFT(THIS.cSoFar,1) = "-"
                This.cSoFar = SUBSTR(THIS.cSoFar,2)
                This.SetValue()
            Endif
        Case nKeyCode = 45
        * - key
            Nodefault
            If LEFT(THIS.cSoFar,1) <> "-"
                This.cSoFar = "-" + THIS.cSoFar
                This.SetValue()
            Endif
        Case nKeyCode=9 or nKeyCode=15 or nKeyCode=13 or nKeyCode=24 or nKeyCode=5

        Otherwise
            Nodefault
        Endc
    ENDPROC


    PROCEDURE GotFocus
        DoDefault()
        public llsd,lld
        This.csofar="0"


        cnt=1
        lcommas=0
        do while cnt<len(this.inputmask)
        if subs(this.inputmask,cnt,1)=","
        lcommas=lcommas+1
        endi
        cnt=cnt+1
        endd
        if lcommas=2
        llsd=rat(".",this.inputmask)-2
        lld=len(this.inputmask)-1
        endi
        if lcommas=1
        llsd=rat(".",this.inputmask)-1
        lld=len(this.inputmask)
        endi
        if lcommas=0
        llsd=rat(".",this.inputmask)
        lld=len(this.inputmask)+1
        endi


        ldec=len(this.inputmask)-rat(".",this.inputmask)
        set decimals to ldec

    ENDPROC


ENDDEFINE

Mike Gagnon

jeudi 22 février 2007 à 15:22:19 | Re : textbox numérique

jee0404

Merci c'est une bonne idee , une bonne alternative

 




Cette discussion est classé dans : textbox, numérique, value, nkeycode, cstm


Répondre à ce message

Sujets en rapport avec ce message

textbox numérique [ par tmcuh ] Bonjour je suis débutant en fox et j'aurais aimé connaitre la technique pour rendre une textbox uniquement numérique et si possible pour une autre en textbox entré de donné [ par jee0404 ] bonjour,              J,ai une problème encore avec le textbox , je voudrais savoir si on peut evité de prendre le focus quand on entre le derniere ch problème automation excel [ par gregorian ] Bonjour à tous, J'ai un petit problème de mise en page excel.Dans un application, je récupère des données dans un curseur qui doit alors ouvrir un fic affichage de données et tri [ par zouheir_ali ] Bonjour à tous,je travaille avec vfp9 et sqlserver.dans une form j'ai des zones et une grille qui sont reliés par le même curseurje crée un curseur av TEXTBOX, completer par des zéros [ par asmahane24 ] Bonjour;Je developpe ma premiere application avec VFP9 et je trouve un peu de difficulter pour realiser le point suivant:Dans ma form j'ai ajouté un t probleme avec le curseur dans textbox [ par mono19 ] je suis amateur, et j'ai développé une solution sous foxpro 9, et depuis quelques temps j'ai un problème dans un formulaire qui contient des textboxs, test sur un textBox [ par slimvir ] bonjour,j'aimerai bien tester le champ dans un text box si c'est un entier je passe sinon j'affiche un message.je n'ai pas trouver comment faire le co modification d'une table [ par slimvir ] bonjour, j'utilise ce code pour modifier une ligne d'une table mais cette ligne ne se modifier mais elle s'ajoute ?? merciSELECT table1replace Codcli Probleme avec ma textbox [ par bouny62 ] Bonsoir, j'ai installer une textbox,tout va bien mais quand je veux poster un message,il me dit Désolé ce module n'existe pas ou l'adresse que vous a


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,468 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.