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
if viimeisen_casen_ehto = true then goto alku
Ja case ykkösen alkuun kirjoitat:
alku:
goto :)
siis selitä tarkemmin if mitä tähän kirjoitan suoraan
ja goto alku: m1h1n
Asetat sen laskurimuuttujan takaisin nollaksi siellä viimeisessä casessa, niin seuraavalla kerralla, kun nappia painetaan se kierto alkaa alusta.
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.
Ä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.
hmm miksi tuo juuri selectillä on pitäny tehdä? Eli onks siihen joku erityinen syy joka ei ilmene tosta sorsasta.
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
Aihe on jo aika vanha, joten et voi enää vastata siihen.