Harjoittelen Visual Basicilla koodaamista (versiolla 3.0) ja teen parhaillaan laskinta. Muuten kaikki koodit, ulkoasu jne. on valmiina, mutta yksi koodinpätkä uupuu: eli laskimessa on kaksi tekstiboxia (toiseen näppäillään laskettava lauseke esim. 1 1-3 ja toiseen tulee tulos), mutten keksi miten saisin ohjelman suorittamaan text1:sen lauseketta. Eli kun on näppäillyt laskutoimituksen lukee text1 boxissa 1 1. Ilmeisesti = -painikkeeseen tarvittaisiin jonkinlainen suorituskäsky, esim. text2 = run"text1" tai jotain.
Osaisiko kukaan siis kertoa millä komennolla/koodinpätkällä = -painike toimisi? KIITOS!
Laskimen teko takkuaa, apua tarvitaan
2
420
Vastaukset
- vb2005
Hieman helpommalla olisit päässyt, jos olisit tehnyt tuon toisella tapaa eli lukemalla näppäimien painallukset. Tekstivaihtoehdosta löysin seuraavan esimerkin:
http://www.programmersheaven.com/download/43994/download.aspx
Esimerkissä oleva evaluate -funktio (func.frm:ssa) tekee sen laskennan.- xxxxx
Itse olen tehnyt tuollaisia ohjelmiini jotenkin siten, että ensin etsin ensimmäisen operaattorin ja sitten seuraavan summan.
Koodina jotenkin näin (kotikoneessani ei ole vb:tä, joten en voinut testata asiaa):
dim i as integer, OperaattorinPaikka as integer,Operaattori as string,EdOperaattori$
dim Tulos as double, Luku as double
dim KokoLaskukaava as String'sisältää siis esim 33 4*5
Tulos=0
EdOperaattori$=" "'eka luku aina ynnätään
while kokolaskukaava""
OperaattorinPaikka=0
for i=1 to len(KokoLaskukaava)
operaattori$=mid$(KokoLaskukaava,i,1)
if instr(1," -*/",Operaattori$) then OperaattorinPaikka=i:exit for
next
if OperaattorinPaikka=0 then OperaattorinPaikka=Len(KokoLaskukaava) 1
Luku=val(mid$(KokoLaskukaava$,Operaattorinpaikka-1))
KokoLaskukaava$=mid$(KokoLaskukaava,Operaattorinpaikka 1)
select case EdOperaattori$
case " ":Tulos=Tulos Luku
case "-":Tulos=Tulos-Luku
case "*":Tulos=Tulos*Luku
case "/":Tulos=Tulos/Luku
end select
EdOperaattori$=Operaattori$'seuraavaksi on tämän -*/ vuoro
wend
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Sanna Marin kysyi hämmästyneenä: Onko Suomessa jäänmurtajia?
Nettilehden toimittaja kysyi Sanna Marinilta suoraan, että sovittiinko nuo jäänmurtajien kaupat jo 2019, jolloin Marin k1094282- 1493673
SDP haluaa 40 000 nettomaahanmuuttajaa
SDP:n Suunnanmuutos-vaihtoehtobudjetissa, käy ilmi, että demarit itse asiassa vaativat räjähdysmäistä ”työperäisen” maah883435Mikä tuota vasemmistolaisista jankkaavaa vaivaa?
Pahasti on ihon alle, siis korvien väliin, päässeet kummittelemaan. Ei ole terveen ihmisen merkki jankata yhdestä asia392829- 1291730
Nyt meni lopulliset lämmöt.
Alan käyttäytymään yhtä kylmästi miehiä kohtaan kuin mua kohtaan on käyttäydytty ja vain käytetty viimeiset pari vuotta371558Orpo loukkaantui fasismiin viittaavasta sanavalinnasta
Mutta miksi loukkaantui? Orpohan on tehnyt yhteistyötä fasistien kanssa jo vuonna 2019, siis jo neljä vuotta ennen loukk141201Sulla on avaimet ja keinot
Jos haluat jatkaa tutustumista. Itse olen niin jäässä etten pysty tekemään enää mitään. Pidempi keppi johon on helpompi191184Meitä ei tule
Koska periaatteemme ovat rakkautta vahvempia. Tämä on siis koettelemus, jonka tarkoitus on vahvistaa meitä yksilöinä 😌221144Onko erityinen paikka jossa haluaisit nyt olla
Onko joku spesiaali lempipaikka missä mieluiten olisit?421140