Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Hermot!!!

Sivun loppuun

musse89 [12.01.2006 22:59:49]

#

Vitsi ku menee hermot tän kaa ku ei oo mitää hajuu miss mättää...

Private Sub cmdpaina_Click()


'määritetään muuttujat

Dim syntynmvuosi1 As Integer

syntymävuosi = InputBox("anna syntymävuosi1")

Dim syntymävuosi2 As Integer

syntymävuosi = InputBox("anna syntymävuosi2")

'lasketaan vuodet

 vuosi = syntymävuosi1 - syntymävuosi2

'määritetään ikä

If ikä And 18 Then
    MsgBox ("olet alaikäinen")

End If

If ikä And 20 Then
    MsgBox ("olet täysiikäinen")

End If

If ikä And 0 Then
    MsgBox ("ei syntynyt")

End If

If ikä And 150 Then
    MsgBox ("ei syntynyt")

End If


    End Sub

Metabolix [12.01.2006 23:03:46]

#

Kun kirjoittaisi niihin syntymävuosiin kysymiskohdassakin numerot perään, että menisi muuttujien nimet oikein, niin voisi tulla oikeisiin muuttujiin luettua arvot. Sitä paitsi ensimmäisessä Dim-lauseessa on taar erilainen nimi muuttujalla.

Edelleenkin lasket erotuksen muuttujaan vuosi ja käytät vertailuissa muuttujaa ikä, vaikka olen siitä jo kaksi kertaa huomauttanut. Ja erotuksessa pitäisi varmaankin muuttaa tekstinä luetut asiat ensin luvuiksi Val-funktiolla (käytä hakua). Mutta en tuota InputBoxia tunne, joten tässä voin erehtyäkin.

Varmaankin kannattaisi laittaa päälle se optioni, ettei määrittelemättömiä muuttujia voi käyttää.

Ennen kaikkea, lue koodisi läpi kirjain kirjaimelta ja korjaa typot! Minnekään ei pääse vain arvailemalla ja heittämällä satunnaisia muutoksia, kuten nuo And-operaatiot entisten vertailujen paikalla. Ne eivät nimittäin tuota haluttua tulosta.

Propsit harvinaisen kuvaavasta otsikosta. Varmasti menee hermot, muillakin kuin sinulla. Ottaisit suosiolla oppaan esille ja opettelisit itse hieman perusasioita ja koodin tarkistamisen taitoa.

musse89 [12.01.2006 23:09:39]

#

No mie yritän vaikka oon täss koht melkein koko päivän yrittäny vääntää tätä koodia...:D

Metabolix [12.01.2006 23:25:40]

#

Niin, olen huomannut.

Teepä ihan niin yksinkertaisesti, että aloitat aivan alusta. Pyyhi koko tuo buginen roska pois, kirjoita vaihe kerrallaan kommentit, mitä pitäisi tehdä, ja sitten ala kirjoittaa vastaavaa koodia.

KeKimmo [12.01.2006 23:29:17]

#

Tuo vaikuttaa epäilyttävästi koulutehtävältä. Jos näin on, kehotan kysymään opettajalta.

Juhisl [13.01.2006 10:55:25]

#

Kannattaa general osioon kirjoittaa Option Explicit. Kirjoitusvirhe kannattaa korjata muuttujasta syntymävuosi1 tällä hetkellä se on sinulla syntynmvuosi1. Samoin kuin määritellä kaikki muuttujat.
Option Explicit auttaa sinut alkuun.

Merri [13.01.2006 16:44:44]

#

Ongelmahan on tuossa And-vertailussa, joka on sitä binääritason vertailua, josta oli jo selvennys aiemmin aloittamassasi keskustelussa. Se ei toimi aivan sillä tavalla kuin nyt oletat.

NanoSoft [13.01.2006 17:23:52]

#

eikö olisikin melko ovelaa katsoa sieltä alhaalta sitä error outputtia ja korjata ne?

Tumppu [16.01.2006 17:49:21]

#

vuosi kannattaa vaihtaa ikään.. ;D

NanoSoft [19.01.2006 15:59:48]

#

huvittava ohjelmoija... kokeile tehä toi kokonaan uusiks! Ei ainakaan tarvii kirjottaa niin paljoo ku jos alkais korjailemaan :P


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta