Arkadaşlar DBGrid din bir Hücresinde basılan tuşları kontrol etmek için bir kod yazıyordum ve bir problemle karşılaştım amacım basılan tuşların değerini string olara bir birine yapıştırmaktı bir türlü beceremedim acaba sebebi ne ben bunu çözemedim yardımcı olursanız sevinirim.
procedure TCariAcilisFrm.DBGrid1KeyPress(Sender: TObject; var Key: Char);
var
i:Real;
Str:String;
begin
if DBGrid1.SelectedIndex = 3 Then
Begin
str := str + key;
ShowMessage(str);
End;
end;
Merhaba Str değişkeni burada yerel değişken olarak tanımlanmış her tuşa basışınızda Str boşalacağından ekleme olayı olmayacaktır, Global bir değişken olarak tanımlarsanız sorun olmaz die düşünüyorum.
İyi çalışmalar.
Aaa asıl tarihe bakmadan yazdım çözülmüştür ama dursun silmiyorum.
mrb; cevaplarınızı pek incelemedim ama benzeri bir problemle karşılaşmıştım. Sorun grid üzerinde yazı yazılan bir TCustomMaskEdit nesnesinin oluşmasından ve bu nesnede tuşa basıldığı için DBGrid nesnesinin bundan bihaber olmasından kaynaklanıyor. Bu Edit nesnesinin onKeyDown olayına kod yazarak sorunu halletmiştim.
type
TDBGridCrack=class(TDBGrid);
procedure TForm1.FormCreate(Sender: TObject);
begin
TMaskEdit(TDBGridCrack(DBGrid1).InplaceEditor).OnKeyDown:=DBGrid1.onKeyDown;
end;
böyle bir atama yaparsanız edit nesnesinde tuşa basıldığı zaman yine DBGrid1'in KeyDown olayı çalışacaktır. Hatta çok farklı kontroller de gerçekleştirilebilir. Kolay gelsin.
Şaban Şahin AKMAN
_________________ Derin olan kuyu değil kısa olan iptir. - .