Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Ohjelman kielen muuttaminen ajon aikana

Sivun loppuun

Basic 6.0 [05.03.2005 11:37:48]

#

Miten voisi muuttaa ohjelman tekstien kieltä ajon aikana esim. jos Comboon valitsisi kieleksi englanti, niin kaikki sanat ohjelmassa muuttuisivat englanninkielisiksi.

hunajavohveli [05.03.2005 11:48:48]

#

Luot Combo_Click()-prosedurin, joka suoritetaan aina arvon vaihtuessa. Sitten tarkistat, onko kieleksi valittu englanti, ja jos on, niin sitten suoritat koodin, jtka vaihtaa kaikki sanat formin otsikkopalkissa ja missä niitä ikinä onkaan englanniksi.

Basic 6.0 [05.03.2005 11:52:37]

#

Voisiko saman tehdä Combo_Change() proseduurilla

sooda [05.03.2005 11:53:20]

#

Tee suuren iso taulukko jossa on jokainen teksti mitä ojhelmaan tulee ja muutat kontrollien captioneita ym sen mukaan mikä on käytössä, esimerkki

Public Enum TEKSTITUNNISTEET
    OTSIKKO
    KIELENVAIHTO
    ' tähä voi lisätä lisää
End Enum

Public Enum KIELET
    SUOMI
    ENKKU
End Enum

Public Const KIELETYHT = 2 ' kielien määrä
Public Const TEKSTITYHT = 2 ' TEKSTITUNNISTEET:n määrä, varmaan toho on joku funkkariki
'joka kielelle omat tekstit
Public Tekstit(KIELETYHT - 1, TEKSTITYHT - 1) As String

Sub AlustaTekstit () ' tekstien alustaminen
    'tässä sitte vaik jotain tyylii näin
    Tekstit(SUOMI, OTSIKKO) = "Ohjelma"
    Tekstit(ENKKU, OTSIKKO) = "Program"
    Tekstit(SUOMI, KIELENVAIHTO) = "Vaihda kieli"
    Tekstit(ENKKU, KIELENVAIHTO) = "Change language"
End Sub

Sub VaihdaKieli (MikäKieli As KIELET) ' tätä kantsii kutsua sitte kun combosta vaihtaa jotain
    ' ja tässä sitte luupataan joka kontrolli läpi ja vaihetaa mömmöi
    ' esim:
    OtsikkoLaapeli.Caption = Tekstit(MikäKieli, OTSIKKO)
    KielenVaihto.Caption = Tekstit(MikäKieli, KIELENVAIHTO)
End Sub

En sitte tiä onks syntaxivirheitä tms, hatusta, mut jotenki tohon tyyliin tekisin...

Basic 6.0 [05.03.2005 11:56:44]

#

Public Const KIELETYHT = 2
Public Const TEKSTITYHT = 2

Oisko tossa syntaxvirhe
vb6 näyttää että ei käy

sooda [05.03.2005 12:06:36]

#

Aini unohtu sanoa että laita motuuliin kaikki noi. Ja kun vb6 sanoo virheen ni sitte se kyllä sanoo kans miksi virhe...

Basic 6.0 [05.03.2005 12:08:26]

#

Kun laitan Combon tekstiksi enkku ja koodiin VaihdaKieli, niin vb sanoo: Error 449: Argument not optional

Sami [05.03.2005 12:12:25]

#

Tai sitten voit kokeilla ladata tiedostosta uuden kielen ja laittaa nämä taulukkoon edellisen kielen päälle, jolloin tarvitsisit vain yhden taulukon ja kielten lisäämisenkin luulisi helpottuvan, kun koodiin ei tarvitsisi koskea uutta kieltä lisätessä.

sooda [05.03.2005 12:29:26]

#

Joo o, filua tosiaan kannattaisi käyttää tarkemmin ajatellen... Sitte vois käyttäjät tehä omiaki kieliä =) Teet vaan taulukon jossa ei ole noita kieliä, ton mun enummin voi säilyttää, helppo, mut lataat vaan filusta rivi kerrallaan ne tekstit. Ja VaihdaKieli haluu argumentin mikskä kieli vaihdetaan :)

Basic 6.0 [05.03.2005 12:38:09]

#

Tehdään näin.


Sivun alkuun

Vastaus

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

Tietoa sivustosta