FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Demande urgente en maths.
par JL35 Aujourd'hui à 21:21

» Compilateur FBPano
par jean_debord Aujourd'hui à 11:24

» Problème de math
par braveen Aujourd'hui à 10:53

» A propos des attributs de fichier
par papydall Hier à 14:33

» Problème de math
par Marc37 Sam 21 Oct 2017 - 23:04

» I Love You
par papydall Sam 21 Oct 2017 - 19:22

» Un petit "coucou" à tous les Panoramiciens !
par mindstorm Sam 21 Oct 2017 - 17:06

» MARK_ON déclenche un événement ON_CLICK à la place de ...
par Jean Claude Mer 18 Oct 2017 - 18:08

» mise a jour calculatrice
par joeeee2017 Mer 18 Oct 2017 - 15:57

» [solved] 3D_LINE How to ?
par Jicehel Mer 18 Oct 2017 - 11:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Mar 17 Oct 2017 - 18:49

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» Calculatrice
par Jean Claude Sam 14 Oct 2017 - 12:30

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Compteur mécanique

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
bignono

avatar

Nombre de messages : 1086
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Compteur mécanique   Ven 24 Jan 2014 - 11:16

Bonjour à tous,  Smile 
Vous connaissez tous les compteurs kilométriques des voitures, je parle des anciens, pas les nouveaux à affichage digitale ou numérique. Ces espèces de compteurs à roues dentées qui tournent inexorablement. On les trouvait aussi sur les vieux compteurs EDF, et il y en a encore sur les compteurs d'eau ou de gaz.
J'ai essayé de reproduire ce genre de compteur avec panoramic. Pas évident!
Voici :
Code:
label tourne
dim u,d,c,m,dm

init()

timer 99 : timer_interval 99,10 : on_timer 99,tourne
END

tourne:
   timer_off 99
   if scancode=27 then terminate
   for u=50 to 59
      top u,top(u)-4
      if top(u)=-36 then top u,324
      if caption$(u)=" 9" and top(u)<4
         for d=40 to 49
            top d,top(d)-4
            if top(d)=-36 then top d,324
            if caption$(d)=" 9" and top(d)<4
               for c=30 to 39
                  top c,top(c)-4
                  if top(c)=-36 then top c,324
                  if caption$(c)=" 9" and top(c)<4
                     for m=20 to 29
                        top m,top(m)-4
                        if top(m)=-36 then top m,324
                        if caption$(m)=" 9" and top(m)<4
                           for dm=10 to 19
                              top dm,top(dm)-4
                              if top(dm)=-36 then top dm,324
                           next dm
                        end_if
                     next m
                  end_if
               next c
            end_if
         next d
      end_if
   next u
   timer_on 99
return

sub init()

   dim_local h,i,j
  
'   border_small 0
   left 0,(screen_x/2)-(width(0)/2)
'   caption 0,"Compteur"
   hide 0

   for i=1 to 5
      form i
      border_hide i
      color i,0,0,0
      width i,49
      height i,60
      left i,left(0)+(i*50)+130
      top i,(height(0)/2)-(height(i)/2)

      h=0

      for j=(i*10) to (i*10)+9
         alpha j
         parent j,i
         top j,h*36
         font_name j,"Arial Black"
         font_color j,255,255,255
         font_bold j
         font_size j,24
         caption j," "+str$(h)
         h=h+1
      next j

   next i

end_sub
Appuyez sur ESC pour arrêter le programme.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
bignono

avatar

Nombre de messages : 1086
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Re: Compteur mécanique   Ven 24 Jan 2014 - 11:19

Voici une autre manière de s'en servir:
Code:
label tourne
dim u,i

init()
u=50
button 99:caption 99,"CLIC = +1":on_click 99,tourne
left 99,(width(0)/2)-(width(99)/2)
END

