Laden...

Projekt: Vokabeltrainer

Erstellt von Gaahl Infernus vor 14 Jahren Letzter Beitrag vor 14 Jahren 3.774 Views
Gaahl Infernus Themenstarter:in
23 Beiträge seit 2009
vor 14 Jahren
Projekt: Vokabeltrainer

Hallo zusammen,

pünktlich zum 24. Dezember möchte ich mein mitlerweile (für mich) gut brauchbares Projekt vorstellen und gleichzeitig allen Forumnutzern zur Verfügung stellen.

Ich möchte hier nicht nur das fertige Programm, sondern mein gesamtes Projekt einstellen, da ich hoffe dass ich interessierten Usern mit dem Einblick in das Projekt helfen kann (zB. wie wurde was umgesetzt?).

Dabei möchte ich allerdings sagen, dass dies mein erstes eigenständiges Projekt ist. Ich behaupte nicht, dass es perfekt programmiert ist, im Gegenteil. Ich bin sicher, manche werden sich über einige Lösungsarten wundern 😃 . Nichts destotrotz denke ich, dass gerade Entwickler mit meinem Niveau etwas lernen können. Ansonsten können alle das Projekt nutzen, um Vokabeln zu lernen 😃

Das Projekt:
Es handelt sich hierbei um einen Vokabeltrainer, bei dem der User selbst Vokabellisten erstellt. Diese Listen werden nach einem bestimmten Lernverfahren abgefragt.

Das Lernverfahren
Das Verfahren stammt nicht von mir selbst, sondern dieses habe ich von einer anderen Homepage (www.my.dict.cc) weitgehend übernommen. Auf dieser Homepage wollte ich Vokabeln lernen, doch wurde ich schnell aus Gründen, die ich nicht nennen will, sauer. Auf alle Fälle dachte ich mir dann: Wenn du willst, dass etwas richtig funkioniert, programmiere es selbst! Und so habe ich es auch gemacht.

Mein Verfahren, ähnlich dem der genannten Homepage, funktioniert wie folgt:
Es gibt vier sogenannte "Lernboxen". Hat der Benutzer eine Vokabelliste angelegt befinden sich zunächst alle Vokabel in dieser Liste in Lernbox vier. Es werden nun alle Vokabeln der vierten Box gefragt. Bei einer richtigen Antwort wird das entsprechende Vokabel eine Lernbox weiter versetzt, hier also in Box drei. Ist die Liste einmal durchgefragt worden, beginnt sie von neuem. Dabei gilt: Befinden sich immernoch Vokabelnin Box vier, werden erst alle diese gefragt, bis die Box leer ist. Ansonsten wird die Box 3 durchgefragt.

Ziel ist es nun, alle Vokabeln in Box eins zu bringen. Wird ein Voabel allerdings falsch beantwortet bzw. nicht gewusst, wird es wieder in Box vier versetzt. Damit werden Vokabeln, die der Nutzer nicht so gut kennt öfter gefragt als diese, die er gut kennt.

Die Oberfläche
Die Oberfläche hat einen eigenen, vielleicht gewöhungsbedürftigen Style. Das liegt daran, dass dies mein erstes Windows Forms Projekt ist, und ich viel ausprobiert und "gespielt" habe. Im Hauptfenser werden die Vokabellisten gelernt. Die Buttons haben alle Tooltips um etwas Benutzerfreundlich einzubringen. Alle Ausgabetexte können derzeit in deutsch und englisch angezeigt werden. Es soll noch spanisch hinzukommen.

Von hier aus kann der Nutzer neue Vokabellisten erstellen, dazu wird ein weiteres Fenster aufgerufen. Sollte eiglich dann alles selbsteschreibend sein. Die Listen selbst werden in XML Dateien gespeichert. Ebenso können im Hauptfenster Listen geladen und gespeichert werden. Listen können ebenfalls editiert werden. Dazu wird wieder in das zweite Fenster gewechselt.

"Features"
Bisher können Vokabellisten in Kombinationen der folgenden Sprachen angelegt werden: Deutsch, Englisch, Spanisch und Schwedisch. Generell ist es möglich, alle denkbaren Kombinationen anzulegen. Die genannten werden unterstützt, d.h. die Ausgaben werden entsprechend angepasst.

So, ich denke den Rest des Programms sollte man bein Nutzen desselben kennenlernen, bzw. beim Quellcode lesen.

Des weiteren möchte ich allen Nutzern danken, die meine Frage im Forum beantwortet haben, bzw. die zu deren Antwort beigeholfen haben. Denn die meißten Fragen bezogen sich auf Probleme, die ich während des Erstellens des Vokabeltrainers kennenlernte. Vielen Dank!!

Falls ihr Kritik, Lob oder sonstige Feedbacks habt würde mich das sehr freuen, bin ich doch jemand, der immer etwas lernen und perfektionieren möchte!

Soweit so gut, frohe Festtage und einen guten Rutsch möchte ich hier auch noch wüschen! 😃

Gruß Gaahl

Vorige Version: Setup.zip (554,23 KB, 40 mal heruntergeladen)

1.820 Beiträge seit 2005
vor 14 Jahren

Hallo!

@Gaahl Infernus:
Hab' mir dein Projekt noch nicht angeschaut, aber folgende Anmerkung habe ich:
Ein Setup-Projekt ist zwar schön und einfach, allerdings würde mir persönlich auch die Exe und die zum Lauf benötigten Assemblies reichen. Der Hintergrund ist der, dass ich nach Test der Anwendung die Deinstallation starten muss, welche in der Regel nicht direkt übers Programm-Menü sondern umständlich über die Systemsteuerung zu starten ist. Weiterhin muss ich anschließend kontrollieren, ob auch wirklich alle Unterverzeichnisse und angelegten Dateien gelöscht wurden und das ist mir ehrlich gesagt für so einen kurzen Test zu viel Aufwand.
Ein einfaches Zip, welches ich schnell mal in ein Unterverzeichnis auf dem Desktop entpacke, Programm starten, testen und anschließend einfach das Verzeichnis löschen, das würde mir reichen.
Wenn es denn wirklich ein Setup sein muss, wäre ein entsprechender Hinweis nett, welcher die Gründe aufzählt.
Das ist aber nun keine Kritik, eher eine Anmerkung, kann ja durchaus sein, dass ich damit alleine stehe.

Nobody is perfect. I'm sad, i'm not nobody 🙁

1.820 Beiträge seit 2005
vor 14 Jahren

Hallo!

@Gaahl Infernus:
Hab' das Projekt mal getestet:

  1. Nach der Installation finde ich keinen Eintrag im Startmenü. EDIT: Hab' gerade gesehen, auf dem Desktop wird ein Symbol erstellt.
  2. Gut ist die mehrsprachige Oberfläche
  3. Vom Programm während des Betriebs erstellte Dateien gehören NICHT ins Programmverzeichnis. Dafür gibt es "Dokumente und Einstellungen...", erreichbar in C# über System.Environment.GetFolderPath((Environment.SpecialFolder....). EDIT: "Liste öffnen" zeigt mir "Eigene Dateien"
  4. Schön wäre ggf., dass man selbst angeben kann, welche Sprachen Quell- und Zielsprache haben sollen (also z.B. eine editierbare Combobox). DIe später angezeigten Flaggen kann der Benutzer ja dann selbst einpflegen, falls diese noch nicht im Programm sind.
  5. Beim ersten Start sollte das Programm evtl. darauf hinweisen, dass man zunächst eine neue Liste erstellen kann.
  6. In der Ansicht "Liste editieren" ist nicht zu erkennen, welche Buttons deaktiviert sind. Diese sollten ausgegraut werden.
  7. Interessant sind die sprachspezifischen Sonderzeichen-Buttons
  8. Wenn ich das Programm ohne "Liste speichern" beende, werde ich nicht auf Änderungen hingewiesen, die ggf. noch zu sichern wären. Eine Liste wird aber dennoch angelegt, nur ohne meine Vokabeln. Erst beim erneuten Laden und editieren der Liste funktioniert es.
  9. Die Einstellung der Frontend-Sprache wird nicht gespeichert.
  10. Hat sich erledigt.
  11. Für das Anlegen neuer Vokabeln muss ich vorhandene überschreiben und dann "Hinzufügen" wählen. Ist zumindest für mich verwirrend.
  12. Bei der Deinstallation wird wider erwarten auch das Programmverzeichnis gelöscht (obwohl neue Dateien erstellt wurden). Das ist an sich erstmal OK, allerdings sind im Programmverzeichnis auch die Listen gespeichert (siehe Punkt 3) und wären somit ebenfalls weg.

