Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Case

Sivun loppuun

tesmu [16.10.2004 20:05:14]

#

ELi pitäis tällänen koodi saada jauhamaan looppia

private sub command1_click ( )
static i as integer
i=i+1
select case i
case 1
'tapahtumaa 1
case 2
'tapahtumaa 2
end select
end sub
ni tollanen pitäis saada toimimaan niin että kun viimenen case on toteutunu ni se alkaa alusta

tuomas [16.10.2004 20:10:34]

#

if viimeisen_casen_ehto = true then goto alku

Ja case ykkösen alkuun kirjoitat:

alku:

goto :)

tesmu [16.10.2004 20:18:40]

#

siis selitä tarkemmin if mitä tähän kirjoitan suoraan
ja goto alku: m1h1n

Blaze [16.10.2004 21:16:38]

#

Asetat sen laskurimuuttujan takaisin nollaksi siellä viimeisessä casessa, niin seuraavalla kerralla, kun nappia painetaan se kierto alkaa alusta.

BadSource [18.10.2004 08:31:35]

#

Parempi paikka tarkistaa i:n arvoa on tuon i=i+1:n jälkeen, ennen Select Case i:tä. Eli tarkistetaa jos i>viimeinen case, niin i=1.

rndprogy [18.10.2004 10:08:47]

#

Älä oikeastaan gotoa käytä :). Vaan tee tuo case rotla funktion sisään. Ja ainakun Command1:tä klikkaat se kutsuu funktiota jossa on nuo caset. Ja kun viimeinen case tulee kutsutaan taas funktiota eli funktio kutsuu itseään.

maka78 [18.10.2004 10:41:39]

#

hmm miksi tuo juuri selectillä on pitäny tehdä? Eli onks siihen joku erityinen syy joka ei ilmene tosta sorsasta.

BadSource [18.10.2004 14:13:55]

#

IMHO vaihtoehtoja on enemmänkin kuin vain nuo kaksi. (Toivottavasti!) Muutenhan tuo on tosiaan turha hoitaa noin ja helpommalla pääsisi pelkällä boolean muuttujalla ja If...Then...Else tarkistuksella.

If Boolean_Muuttuja Then
    'True-osa, eli jotain jännää...
Else
    'False-osa, eli jotain muuta yhtä jännää, ellei vielä jännempääkin...
End If
Boolean_Muuttuja = Not Boolean_Muuttuja

Sivun alkuun

Vastaus

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

Tietoa sivustosta