Ach, jetzt weiß ich woran es liegt, hätte ich eigentlich schon früher drauf kommen müssen:
Wenn das OnKeyPress-Ereignis ausgelöst wird, steht der gedrückte Buchstabe noch gar nicht in ComboBox1.Text. Der Code:
Quelltext
1: 2: 3: 4:
| procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char); begin edit1.text:=ComboBox1.Text; end; |
lässt in edit1.text also immer den Text
ohne den gedrückten Buchstaben erscheinen.
Folglich musst Du Deine Abfrage auch noch ergänzen:
Quelltext
1:
| locate('Firmenname',combo_firmenname.text+key,[lopartialkey]); |
Habe ich jetzt nicht getestet, sollte aber funktionieren. Aber mir ist aufgefallen, dass Du diesen Code gar nicht im OnKeyPress-Ereignis brauchst: sobald die ComboBox den Text ergänzt, wird das OnChange-Ereignis ausgelöst. Diesen Code noch einmal ins OnKeyPress-Ereignis zu setzen, ist also überflüssig.
MfG,
Peter
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".