fotograftan kayıt çağırma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
fotograftan kayıt çağırma
Selam arkadaşlar
Bir program yazmaya çalışıyorum. Veri tabanıma form aracılığı ile kayıtlarımı giriyorum ve bu kayıtlara ait fotografları bir klasörde tutuyor ve bu fotografların yolunu veri tabanına yazdırıyorum. Buraya kadar herşey normal. Benim sormak istediğim şu örneğin benim 1000 kaydım var bu kayıtlara ait fotografları 10 ar 10 ar bir form üzerinde çağırmak istiyorum bu form üzerinde kayıtlar görünmesin sadece kişilere ait fotograflar görünsün bir nevi fotograf albümü ayrıca ileri ve geri butanları ile ileri butonuna bastığımda sonraki 10 kişinin fotografları geri butonuna bastığımda da önceki 10 kişinin fotograflarının gelmesini istiyorum. ayrıca örneğin a şahsının fotografına tıklayınca başka bir form da bu kişiye ait kayıtların ve fotografının gelmesini istiyorum. kısacası bir albüm yapacağım ve bu albümde bulunan hangi fotografın üzerine tıklarsam o fotografa ait kişinin bilgilerinin gelmesini için acil yardımlarınızı bekliyorum bu konuda ne yapmam gerektiği, biraz acemiyim detaylı olarak fotograftan kayıt çağırmanın nasıl yapılacağı yada hangi componenti kullanmam gerektiği konusunda bana yardımcı olursanız çok sevinirim.Hocalarımdan acil yardım bekliyorum.formda aradım ama istediğim detayda bir konu bulamadım. Acil yardımlarınızı bekliyorum. Şimdiden Allah razı olsun.
Bir program yazmaya çalışıyorum. Veri tabanıma form aracılığı ile kayıtlarımı giriyorum ve bu kayıtlara ait fotografları bir klasörde tutuyor ve bu fotografların yolunu veri tabanına yazdırıyorum. Buraya kadar herşey normal. Benim sormak istediğim şu örneğin benim 1000 kaydım var bu kayıtlara ait fotografları 10 ar 10 ar bir form üzerinde çağırmak istiyorum bu form üzerinde kayıtlar görünmesin sadece kişilere ait fotograflar görünsün bir nevi fotograf albümü ayrıca ileri ve geri butanları ile ileri butonuna bastığımda sonraki 10 kişinin fotografları geri butonuna bastığımda da önceki 10 kişinin fotograflarının gelmesini istiyorum. ayrıca örneğin a şahsının fotografına tıklayınca başka bir form da bu kişiye ait kayıtların ve fotografının gelmesini istiyorum. kısacası bir albüm yapacağım ve bu albümde bulunan hangi fotografın üzerine tıklarsam o fotografa ait kişinin bilgilerinin gelmesini için acil yardımlarınızı bekliyorum bu konuda ne yapmam gerektiği, biraz acemiyim detaylı olarak fotograftan kayıt çağırmanın nasıl yapılacağı yada hangi componenti kullanmam gerektiği konusunda bana yardımcı olursanız çok sevinirim.Hocalarımdan acil yardım bekliyorum.formda aradım ama istediğim detayda bir konu bulamadım. Acil yardımlarınızı bekliyorum. Şimdiden Allah razı olsun.
merhaba,
hiç kullanmadım ama sen sorunca aklıma geldi yerini söyleyebilmek için baktım d7 nin win32 tabında imagelist comp. var ayrıca jvcl comp. tada böyle birşeyler vardı bunları bir incelersen olur sanırım.
kolay gelsin
hiç kullanmadım ama sen sorunca aklıma geldi yerini söyleyebilmek için baktım d7 nin win32 tabında imagelist comp. var ayrıca jvcl comp. tada böyle birşeyler vardı bunları bir incelersen olur sanırım.
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