tourne:
  for i= 1 to 9
      for u=50 to 59
        top u,top(u)-4
        if top(u)=-36 then top u,324
        if caption$(u)=" 9" and top(u)<4 then tourne()
      next u
      wait 10
  next i
return

sub tourne()
  dim_local d,c,m,dm
        for d=40 to 49
            top d,top(d)-4
            if top(d)=-36 then top d,324
            if caption$(d)=" 9" and top(d)<4
              for c=30 to 39
                  top c,top(c)-4
                  if top(c)=-36 then top c,324
                  if caption$(c)=" 9" and top(c)<4
                    for m=20 to 29
                        top m,top(m)-4
                        if top(m)=-36 then top m,324
                        if caption$(m)=" 9" and top(m)<4
                          for dm=10 to 19
                              top dm,top(dm)-4
                              if top(dm)=-36 then top dm,324
                          next dm
                        end_if
                    next m
                  end_if
              next c
            end_if
        next d
end_sub

sub init()

  dim_local h,i,j
 
  border_small 0
  left 0,(screen_x/2)-(width(0)/2)
  caption 0,"Compteur"

  for i=1 to 5
      form i
      border_hide i
      color i,0,0,0
      width i,49
      height i,60
      left i,left(0)+(i*50)+130
      top i,(height(0)/2)-(height(i)/2)

      h=0

      for j=(i*10) to (i*10)+9
        alpha j
        parent j,i
        top j,h*36
        font_name j,"Arial Black"
        font_color j,255,255,255
        font_bold j
        font_size j,24
        caption j," "+str$(h)
        h=h+1
      next j

  next i

  top 0,top(5)+height(5)+5
  height 0,75
  width 0,250
  left 0,(screen_x/2)-(width(0)/2)+5
end_sub

Je pense que l'on pourrait même en faire une horloge!
A+  Wink Wink Wink 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5551
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Compteur mécanique   Ven 24 Jan 2014 - 13:02

ça me rappelle ma vieille SIMCA 1100

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 7994
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 24 Jan 2014 - 18:51

Très joli Bignono, j' espère seulement que tes compteurs tournent moins vite que ton premier code. Laughing 

Une idée pour les fans de jeux de casino, cela peut servir pour un jeu de "Bandit-manchot".... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5041
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Compteur mécanique   Ven 24 Jan 2014 - 20:01

Une petite amélioration.
Code:
label tourne,vitesse
dim u,d,c,m,dm,me$,vit%
gosub vitesse
init()
timer 99 : timer_interval 99,vit% : on_timer 99,tourne

END

vitesse:
hide 0
me$=message_input$("0","entrez la vitesse (entre 1 et 100)","50")
if numeric(me$)=0 then goto vitesse
if vit%>100 then goto vitesse
vit%=val(me$):vit%=100-vit%
if vit%<=0 then vit%=1
return

tourne:
  timer_off 99
  if scancode=27 then terminate
  for u=50 to 59
      top u,top(u)-4
      if top(u)=-36 then top u,324
      if caption$(u)=" 9" and top(u)<4
        for d=40 to 49
            top d,top(d)-4
            if top(d)=-36 then top d,324
            if caption$(d)=" 9" and top(d)<4
              for c=30 to 39
                  top c,top(c)-4
                  if top(c)=-36 then top c,324
                  if caption$(c)=" 9" and top(c)<4
                    for m=20 to 29
                        top m,top(m)-4
                        if top(m)=-36 then top m,324
                        if caption$(m)=" 9" and top(m)<4
                          for dm=10 to 19
                              top dm,top(dm)-4
                              if top(dm)=-36 then top dm,324
                          next dm
                        end_if
                    next m
                  end_if
              next c
            end_if
        next d
      end_if
  next u
  timer_on 99
return

sub init()

  dim_local h,i,j

'  border_small 0
  left 0,(screen_x/2)-(width(0)/2)
'  caption 0,"Compteur"
  hide 0

  for i=1 to 5
      form i
      border_hide i
      color i,0,0,0
      width i,49
      height i,45
      left i,left(0)+(i*50)+130
      top i,(height(0)/2)-(height(i)/2)

      h=0

      for j=(i*10) to (i*10)+9
        alpha j
        parent j,i
        top j,h*36
        font_name j,"Arial Black"
        font_color j,255,0,255
        font_bold j
        font_size j,24
        caption j," "+str$(h)
        h=h+1
      next j

  next i

end_sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5551
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Compteur mécanique   Ven 24 Jan 2014 - 21:20

Comme je n’aime pas les GOSUB et surtout les GOTO, voici ma modification du code de Jean Claude (belle rime, non ? le code de Jean Claude)

Code:
label tourne
dim u,d,c,m,dm,me$,vit%
vitesse()
init()
timer 99 : timer_interval 99,vit% : on_timer 99,tourne

END
rem ============================================================================
SUB vitesse()
    hide 0
    repeat
        repeat
             me$=message_input$("Entrez la vitesse","(entre 1 et 100)","50")
        until numeric(me$) > 0
    until (val(me$) > 0) and  (val(me$) <= 100)
    vit% = val(me$) : vit% = 100 - vit%
END_SUB
rem ============================================================================
tourne:
  timer_off 99
  if scancode=27 then terminate
  for u=50 to 59
      top u,top(u)-4
      if top(u)=-36 then top u,324
      if caption$(u)=" 9" and top(u)<4
        for d=40 to 49
            top d,top(d)-4
            if top(d)=-36 then top d,324
            if caption$(d)=" 9" and top(d)<4
              for c=30 to 39
                  top c,top(c)-4
                  if top(c)=-36 then top c,324
                  if caption$(c)=" 9" and top(c)<4
                    for m=20 to 29
                        top m,top(m)-4
                        if top(m)=-36 then top m,324
                        if caption$(m)=" 9" and top(m)<4
                          for dm=10 to 19
                              top dm,top(dm)-4
                              if top(dm)=-36 then top dm,324
                          next dm
                        end_if
                    next m
                  end_if
              next c
            end_if
        next d
      end_if
  next u
  timer_on 99
return

sub init()

  dim_local h,i,j

'  border_small 0
  left 0,(screen_x/2)-(width(0)/2)
'  caption 0,"Compteur"
  hide 0

  for i=1 to 5
      form i
      border_hide i
      color i,0,0,0
      width i,49
      height i,45
      left i,left(0)+(i*50)+130
      top i,(height(0)/2)-(height(i)/2)

      h=0

      for j=(i*10) to (i*10)+9
        alpha j
        parent j,i
        top j,h*36
        font_name j,"Arial Black"
        font_color j,255,0,255
        font_bold j
        font_size j,24
        caption j," "+str$(h)
        h=h+1
      next j

  next i

end_sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jean Claude

avatar

Nombre de messages : 5041
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Compteur mécanique   Ven 24 Jan 2014 - 22:23

C'est clair, c'est bien plus propre comme code.

Je dois dire que je l'ai fait vite fait (et mal fait)

A+

Au passage: la rime  Question Question Question Question Question 
Est-ce une question d'accent  Question 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5858
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Compteur mécanique   Sam 25 Jan 2014 - 3:52

Très joli Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
bignono

avatar

Nombre de messages : 1086
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Re: Compteur mécanique   Sam 25 Jan 2014 - 9:29

Oui Ygeronimi, je cherche le moyen de pouvoir réaliser un bandit manchot dans l'avenir. Donc j'explore des pistes. Au début j'ai voulu utiliser les nouveaux objets "panel" à la place des "form". mais c'était beaucoup plus lent.
A+ Wink Wink Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Compteur mécanique   

Revenir en haut Aller en bas
 
Compteur mécanique
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» compteur php dans page générée par e-anim
» Compteur à rebours
» Signalisation mécanique.
» [Tjaak School] Créer un compteur de durée de vie
» compteur [RESOLU]

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: