Formun açılışında DbImage bileşeninde ilk 6 resmi göstermek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Serim
Üye
Mesajlar: 194
Kayıt: 08 Ara 2004 03:32
Konum: Konya

Formun açılışında DbImage bileşeninde ilk 6 resmi göstermek

Mesaj gönderen Serim »

meraba arkadaşlar,

forma 6 tane dbimage bileşeni koydum.yapmak istediğim bu dbimagelerde tabloda kayıtlı olan ilk 6 firmanın logolarını göstermek.Ama projeyi çalıştırdığımda formdaki bütün dbimaglerde tablodaki son firmanın logosu görünüyor. Yani 6 dbimagede de aynı logo var. Bu sorunumu nasıl halledebilirm?DbCtrlGrid kullanmak istemiyorum çünkü scrollbarının görünmesini istemiyorum onu kaybetmenin bi yolunu bulamadım.

Not : Firma sayısı arttıkça next butonu ile aynı dbimagelerde bu kez 6 ile 12 arası kayıtlı resimleri gösterecek..

kolay gelsin iyi çalışmalar.
Bilginin temelini sağlam at depremde zarar görmesin
Kullanıcı avatarı
hbahadir
Kıdemli Üye
Mesajlar: 544
Kayıt: 06 Ara 2004 05:03
Konum: BURSA idi artık İST.
İletişim:

Mesaj gönderen hbahadir »

DBImage veritabanı hangi kaydın üzerinde ise o kaydın ilişkili alanında ki resmi gösterir.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Doğru. Son kayıtta hepsi aynı kaydın resmini gösterecektir. Gayet normal.

Bunun için DBImage kullanmamalısın. TImage'e yüklemelisin.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Kod: Tümünü seç

  Tablo1.First;
  Image1.Picture.Assign(Table1.FieldByName('RESIM') as TBlobField);
  Tablo1.Next;
  Image2.Picture.Assign(Table1.FieldByName('RESIM') as TBlobField);
  Tablo1.Next;
  Image3.Picture.Assign(Table1.FieldByName('RESIM') as TBlobField);
  Tablo1.Next;
  Image4.Picture.Assign(Table1.FieldByName('RESIM') as TBlobField);
  Tablo1.Next;
  Image5.Picture.Assign(Table1.FieldByName('RESIM') as TBlobField);
  Tablo1.Next;
  Image6.Picture.Assign(Table1.FieldByName('RESIM') as TBlobField);
işte bu kadar.. :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
Serim
Üye
Mesajlar: 194
Kayıt: 08 Ara 2004 03:32
Konum: Konya

Mesaj gönderen Serim »

Öncelikle yardımlarınızdan dolayı hepinize çok tşk ederim..Bu konuyla ilgili bir sorum daha olacak :
Şimdi ben Timage nesnesine yüklesem resimleri her resmin üzerine tıkladığım zaman firma bilgilerinin olduğu sayfa açılcak ve hangi firmanın logosuna tıklanmışsa o firmanın bilgileri görünecek.Yani db kullanınca bu kolay oluyodu ama ordada bütün resimleri gösteremedim :) ben Timage bileşenine resimleri yükleme işini hallettim ama üzerine tıkladığım zaman o firmaya ait bilgileri gösterirken yada ilerde firma sayısı arttıkça aynı 6 tane Timage nesnesine 6 ile 12 arası resimleri göster demek istediğimde sorun çıkarmı :? Yani yapmak istediğim işle gittiğim yol doğrumu ??


kolay gelsin arkadaşlar , iyi çalışmalar.
Bilginin temelini sağlam at depremde zarar görmesin
Kullanıcı avatarı
TRSoft
Kıdemli Üye
Mesajlar: 636
Kayıt: 13 Şub 2004 11:39
Konum: Konya
İletişim:

Mesaj gönderen TRSoft »

Merhaba;

TImage nesnesinin Tag özelliğine kayıt numarasını atarsın. Böylece hani image tıklanmışsa tagından kayıt numarasını okuyup o kayda konumlanabilirsin.

Kolay Gelsin..
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır.
HZ. MUHAMMED (S.A.)
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

@TRSoft un dediği gibi kayıt numarası yerine kayıtın ID sini Image.Tag ına atayıp tek ortak bir OnClick veya DblClick ten kontrol edebilirsin. Hatta kayıt sayısına göre Image nesnesini form içinden oluşturup, konumunu/pozisyonunu belirleyip bu işlemleri yapabilirsin..

Kod: Tümünü seç

  Tablo1.First;
  Image1.Tag := Table1.FieldByName('ID').AsInteger;
  Image1.Picture.Assign(Table1.FieldByName('RESIM') as TBlobField);
  Tablo1.Next;
  Image2.Tag := Table1.FieldByName('ID').AsInteger;
  Image2.Picture.Assign(Table1.FieldByName('RESIM') as TBlobField); 
......
Ortak DblClick;

Kod: Tümünü seç

procedure TForm1.ImageDblClick(Sender: TObject);
var
  vID: integer;
begin
  vID := (Sender as TImage).Tag;
  Table1.FindKey([vID]);
// ..... diğer işlemler...

end;
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
Serim
Üye
Mesajlar: 194
Kayıt: 08 Ara 2004 03:32
Konum: Konya

Mesaj gönderen Serim »

tşk ederim arkadaşlar tag la ilgili önerdiğiniz kısım büyük ihtimal olacaktır.Ben bi deniyim :)

Kolay gelsin..
Bilginin temelini sağlam at depremde zarar görmesin
Cevapla