Hallo,
ich will ein Programm machen. Es soll Vokabelnabfragen. Ich Programmiere mit Visual Basic Express Edition 2008. Wie muss ich es machen, dass das Programm die Wörter per Zufall heraussucht aber nachher alle dran genommen hat. Und der Computer soll das Wort dann auch vergleichen.
Hallo,
ich will ein Programm machen. Es soll Vokabelnabfragen. Ich
Programmiere mit Visual Basic Express Edition 2008. Wie muss
ich es machen, dass das Programm die Wörter per Zufall
heraussucht
wo heraussucht? Wo möchtest Du die Vokabeln und ihre Übersetzung speichern? Möglich wäre eine Textdatei und alle Vokabeln auf einmal laden. Das bedeutet aber Grenzen bei der möglichen Anzahl an Vokabeln, die müssen dann ja alle auf einmal im Arbeitsspeicher Platz finden.
Wenn es viele Vokabeln werden ist eine Datenbank sicher sinnvoll. Das bedeutet für Dich aber, daß Du erst mal den Umgang mit der Datenbank lernen musst.
aber nachher alle dran genommen hat.
Das würde ich mir überlegen, wenn die erste Frage geklärt ist.
Ich nehem mal den ersten, einfachen Fall: Textdatei.
Dann würde ich die Vokabeln in ein Array laden, die Daten dort mischen, (dafür gibt es einen sehr schnellen Algorithmus) und dann die Felder der Reihe nach abarbeiten. Die Reihenfolge ist dann immer verschieden, jede Vokabel wird nur einmal abgefragt und keine wird vergessen.
Und der Computer soll das Wort dann auch vergleichen.
Das gehört ja zu so einem Programm zwangsweise dazu.
Gruß Rainer
also ich will das in ne Textdatei schriben aber wie muss ich das machen???
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo,
also ich will das in ne Textdatei schreiben aber wie muss ich
das machen???
Die Vokabeln in die Textdatei schreiben würde ich ohne eigenes Programm, einfach mit einem Texteditor.
Wie, ist erst mal Dir überlassen, wenn Du das Programm dann daran ausrichtest. Übersichtlich ist bestimmt, die Vokabel und die Übersetzung jeweils in eine Zeile zu schreiben und ein immer gleiches Trennzeichen dazwischen. Das Zeichen kannst Du Dir aussuchen, es darf nur nicht in den Vokablen auch vorkommen. Etwa ‚#‘ oder *|’ wären gut geeignet.
Gruß Rainer
ich glaube ich hab es falsch erlärt ich meinte ein programm das nur eine Textbox hat und davor ein label in dem alle wörter aus der Textdatei per Zufallsgenerator herausgeholt werden. Und wie amch cih dies???
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo,
ich glaube ich hab es falsch erlärt
Nein, die Erklärung war gut.
ich meinte ein programm
das nur eine Textbox hat und davor ein label in dem alle
wörter aus der Textdatei per Zufallsgenerator herausgeholt
werden. Und wie mach ich dies???
Du lädtst die ganze Datei in den Rechner und legst sie in einem Array ab.
Du weißt was ein Array ist?
Dann ‚mischst‘ Du sie im Array.
Dann zeigst Du die Frage aus dem ersten Feld des Arrays ab und vergleichst die Antwort mit der Lösung.
Dann zeigst Du die Frage aus dem zweiten Feld an …
Weil die Zeilen gemischt wurden, hast Du jedes mal eine andere Reihenfolge und es wird nichts vergessen.
Wie Du die Textdatei lesen kannst findest Du hier:
http://www.vbarchiv.net/tipps/details.php?id=301
OK? Du musst die Zeilen dann nur noch in ein Array schreiben.
Gruß Rainer
nein sry ich weis nicht was ein Array ist.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo!
nein sry ich weis nicht was ein Array ist.
Und wie willst du dann Programmieren?
Du solltest dir zuerst einige Grundlagen erarbeiten.
mfg
christoph
ok aber könntest du bitte trotzdem schriben was das heißt.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo,
nein sry ich weis nicht was ein Array ist.
na dann fangen wir mal ganz von Vorn an, nehmen wir mal nur zwei verschiedene Vokabeln. Die Erste ist der Einfachheit halber ‚Eins‘ und die zweite ‚Zwei‘.
Damit wir damit arbeiten können, schreiben wir sie in Variablen.
Public Class Form1
Dim Wort1 As String
Dim Wort2 As String
Private Sub Button1\_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Wort1 = "Eins"
Wort2 = "Zwei"
End Sub
End Class
Zum Arbeiten ist das etwas unpraktisch, also suchen wir uns etwas, wie wir die ‚gebündelt‘ speichern können.
Dim Wort(1) As String
Private Sub Button1\_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Wort(1) = "Eins"
Wort(2) = "Zwei"
End Sub
Und nun können wir auch in einer Schleife mit einer Variablen als Index auf die Daten zugreifen:
Dim Wort(1) As String
Private Sub Button1\_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer
Wort(1) = "Eins"
Wort(2) = "Zwei"
For i = 0 To 1
TextBox1.Text = Wort(i)
Next
End Sub
OK so weit? Wort() ist das Array.
Aber nun muss ich auch fragen, welchen Teil des Programms möchtest Du schreiben? Das sieht im Moment eher danach aus, daß Du Dir Dein Programm schreiben lässt. Ob Du dabei viel lernst, weiß ich nicht.
Gruß Rainer
Hallo!
Und wie willst du dann Programmieren?
Du solltest dir zuerst einige Grundlagen erarbeiten.ok aber könntest du bitte trotzdem schriben was das heißt.
Ein Array ist eine Datenstruktur die in der Informatik verwendet wird. Meistens werden darin Daten gleichen Typs abgespeichert. Zum Beispiel eine Liste von Namen [Franz, Karl, Rudolf, Josef] oder einfach nur Zahlen [12, -1, 0, 7].
Am Besten du schaust dir einmal diese Tutorialreihe an. Der erste Teil:
http://www.tutorials.de/forum/net-tutorials/189491-v…
Weiterführende Teile davon findest du hier in der unteren Hälfte:
http://www.tutorials.de/forum/net-tutorials/
mfg
christoph
ahhh ok danke.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo,
Ich empfehle dir erstmal das:
http://www.galileocomputing.de/openbook/vb_net/
Ist Super zum lernen und wenns Probleme gibt sind hier Super Leute wir Rainer für uns da!!!
Ich würde das so machen:
Eine Form1 mit dem Hauptschirm (den Trainer)
Eine Form2 zum Vokabeln Verwalten / hinzufügen / löschen / ändern
Dann eine SQL Datenbank mit einer Tabelle mit 2 Spalten Deutsch und English, oder auch mit 10 Spalten dann man Pikinesisch auch dabei:smile:
In der Dokumentation von VS VB Express ist eine genaue Anleitung wie man mit einer Datenbank umgeht.
Denn wenn du zuviele Vokabeln hast also 1000 und mehr und das hast du sicherlich, würde das ganze mit einer Textdatei ziemlich lange dauern.
Ich habe 4 Sachen mit einer SQL schon gemacht und muss sagen das dies im Punkt um aufwand und Verwaltung sehr Praktisch ist.
Außerdem kannst du in Form2 Die Daten super verwalten.
So musst du nicht laufend ins VS Express um mal ein Vokabel hinzuzufügen.
Außerdem kann man dieses Programm dann super Kindern zum lernen geben, weil es einfach zu bedienen ist.
Zudem kann ich sagen das ich mit dem Streamwriter / Reader (Text in eine txt schreiben/lesen.)und co. nicht so gut klar komme, da fällt mir eine Datenbank leichter.
Nette Grüße Sven
hei vielen Dank.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]