Grid üzerinde basılan tuşlara göre arama yapma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

Grid üzerinde basılan tuşlara göre arama yapma

Mesaj gönderen nitro »

merhaba
delphi 7 firebird 1.5 kullanıyorum.
Yapmak istediğim şu, bi datagrid üzerinde harflere basıldığı zaman harfler üstteki label'a yazılsın ve gridde labelın içeriğine en yakın kayda komunlansın.
mesela grid üzerindeyken, A harfine basınca label içeriği A olsun ve A ile başlayan kayıtlara konumlansın. Lye basınca label içeriği AL olsun ve AL ile başlayan kayıtlara konumlansın. Backspace'e basınca label içeriği A olsun yine gibi.
yardımlarınız için şimdiden teşekkürler.
saygılarımla
Kullanıcı avatarı
cihan
Üye
Mesajlar: 65
Kayıt: 02 Ağu 2005 03:34

Re: Grid üzerinde basılan tuşlara göre arama yapma

Mesaj gönderen cihan »

nitrokonat yazdı:merhaba
delphi 7 firebird 1.5 kullanıyorum.
Yapmak istediğim şu, bi datagrid üzerinde harflere basıldığı zaman harfler üstteki label'a yazılsın ve gridde labelın içeriğine en yakın kayda komunlansın.
mesela grid üzerindeyken, A harfine basınca label içeriği A olsun ve A ile başlayan kayıtlara konumlansın. Lye basınca label içeriği AL olsun ve AL ile başlayan kayıtlara konumlansın. Backspace'e basınca label içeriği A olsun yine gibi.
yardımlarınız için şimdiden teşekkürler.
saygılarımla
Sorun çok açık değil ama anladığım kadarıyla firebird de starting with komutu işine yarayabilir.
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

DBGridin onkeypress olayına

Kod: Tümünü seç

label1.Caption := label1.caption + key;
Query1.Locate('FIELD', Label1.Caption, [loPartialKey, loCaseinsencitive]);
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 »

Kod: Tümünü seç

type TDBGridCrack=class(TDBGrid);

procedure TForm1.DBGrid1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  Label1.Caption:=TDBGridCrack(Sender).InplaceEditor.Text;
end;
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

Mesaj gönderen nitro »

kadirkurtoglu yazdı:

Kod: Tümünü seç

label1.Caption := label1.caption + key;
Query1.Locate('FIELD', Label1.Caption, [loPartialKey, loCaseinsencitive]);
kodu çalışıyor ama bascspace'e basunca silmiyor?
o kısmını nasıl hallederim acaba?
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

Kod: Tümünü seç

if key = #8 then
label1.caption := '';
aklıma ilk gelen. string fonksiyonları kullanılarak #8 back tuşu ile sağdan birer harf sildirebilirsin...
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

Mesaj gönderen nitro »

teşekkürler

Kod: Tümünü seç

iif key = #8 then 
label1.caption:=copy(label1.caption,1,lenght(label1.caption)-1);
gibi bir kodla hallettim.
emeği geçenlere teşekkürler.
iyi ki varsınız :)
Cevapla