Label captions in externe file opslaan?

Status
Niet open voor verdere reacties.

Jan Van Haaren

Gebruiker
Lid geworden
27 okt 2002
Berichten
202
Hoi,

Weer een vraagje van mij ja :o
Is het mogelijk om de captions van de "Labels" van form in bijvoorbeeld een TXT file op te slaan?
Zodat als je een woord veranderd in de TXT het ook veranderd op het label? (is handig ivm meertaligheid van programma's)

Groeten, Jan
 
bedoel je dat bij het opstarten van het programma de teksten van de labels van de tekst file gelezen worden en die op de labels geplaatst moeten worden ? Zo ja, zoiets als dit: (labels hebben dus prefix lbl)

tekst file heet dus labels.txt en bevat hier twee regels tekst.


Option Explicit

Private Sub Form_Load()
Dim tekst As String

Open "c:\labels.txt" For Input As #1

Input #1, tekst
lblEerste.Caption = tekst
Input #1, tekst
lblTweede.Caption = tekst

Close #1

End Sub
 
Bedoel je het zo?

Sorry, het zal aan mij gelegen hebben wanneer ik de strekking
van jouw vraag verkeerd heb begrepen.

Je kunt de teksten ook in de vorm van variabelen rechtstreeks
in het RAM (d.m.v. de Dim statemnet) plaatsen i.p.v. door
de teksten uit een bestand te laten inlezen.
Dit gaat sneller. Natuurlijk is het zo, dat wanneer je een
wijziging/aanvulling v.d. teksten wilt maken je dan in de
source moet zijn i.p.v. in het bestand. Er zijn gevallen, dat het
gebruik v.e. extern bestand wel per sé moet. Het hangt er in jouw
geval dus van af wat je ermee precies wilt doen. Wanneer je
niet overmatig aan labels gebruikt en is het programma ook alleen
voor eigen gebruik bedoeld, dan kun je gewoon de teksten in de source
van jouw programma gebruiken.

Eén van mijn programma's maakt gebruik v.e. extern bestand.
Het betreft hier een vrij groot .hlp bestand.
(Gemaakt met het Third Party utility wysidet.exe)

Hieronder is misschien wat je zoekt:

1) Dimensioneer eerst de array-variabelen (in ram plaatsen) in
General Declaration.
2) Het toekennen van (o.a.) de array-variabelen in Form_Load.
3) Een toggle knop maken om van taal te switchen.

Code:
Option Explicit
Dim Toggle, Teller As Integer
Dim Nederlands(3) As String
Dim Engels(3) As String
Dim Duits(3) As String

Private Sub Form_Load()
    Nederlands(0) = "één"
    Nederlands(1) = "twee"
    Nederlands(2) = "drie"

    Engels(0) = "one"
    Engels(1) = "two"
    Engels(2) = "three"

    Duits(0) = "eins"
    Duits(1) = "zwei"
    Duits(2) = "drei"

    lblOpschrift(0) = "één"
    lblOpschrift(1) = "twee"
    lblOpschrift(2) = "drie"

    btnToggle.Caption = "&Nederlands"
    btnToggle.BackColor = &H80FF&

    Toggle = 1
End Sub


Private Sub btnToggle_Click()
    Select Case Toggle
        Case 0
              For Teller = 0 To 2
                   lblOpschrift(Teller).Caption = Nederlands(Teller)
                   btnToggle.Caption = "&Nederlands"
                   btnToggle.BackColor = &H80FF&
              Next Teller
        Case 1
              For Teller = 0 To 2
                   lblOpschrift(Teller).Caption = Engels(Teller)
                   btnToggle.Caption = "&Engels"
                   btnToggle.BackColor = &H808000
              Next Teller
        Case 2
              For Teller = 0 To 2
                   lblOpschrift(Teller).Caption = Duits(Teller)
                   btnToggle.Caption = "&Duits"
                   btnToggle.BackColor = &HFF&
              Next Teller
    End Select
   Toggle = Toggle + 1
   If  Toggle > 2 Then
        Toggle = 0
   End If
End Sub
 
Laatst bewerkt:
Bedankt beide ;)

Kan je ook zo bijvoorbeeld de inhoud van de lijst van een Combo of Listbox in een TXT opslaan? :)
 
Geplaatst door Jan Van Haaren
Bedankt beide ;)

Kan je ook zo bijvoorbeeld de inhoud van de lijst van een Combo of Listbox in een TXT opslaan? :)

het wegschrijven van een variabele weet je al. De inhoud van een list box aan een variabele toewijzen doe je door middel van:

variabale = listbox.list(x)

waarbij x een nummer is van 0 tot aantal listboxen - 1

het is makkelijk om hier dus een loop van te maken.

als het zo niet duidelijk is wil ik wel wat specifieker zijn. Maar wat voor programma wil je eigenlijk maken ??
 
Sorry, begrijp het niet helemaal.

Ik ben bezig aan een programmaatje dat wat waardes kan veranderen en toevoegen et cetera in files van een game...
 
nou

bla = List1.List(0)

de variable bla bevat de de eerste tekst in de listbox met naam List1.

Het wegschrijven van de variabele bla hebben we toch al besproken ?? print #1, bla !!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan