Jean Claude

Nombre de messages : 5289 Age : 63 Localisation : 83 Var Date d'inscription : 07/05/2009
 | Sujet: Re: Calculatrice Sam 14 Oct 2017 - 9:20 | |
| Bonjour Joeeee2017 et bienvenue sur ce forum. Bravo pour ta calculatrice, j'aime bien l'animation des clics sur les touches de la calculatrice. Vu que tu as prévu la sortie par le menu quitter, essaies la commande BORDER_HIDE 0. Cette commande peut te permettre de diminuer la taille de la fenêtre (FORM) pour l'ajustée à la taille de la calculette. J'ai vu aussi, une ligne qui peut être supprimée => c1=0:c2=204:c3=51Pour poster tes codes: tu as un bouton Code à disposition qui crée automatiquement 2 balises pour insérer ton code. Le résultat: - Code:
dim a$,aa$,op,i,a,b,b$,c$,u,n dim t(40,2),tx$(20),uu,v,coul,c1,c2,c3
label calcul,fin,men1,men2,carre label virgule,euro,col
main_menu 20 sub_menu 21:caption 21,"Quitte":parent 21,20 on_click 21,fin
left 0,100:top 0,1 width 0,450:height 0,600 caption 0,"Calculatrice" ' c1=0:c2=204:c3=51 color 0,236,233,216 c1=204:c2=153:c3=0 border_hide 0
data 127,330,202,330,277,330,127,255,202,255,277,255,127,180,202,180,277,180 data 127,405,202,405,352,255,352,180,277,405,352,330,352,405,127,480,127,144,345,144 data "1","2","3","4","5","6","7","8","9","0",".","*","/","C","-","+","=","euro","franc"
rem button c1,c2,c3 for i=1 to 19 button i:read a:read b left i,a:top i,b:width i,65:height i,65 t(i,1)=a:t(i,2)=b next i
width 17,290:height 17,70:rem --button = width 18,70:height 18,26:rem --button "euro" width 19,70:height 19,26:rem --button "franc"
for i=1 to 19 read c$:tx$(i)=c$ font_size i,25:caption i,c$ next i
font_size 18,14:font_size 19,14
edit 40 left 40,127:top 40,77 width 40,287:height 40,70:rem --button edit font_size 40,26 inactive 40
2d_pen_width 7 2d_fill_color 204,153,0 2d_pen_color 0,0,0 2d_rectangle 115,60,428,557 2d_pen_color 252,152,0 2d_rectangle 125,75,418,135
text 40,"0" on_click 0,col on_click 18,euro on_click 19,euro rem ------------------------------------------------------------- men2: op=2:u=0:b$="":a$="" rem --------------------------------------------------- men1: aa$=inkey$ u=0 for i=1 to 19 if clicked(i)=1 then u=i:gosub carre next i rem ---- if u=14 then text 40,"0":goto men2 if u=17 then gosub calcul:op=2:u=0:b$="" rem ---- if u=11 then gosub virgule:goto men1 if u>11 then op=u:gosub calcul:u=0:b$="" rem ---- if u=0 or u=17 then goto men1:rem-----------------------> if u=10 then u=0 rem ---- if op=2 then a$="" if b$="" then text 40,"" rem ---- b$=b$+str$(u):text 40,b$ goto men1 rem ------------------------------------------------------------- calcul: if a$="" then a$=b$:b$="" if b$="" then return if op=13 and val(b$)=0 then beep:text 40,a$:return if op=12 then a$=str$(val(a$)*val(b$)) if op=13 then a$=str$(val(a$)/val(b$)) if op=15 then a$=str$(val(a$)-val(b$)) if op=16 then a$=str$(val(a$)+val(b$)) text 40,a$:b$="" return rem -------------------------------couleur autour touche---------- carre: if u=0 or u=17 then return 2d_pen_color 247,79,0 2d_rectangle t(u,1)-2,t(u,2)-2,t(u,1)+67,t(u,2)+67 wait 80 2d_pen_color c1,c2,c3 2d_rectangle t(u,1)-2,t(u,2)-2,t(u,1)+67,t(u,2)+67 uu=u return rem ------------------------------------------------------------- virgule: v=0:n=len(b$) for i=1 to n if mid$(b$,i,1)="." then v=1 next i if n=0 then b$=b$+"0.":text 40,b$:return if v=0 then b$=b$+".":text 40,b$:return if v=1 then beep return rem ------------------------------------------------------------- euro: if clicked(18)=1 then text 40,str$(val(text$(40))/6.55957) if clicked(19)=1 then text 40,str$(val(text$(40))*6.55957) return rem ------------------couleur calculatrice en cliquant dessus------- col: c1=c1+12.75:if c1>254 then c1=0 c2=c2+25.5:if c2=>254 then c2=0 c3=c3+51:if c3=>254 then c3=0 2d_fill_color c1,c2,c3:2d_pen_color 0,0,0:2d_rectangle 115,60,428,557 if coul=7 then coul=0 return rem ------------------------------------------------------------- fin: terminate end
A+ |
|
Jean Claude

Nombre de messages : 5289 Age : 63 Localisation : 83 Var Date d'inscription : 07/05/2009
 | Sujet: Re: Calculatrice Sam 14 Oct 2017 - 11:30 | |
| Je te confirme que la ligne "qui ne sert à rien", ne sert à rien. Si tu l'enlèves les couleurs changent quand même. - Code:
c1=0:c2=204:c3=51 color 0,236,233,216 c1=204:c2=153:c3=0
Tu peux voir, ci-dessus, que les variables c1, c2, c3 prennent des valeurs 2 fois de suite, c'est la dernière valeur déclarée qui sera prise en compte. D'autre part, j'ai vu que la structure de ton code n'est pas correct. 1) Tu as positionné END à la dernière ligne du code, cette utilisation montre une méconnaissance de la commande END. 2) Le sous-programme qui s'appelle "fin:" se termine par END. Un sous-programme (de type label) doit toujours se terminer par RETURN. Tu trouveras une première réponse en regardant le "manuel de référence" (dans le menu aide de l'éditeur) pour la commande END qui explique sa fonction. La deuxième réponse qui est très importante se trouve dans "Conseils" (toujours dans le menu aide de l'éditeur). Au chapitre "Généralités" tu cliques sur "Quelle est la structure d'un programme?" et là tu vas comprendre ce que je veux dire quand je dit "j'ai vu que la structure de ton code n'est pas correct"
Je suppose que tu découvres Panoramic, alors n'hésites-pas à nous solliciter pour ce que tu ne comprends pas. Cela remettra un peu d'ambiance sur le forum A+ |
|