Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: [VB6] Select Case- ja If-kysymys

rautamiekka [24.06.2007 15:37:55]

#

Onko mahdollista että Select Casen jälkeen tulevaan Case 1:seen olisi yhdistetty Case Else ? Entä onko mahdollista että If:fiin olisi yhdistetty ElseIf ? Eli näin

Select Case jotain
Case 1 ja Case Else yhdistettynä


If jotain ja ElseIf yhdistettynä

Näin koodia ei tarvitsisi toistaa

nomic [24.06.2007 15:46:32]

#

Miten olisi tämmöinen tapa:

Private Sub Form_Load()
Select Case jotain
    Case 1: aliohjelma 'hypätään aliohjelmaan
    Case Else: aliohjelma 'hypätään samaan aliohjelmaan
End Select
End

End Sub

Sub aliohjelma()
    MsgBox "tapahtuma" 'täällä sitten hoidetaan se, mitä pitää tapahtua
End Sub

Yleensäkin itselläni on tapana, että kaikki tapahtumat on funktioita, tai aliohjelmia, näin vältetään toistamista ja voidaan tarvittaessa käyttää jatkossakin samaa metodia.

Antti Laaksonen [24.06.2007 16:00:59]

#

Jos "Case 1" ei esiinny aiemmin, niin "Case Else" kattaa myös sen. Voisitko näyttää käytännön tilanteen, jossa koodia joudutaan toistamaan, niin voidaan miettiä siihen parempaa ratkaisua?

rautamiekka [24.06.2007 17:30:57]

#

Yritän saada ohjelmani vaihtamaan kielensä sen mukaan mikä on tunnistettu käyttiksen kieli ja valittu ohjelman kieli. Toteutin ohjelman vaihtamaan toisen formin tekstejä joka on hidasta toimimaan ja tätä Select Case- tai If-tapaa voisi käyttää edellisen formin painikkeen sijasta kyseisen formin Load-ohjelmassa. Nomicin idea toimii jos kutsuu samalla formilla olevaa aliohjelmaa ja toisen aliohjelman suorittaminen on hidasta myös. Käytössä ovat muuttujat DetectedLanguage (tunnistettu käyttiksen kieli) ja Language (nykyinen ohjelman kieli).

If DetectedLanguage = "English" tai "Finnish" then - <-noin kutsutaan tuota DetectedLanguagee

Antti Laaksonen [24.06.2007 23:02:06]

#

rautamiekka kirjoitti:

Toteutin ohjelman vaihtamaan toisen formin tekstejä joka on hidasta toimimaan - -

Ei sen kyllä pitäisi olla kovin hidasta, tekstejä pitäisi voida muutella mielin määrin ilman, että ohjelmassa huomaa mitään hitautta. Jos ohjelma todella on hidas, syy lienee jossain muualla. Ainakaan ehtorakenteita järjestelemällä tilanne ei parane.

Vastaus

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

Tietoa sivustosta