s.a.
söylediklerini yapmak için kod yazman gerekiyor.
önce ne yapmak istediğini bir kağıt üzerinde hazırla.
sonra kodlara dök.
form üzerine 10 tane image bileşeni koy. kayıtlardan döngü ile 10 ar 10 ar yükle
+
imagelist bileşeni bu işlem için uygun değil kanısındayım.
kolay gelsin.
söylediklerini yapmak için kod yazman gerekiyor.
önce ne yapmak istediğini bir kağıt üzerinde hazırla.
sonra kodlara dök.
form üzerine 10 tane image bileşeni koy. kayıtlardan döngü ile 10 ar 10 ar yükle
+
imagelist bileşeni bu işlem için uygun değil kanısındayım.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
-
- Üye
- Mesajlar: 380
- Kayıt: 31 Eki 2005 03:26
dbctrlgrid kullanırsan bu iş olur. daha önce ben yapmıştım. personel programında seçim yaptırdığım formda dbctrlgrid kullandım, personelin fotoğrafı, adısoyadı, görevi, vb... alt alta, yada istersen birkaç sütun olarak gösteriyor.
ama resimleri ayrı klasörde tutmak pek mantıklı gelmedi. ms sql server da resimleri veritabanına yazıyorsun hiçmi hiç sorun olmuyor...
ama resimleri ayrı klasörde tutmak pek mantıklı gelmedi. ms sql server da resimleri veritabanına yazıyorsun hiçmi hiç sorun olmuyor...
Selam.
- Resimler'in veritabanına kaydedilmesi teknik olarak mümkün ama veritabanı sağlığı açısından rantable değil.
- Önerim resimlerin belirlenen bir klasörde tutulmasıdır. Her resme veritabanındaki kayıt numarası veya Unique (tekil) bir kod'un isim olarak verilmiş olması kafi.
- Seçilen resmin dosya adından yola çıkılarak veritabanında ilgili kayda konumlanması hızlı ve etkili olacaktır. Tersi de kolay olacaktır.
- Tek handikap; network altında sadece veritabanı erişimi izni verilmiş ama klasör izinleri olmayan durumlardır. Bu durumda bile veritabanına resimleri gömmek son çare olmalıdır diye değerlendiriyorum.
- Resimler'in veritabanına kaydedilmesi teknik olarak mümkün ama veritabanı sağlığı açısından rantable değil.
- Önerim resimlerin belirlenen bir klasörde tutulmasıdır. Her resme veritabanındaki kayıt numarası veya Unique (tekil) bir kod'un isim olarak verilmiş olması kafi.
- Seçilen resmin dosya adından yola çıkılarak veritabanında ilgili kayda konumlanması hızlı ve etkili olacaktır. Tersi de kolay olacaktır.
- Tek handikap; network altında sadece veritabanı erişimi izni verilmiş ama klasör izinleri olmayan durumlardır. Bu durumda bile veritabanına resimleri gömmek son çare olmalıdır diye değerlendiriyorum.
s.a.s.a.
söylediklerini yapmak için kod yazman gerekiyor.
önce ne yapmak istediğini bir kağıt üzerinde hazırla.
sonra kodlara dök.
form üzerine 10 tane image bileşeni koy. kayıtlardan döngü ile 10 ar 10 ar yükle
aslangeri kardeş kod yazmam gerektiğini söylemişin veri tabanından Datasource nin onDataChange cine aşağıdaki şekilde kod yazarak fotografı imaja çağırıyorum. bir kişiye ait fotograf geliyor döngü kısmını tam çözemedim döngüyü nasıl kuracağım ve diğer imagelerle bağlantıyı nasıl yapacağım konusunda yardımcı olursan sevinirim. Bu işte biraz acemiyim.
If FileExists(Dm.TAlbumFoto1.Text) Then
Begin
Image1.Picture.LoadFromFile(DM.TAlbumFoto1.Text);
end;
s.a.dbctrlgrid kullanırsan bu iş olur. daha önce ben yapmıştım. personel programında seçim yaptırdığım formda dbctrlgrid kullandım, personelin fotoğrafı, adısoyadı, görevi, vb... alt alta, yada istersen birkaç sütun olarak gösteriyor.
ama resimleri ayrı klasörde tutmak pek mantıklı gelmedi. ms sql server da resimleri veritabanına yazıyorsun hiçmi hiç sorun olmuyor...
turkcanfidan kardeş dbctrlgrid i araştırdım datasource kısmı var ama datafield kısmını göremedim. Diyelimki resimleri veritabanında tutmaya başladım. Dbctrlgrid de datafield bulamadım acaba göremedimmi bilmiyorum. veri tabanından fotografı nasıl getireceğim. Dbctrlgrid daha önce hiç kullanmadım nasıl yaptığını biraz acarsan sevinirim.Ayrıca Fotografları veri tabanında tutmak veri tabanına ek bir yük getirmezmi veri tabanında sıkıntı doğurmazmı ? dbisam veri tabanı ve delphi 6.00 kullanıyorum.
Ayrıca openpicturedialog ekliyorum jpeg formatındaki fotografları bu dialog penceresi ile görmüyor yani tanımıyor. openpicturedialog da filter bölümünde jpeg ve jpg formatları var ama
If FileExists(Dm.TAlbumFoto1.Text) Then
Begin
Image1.Picture.LoadFromFile(DM.TAlbumFoto1.Text);
end;
kodu ile çağırıyorum. ancak jpg ve jpeg format türü yok.
En son kyilmaz46 tarafından 20 Kas 2005 10:28 tarihinde düzenlendi, toplamda 2 kere düzenlendi.
-
- Üye
- Mesajlar: 508
- Kayıt: 30 Oca 2004 10:49
resimleri veritabanında tutman tabii ki veritabanının yükünü artırır. dbctrlgird üzerine koyacagın dbimage gibi bir komponent kullanman yeterli.
Her zaman bir vâmuk-i azra olur alem bu ya,
Nev-be-nev efsaneler peydâ olur alem bu ya,
Kabz u bast kıl tefekkür aleminde ey gönül,
Vakt-i sermânın sonu, vakt-i germân olur alem bu ya...
Nev-be-nev efsaneler peydâ olur alem bu ya,
Kabz u bast kıl tefekkür aleminde ey gönül,
Vakt-i sermânın sonu, vakt-i germân olur alem bu ya...
kolay gelsin. uses kısmına jpeg eklersen o zaman görürsün. GIF ıda görmek istiyorsan ekle.kyilmaz46 yazdı:Ayrıca openpicturedialog ekliyorum jpeg formatındaki fotografları bu dialog penceresi ile görmüyor yani tanımıyor. openpicturedialog da filter bölümünde jpeg ve jpg formatları var ama
If FileExists(Dm.TAlbumFoto1.Text) Then
Begin
Image1.Picture.LoadFromFile(DM.TAlbumFoto1.Text);
end;
kodu ile çağırıyorum. ancak jpg ve jpeg format türü yok.
Ama JEDI bileşenleri işine daha çok yarayacak bu iş için hem ücretsiz hemde kurulumu forumda var .Hemde yapmak istediğin ile ilgili fazlasıyla bileşen mevcut içinde (örnek te var)
Tekrar kolay gelsin.
-
- Üye
- Mesajlar: 380
- Kayıt: 31 Eki 2005 03:26
dbctrlgrid in kullanımı kolay aslında;
datafield yok çünkü onu bir form gibi düşün. üzerine koyduğun dbedit, dbcheckbox, vs.. gibi componentlerin tümü datasource'unda belirttiğin yere bağlanıyor.
formun üzerine ilk koyduğun anda 3 satırlık bir şekil çıkıyor. birinci bölüme bir adet dbimage, dbLabel, dbEdit falan koy. onların sadece datafield ını değiştir. ctrlgrid kaç satır olsun istiyorsan row bölümünden ayarla... çalıştırınca resimlerin çoğaldığını göreceksin. personeli resimli olarak seçmiş olursun. dbclick olayına bir kod yazıp personelin kartını açtırabilirsin.
kolay gelsin.
datafield yok çünkü onu bir form gibi düşün. üzerine koyduğun dbedit, dbcheckbox, vs.. gibi componentlerin tümü datasource'unda belirttiğin yere bağlanıyor.
formun üzerine ilk koyduğun anda 3 satırlık bir şekil çıkıyor. birinci bölüme bir adet dbimage, dbLabel, dbEdit falan koy. onların sadece datafield ını değiştir. ctrlgrid kaç satır olsun istiyorsan row bölümünden ayarla... çalıştırınca resimlerin çoğaldığını göreceksin. personeli resimli olarak seçmiş olursun. dbclick olayına bir kod yazıp personelin kartını açtırabilirsin.
kolay gelsin.
Sakıncası yok tabii ki ama bence duruma göre hareket edilmeli. Resimler ne kadar, boyutu nedir vs. Mesela 5000 parçalık bir stoğunuz var ve bunun 1000 tanesinin resimleri varsa veritabanında saklamak mantıklı. Resimlerin boyutu ve adedi yüksek ise, işleyişe göre diskte tutup, bunların yerini belirtmek daha uygun bence. Resimlerin güvenliğini de sağlamak lazım bu arada. Yetkisiz biri girip silemesin.coderlord yazdı:Resmi VT'de blob alanda saklamanın sakıncasının ve bu sakıncalı durumun mantığının neye dayandığını bana birisi açıklayabilir mi?
Kolay gelsin.
- Bu konuda sakıncalı olduğu üzerine mesaj yazan sadece ben olduğuma göre cevap vereyim o zaman.
Dileyen dilediği gibi kullanır.
- Veritabanında böyle bir imkan verilmiş olması her zaman bunu böyle uygulamak lazım demek değildir. Sadece son başvuru noktası olması gerekliliğini savunuyorum.
- Bir veritabanının replicasyonu ne için gerekiyorsa, sakınca da onun içindir. Silinen kayıtların veritabanından kalıcı olarak atılması için ek işlem gerekir ve bu işlemin zamana yayılımı belki ayda bir belki de yılda birdir.
- İşin içine resimler giriyorsa veri trafiğine göre bunun hafta bire kadar çekmek gerekebilir. Disk'te kapladığı alan çerçevesinde de veritabanının fiziksel bütünlüğünü sağlam tutmak da cabası.
- Umarım rantabilitesi hakkındaki kaygımı açıklayabilmişimdir. Tamamen proje üreten kişinin bilgi ve tercihine bağlı bir durum yani.

