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
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.
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?
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
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.
Aihe on jo aika vanha, joten et voi enää vastata siihen.