IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

4D Discussion :

Stocker une donnée en memoire et operation


Sujet :

4D

  1. #1
    Membre du Club
    Profil pro
    Import/Export des solutions
    Inscrit en
    Janvier 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Import/Export des solutions

    Informations forums :
    Inscription : Janvier 2005
    Messages : 39
    Points : 41
    Points
    41
    Par défaut Stocker une donnée en memoire et operation
    Bonjour a tous,
    Dans mon premier topic,je cherchais à afficher les données d'un bouton dans une zone de texte(resolu)
    probleme:
    je fais une calculatrice avec 4d 2004.
    j'affiches tous les chiffre (sur bouton de 0 à 9)
    je veux maintenant gerer les boutons des operateurs.(+; -;/:= et la virgule)
    de sorte que ma variable Vaffiche garde en memoire le premier nombre dès qu'on clique sur un opérateur.
    Ainsi nous pourion faire 1+2 et obtenir 3 (si tout marche).
    sur evenement formulaire sur affichage corps j'ai defini
    voperateur:=""
    vresultat:=vaffiche (vaffiche est ma zone de texte)
    je m'embrouille a savoir ou mettre les methodes au cas ou: voperateur :="+"...
    etc...
    merci de m'aider

  2. #2
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 67
    Points : 80
    Points
    80
    Par défaut
    D'abord, je trouve cela bizarre la manière d'utiliser l'evenement formulaire sur affichage corps

    pour les les methodes au cas ou: voperateur :="+"... à première vue je l'ai les mettrai dans les méthodes objet de chaque bouton

  3. #3
    Membre du Club
    Profil pro
    Import/Export des solutions
    Inscrit en
    Janvier 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Import/Export des solutions

    Informations forums :
    Inscription : Janvier 2005
    Messages : 39
    Points : 41
    Points
    41
    Par défaut suite
    j'ai mit finalement dans chaque botoun!
    j'ai fait une methode calcul:
    Si (vOperateur#"")
    Au cas ou
    : (vOperateur="+")
    vaffiche:=Chaine(Num(vaffiche)+$1))
    : (vOperateur="-")
    vaffiche:=Chaine(Num(vaffiche)-$1)
    : (vOperateur="*")
    vaffiche:=Chaine(Num(vaffiche)*$1)
    : (vOperateur="/")
    vaffiche:=Chaine(Num(vaffiche)/$1)
    Fin de cas
    vOperateur:=""
    Sinon
    vaffiche:=vaffiche+Chaine($1)
    Fin de si

    que j'aple derriere chacun btn (calcul($1);calcul-$2)etc...
    mais bon ça me parait logik mais sa ne marche pas encore.

  4. #4
    Membre du Club
    Profil pro
    Import/Export des solutions
    Inscrit en
    Janvier 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Import/Export des solutions

    Informations forums :
    Inscription : Janvier 2005
    Messages : 39
    Points : 41
    Points
    41
    Par défaut Gestion d'un bouton
    bonjour a tous!
    ma calculatrice marge avec la methode calcul:
    Si (vOperateur#"")
    Au cas ou
    : (vOperateur="+")
    vaffiche:=Chaine(Num(vaffiche)+$1))
    : (vOperateur="-")
    vaffiche:=Chaine(Num(vaffiche)-$1)
    : (vOperateur="*")
    vaffiche:=Chaine(Num(vaffiche)*$1)
    : (vOperateur="/")
    vaffiche:=Chaine(Num(vaffiche)/$1)
    Fin de cas
    vOperateur:=""
    Sinon
    vaffiche:=vaffiche+Chaine($1)
    Fin de si


    Les resultats son bon des que je clique sur le dernier nombre car derriere chaque bouton j'ai mit: calcul(1);calcul(2) etc...
    et voperateur:="operateur" pour les operateur.
    mais j'aimerai gerer le bouton egal et la virgule ainsi que la dividente zéro.
    et je ne parviens pas merci!

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Février 2006
    Messages : 74
    Points : 84
    Points
    84
    Par défaut
    Désolé de faire le rabat-joie, mais je pense que tu prends le problème complètement à l'envers !

    Pour un développement de ce genre, très procédurier, je te conseille de commencer par faire... un schéma.
    Et tu vas vite voir que le processus de fonctionnement d'une calculette n'est pas si évident que ça !

    Donc trace d'abord la suite des opérations dans un diagramme de flux (avec juste les opérations et les tests) en séparant l'action de ce qu'on voit sur l'écran.
    Avec des trucs comme ça :
    - Allumage -> 0 (ou dernier résultat)
    - Taper un chiffre -> chiffres tapés
    - Taper une opération -> chiffres tapés + opération
    - Taper un chiffre après un opération -> nouveaux chiffres tapés + opération en cours
    - Taper = -> résultat

    A partir de ça, tu vas voir que la suite d'opérations se divise en deux : le calcul proprement dit, et l'affichage écran.
    Il faudra gérer au moins trois variables : une pour le nombre en cours de frappe, une pour le précédent résultat et enfin une pour l'opération en cours (plus éventuellement les mémoires).
    Taper sur = revient alors à réaliser l'opération en cours entre le dernier résultat et le nombre en cours, et cela produit un nouveau résultat effaçant le précédent.

    C'est là que ça se complique un peu : que faire de l'opération, doit-elle rester en vol tant qu'aucune autre ne vient la changer ou doit-elle être effacée ?
    On remarque que les deux comportements peuvent se rencontrer sur des calculettes différentes : ex. tu allumes, tu tapes 1, puis +, puis 2, puis = (3 est affiché), puis 4, puis =.
    Il peut se passer deux choses : affichage de 4 (4=4) ou affichage de 7 (3+4, le dernier total est utilisé avec la dernière opération).

    Et pour finir, il faut gérer les incongruïtés : le mec qui tape plusieurs fois de suite sur une touche opération, il faut déterminer le nombre maxi de chiffres acceptés et gérer le dépassement du résultat etc.

    Pas si simple !
    Pour une première approche de 4D, si c'est le cas, je n'aurais pas choisis une calculette, mais plutot un carnet d'adresse, une CDthèque, une base de données quoi...

Discussions similaires

  1. [Toutes versions] Stocker une donnée
    Par Gado2600 dans le forum VBA PowerPoint
    Réponses: 2
    Dernier message: 19/05/2014, 08h31
  2. Stocker une donnée d'une requête
    Par Ryuk- dans le forum Développement de jobs
    Réponses: 31
    Dernier message: 21/05/2012, 14h59
  3. stocker une donnée cryptée dans un xml ?
    Par altahir007 dans le forum VB.NET
    Réponses: 6
    Dernier message: 07/10/2011, 23h12
  4. [AC-2003] Stocker une donnée statique dans un Bouton
    Par sigap dans le forum IHM
    Réponses: 2
    Dernier message: 23/06/2009, 10h18
  5. Réponses: 2
    Dernier message: 05/02/2007, 11h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo