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
» Synedit Parameters
par Yannick Aujourd'hui à 0:27

» Code à vérifier SVP (Oups ! résolu)
par Jean Claude Hier à 21:16

» Compilateur FBPano
par jean_debord Hier à 9:56

» Bienvenue à Virtualalan !
par UltraVox Hier à 9:18

» Concours de Morpions
par jjn4 Hier à 0:04

» ShortName$(F) [Cloturé]
par papydall Mer 21 Juin 2017 - 16:19

» Remplacer espace par tiret dans noms des dossiers / fichiers
par papydall Mer 21 Juin 2017 - 15:27

» Menu personalisé avec icones et menu contextuel
par Laurent (Minibug) Mer 21 Juin 2017 - 12:44

» La liste des choses à faire ...
par Jack Mar 20 Juin 2017 - 22:49

» Quoi de neuf à propos de Goric 3D ? (@Jack)
par UltraVox Mar 20 Juin 2017 - 21:06

» Nom court et anti fenetre dos
par silverman Mar 20 Juin 2017 - 18:31

» Ludothèque Panoramic
par jjn4 Mar 20 Juin 2017 - 18:09

» Proposition à la communauté
par Yannick Mar 20 Juin 2017 - 15:02

» >199
par maelilou Mar 20 Juin 2017 - 14:13

» NUMBER_FOCUS
par Yannick Lun 19 Juin 2017 - 15:25

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2017
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
2627282930  
CalendrierCalendrier

Partagez | 
 

 Compteur mécanique

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

avatar

Nombre de messages : 1079
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 : 1079
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 : 5384
Age : 66
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 : 7809
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 : 4922
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 : 5384
Age : 66
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 : 4922
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 : 5837
Age : 44
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 : 1079
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
» Exemple de compteur de temps de jeu avec achevements

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