[VB6] Vokabeltrainer - Vokabeln aus einem .txt Dokument auslesen?

G3kai

Grünschnabel
Hi
Wie gesagt ich arbeite an einem Vokabeltrainer (Vokabeln Abfragen z.B. Deutsch/Englisch).
So sieht die dazu gehörige Form aus:
http://img91.imageshack.us/my.php?image=bildderformuy7.png
So soll das ganze funktionieren, ist ja klar.
Bei einer Sache bin ich mir aber nicht sicher, wie ich es anstellen soll...
Undzwar müssen die Vokabeln ja irgendwoher geladen werden, das will ich mit einem .txt Dokument lösen:
http://img150.imageshack.us/my.php?image=bildtxtdateizj1.png
Es soll also einen festen Ordner geben, in dem sich für jedes Fach eine .txt Datei befindet.
Darin soll der Benutzer seine Vokabeln eintragen, undzwar nach dem Schema wie auf dem Bild.
(Ich habe gelesen, dass es möglich sei, es so zu machen, nämlich indem man die Wörter durch Zeichen voneinander trennt...)
Zum Bild ist also beispielsweise die erste "Frage" das Wort "Baum".
Der Benutzer muss also bei "Antwort" das Wort "tree" eingeben, damit das label "Richtig!" erscheint und er weitermachen kann.
Will man einen Tipp bekommen (in dem Fall der Anfangsbuchstabe von "tree", also "t"), soll man auf den Button klicken und im "Tipp" Feld erscheint "t".
Soweit dazu.

Aber wie mach ich das ganze?
Wie schaffe ich es, dass Visual Basic aus diesem .txt Dokument (per Zufallsprinzip) eine Vokabel nimmt und gleichzeitig weiß, dass z.B. "Baum:tree#t" zusammengehören, das "tree" die Antwort ist und "t" der Tip?
Ich will ja nicht, dass man bei der Frage "Baum" die Antwort "tree" eingibt, es aber als "Falsch!" angezeigt wird, weil die Antwort von "irgendwo" geladen wird.

Also folgende Fragen:
1)Wie kann man mit VB6 ein .txt Dokument auslesen?
2)Wie kann ich VB6 dazu bringen, dass es weiß, dass "Baum" die Frage, "tree" die Antwort und "t" der Tip ist?


Wäre dankbar für Hilfe, habe mich bei Google umgeschaut (auch nach Beispiel-Codes für Vokabeltrainer mit VB6), auch einiges gefunden, aber nicht wirklich Antworten auf meine Fragen.
MfG
G3kai
 
In deinem Fall würde ich den Lernstoff komplett laden und in ein Array splitten:
Visual Basic:
'in ein Modul
'Global mal das Array anlegen
Dim sZeilen() as String

'dann eine Funktion zum Laden
Public Function fLoadData(ByVal sFilename As String)
 Dim iFile As Integer, sInhalt As String
 'Dateigröße feststellen und Platz reservieren
 sInhalt = Space(FileLen(sFilename))
 'Freie Dateinummer
 iFile = FreeFile
 'Datei binär zum Lesen öffnen
 Open sFilename For Binary Access Read As iFile
  'und die Datei gesamt auslesen
  Put #iFile, , sInhalt
 Close iFile
 'Jetzt trennen wir die Datei in Zeilen auf
 sZeilen = Split(sInhalt, vbNewLine)
End Function

So hast du ein Array mit deinen Daten, in jeder Zeile stehen die zusammengehörigen Daten.

Ich würde dir zur Erleichterung vorschlagen, das Datenformat in der Zeile etwas anders zu wählen, besser wäre das z.B. so:
Dann wäre der nächste Schritt, nämlich die Anzeige etwas leichter:
Visual Basic:
'in deiner Sub, in der du die Daten anzeigen willst
Dim lVokabel As Long, sVokal() As String
lVokabel = 2 'hier nur exemplarisch, um einen Zufallswert festzulegen, der nicht größer sein darf als die Anzahl der Zeilen im Array - 1
'hier lese ich die Zeile aus und trenne das ganze auch gleich am Doppelpunkt
sVokabel = Split(sZeilen(iVokabel), ":")
'jetzt schreibe ich die einzelnen Textboxen
txtFrage.Text = sVokabel(0)
txtHint.Text = sVokabel(2)
'in sVokabel(1) befindet sich noch die Antwort, mit der kannst du die Eingabe prüfen


Der Doc!
 
Zurück