- Veritabanında böyle bir imkan verilmiş olması her zaman bunu böyle uygulamak lazım demek değildir. Sadece son başvuru noktası olması gerekliliğini savunuyorum.
- Bir veritabanının replicasyonu ne için gerekiyorsa, sakınca da onun içindir. Silinen kayıtların veritabanından kalıcı olarak atılması için ek işlem gerekir ve bu işlemin zamana yayılımı belki ayda bir belki de yılda birdir.
- İşin içine resimler giriyorsa veri trafiğine göre bunun hafta bire kadar çekmek gerekebilir. Disk'te kapladığı alan çerçevesinde de veritabanının fiziksel bütünlüğünü sağlam tutmak da cabası.
- Umarım rantabilitesi hakkındaki kaygımı açıklayabilmişimdir. Tamamen proje üreten kişinin bilgi ve tercihine bağlı bir durum yani.
a.skyilmaz46 yazdı: s.a.
aslangeri kardeş kod yazmam gerektiğini söylemişin veri tabanından Datasource nin onDataChange cine aşağıdaki şekilde kod yazarak fotografı imaja çağırıyorum. bir kişiye ait fotograf geliyor döngü kısmını tam çözemedim döngüyü nasıl kuracağım ve diğer imagelerle bağlantıyı nasıl yapacağım konusunda yardımcı olursan sevinirim. Bu işte biraz acemiyim.
If FileExists(Dm.TAlbumFoto1.Text) Then
Begin
Image1.Picture.LoadFromFile(DM.TAlbumFoto1.Text);
end;
bu kodu ondatachange ye değilde afterscrolla yazarsan kayıt değiştiğinde ototmatik olarak resmide değiştirir.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
@mrmcop ve @mussimsek'e yanıt olarak:mussimsek yazdı:Sakıncası yok tabii ki ama bence duruma göre hareket edilmeli. Resimler ne kadar, boyutu nedir vs. Mesela 5000 parçalık bir stoğunuz var ve bunun 1000 tanesinin resimleri varsa veritabanında saklamak mantıklı. Resimlerin boyutu ve adedi yüksek ise, işleyişe göre diskte tutup, bunların yerini belirtmek daha uygun bence. Resimlerin güvenliğini de sağlamak lazım bu arada. Yetkisiz biri girip silemesin.coderlord yazdı:Resmi VT'de blob alanda saklamanın sakıncasının ve bu sakıncalı durumun mantığının neye dayandığını bana birisi açıklayabilir mi?
Anladığım kadarıyla VT'nin tek bir dosya olması ve içine resim vs. girdiğinde boyutunun çok fazla artması çekinilen şeyler.
Diskte dosya olarak tuttuğunuzda aslında fiziksel olarak VT'de tutma ile aynı işi yapıyorsunuz. Ben arada pek bir fark göremiyorum. Ayrıca erişim, kontrol kolaylığı, yedekleme ve veri güvenliği bakımından VT'de tutmak ağır basacaktır.
VT'nin boyutunun artması meselesi neden sorun oluşturuyor. Vt'nin page yapısı var. Veri hangi page'de ise o bölüm diskten okunur. Tıpkı küçük bir FAT gibi. Uygun VT parametre ve ayarlamalarıyla hız ve stabilite sorunlarının önüne geçmek mümkün.
Şöyle bir örnek vereyim. Bir content ve document manager uygulaması olan Sharepoint MS-SQL sunucu kullanır. Portal'e attığınız her dosya MS-SQL VT'de saklanır. Ayrı ayrı klasörlerde değil. Performans bakımından hiçbir sakıncasını göremedim şimdiye kadar.
Dizinlerde dosyaları tutmak programcıya fazladan kod, kontrol ve güvenlik gereksinimleri getirmekte. Bence herhangi bir üstünlüğü de bulunmamakta.
Ben daha elle tutulur bir kanıt istiyorum.
