DBGrid Key Kontrolü

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

DBGrid Key Kontrolü

Mesaj gönderen husonet »

Merhabalar;

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.

Kod: Tümünü seç

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;
İyi Akşamlar.
NightFlight
Üye
Mesajlar: 43
Kayıt: 19 Haz 2003 12:26

Mesaj gönderen NightFlight »

öncelikle sen burda zaten bir tuşa basmıyorsun

mesela kodu şu şekilde yap

ve kodu keydown event tina yaz
if key=vk_f10
sonra kodunu yaz vs..
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Merhaba

Amacım zaten basılan tuşları bir stringe eklemek. Bu yüzden keypress eventi ile uğraşıyorum.
AjiiN
Üye
Mesajlar: 1
Kayıt: 16 Eki 2006 11:52

Re: DBGrid Key Kontrolü

Mesaj gönderen AjiiN »

Ben C++ ile uğraşıyorum ve konu eski cevap verilmediği için yardımcı olmaya çalışıyorum

Kod: Tümünü seç

  AnsiString tusdegeri="";

void __fastcall Tcaribul::DBGrid1KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{

  tusdegeri=UpperCase(tusdegeri+AnsiString(Char(Key)));
  ShowMessage(tusdegeri];
}
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

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.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

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.

Kod: Tümünü seç

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. - .
Cevapla