| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jan 2003
Beiträge: 10
|
Hoi zäme, möchte gern eine Autovervollständigung für ein Textfield erstellen. Ja - ich weiss, dass das performancetechnisch problematisch sein wird, aber hier meine Idee: Bei der Eingabe von Buchstaben in das Textfeld soll jedesmal ein assoziatives Array mit den möglichen Begriffen (in meinem Fall sind es Ortsnamen) durchsucht werden. Dabei sollen immer nur die Begriffe ausgegeben (z.B. in einer ComboBox), die am Wortanfang mit den Text im Textfield übereinstimmen. Am besten währ natürlich, wenn das Textfield sich automatisch aufklappt und sich in ein pulldown menu verwandelt und die Bergriffe darin anzeigt (wie in windows). also z.B: bei Eingabe "A ..." wird "Aachen, Amberg" und bei "Aa" wird nur noch "Aachen" ausgegeben. Nun bedeutet das aber, das bei jeder Eingabe die komplette Liste mit Begriffen (bis zu 1000) durchsucht werden müsste, was nicht sehr performant wäre, oder? Hier ist meine Idee, dass man ganz am Anfang (also beim Start der Applikation), die gesamten Begriffe indexiert und in einzelne assoziative Array's aufteilt, und zwar für jeden Buchstaben genau ein Array. Das würde bei der Eingabe des 1. Buchstabens die Performance schon mal um den Faktor 25 (Sonderzeichen ausgenommen) beschleunigen, da ja nun nur noch das Array mit dem entsprechenden Anfangbuchstaben durchsucht werden müsste (hier "A"). So weit so gut. Aber wie sieht das jetzt bei der Einagbe der folgenden Buchstaben aus? Jetzt müssten ja dynamisch aus der eingegrenzten Teilmenge (hier die Werte aus Array "A") neue Arrays generiert werden, die nur noch jeweils die Begriffe beinhalten, die mit z.B "Aa" anfangen. Und an diesem Punkt fehlt es mir an Erfahrung! Vielleicht hat jemand von Euch eine schlaue Idee, wie man ein solchen Algoritmus entwickelt bzw. gibt es schon so etwas? Bin mir sicher, dass schon jemand vor mir vor dem Problem stand? na denn danke schon mal für eure inspirationen! der puuli |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
ich sag mal, das wird am ende genauso lästig wie Word, das JEDEN anfangsbuchstaben gross schreiben will - ICH WILLs NICHT. handhabbar wird das wohl erst, sagen wir mal, nach 4 buchstaben. also es kommt darauf an, wieviele möglichkeiten zur auswahl stehen. und bei ganz kurze worten ist sowieso keine zeiterspahrnis drinn. sonst bist du mehr damit beschäftigt, die wohlgemeinten ergänzungen wieder zu entfernen, als dass das ganze eine hilfe währe.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |