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

Langage Delphi Discussion :

incrémentation ,décrémentation


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 80
    Par défaut incrémentation ,décrémentation
    Voila un bout de programme qui ouvre et ferme 2 vannes sur actions de la souris suivant le même princique qu'une action maintenue sur un bouton;
    Je n'obtiens pas le même résultat en ouverture qu'en fermeture
    Le Down et Up en fermeture donne le bon résulat càd ajoute et soustrait la valeur"cde" en byte.
    Alors que pour l'ouverture, le système ne fait que ajouter dans les 2 cas.
    Je ne comprend pas car le code est rigoureusement sur le même principe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    procedure TForm4.Btfer_vanne_atelMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
    cde:=cde-16;
    PortOut ($378,cde);
    Btfer_vanne_atel.Caption:='Fermeture vanne';
    Affcde.caption:=Inttostr(cde);
    end;
     
    procedure TForm4.Btfer_vanne_atelMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
    cde:=cde+16;
    PortOut ($378,cde);
    Btfer_vanne_atel.Caption:='Fermeture  en cours';
     Affcde.caption:=Inttostr(cde);
    end;
     
    procedure TForm4.Btouv_vanne_atelMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin      {correspond à l'arrêt de l'ouverture lors du relachement de la souris}
     cde:=cde-32;
    PortOut ($378,cde);
    Btouv_vanne_atel.Caption:='Ouverture vanne';
     Affcde.caption:=Inttostr(cde);
    end;
     
    procedure TForm4.Btouv_vanne_atelMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin       {ouverture tant que la souris est appuyée}
     cde:=cde+32;
    PortOut ($378,cde);
    Btouv_vanne_atel.Caption:='Ouverture  en cours';
    Affcde.caption:=Inttostr(cde);
    end;
    D'autre part, je voudrais réprésenter les positions de cette vanne avec un progressbar.
    J'ai regardé partout sur la faQ et les forums, pour je ne trouve pas mon bonheur (trop compliqué ) Je cherche plutôt n bon tutoriel qui décrit de A à Z
    Ou est-il ?
    Un progressbar peut bien avancer et recule ?

    Merci d'avance

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 41
    Par défaut
    Pas tout compris a ton probleme, mais pour la progress bar, il suffit de jouer avec la propriete position.

  3. #3
    Membre expérimenté
    Profil pro
    ----
    Inscrit en
    Mai 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ----

    Informations forums :
    Inscription : Mai 2004
    Messages : 185
    Par défaut
    Un truc... verifie que l'affectation des evenement et correcte, soit en vérifiant comment tu a noté les evenement, soit en placant deux breack point

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 80
    Par défaut
    Les procédures mouseUp et mousseDown sont générées directement par l'inspecteur d'objet de Delphi 2005 en cliquant sur l'évenement en question
    (même méthode pour les 4 procédures)
    Je ne vois pas pourquoi sur les 2 premières procédures (ferm) toutes les instructions son effectuées alors que sur les 2 dernières (ouv) les instructions relatives au Up ne s'exécutent pas

    Que signifie placer 2 break points ? : Est-ce l'instruction break?

  5. #5
    Membre habitué
    Inscrit en
    Novembre 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 13
    Par défaut
    vérifie dans l'inspecteur d'objet que tu as bien affecté tes procédures.

    Pour le "break" : c'est un point d'arret quand tu executes en debug. En D5, on les positionne en cliquant dans la goutiere (la colonne grise à gauche du code)

  6. #6
    Membre expérimenté
    Profil pro
    ----
    Inscrit en
    Mai 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ----

    Informations forums :
    Inscription : Mai 2004
    Messages : 185
    Par défaut
    Citation Envoyé par BECHE
    Que signifie placer 2 break points ? : Est-ce l'instruction break?
    Ah houais ... je comprend que ce ne soit pas évident de trouver la solution si tu n'a pas encore utilisé les Breack Point.
    Quand tu possitionne un Breack Point, l'execution s'arrète et te laisse la possibilité d'exécuté pas à pas ton code ainsi que visualiser le contenue des variables. Dans ton cas, celà devrait te permettre de savoir ou va le flot d'execution de ton programme, histoire de vérifier que les bonnes fonctions sont bien apellé

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 80
    Par défaut
    En réalité, la cause de ce "disfonctionnement " était une ereur de ma part
    J'avais laissé par erreur les évenements onclick alors que j'utilisais le poussedown et mouseup, Du coup, tout ce cumulait

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Incrémentation / Décrémentation
    Par zeratec dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 21/02/2015, 19h04
  2. Réponses: 3
    Dernier message: 13/12/2011, 10h44
  3. [AC-2003] Décrémentation multiple suivi d'une incrémentation simple
    Par Invité dans le forum Access
    Réponses: 4
    Dernier message: 05/08/2010, 14h30
  4. Incrémentation / Décrémentation champs text
    Par magicpetro dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 03/03/2009, 16h20
  5. Réponses: 13
    Dernier message: 19/08/2008, 17h41

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