Einträge in einer wxListCtrl schnell finden und markieren
-
hallo zusammen :),
ich hätte mal wieder eine frage.
problem ist ich habe eine (sehr) große liste (24MB, 500k zeilen) und ich möchte mit der suchfunktion FindItem() nach substrings suchen.
dies dauert nur... EWIG
-.-"
und in dieser zeit erneuert sich das ganze fenster nicht.deswegen kennt jemand von euch eine möglichkeit die liste schneller zu durchsuchen und gefundene einträge zu makieren?
danke im voraus,
scythe.
-
Schau dir mal den ListCtrl Mode LC_Virtual an.
Evtl. hilft es auch, die Daten in einem STL Container zu durchsuchen und generell vorzuhalten.
-
virtual ist sie schon, mir gehts diesmal auch nicht ums einlesen sondern ums suchen
das einlesen geht schon (relativ) fix
-
Wenn du wirklich keinen Weg mehr findest das ganze schneller zu machen, wäre es auch eine Möglichkeit die Suche einfach in einen eigenen Thread auszulagern.
Dadurch friert dir dein Fenster nicht ein; als "Nervenschoner" für den Benutzer kannst du ja dann auch eine Progressbar mit einbauen an der man verfolgen kann, wie lang es noch dauert.
-
Müsstest du halt mal den Suchcode posten
-
gnarf... grund gefunden^^ suche hat immer wieder von vorne angefangen obwohl ich des falg WRAP garnich gesetzt hatte... jetzt "gehts" von der zeit her, mit ner progressbar denk ich aber erträglich.
thx