1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Wörtervorschläge

  • Klaus_Z
  • 26. Dezember 2009 um 14:19
  • Unerledigt
  • Klaus_Z
    4
    Klaus_Z
    Mitglied
    Punkte
    115
    Beiträge
    18
    • 26. Dezember 2009 um 14:19
    • #1

    hallo

    im rahmen eines schulprojektes
    haben wir vor in einer listbox
    wörter anzuzeigen welche auf
    den eingaben in den textboxen aufbauen
    (so wie das T9 auf den handys)

    weis jemand wie das am leichtesten zu machen ist?
    bzw. wo man die wörterliste herbekommen kann ist
    unser größtes problem

    lg klaus

  • Plantschkuh!
    24
    Plantschkuh!
    Mitglied
    Reaktionen
    163
    Punkte
    6.173
    Beiträge
    1.181
    • 26. Dezember 2009 um 14:34
    • #2

    Wie wärs mit dem amtlichen Wörterverzeichnis von http://www.ids-mannheim.de/reform/? Ist ein PDF, aber man scheint brauchbaren Text daraus extrahieren zu können.

    *plantsch*

  • Klaus_Z
    4
    Klaus_Z
    Mitglied
    Punkte
    115
    Beiträge
    18
    • 26. Dezember 2009 um 19:38
    • #3

    danke, die wörterliste hätten wir somit :)

    hat jemand eine gute idee wie man die wörter am besten speichert und wieder ausliest?

    in eine sql-datenbank? (gedacht war per filter immer nur die vorschläge anzuzeigen, erst ab dem 4. zeichen damit das system nicht zuviel ausgebremst wird und kleine wörter sowieso anders schneller geschrieben sind)
    das system sollte später auf einem touchscreen laufen daher möchten wir auch die vorschläge anbieten damit man schnell eintippen kann

    lg klaus

  • Wolfibolfi
    37
    Wolfibolfi
    Mitglied
    Reaktionen
    186
    Punkte
    14.936
    Beiträge
    2.942
    • 26. Dezember 2009 um 21:43
    • #4

    Google mal nach "Indexed Trie".

    In einen FBO rendern ist wie eine Schachtel Pralinen - man weiß nie, was man kriegt.

  • Klaus_Z
    4
    Klaus_Z
    Mitglied
    Punkte
    115
    Beiträge
    18
    • 26. Dezember 2009 um 21:58
    • #5

    hab etwas gesucht aber nichts ausser einer beschreibung gefunden
    die klingt ganz gut da unsere daten ja sortiert sind

    aber ich möcht ja nach wortmengen suchen also z.B. alle die mit "ab" beginnen also
    suche ich nach "ab*" bzw. LIKE 'ab%' funktioniert das dann auch?? ich such ja nicht bestimmt
    nach einem wort

    kann mir jemand ein codestück von so einer indexed trie posten wie man sowas implementiert?

    lg klaus

    Einmal editiert, zuletzt von Klaus_Z (26. Dezember 2009 um 22:02)

  • Wolfibolfi
    37
    Wolfibolfi
    Mitglied
    Reaktionen
    186
    Punkte
    14.936
    Beiträge
    2.942
    • 26. Dezember 2009 um 22:50
    • #6

    Codestück hab ich keins, aber du kannst den Indexed Trie so aufbauen, dass er nicht auf 26 Buchstaben basiert, sondern auf den 10 Tasten. Dann muss er natürlich an jedem Blatt noch eine kleine Liste mit Wörtern zulassen, da das ja nicht eindeutig ist.
    Wenn der User jetzt ein paar Tasten drückt, kannst so weit den Baum reingehn, wies geht, und dann alle Wörter im Subbaum auflisten (musst halt durchiterieren).

    In einen FBO rendern ist wie eine Schachtel Pralinen - man weiß nie, was man kriegt.

  • Klaus_Z
    4
    Klaus_Z
    Mitglied
    Punkte
    115
    Beiträge
    18
    • 26. Dezember 2009 um 22:59
    • #7

    das klingt irgendwie sehr kompliziert?
    (drum wär ein codestück wie man sowas definiert super...)

    kann man sowas nicht wie oben geschrieben mit nem einfachen bindingsourcefilter machen?

  • Shardik
    12
    Shardik
    Mitglied
    Reaktionen
    16
    Punkte
    1.351
    Beiträge
    248
    • 27. Dezember 2009 um 04:13
    • #8

    Ich verwende dazu immer einfache databindings über ein linq statement zu meiner Datenstruktur, das waren bis jetzt aber auch selten über 10k Einträge. Je nachdem wieviel Einträge deine Wörterliste hat bzw wie groß die ist, eignen sich manche Datenstrukturen sicherlich besser als andere. Ein Baum würde sich sicher anbieten. Auf codeplex und dergleichen gibt's da eh schon recht viele Beispiele.

    In Echtzeit erst die Einträge in der sql datenbank suchen spart dir zwar Memory dafür hast du deutlich weniger Performance (vorrausgesetzt du benutzt nur einen lokalen sql express, wenn du einen leistungsstarken sql server zur verfügung hast, ist's was anders eventuell)

    Alternativ kannst das DataBinding lassen (falls du nicht WPF oder Silverlight verwenden solltest) und einfach das TextBox.TextChanged Event abfangen und das linq Statement neu fahren.

    :(){ :|:&};:

  • Klaus_Z
    4
    Klaus_Z
    Mitglied
    Punkte
    115
    Beiträge
    18
    • 27. Dezember 2009 um 15:45
    • #9

    wir haben einen lokalen sql server
    und wollten wie du gesagt hast das textchanged event abfangen und dort eben dann den filter für die listbox neu setzen

  • Klaus_Z
    4
    Klaus_Z
    Mitglied
    Punkte
    115
    Beiträge
    18
    • 4. Januar 2010 um 23:36
    • #10

    ich hab nun eine umfangreiche wortliste gefunden mit 1 wort pro zeile in einer txt datei jetzt wollte ich mir ein kleines C# programm schreiben das alle wörter in die DB schreibt aber ich scheiter an der connection zum sql server
    der wird nicht gefunden bzw es kann nicht auf ihn zugegriffen werden

    ob das programm jetzt effizient ist oder nicht ist recht egal läuft ja nur 1 mal und dann nie wieder

    wollte mit einem update alle zeilen durchgehen und so wort für wort per update einfügen...

    kann mir jemand mit dem verbinden zu einem sql server helfen der lokal läuft??

    lg klaus

  • Erklärbär
    8
    Erklärbär
    Mitglied
    Reaktionen
    6
    Punkte
    661
    Beiträge
    130
    • 5. Januar 2010 um 07:57
    • #11

    erstell dir am besten irgendwo im filesystem eine textdatei und benenn die in irgendwas.udl um. doppelklick dann drauf und du erhältst einen konfig-dialog, bei dem du den sql-server-treiber auswählst und in den tabs entsprechend konfigurierst.

    dann speicherst du die konfig ab und öffnest sie mit notepad oder einem texteditor deiner wahl. und voila: da drin steht der connectstring, mit dem du zb. via OLEDB oder ODBC zugreifen kannst.

    einfach nur genial: wenn man im wort "Mama" 4 buchstaben ändert, dann hat man auf einmal "Bier"

  • Klaus_Z
    4
    Klaus_Z
    Mitglied
    Punkte
    115
    Beiträge
    18
    • 5. Januar 2010 um 15:13
    • #12

    hey danke das hat super funktioniert
    jetzt hab ich nur noch das problem das er mir die umlaute als ? in der DB speichert =(

    hat jemand eine idee?

    vielen dank schon mal für die ganze hilfe von euch=)

    lg klaus

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung