Zitat von
Tyler:
Die Funktion funktioniert warscheinlich einwandfrei (bin noch nicht zum Testen gekommen), aber leider bietet sie nicht die Geschwindigkeit mit der der normale Locate-Befehl zum Datensatz springt...
Ähm, du bist noch nicht zum testen gekommen, weist aber das sie nicht nicht die selbe Geschwindigkeit hat? Ich nahm eigentlich nicht an, dass der Code die unnormale Variante des Locate-Befehls verwendet.
Zitat von
Tyler:
Hab hier ne
DB mit 5000 Datensätzen, suche ich nach einem Datensatz der weiter hinten vorkommt mit Locate, springt Delphi innerhalb einer Sekunde auf diesen Datensatz, suche ich aber mit z.B. der o.g. Funktion, kann das ganz 5-10 Sekunden dauern... das ist tragisch.
Das kann an vielen Faktoren liegen. Ich hab es gerade mit einer Table mit exakt 6725 Datensätzen getestet und konnte kein Geschwindigkeitsproblem feststellen.
Hast du viele Datenintensive Steuerelemete an der Table zu hängen, so werden die bei jedem Durchlauf aktuallisiert. Das könnte man durch Table.DisableControls verhindern.
Oder evt. liegt es an deiner Tabelle. Nichts für ungut, aber DBASEIII(Ashton Tate lässt grüssen) mit Delphi ist irgendwie wie ein Ferrari mit Holzrädern. Ich hab hier noch irgendwo ein kleines Konvert.-Tool rumliegen falls Interesse besteht, melde dich einfach.
Zitat von
Tyler:
Naja, warscheinlich muss ich mir dazu ne Fremdkomponente raussuchen
Eine Fremdkomonente?
Die was können soll?
@App
Zitat von
APP:
es ist jetzt wohl schon zu spät, um darüber zu diskutieren ob und was
ich erwartet und nicht gelesen habe, aber Du hast nun ja eine für Tyler
befriedigende Lösung gefunden, obwohl auch Du (so wie ich) zuerst
in die falsche Richtung tendiert bist.
Das lag, so wie meistens, daran, dass die entscheidende Information erst hinterher kam. Aber wie du siehst ist auch mein Lösungsansatz nicht zufriedenstellend. Also ist es wohl noch nicht zu spät.
Zitat von
APP:
p.s.: Wobei wir wieder bei den Datenmengen sind:
Na lass mal einen konkreten Lösungsansatz gucken.