Autor Beitrag
Wolle92
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1296

Windows Vista Home Premium
Delphi 7 PE, Delphi 7 Portable, bald C++ & DirectX
BeitragVerfasst: Mo 20.08.07 13:58 
Hallo,

ich wollte gerade ein Vokabel-Lernprogramm schreiben, aber stehe jetzt vor dem Problem, dass man ja schon bei einem kleinen Tippfehler gleich nen Fehler bekommt.
Kann mir jemand sagen, wie ich eine Rechtschreibprüfung einbauen kann?
Dass dann unter der Edit-Komponente sowas wie "Tippfehler?" steht...
Will das selber einbauen... Nicht irgendeine Komponente runterladen oder so...
Wonko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 69



BeitragVerfasst: Mo 20.08.07 14:14 
Hallo,

ich weis nicht, ob meine Idee für Dein Problem praktikabel ist. Aber ich gehe davon aus, dass Du alle "bekannten" Wörter in einer "Datenbank" hinterlegst. Jetzt vergleichst Du in einem OnKeyPress-Event, ob es ein bekanntes Wort gibt, das mit den bisher eingegeben Buchstaben beginnt. Sobald es kein solches Wort mehr gibt, hat sich der Benutzer vertippt, oder (und hier wird es vielleicht unbrauchbar) sein Wort ist richtig, nur Dein Programm kennt es nicht. Hier sollte Dein Programm jetzt sofort einschreiten oder sich merken, dass ein Tippfehler vorliegt.
Als "Datenbank" könntest Du z.B. auf die Wörterbücher einer Textverarbeitung zurückgreifen?

Grüße
Wolle92 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1296

Windows Vista Home Premium
Delphi 7 PE, Delphi 7 Portable, bald C++ & DirectX
BeitragVerfasst: Mo 20.08.07 14:20 
Ungefähr so... nur soll der vergleich bisschen anders ablaufen:
Der Benutzer Klick auf den OK-Button -> Das Wort, welches er eingegeben hat wird gelesen und soll mit den Wörtern in der Datenbank verglichen werden, und wenn maximal z.B. 2 Stellen falsch sind wird es als Tippfehler anerkannt, sonst ist es einfach falsch.
Außerdem wird bei einem Vokabel-Lernprogramm ja aus einer Liste gefragt, in der alle möglichen Wörter stehen
Wonko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 69



BeitragVerfasst: Mo 20.08.07 14:28 
Dann schlage ich folgenden Ablauf vor:

    *Wort von vorne nach hinten buchstabenweise mit bekannten Wörteren vergleichen
    *wenn Tippfehler, dann merken, aber letzten (falschen) Buchstaben für weitere Vergleiche ignorieren
    *bei zwei Fehlern aussteigen und Meldung

Wie der Vergleich ganz genau aussieht kann ich Dir auch nicht sagen, ich glaube bei einer Stringlist gibt es Find oder Search, damit kann man nach (Teil-)Strings suchen, bin mir da aber nicht so sicher.
Wolle92 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1296

Windows Vista Home Premium
Delphi 7 PE, Delphi 7 Portable, bald C++ & DirectX
BeitragVerfasst: Mo 20.08.07 14:45 
Das mit dem Find oder so, das ist die idee....
Es werden einfach alle Buchstaben einzeln herausgeschnitten und dann die Wörter kontrolliert...
Und wenn es ein Wort gibt, dass bis auf zwei zeichen abweicht, dann wird es als Tippfehler angesehen
Ich teste das mal