DBGrid'te yanıp sönen satır

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
My_Dog
Üye
Mesajlar: 12
Kayıt: 06 Eki 2010 02:16

DBGrid'te yanıp sönen satır

Mesaj gönderen My_Dog »

Oluşturmuş olduğum Database DBGride bağladım. Seçili olan kaydı bir buton aracılığı ile renklendirebiliyorum. Ama yapmak istediğim DBGridte seçili kayıt üzerindeyken butona bastığımda sadece o satırın yanıp sönmesini sağlamak. Nasıl yapabilirim?
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: DBGrid'te yanıp sönen satır

Mesaj gönderen ikra »

aklima ilk gelen cözüm yolu:
bir timer at formun üzerine ve grid'in onclick event'inde timer'i enable yap.
daha sonra global bir Boolean tanimla.

Kod: Tümünü seç

var
  globalboolean: Boolean;

procedure TForm1.OnTimerEvent(Sender: TObject);
  procedure CellRengiDegistir(AColor: TColor);
  begin
    CellRenginiDegistirenKod;
  end;
begin
  globalboolean := not globalboolean;
  
  if globalboolean then
    CellRengiDegistir(clRed)
  else
    CellRengiDegistir(clBlue);
end;
kıdemsiz üye
My_Dog
Üye
Mesajlar: 12
Kayıt: 06 Eki 2010 02:16

Re: DBGrid'te yanıp sönen satır

Mesaj gönderen My_Dog »

Timer koydum ve Enable durumuna getirdim fakat TForm1.OnTimerEvent kısmını bulamadım? O konuda yardımcı olurmusunuz?
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: DBGrid'te yanıp sönen satır

Mesaj gönderen sabanakman »

Timer a çift tıklayın direkt ilgili olayın kodlarının yazılacağı metot karşınıza gelecektir. Ayrıca Enabled özelliğini True yaptığınız pencere 2 sayfa şeklindedir. Bu işlemin yapıldığı sayfa adı Properties diğer sayfa ise Events ismindedir. Aradığınız olaya Events sayfası altından da ilgili olaya çift tıklayarak erişebilirsiniz.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
My_Dog
Üye
Mesajlar: 12
Kayıt: 06 Eki 2010 02:16

Re: DBGrid'te yanıp sönen satır

Mesaj gönderen My_Dog »

Zaten Event altında OnTimerEvent seçeneğini bulamadım. Delphi 7 kullanıyorum.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: DBGrid'te yanıp sönen satır

Mesaj gönderen sabanakman »

Tasarım ekranında hangi nesneyi tıklayıp seçerseniz ona ait özellik ve olayların listesini göreceksiniz. Eğer form üzerinde Timer nesnesini seçerseniz bu listeye sadece OnTimer olayı gelecektir.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
My_Dog
Üye
Mesajlar: 12
Kayıt: 06 Eki 2010 02:16

Re: DBGrid'te yanıp sönen satır

Mesaj gönderen My_Dog »

Hocam ben bu işte biraz acemiyim. Yukarıda vermiş olduğun kodu Timer'in OnTimer kısmına kopyalıyorum Cellrengidegistir alanında hata veriyor? Daha detaylı tarif edebilirmisin?
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: DBGrid'te yanıp sönen satır

Mesaj gönderen ikra »

Sen ne tur bir hata verdigini yazmazsan yardimci olamam.
kıdemsiz üye
My_Dog
Üye
Mesajlar: 12
Kayıt: 06 Eki 2010 02:16

Re: DBGrid'te yanıp sönen satır

Mesaj gönderen My_Dog »

Yaptığım aşamalar şu : Timer1 nesnesi koydum ve durumunu enable yaptım.
Sonra Timer1 - Event - altına OnTimer kısmına çift tıklıyorum ve açılan alana verilen kodları yapıştırıyorum.
procedure CellRengiDegistir(AColor: TColor);
olan bölümde hata veriyor. yanlış mı yapıyorum? verilen kodda neyi nereye tanımlayacağımı tam bilmiyorum?
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: DBGrid'te yanıp sönen satır

Mesaj gönderen ikra »

ikra yazdı:Sen ne tur bir hata verdigini yazmazsan yardimci olamam.
kıdemsiz üye
My_Dog
Üye
Mesajlar: 12
Kayıt: 06 Eki 2010 02:16

Re: DBGrid'te yanıp sönen satır

Mesaj gönderen My_Dog »

Kod: Tümünü seç

procedure TForm3.Timer2Timer(Sender: TObject);
 var
 Globalboolean:Boolean;
  procedure CellRengiDegistir(AColor: TColor);
  begin
    [b]CellRenginiDegistirenKod;[/b]
  end;
begin
  globalboolean := not globalboolean;

  if globalboolean then
    CellRengiDegistir(clRed)
  else
    CellRengiDegistir(clBlue);
end;
CellRenginiDegistirenKod; kısmında hata veriyor ve Undeclared İdentifier."CellDegistirenKod" hatası veriyor.
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: DBGrid'te yanıp sönen satır

Mesaj gönderen emin_as »

Cellrenginidegistirenkod diye bir kod yok, onu sen yazacaksın. Satırların rengini değiştiriyorum diyordun, o değiştirdigin kodları o bölüme yazacaksın.

Böyle kopyala-yapıştırla kendini geliştiremezsin, temel pascal bilgilerinin anlatıldıgı bir kitap al veya internetten pascal ögreten sitelerdeki tutorialları oku, bunlar çok temel konular ve bunların bilmeden program yazman kabul edilir birşey degil.
Cevapla