Suoritan visual basicissa yhtteenlaskua, mutta liittää aina luvut peräkkäin.
nautto = summa + nautto
Taas kerrottuna toimii, niinkuin pitääkin...
nautto = summa * nautto
val() -funktio muuttaa sen "luvuksi"
Eli nautto = val(summa) + val(nautto)
Tai määrittele summa ja nautto luvuiksi, nyt ne ovat merkkijonoja. Jos kyse on desimaaliluvuista, Val-funktio toimii oikein vain jos desimaalierottimena on piste.
Voi olla aika kauheaa purkkaa, mutta mikähän tässä takkuaa...
Lisään merkki nimiseen muuttujaan + tai - merkin
Private Sub plus_Click(Index As Integer) summa = nautto nautto = "" merkki = "+" End Sub
Yritän laskea yhteen, niin laittaa vain luvut peräkkäin...
Private Sub yhteensa_Click(Index As Integer) eka = Val(summa) toka = Val(nautto) nautto = eka & merkki & toka End Sub
Jos laitan näin, niin kaikki toimii ok, eli onko tuo merkki muuttuja väärää muotoa, vai mikähän tuossa takkuaa.
Private Sub yhteensa_Click(Index As Integer) eka = Val(summa) toka = Val(nautto) nautto = eka + toka End Sub
SIis kokeiletko pluslaskua tuolla merkki muuttujalla? Vai mitä teet?
Tuollain ei voi laskea (merkki & "+" & merkki)
Joko teet if lauseen (if merkki = "+" then.. jne) tai sitten käytät esim. microsoft script controllia (Ei kannata tuon takia)
Jos haluat vaan "+" -merkin merkkijonoon ja tuo ei toimi, kokeile chr(43)
Kiitokset, tuolla fi lauseellahan sen sai toimimaan. Ei vaan tullut mieleen, että tuollahan se on hyvä toteuttaa...
Aihe on jo aika vanha, joten et voi enää vastata siihen.