Nobody is perfect. I'm sad, i'm not nobody 🙁

Gaahl Infernus Themenstarter:in
23 Beiträge seit 2009
vor 14 Jahren

Hi tom-essen,

vielen Dank für dein Feedback!

Wie bereits gesagt, handelt es sich um ein 'gut brauchbares Projekt' bzw. Programm. Sinn und Zweck war für mich das Kennenlernen der Windows Forms sowie generelle Erfahrung sammeln. Aber dann ist aus dem Vokabeltrainer eben etwas größeres geworden, was ich auch gut finde. Wie du schon bemerkt hast, gibt es noch ein paar kleinere bis größere Mängel. Zu deinen Punkten will ich mein Sandpunkt abgeben:

Zum Punkt Setup-Projekt:

Zum eine habe ich das vorher noch nie gemacht, und wollte es kennenlernen, zum anderen will ich den Trainer tatsächlich einer bekannten geben, die ihn nutzen will. Für sie ist ein Setup Programm notwendig.
Um spätere Pojekte hier vorzustellen, werde ich über dein Vorschlag der dll Datei nachdenken. (Hab ich noch nicht ganz begriffen, und weiss nicht, wo ich die dll Datei finden kann)

Punkt 1: Einträge im Startmenü finde ich persönlich nicht gut, daher eben der Desktop Link. Hier wäre ein Verbesserungsvorschlag sicherlich, dies den Benutzer bei der Installation entscheiden zu lassen.

Punkt 3: Vielen dank, wusste ich nicht 😉

Punkt 4: Ich bin nicht sicher, ob ich dich hier richtig verstehe. Meinst du, man sollte nicht nur eine bestehende Liste auswählen können, sondern zwei Comboboxen zusätzlich haben in denen man zwei Sprachen wählen kann, anhand derer passende Listen gesucht werden? Oder meinst du, dass man bei bestehende Listen beim Editieren die Sprachen ändern kann?
Ich denke, dass diese 'Einstellung' fix ist, und diese beim Erstellen entschieden wird... Denkbar wäre nur, dass der Nutzer alle Vokabeln einer Liste löscht, und neue einer anderen Sprache hinzufügt. Aber dann kann er ja gleich eine neue erstellen.

Oder ich verstehe garnicht, was du meinst 😉

Punkt 5: Ja, das stimmt wohl. Man wird ins kalte Wasser gewofen. Entweder ein Hinweisfenster beim ersten Start, oder so etwas wie eine Hilfe- oder Infodatei, die man direkt aufrufen kann. Auf jeden Fall Verbesserungsbedarf vorhanden, danke!

Punkt 6: Auch wahr, muss ich noch mehr spielen um Verbesserung zu erhalten.

Punkt 7: Hier gehören noch ein paar mehr hin, beispielsweise das spanische 'ñ'. Je nach aktiver Liste werden entsprechende Buttons enabled/disabled.

