DBGrid'de DBGrid1DrawColumnCell kontrol hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kezarto
Üye
Mesajlar: 1
Kayıt: 01 Haz 2014 03:13

DBGrid'de DBGrid1DrawColumnCell kontrol hatası

Mesaj gönderen Kezarto »

Merhaba arkadaşlar,

Ben delphi alanında yeniyim ve bir emlak programı hazırlıyorum. DBgrid ile ilgili 2 sorum var ve bir türlü çözemiyorum!

1.sorum dbgrid'de sqldeki dataları çektikten sonra aşağı giderken mevcut olduğum satırın değerlerini edit boxta göstereceğine bir önceki satırın değerlerini gösteriyor? Buna
çözüm bulamadım bir türlü.

Bunu denedim dbgrid DBGrid1DrawColumnCell eventinde

Kod: Tümünü seç

DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
bu sefer yukarıdan aşağı indiğimde bulunduğum satırı getiyor doğru bu ama aşağıda yukarı gittiğimde hala bir önceki değeri getiriyor bunu nasıl çözebilirim?

2.Sorum database 10 adet resim alanı oluşturdum ve uygulamam da 1 Timage kullandım ve altına ileri ve geri buttonları koyup dbgridde mevcut bulunduğum satırın databasedeki resimlerini göstermesini istiyorum? Ben budurumu 10 adet Timage yaparak aşmayı denedim ama "stream is not found" diye hata alıyorum ileri ve geri butonlarıyla kontrol ettiğimde. Kodum aşağıdaki gibidir.

Kod: Tümünü seç

//Resimleri Database'den alarak image2'ye atıyoruz.
//Böylece databaseki resimlerimizi uygulamamızda görebiliyoruz
//Bu çalışmada bir funksiyon oluşturulmuştur. Açıklamasını funksiyon üzerindeki commenten öğrenebilirsin.
//Bu parçanın anlatımına bu linkten ulaşabilirsin: http://delphi.about.com/od/database/l/aa030601c.htm
//10 resim kullanıldı hem uygulamada hemde databasede




  //Try
    //denenecek kodlar..
  //finally
    //Kodlar başarıyla çalıştı.Hata Olsabile!
    if ResimSayac = 1 then
    begin
  try
    bS := TADOBlobStream.Create(AdoTable1ilan_resmi_1, bmRead);
    bS.Seek(JpegStartsInBlob(AdoTable1ilan_resmi_1),soFromBeginning);
    Pic:=TJpegImage.Create;
    //Try
      //denenecek kodlar..
    //Except
      //hata alınca çalışacak kodlar
    try
     Pic.LoadFromStream(bS);
     Image2.Picture.Graphic:=Pic;
    except
     image2.Picture.Graphic := image12.Picture.Graphic;
    end;
  finally
    bS.Free;
  end;
   pic.Free;
    end;



   if ResimSayac = 2 then
   begin
   //Resim 2 için!
   bS := TADOBlobStream.Create(AdoTable1ilan_resmi_2, bmRead);
  try
    bS.Seek(JpegStartsInBlob(AdoTable1ilan_resmi_2),soFromBeginning);
    Pic:=TJpegImage.Create;
    try
     Pic.LoadFromStream(bS);
     Image3.Picture.Graphic:=Pic;
    except
     image3.Picture.Graphic := image12.Picture.Graphic;
    end;
  finally
    bS.Free;
  end;
   pic.Free;
   end;


if ResimSayac = 3 then
begin
  //Resim 3 için!

   bS3 := TADOBlobStream.Create(AdoTable1ilan_resmi_3, bmRead);
  try
    bS3.Seek(JpegStartsInBlob(AdoTable1ilan_resmi_3),soFromBeginning);
    Pic3:=TJpegImage.Create;
    try
     Pic3.LoadFromStream(bS3);
     Image4.Picture.Graphic:=Pic3;
    except
     image4.Picture.Graphic := image12.Picture.Graphic;
     pic3.Free;
     exit;
    end;
  finally
    bS3.Free;
  end;
   pic3.Free;

end;

if ResimSayac = 4 then
begin
   //Resim 4 için!
   bS4 := TADOBlobStream.Create(AdoTable1ilan_resmi_4, bmRead);
  try
    bS4.Seek(JpegStartsInBlob(AdoTable1ilan_resmi_4),soFromBeginning);
    Pic4:=TJpegImage.Create;
    try
     Pic4.LoadFromStream(bS4);
     Image5.Picture.Graphic:=Pic4;
    except
     image5.Picture.Graphic := image12.Picture.Graphic;
     pic4.Free;
     exit;
    end;
  finally
    bS4.Free;
  end;
   pic4.Free;

