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

VB 6 et antérieur Discussion :

Peut -on créer des compteurs de voiture ?


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 21
    Points : 10
    Points
    10
    Par défaut Peut -on créer des compteurs de voiture ?
    Bonsoir,

    j'aimerais construire un compteur comme celui d'une voiture, avec une zone rouge, puis une zone jaune et une zone verte. L'objectif serait que quand mes données défilent, l'aiguille se place dans la partie verte si la valeur est bonne, dans le jaune si elle est limite, et dans le rouge si la valeur est pathologique !!

    Ex :
    < 200 on est rouge
    200<x<300 on est jaune
    >300 on est vert.

    Est ce possible de faire une chose pareil ???

    Merci

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    Et auriez vous quelques pistes pour m'aider ??

  3. #3
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 62
    Points : 71
    Points
    71
    Par défaut Sois plus claire, on peut t'aider
    Veux tu que cela s'affiche sous forme d'image sur un cercle en fromage avec une aiguille dessus ou bien tu veux tout simplement que la couleur de la police change en fonction de la valeur? si c'est le premier cas que tu veux, il faut préciser si la position de l'aiguille ne change que pour indiquer qu'on est au vert, orange ou rouge.

    si tel est le cas, tu peux mettre trois différentes images (avec le même fond, seule la position de l'aiguille change) sur ta feuille et les masquer puis ensuite n'afficher que celle qui convient en fonction de la valeur. les images doivent parfaitement se superposer (procède par copie du fond et ajoute l'aiguille; tu peux utiliser paint).

    sinon, tu crées l'image avec les portions vert, orange et rouge, puis tu mets un controle Line dont tu change les coordonées en fonction de la valeur. cet option est plus réaliste mais plus complexe.

    Laquelle des deux te convient?

    De ta réponse dépend la solution.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    en fait j'aurais bien vu un cercle ou fromage comme un cadran avec 3 couleurs comme un compteur et effectivement l'aiguille qui varie celon la valeur dans les 3 zones de couleurs.

  5. #5
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 62
    Points : 71
    Points
    71
    Par défaut ça se complique
    dans ce cas tu dois utiliser des fonctions maths trigonométriques pour déterminer la position de l'aiguille en fonction du rayon et de la valeur.

    pour faire bouger l'aiguille il faut changer les coordonnées X2 et Y2 de Line1 répresentant l'aiguille. les coordonnées X1 et Y1 eux ne changent pas et correspondent au centre de ton cercle.

    Le problème est plus mathématique que Visual-Basical

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 46
    Points : 53
    Points
    53
    Par défaut
    Tu veux un truc comme ça : http://www.wwp-inc.com/features.htm ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par ecappa Voir le message
    Tu veux un truc comme ça : http://www.wwp-inc.com/features.htm ?
    oui tout a fait !
    pour Nganzi, je te mettrais mon début de code tout à l'heure.

  8. #8
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bon elDiablo,

    Tu vas bénéficier de la conjonction de deux choses (que je te cacherais) :


    Un peu de trugo, alors :

    Une Form
    Mets-y une picturebox Picture1 et une scrollbar horizontale hscroll1
    ne te préoccupe pas de savoir où positionner (je m'en occupe dans mon code).

    Code :
    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
    36
    37
    38
    39
    40
    41
    42
    43
     
    Option Explicit
    Private cy As Integer
    Private cx As Integer
    Private ancY As Single
    Private ancx As Single
    Private diametre As Integer
     
     
    Private Sub Form_Activate()
        Me.ScaleMode = vbPixels
        With Picture1
          .ScaleMode = vbPixels
          .AutoRedraw = True
          .BackColor = vbWhite
        End With
        Picture1.Move Me.ScaleWidth / 4, Me.ScaleHeight / 4, Me.ScaleWidth / 4, Me.ScaleWidth / 4
        cx = Picture1.ScaleWidth / 2
        cy = Picture1.ScaleHeight / 2
        diametre = cx * 0.95
        Picture1.Circle (cx, cy), diametre, vbBlue
        HScroll1.Move Picture1.Left, Picture1.Top + Picture1.ScaleHeight, Picture1.ScaleWidth
        HScroll1.Min = 90
        HScroll1.Max = -90
      End Sub
     
     
    Private Sub HScroll1_Change()
      HScroll1_Scroll
    End Sub
     
    Private Sub HScroll1_Scroll()
      Picture1.Cls
      Picture1.DrawWidth = 1
      Picture1.Circle (cx, cy), diametre, vbBlue
      Dim pi As Double, toto As Double
      pi = 4 * Atn(1)
      toto = (-HScroll1.Value / 180) * pi
      ancY = cy + Sin(toto - (0.5 * pi)) * diametre
      ancx = cx + Cos(toto - (0.5 * pi)) * diametre
      Picture1.DrawWidth = 3
      Picture1.Line (cx, cy)-(ancx, ancY)
    End Sub
    Ce code est bâclé mais il te permet de bien voir ce que c'est et comment tu dois t'y prendre.

    Lance et agis sur le curseur de la scrollbar (pour simuler).

    Que dois-tu faire ? Facile : tu mets l'image de compteur que tu veux dans ta picturebox. Le reste est fait par mon code.

    Je te laisse maintenant le soin de faire des calculs arithmétiques de 1er niveau, hein, pour l'ajustement des valeurs en fonction des tiennes.

    Bon Week-end .

  9. #9
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 62
    Points : 71
    Points
    71
    Par défaut
    super ucfoutu, c'est exactement comme ça que j'avais vu ça, mais la trigo....

    voici un exemple de projet tout fait ici. dezippe le sur ta machine possédant vb6 et essaie le pour comprendre.

    tout y est, l'interessé est il satisfait? sinon où est la difficulté?

  10. #10
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Un petit zip pour toi, ElDiablo,

    Tu y retrouveras l'image que tu aimes tant ...

    Je te laisse le soin (le fichier jpg est là pour celà) d'utiliser l'outil de ton choix pour effacer l'aiguille immobile qui s'y trouve (la mienne s'y substitue)

    Amuse-toi bien
    Fichiers attachés Fichiers attachés

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    cette application est utilisable sous excel 2003 ?

  12. #12
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Citation Envoyé par HUGS69 Voir le message
    cette application est utilisable sous excel 2003 ?
    Bonsoir,

    Non .
    En tout état de cause pas telle qu'elle est écrite puisqu'elle utilise un contrôle doté d'un hdc (contexte de dispositif) dont ne dispose pas VBA/Excel et des méthodes (circle par exemple) totalement inconnues de VBA.

    Il y a bien une possibilité d'arriver sous VBA à palier (à l'aide de fonctions de l'API de Windows) l'absence tant la disponibilité directe d'un hdc que l'absence de méthodes de dessin. Tu pourrais alors dessiner ainsi sur un UserForm, mais tu n'assureras pas la persistance de ton dessin ... (sauf à te lancer dans du très très très complexe, toujours avec des fonctions de l'Api de Windows)...

    PS : je voudrais te rappeler que la vocation d'Excel (tableur) n'est pas celle de dessiner ....

Discussions similaires

  1. Peut-on créer des applications modulaires ?
    Par JediMaster dans le forum Android
    Réponses: 1
    Dernier message: 18/05/2011, 15h18
  2. [AC-2003] Peut-on créer des reports avec un doc Word
    Par Tinien dans le forum Access
    Réponses: 2
    Dernier message: 29/06/2009, 14h47
  3. Réponses: 7
    Dernier message: 07/04/2009, 17h49
  4. Réponses: 4
    Dernier message: 17/10/2008, 11h25
  5. [JDOM] peut-on créer des page html avec JDom
    Par med_anis_dk dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 11/05/2007, 16h39

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