Punkt 8: Ich denke bei Änderungen wird immer gefragt, ob gespeichert werden soll, wenn dies beim Beenden notwendig ist. Du hast bestimmt eine neue Liste erstellt; wenn man dies macht, schliest man dies mit dem Button 'Liste anlegen' ab. Daraufhin erscheint der Speichern unter-Dialog. Dann sind ja alle 'Änderungen' gespeichert. Dass eingetragene Vokabeln nicht da sind ist mir neu, werd ich mal untersuchen. Aber auch hier danke, alle Bugs müsse raus 😃.

Punkt 9: Was ist die Frontend Sprache? Diejenige, die als letztes vom Nutzer eingestellt wurde?

Punkt 10: Hier ist dein Satz unvollständig.

Punkt 11: Ja verstehe was du meinst. Generell ist das der tatsächliche Ablauf.. Man kann es auch so sehen: Man leert alle Textboxen, hat somit ein neues 'leeres' Vokabel. Nach Vornehmen neuer Einträge kann man es hinzufügen.
Aber ja, vielleicht auch hier einfachere, bessere und weniger verwirrende Vorgehensweise angebracht...

Punkt 12: Ja auch wahr. Hier ist eben die Lösung, die Listen nicht im Programmverzeichnis zu speichern.

So, dann gibt es noch einiges zu tun 😃 Aber vielen Dank für das Testen und beurteilen!

1.820 Beiträge seit 2005
vor 14 Jahren

Hallo!

@Gaahl Infernus:
Zu Punkt 1:Denke auch, man sollte den Benutzer entscheiden lassen.
Zu Punkt 4: Ich meinte damit, man sollte den Benutzer auch die Möglichkeit geben, Sprachen anzugeben, die nicht in der Liste stehen (z.B. wenn nun einer irgendeinen Hindu-Dialekt als Quellsprache nehmen will. Dann hat dein Programm zwar erstmal nicht die Möglichkeit, die dazu passende Flagge anzuzeigen, aber das Programm wäre etwas flexibler.
Zu Punkt 9: Frontend ist das, was angezeigt wird, also ist die Frontend-Sprache die gerade angezeigte.
Zu Punkt 10: Da hatte ich einen Punkt, der sich aber erledigt hatte, hab'nur vergessen, den Satz vollständig zu löschen, sorry.
Zu Punkt 11: Hier wäre ein neuer Button "Neue Vokabel eingeben" schön, welche z.B. einfach nur alle Textboxen leert und den Focus auf die erste Textbox setzt.

Nobody is perfect. I'm sad, i'm not nobody 🙁

Gaahl Infernus Themenstarter:in
23 Beiträge seit 2009
vor 14 Jahren

Abend,

Die genannten Punkte werde ich noch bearbeiten. Unter Punkt 4 angesprochenes ist ne gute Idee, allerdings betrifft das nicht nur die angezeigten Flaggen, sondern z.B. auch Textausgabe beim Editieren und Lernen. (Beispielsweise: 'Ihre Antwort (englisch):'. Das würde im Falle einer unbekannte Sprache dann immer englisch sein.

Aber wie schon gesagt, wenn der Nutzer das weiß, bzw. sich notiert, kann er ja lernen was er will, also eine deutsch-englische Liste beispielsweise erstelle, abr mit urugaishen-polnischen Vokabeln füllen. Sieht man dann, wenn die Vokabeln gefragt werden 😉.

Alles klar, ich danke dir nochmals, und werde mich nach Neujahr oder so wieder hinterklemmen 😃

Gaahl

Gaahl Infernus Themenstarter:in
23 Beiträge seit 2009
vor 14 Jahren

Hallo nochmal,

da ab und an immernoch jemand das Programm runterlädt, wollte ich nur sagen, dass ich mitlerweile einige Kleinigkeiten verbessert habe. Falls jemand die neuste Version haben will, kann er diese nun herunterladen. Die oben angehängte Datei ist die Setup-exe der neusten Version.

So long....