Sprachdatei einbinden

  • VB6

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Pascal.

    Sprachdatei einbinden

    Hi,
    ich würd gern ne Sprachdatei in mein programm einbinden. Nur wie mach ich das am besten? ICh müsste des ja bei jedem initialisieren einer form die beschriftung aus der datei auslesen. Hat jemand ne idee wie das am einfachsten geht?

    gruß, homedom
    Also hab des jetzt geschafft. Nurnoch ein problem bleibt.
    Ich mach des mit nem Split befehl. Aber der hat Probleme wenn im Satz den er splitten soll n komma vorkommt. was kann man da machen? Das komma ist wichtig für das verständnis des Satzes. Kann mir da jemand helfen?

    a = Split(s, "#")

    gruß, homedom

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Homedom“ ()

    Wieso hat er da Probleme? Das kann doch garnicht sein (es sei denn, du benutzt das Komma als Trennzeichen).

    Richtigerweise würde man das ganze übrigens über Resource-DLLs lösen, d.h. DLL Dateien mit String-Tabellen.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Also ich hab ka wieso das ent funzt. Also fehler kommt
    Laufzeitfehler 9
    Index außerhalb des gültigen Bereichs

    Wie meintest du da mit den dll's? Ich hab dich grad im
    ICQ geaddet. Bitte erklär mir des mal genauer wenn due wieder on bist..

    gruß, homedom
    Ich persönlich bin ja gegner von String-Tabellen, weil die benutzer nicht ihre eigenen Sprachen machen können ...

    Mit ner INI-Datei würde das ca. so gehen:

    Visual Basic-Quellcode

    1. Private Sub Command1_Click()
    2. Dim Path as String
    3. 'Auswahlcode für die Sprachdatei
    4. 'Path (Pfad) setzen
    5. Dim File as Integer
    6. Dim Line as String
    7. Dim LineArr () as String
    8. File = Freefile
    9. Open Path For Input as #File
    10. While not EOF(File)
    11. Line Input #File, Line
    12. LineArr = Split(Line, "=", 2)
    13. If Ubound(LineArr) = 1 then
    14. LineArr(0) = lcase(RTrim$(LineArr(0)))
    15. LineArr(1) = LTrim$(LineArr(1))
    16. Select Case LineArr(0)
    17. case "command1"
    18. Command1.caption = LineArr(1)
    19. case "command2"
    20. Command2.caption = LineArr(1)
    21. ' ...
    22. End Select
    23. End If
    24. Wend
    25. Close #File


    Wenn der Switch-/SelectCase-Block zu lang ist, kannst du auch GetObjectByName verwenden...
    Das Steht glaub ich irgendwo im FAQ-Bereich
    Ich kann nur folgendes dazu sagen, ohne mich jemals intensiv damit befasst zu haben : die .res-Dateien, sprich Ressourcendateien, sind um mehrere Sprachen in einem Programm verwenden zu können.

    Microsoft weiß da sicher näheres, ich habe mich bisher nie dafür interessiert.