Değerli Arkadaşlar; acil çözmem gereken bir problemim var, DBEDİT özellikle belirtmek istiyorum bunu çünki alternatif herhangi bir nesne kullanamam. DBEDİT'e tamamlama özelliğini nasıl kazandırabilirim. yani kayıt evvelden girilmiş ise, bunu görüp yeniden yazmaya gerek kalmadan kelimeyi tamamlasın..
Aslına bakarsanız bu soruyu daha evvelde sormuştum, orada değerli arkadaşlar fikirlerini beyan etmişlerdi. O zaman sorunumu, DBlookupCombobox kullanarak halletmiştim.
O sorumda verilen cevapları değerlendirmeye çalıştım, yeniden gözden geçirdim, aşağıdaki kodu derleyerek uyarlamaya çalıştım. Fakat bu kodla sadece var olan kaydı bulmakla kalıyorum, kayıt aynen karşıma geliyor.
Kod: Tümünü seç
procedure TForm2.DBEdit7KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
VAR
theText : string;
p : integer;
begin
With TEdit(Sender) do
case key of
8, 46, 37..40, 112..123: ; // backspace, f keys
13: SelStart := Length(Text);
else
begin
P := SelStart;
TheText := copy(Text, 0, p);
If Form2.Table1.Locate('Tani', THETEXT, [loPartialKey,locaseinsensitive]) then
begin // veritabanında pozisyon aldığında...
Text := form2.Table1Tani.AsString;
SelStart := p;
SelLength := Length(Text) - SelStart;
end; // If
end; // else
end; // Case