Forum Liberty Basic France

Débutant » The JB's Rébellelion Refus d'obtampérer
Le 20/12/2012 à 12h26

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2083
En tant que spécialiste des codes à réactions étranges, je vous présente ma dernière production.
Le but: Affichage et modification des paramètres en continu.

Les étrangetées
1st- Sachant qu'au départ toutes les variables sont à 0, comment se fait-il qu'au seul clic sur un des boutons "puissance machine"; azimut et profondeur sont incrémentés ?
2nd- Pourquoi, alors que les boutons: babord, tribord, agissent normalement sur: azimut et profondeur, ils n'ont plus d'effet aprés un clic sur le bouton "zéro" ?
3rd- Pareil avec up et down sur la profondeur ?
4th- Meme comportement avec while/wend au lieu de for/next
Merci d'apporter lumière.

Code JB :
 
 
    NOMAINWIN
    WindowWidth=500
    WindowHeight=400
    UpperLeftX=INT((DisplayWidth-WindowWidth)/2)
    UpperLeftY=INT((DisplayHeight-WindowHeight)/2)
 
    STATICTEXT #w.a "Azimut", 10, 15, 65, 20
    textbox #w.az, 10, 40, 65, 20
    STATICTEXT #w, "Vitesse", 90, 15, 65, 20
    textbox #w.vi, 90, 40, 65, 20
 
    STATICTEXT #w.pr, "Profondeur", 10, 80, 65, 20
    textbox #w.prof, 10, 105, 65, 20
    STATICTEXT #w.m, "Machine", 250, 15, 60, 20
    BUTTON #w.ava, "Avant", [avant], UL, 210, 40, 50, 20
    BUTTON #w.arr, "Arriere", [arriere], UL, 210, 70, 50, 20
    BUTTON #w.ful, "Full", [full], UL, 270, 40, 50, 20
    BUTTON #w.m34, "3/4", [m34], UL, 270, 70, 50, 20
    BUTTON #w.m12, "1/2", [m12], UL, 270, 100, 50, 20
    BUTTON #w.m14, "1/4", [m14], UL, 270, 130, 50, 20
    BUTTON #w.m0, "Zéro", [mO], UL, 270, 160, 50, 20
    STATICTEXT #w.b, "Barre", 400, 15, 60, 20
    BUTTON #w.dro, "Tribord", [tribord], UL, 420, 40, 50, 20
    BUTTON #w.b0, "Zéro", [b0], UL, 390, 70, 50, 20
    BUTTON #w.gau, "Babord", [babord], UL, 360, 40, 50, 20
    STATICTEXT #w.p, "Palonier", 400, 115, 60, 20
    BUTTON #w.u, "Up", [up], UL, 360, 140, 50, 20
    BUTTON #w.p0, "Zéro", [p0], UL, 390, 170, 50, 20
    BUTTON #w.d, "Down", [down], UL, 420, 140, 50, 20
 
    BUTTON #w.sto, "Stop", [stop], UL, 400, 250, 50, 20
    BUTTON #w.new, "New", [new], UL, 400, 280, 50, 20
 
    open "Gloups...!" FOR WINDOW AS #w
     print #w, "trapclose [quit]"
 
     temp=800: azimut=360: puiss=0:  vitesse=0: prof=100: coeff=0: coeffp=0: sto=0
     #w.az, str$(azimut): #w.vi, str$(vitesse);" nds": #w.prof, str$(prof); " m"
     'goto [go]
 
  [go]
    for x=1 to 500
       scan
       if sto=1 then timer 0: exit for
       azimut=azimut+coeff
       prof=prof+coeffp
       if azimut > 360 then azimut=azimut-360
       if azimut <1 then azimut=azimut+360
       if prof <1 then notice "Surface !"
       if prof >380 then notice "Crac..Crac Glou..Crac GlouGlou !"
       #w.az, str$(int(azimut))
       #w.vi, str$(puiss*1.5);" nds"
       #w.prof, str$(int(prof));" m"
       gosub [pause]
    next x
    if sto=1 then timer 0: wait
    goto [go]
  wait
 
  wait
  [stop]
    sto=1
  wait
  [avant]
    coeff =coeff
    goto [go]
  wait
  [arriere]
    coeff=0 - coeff
    goto [go]
  wait
  [full]
    puiss=12: coeff=5: coeffp=4: temp=200
    goto [go]
  wait
  [m34]
    puiss=9: coeff=4: coeffp=3: temp=300
    goto [go]
  wait
  [m12]
    puiss=6: coeff=3: coeffp=2: temp=400
    goto [go]
  wait
  [m14]
    puiss=3: coeff=2: coeffp=1: temp=600
    goto [go]
  wait
  [mO]
    puiss=0: coeff=0: coeffp=0: temp=800
    goto [go]
  wait
  [tribord]
    coeff=coeff
    goto [go]
  wait
  [babord]
    coeff=0 - coeff
    goto [go]
  wait
  [b0]
    tri=0: bab=0:coeff=0
    goto [go]
  wait
  [up]
    coeffp=0 - coeffp
    goto [go]
  wait
  [p0]
    coeffp=0
    goto [go]
  wait
  [down]
    coeffp=coeffp
    goto [go]
  wait
 
 
 
    [pause] ' en millisecondes
        timer temp, [temps]
        wait
        [temps]
        timer 0
    return
 
  [quit]
    CLOSE #w
    END
 
 
____________________
Roro

   
Le 20/12/2012 à 19h15

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
y un "wait" de trop : juste au dessus de [stop].
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 20/12/2012 à 20h46

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2083
Tu peux meme dire qu'il y en a deux de trop,
puisqu'il y a un goto avant, et que le prog n'ira jamais plus bas. :d

Juste pour dire que sur un bateau en marche avant, quand on mets la barre à droite ou à gauche, on tourne en rond.

Ces boucles for et while...C'est l'enfer! :@ Y'aurait pas quelque chose de plus docile ? :p
____________________
Roro

   
Le 21/12/2012 à 15h15

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Si. Y a la boucle DO ... LOOP UNTIL :lol
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 21/12/2012 à 15h23

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2083
j'essaie ça, mais le smiley me fait craindre le pire. :s



Edité par Roland Le 21/12/2012 à 15h24
____________________
Roro

   
Le 21/12/2012 à 17h57

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2083
Et ben tu peux laisser tomber. Le bazar ci-dessus, je l'ai intégré à ton code.
Ca marche au poil, mais comme je ne maitrise pas (encore) ton mode d'affichage,
j'affiche dans des textbox. smiley: tirage de langue.
____________________
Roro

   
Le 21/12/2012 à 18h00

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2083
J'attaque le sondage tous azimuts...Mais....
Comme jb viens de me sortir cos 90 = -0.36732051e-5
bien que je lui ai donné du radian à mouliner.
Et que je ne suis pas du genre à me laisser troubler.
Je confectionne deux tableaux hypoténuse( ), que l'appelle: hypX(72) et hypY(72) parce qu'une précision de 5° ça suffit pour l'instant.
Dans lesquels je vais stocker les coeffs à appliquer pour aller de Polaires à cartésiennes. Et basta !
____________________
Roro

   
Débutant » The JB's Rébellelion Refus d'obtampérer  

 |  |

1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie