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
339
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
Tällä kertaa Marinia kadehtii Minäminä Päivärinta
Kokoomuksen tyhjäntoimittelija itkeä tuhertaa, kun kansainvälinen superstaramme ei leiki hänen kanssaan. Oikean puoluee4221816Miksi jollain jää "talvi päälle"
Huvittaa kastoa ullkona jotain vahempaa äijää joka pukeutuu edelleen kun olisi +5 astetta lämmittä vaikka on helle keli1851461- 1081402
Miksi koulut pakottavat
Lapset uimaan sekaryhmänä? Murrosikäiset tunnetusti häpeilevät vartalossa tapahtuvia muutoksia. Tulee turhia poissaoloja1441341- 451046
Suomen Pallolitto: Tasoryhmät lasten jalkapallossa - Erätauko-tilaisuus ma 20.5.2024
Tasoryhmät lasten ja nuorten jalkapallossa herättävät paljon keskustelua. Mitä tasoryhmät ovat ja mikä on niiden tarkoit0970- 63956
Mitä et hyväksy miehessä/naisessa josta olet kiinnostunut?
Itse en halua, että miehellä olisi lapsia!119913Susanne Päivärinta kirjassaan: Sannalla nousi valta päähän, Big Time!
Päivärinta toteaa ettei ole nähnyt kenenkään muuttuvan niin totaalisesti kuin Marinin, eikä siis todellakaan parempaan s93900Se katse silloin
Oli hetki, jolloin katseemme kohtasivat. Oli talvi vielä. Kerta toisensa jälkeen palaan tuohon jaettuun katseeseen. Tunt32886