begin process at 2010 09 04 13:53:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Foxpro

 > 

Divers

 > 

Général

 > 

textbox numérique


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

textbox numérique

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ée 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 problème avec "NUMLOCK = .T." en entrée de textbox sous VFP9 [ par JAIMES ] Bonjour, Je suis amateur, et je tente de migrer depuis DOS vers VPF9. Sous VFP9, - le 'FORM' étant créé normalement - j'ai un problème à l'entrée da


Nos sponsors


Sondage...

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales