Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Kielipaketit?

Jamma [04.07.2003 22:28:14]

#

Jäin vähän ohjelmani kanssa jumiin koska en viitsi tehdä sitä eteenpäin, että ei sitten tule jälkeenpäin helvetisti korjattavaa kun ajattelin tehdä kielipaketit ohjelmaan.

Kysymys kuuluukin, että miten toteutetaan kielipaketit ohjelmaan? Jos sais jotain examplea? Siis jotenkin tyyliin form1.label = paketti(0) text1.text = paketti(1) hakis tiedostosta rivien mukaan tms..

Jos sais vähän apua :)

trinit [05.07.2003 11:53:03]

#

Onnistunee resurssitiedostoilla, löytyy myös opas https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=rest .Tarkemmin en sitten osaa kertoa :)

Antti Laaksonen [07.07.2003 16:25:42]

#

lainaus:

Kysymys kuuluukin, että miten toteutetaan kielipaketit ohjelmaan? Jos sais jotain examplea? Siis jotenkin tyyliin form1.label = paketti(0) text1.text = paketti(1) hakis tiedostosta rivien mukaan tms..

Yksi ratkaisu on yksinkertaisesti lukea tiedostosta kaikki ohjelman tekstit taulukkoon, ja sijoittaa tekstit oikeisiin kontrolleihin ja viesti-ikkunoihin ohjelman ajon aikana. Esimerkiksi fi.lan voisi sisältää suomenkieliset tekstit, en.lan englanninkieliset, jne. - näitä tiedostoja voivat ohjelman käyttäjätkin itse luoda.

Tämän tapaista koodia kannattaa laittaa moduuliin:

Public tekstit(1000) As String

'aliohjelma, joka lataa tietyn kieliset tekstit taulukkoon
Sub LataaTekstit(kieli As String)
   Dim i As Integer, rivi As String
   Open kieli & ".lan" For Input As #1
   Do Until Eof(1)
      Input #1, rivi
      tekstit(i) = rivi
      i = i + 1
   Loop
   Close #1
End Sub

Formien Load-aliohjelmat näyttävät sitten tältä:

Sub Form_Load()
   Label1.Caption = tekstit(5)
   Label2.Caption = tekstit(6)
   Command1.Caption = tekstit(7)
End Sub

Ja jonnekin asetusvalikkoon kannattaa vielä laittaa mahdollisuus valita käytettävä kieli (hienointa on, jos ohjelma lukee hakemiston kaikki .lan-tiedostot, ja näyttää ne vaikka alasvetovalikossa).

Vastaus

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

Tietoa sivustosta