Calculator

Cursussen, tutorials
Plaats hier uw bijdrage.

Calculator

Berichtdoor ForNext » do maart 24, 2011 9:00 pm

Bijgaand de listing van de calculator.
Veel geleend en het nodige knip- en plakwerk, maar ... een aardig resultaat.

Ciao,
Rob

Code: Selecteer alles
'--- begin code
       nomainwin

       button #v.b1,"1",toets,UL,020,170,040,040
       button #v.b2,"2",toets,UL,074,170,040,040
       button #v.b3,"3",toets,UL,128,170,040,040
       button #v.b4,"4",toets,UL,020,120,040,040
       button #v.b5,"5",toets,UL,074,120,040,040
       button #v.b6,"6",toets,UL,128,120,040,040
       button #v.b7,"7",toets,UL,020,070,040,040
       button #v.b8,"8",toets,UL,074,070,040,040
       button #v.b9,"9",toets,UL,128,070,040,040
       button #v.b0,"0",toets,UL,020,220,040,040
       button #v.bp,"+",toets,UL,182,220,040,040
       button #v.bm,"-",toets,UL,182,170,040,040
       button #v.bv,"*",toets,UL,182,070,040,040
       button #v.bd,"/",toets,UL,182,120,040,040
       button #v.bk,",",toets,UL,074,220,040,040

       button #v.bz,"©",toets,UL,128,220,040,040
       button #v.bw,"wis",toets,UL,020,270,094,040
       button #v.bt," = ",[tot],UL,128,270,094,040

       textbox   #v.tbox,020,020,204,040
       stylebits #v.tbox,_ES_RIGHT,0,0,0

       WindowWidth=250 : WindowHeight=350
       UpperLeftX=Int((DisplayWidth-WindowWidth)/2)
       UpperLeftY=Int((DisplayHeight-WindowHeight)/2)

       open "Calculator (graphics)" for graphics_nsb_nf as #v

       #v.b1 "!font arial 20 bold"
       #v.b2 "!font arial 20 bold"
       #v.b3 "!font arial 20 bold"
       #v.b4 "!font arial 20 bold"
       #v.b5 "!font arial 20 bold"
       #v.b6 "!font arial 20 bold"
       #v.b7 "!font arial 20 bold"
       #v.b8 "!font arial 20 bold"
       #v.b9 "!font arial 20 bold"
       #v.b0 "!font arial 20 bold"
       #v.bp "!font arial 20 bold"
       #v.bm "!font arial 20 bold"
       #v.bv "!font arial 20 bold"
       #v.bd "!font arial 20 bold"
       #v.bk "!font arial 20 bold"
       #v.bz "!font arial 20 bold"
       #v.bw "!font arial 20 bold"
       #v.bt "!font arial 20 bold"

       #v "fill 128 0 0 "
       #v.tbox "!font arial 20 bold"
       #v "trapclose [quit]"
       wait

[tot]  #v.tbox "!contents? tot$"
       #v.tbox eval(tot$)
       wait

       sub toets handle$
       #v.tbox "!contents? inhoud$"
       select right$(handle$,1)
       case "k" : #v.tbox inhoud$+"."
       case "d" : #v.tbox inhoud$+"/"
       case "v" : #v.tbox inhoud$+"*"
       case "m" : #v.tbox inhoud$+"-"
       case "p" : #v.tbox inhoud$+"+"
       case "w" : #v.tbox " "
       case "z" : notice "Huiswerkopdracht april 2011 ©RV"
       case else
       #v.tbox inhoud$+caseValueCache$
       end select
       end sub

[quit] close #v : end

'--- einde code

Cursist LB Amstelveen
ForNext
 
Berichten: 60
Geregistreerd: za okt 27, 2007 9:40 am
Woonplaats: Amstelveen

Re: Calculator

Berichtdoor tkpatric » do maart 24, 2011 9:38 pm

Fantastisch resultaat! Mooi rekenmachientje, eenvoudige én knappe code!
tkpatric
 
Berichten: 22
Geregistreerd: vr dec 29, 2006 8:52 pm

Re: Calculator

Berichtdoor glpape » do maart 24, 2011 11:31 pm

Rob, heel mooi !

De code ziet er veel te gestructureerd uit om te geloven dat het vooral knippen en plakken is geweest !

Ik heb ook een vraag. Ik begon met te proberen getallen in te typen van het toetsenbord. Dat werkt moeilijk : je moet eerst op de textbox klikken om hem focus te geven, en als je tikt 12+5 dan werkt het, maar 12*5 pakt ie niet. Met de muis werkt alles soepeltjes. Hoe vindt je het om het programma voor alleen muis input te maken, bv met ook een Notice uitleg als iemand toch 'per ongeluk met z'n vingers aan het toetsenbord zit ? Ik heb het nooit geprobeerd maar ik stel me voor dat je alle input van het toetsenbord wel op een of andere manier kunt blokkeren.

Vr groet,

George Pape.
glpape
 
Berichten: 83
Geregistreerd: za nov 08, 2008 5:32 pm

Re: Calculator

Berichtdoor ForNext » za maart 26, 2011 11:28 pm

Beste George,

Laten wij het dan houden op “knippen, plakken en bewerken”.

Je schrijft dat 12+5 wel werkt, maar dat 12*5 het niet doet. Nadat ik de focus op de textbox heb gezet, kan ik 12+5, 12-5, 12/5 en 12*5 ingeven. Maar dat is het dan ook. De “=” noch de “enter” leiden tot resultaat. Ik ben derhalve genoodzaakt om met de muis op de “=” klikken om de uitkomsten te kunnen zien.

Het zal vast wel mogelijk zijn om de “enter” zodanig te activeren, dat na het ingeven van 12 * 12 een druk op de enter-toets in de textbox 144 als uitkomst wordt vertoond. Maar die kant wil jij niet op.

Juist alles behalve het toetsenbord. Dus zodra er een willekeurige toets wordt ingedrukt, volgt onmiddellijk een notice op het scherm met de opmerking : is je muis soms weggelopen?

Ik zal eens kijken hoe ver ik kom.

Ciao,
Rob
Cursist LB Amstelveen
ForNext
 
Berichten: 60
Geregistreerd: za okt 27, 2007 9:40 am
Woonplaats: Amstelveen

Re: Calculator

Berichtdoor Gordon » za dec 17, 2011 3:49 pm

Hier is de zip file waarin de plaatjes voor de calculator zitten.

De listings om zelfstandig de plaatjes te maken is ook aanwezig.

Gordon
Bijlagen
Calculator.zip
Plaatjes voor calculator en listings
(254.52 KiB) 249 keer gedownload
Avatar gebruiker
Gordon
Site Admin
 
Berichten: 684
Geregistreerd: zo mei 22, 2005 12:50 am


Keer terug naar Leren programmeren met Liberty BASIC

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 1 gast

cron