Forum Liberty Basic France

Général » Scrollbar avec JB2 Utilisation de scrollbars pour trouver le PPCM de deux Nombres
Le 24/12/2018 à 07h36

Libertynaute

Groupe: Membre

Inscrit le: 10/10/2017
Messages: 63
A partir du programme source 3D de JB2.0, on peut l'adapter pour d'autres applications.
Par exemple: Trouver le ppcm de deux nombres compris (limités volontairement) entre 1 et 500.
Après compréhension du mécanisme cela donne un résultat intéressant.

Code VB :
 
'----------------------------------
' JB 2.0 zlider.bas by Castel
' d'aprËs la source du prog 3-demo
'----------------------------------
    nomainwin
    sliders = 2
    barpos  = 1
    scaledvalue = 2
    Dim a1(500), b1(500)
    dim slide(sliders,2)
    global MaxPoints,barpos,scaledvalue
    global  x, y
    global a1, b1
    WindowWidth = 543 : WindowHeight = 460
    graphicbox #w.g, 1,430,10,10
    graphicbox #w.g1, 10, 300, 515, 19
    graphicbox #w.g2, 10, 360, 515, 19
    statictext #w.stat1, "PPCM (Plus Petit Commun Multiple)", 10, 20, 540, 40
    statictext #w.stat2, " ", 20,  80, 180, 40
    statictext #w.stat3, " ", 20, 150, 180, 40
    statictext #w.stat4, " ", 20, 220, 180, 45
    statictext #w.stat5, " ", 20, 230, 320, 40
    statictext #w.stat6, "Plus grand commun multiple", 300, 100, 320, 20
    TextboxColor$ = "black"
    textbox #w.tbx1, 0, 70, 540, 3
    button #w.bt1, "CCPM", [Calcul], UL, 350, 190, 85, 40
    TextboxColor$ = "cyan"
    textbox #w.tb2, 300, 120, 190, 30
   'open "Zlider by Castel" for window as #w
    open "Zlider by Castel" for dialog as #w
    #w "trapclose quit"
    #w.g "down ; fill buttonface"
    slide(1,barpos) = 4
    slide(2,barpos) = 4
    for n = 1 to sliders
      s$   = "#w.g"  + str$(n)
      #s$ "down ; backcolor blue"
      call display s$
      #s$ "when leftButtonMove mouse"
      #s$ "when leftButtonUp mouse"
    next
    #w.stat1, "!font arial 24 bolt"
    #w.stat2, "!font Arial bolt 32"
    #w.stat3, "!font Arial bolt 32"
    #w.stat4, "!font Arial bolt 36"
    #w.stat5, "!font Arial bolt 14"
    #w.stat6, "!font Arial 10"
    #w.tb2,   "!font Arial bolt 14"
 wait
 
[Calcul]
  #w.tb2, str$(x) + " * " + str$(y) + " = " + str$(x * y)
  call ppcm x, y
wait
 
sub ppcm a, b
  #w.stat4, " "
  #w.stat5, "Patienter ..."
  z = 0
  If a > b Then o = a : a = b : b = o
  u1 = a : u2 = b
  For n = 1 To a
    u1 = u1 + a
    a1(n) = u1
    u2 = u2 + b
    b1(n) = u2
  Next n
  For k = 1 To a
    For m = 1 To a
      If a1(k) = b1(m) Then
       #w.stat4, a1(k)
       z = 1
      End If
    Next m
    If z = 1 Then Exit For
  Next k
    If z = 0 Then #w.stat5, "Pas de PPCM !"
end sub
 
sub mouse bouge$, xpos, ypos
    s = val(right$(bouge$,1))
    if xpos >= 4 and xpos <= 503 then slide(s,barpos) = xpos
    call display bouge$
end sub
 
sub display bouge$ 
    s = val(right$(bouge$,1))
    #bouge$ "fill cyan"
    #bouge$ "line 0 8 511 8"
    #bouge$, "place ";slide(s,barpos)-4;" 0 ; boxfilled  ";slide(s,barpos)+8;" 17"
    x = slide(1,barpos)-3
    y = slide(2,barpos)-3
    #w.stat2, x
    #w.stat3, y
    #w.stat5, "Activer les valeurs et presser CCPM"
    #w.tb2, " "
end sub
 
sub quit bouge$
    close #w
    end
end sub
 
 
____________________
Castel

   
Le 24/12/2018 à 10h10

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2036
ça a l'air de fonctionner aussi avec JB V1
____________________
Roro

   
Le 24/12/2018 à 11h36

Libertynaute

Groupe: Membre

Inscrit le: 10/10/2017
Messages: 63
Au départ, j’ai fait en sorte que le résultat soit dynamique. Mais lorsque je déplaçais les curseurs,
Après un aller retour j’avais un message de saturation des tableaux.
Peut-être plus élégant mais pas pratique car si l’on déplace trop vite, on a pas le temps de lire le résultat. En gardant la grandeur du slider, changeant d’echelle avec une limitation de 100 peut-être que cela fonctionne. Si besoin j’essaierai.
Joyeux Noël à Tous.
____________________
Castel

   
Le 24/12/2018 à 11h40

Libertynaute

Groupe: Membre

Inscrit le: 10/10/2017
Messages: 63
Intéressant aussi, car il n’a nul besoin de API, de DLL et autres Stylebits ...
____________________
Castel

   
Le 24/12/2018 à 18h33

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2036
Citation:
saturation des tableaux

Tu n'a qu'à les vider autant que tu les remplis.
____________________
Roro

   
Général » Scrollbar avec JB2 Utilisation de scrollbars pour trouver le PPCM de deux Nombres  

 |  |

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