end;

if ResimSayac = 5 then
begin
  //Resim 5 için!
   bS5 := TADOBlobStream.Create(AdoTable1ilan_resmi_5, bmRead);
  try
    bS5.Seek(JpegStartsInBlob(AdoTable1ilan_resmi_5),soFromBeginning);
    Pic5:=TJpegImage.Create;
    try
     Pic5.LoadFromStream(bS5);
     Image6.Picture.Graphic:=Pic5;
    except
     image6.Picture.Graphic := image12.Picture.Graphic;
     pic5.Free;
     exit;
    end;
  finally
    bS5.Free;
  end;
   pic5.Free;

end;

if ResimSayac = 6 then
begin
  //Resim 6 için!
   bS6 := TADOBlobStream.Create(AdoTable1ilan_resmi_6, bmRead);
  try
    bS6.Seek(JpegStartsInBlob(AdoTable1ilan_resmi_6),soFromBeginning);
    Pic6:=TJpegImage.Create;
    try
     Pic6.LoadFromStream(bS6);
     Image7.Picture.Graphic:=Pic6;
    except
     image7.Picture.Graphic := image12.Picture.Graphic;
     pic6.Free;
     exit;
    end;
  finally
    bS6.Free;
  end;
   pic6.Free;

end;

if ResimSayac = 7 then
begin
  //Resim 7 için!
   bS7 := TADOBlobStream.Create(AdoTable1ilan_resmi_7, bmRead);
  try
    bS7.Seek(JpegStartsInBlob(AdoTable1ilan_resmi_7),soFromBeginning);
    Pic7:=TJpegImage.Create;
    try
     Pic7.LoadFromStream(bS7);
     Image8.Picture.Graphic:=Pic7;
    except
     image8.Picture.Graphic := image12.Picture.Graphic;
     pic7.Free;
     exit;
    end;
  finally
    bS7.Free;
  end;
   pic7.Free;

end;

if ResimSayac = 8 then
begin
  //Resim 8 için!
   bS8 := TADOBlobStream.Create(AdoTable1ilan_resmi_8, bmRead);
  try
    bS8.Seek(JpegStartsInBlob(AdoTable1ilan_resmi_8),soFromBeginning);
    Pic8:=TJpegImage.Create;
    try
     Pic8.LoadFromStream(bS8);
     Image9.Picture.Graphic:=Pic8;
    except
     image9.Picture.Graphic := image12.Picture.Graphic;
     pic8.Free;
     exit;
    end;
  finally
    bS8.Free;
  end;
   pic8.Free;


end;

if ResimSayac = 9 then
begin
  //Resim 9 için!
   bS9 := TADOBlobStream.Create(AdoTable1ilan_resmi_9, bmRead);
  try
    bS9.Seek(JpegStartsInBlob(AdoTable1ilan_resmi_9),soFromBeginning);
    Pic9:=TJpegImage.Create;
    try
     Pic9.LoadFromStream(bS9);
     Image10.Picture.Graphic:=Pic9;
    except
     image10.Picture.Graphic := image12.Picture.Graphic;
     pic9.Free;
     exit;
    end;
  finally
    bS9.Free;
  end;
   pic9.Free;
end;

if ResimSayac = 10 then
begin

   //Resim 10 için!
   bS10 := TADOBlobStream.Create(AdoTable1ilan_resmi_10, bmRead);
  try
    bS10.Seek(JpegStartsInBlob(AdoTable1ilan_resmi_10),soFromBeginning);
    Pic10:=TJpegImage.Create;
    try
     Pic10.LoadFromStream(bS10);
     Image11.Picture.Graphic:=Pic10;
    except
     image11.Picture.Graphic := image12.Picture.Graphic;
     pic10.Free;
     exit;
    end;
  finally
    bS10.Free;
  end;
   pic10.Free;
end;
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2381
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: DBGrid'de DBGrid1DrawColumnCell kontrol hatası

Mesaj gönderen freeman35 »

en şaşmaz yöntem olarak yıllardım kullanırım, forma bir dbedit koy bunu prkey alanına bağla, bunun onchage eventinede istediğin kodu yaz,
kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Cevapla