Autor Beitrag
Hendrik
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324



BeitragVerfasst: So 16.03.08 17:57 
Hey!

Ich habe in einem Editfeld eine Autovervollständigenfunktion bei OnKeyUp hinterlegt.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
i:=length(edit.text);
 if table.Locate('feld',edit.text,[loCaseInsensitive, loPartialKey])  then begin
 edit.text:=table.fieldbyname('feld').asstring;
 edit.selstart:=i;
 edit.sellength:=length(edit.text)-i;
end;


Leider habe ich hier das Problem, dass es bei einer schnellen Eingabe Probleme gibt. Dann wird das angegebene Zeichen hinter den Autotext (von dem es sich unterscheidet) gesetzt und die Eingabe stimmt nicht mehr.

Hat jemand eine Idee, wie ich es anders machen kann?
Fabian E.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 554

Windows 7 Ultimate
Visual Studio 2008 Pro, Visual Studion 2010 Ultimate
BeitragVerfasst: Mo 17.03.08 01:52 
naja so wie ich das jetzt verstanden habe schreibst du etwas ins Edit, das wird vervollständigt und dann ist bei schnellem schreiben hintendran das nächste zeichen?
ich würde es so lösen, das erst bei einer 0,5 sekündigen pause nach OnKeyUp das ganze passiert.
also eine Timer der im OnKeyUp aktiviert, bzw. im OnKeyDown deaktiviert wird.

gruß
Hendrik Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324



BeitragVerfasst: Di 18.03.08 01:41 
Das ist ne gute Idee! Danke!