Bu işin pek çok yolu var biliyorum. Bazılarını inceledim. Veri tabanına resim kaydetmeyi vt şişirme yönünden istemedim. yolunu kaydetmeyi ise dosya yeri değiştiğinde yine sorun olucak gibi geldi.
procedure TFormArsiv.Label47Click(Sender: TObject);
begin
if fileexists(dm1.DosyaYoluIBDataSet.fieldbyname('FOTO_YOLU').AsString+dm1.ArsivIBDataSet.fieldbyname('CERAIMNO').AsString+'.jpg') then
begin
image1.Picture.LoadFromFile(dm1.DosyaYoluIBDataSet.fieldbyname('FOTO_YOLU').AsString+dm1.ArsivIBDataSet.fieldbyname('CERAIMNO').AsString+'.jpg');
label47.Visible:=false;
end
else
begin
if not fileexists(dm1.DosyaYoluIBDataSet.fieldbyname('FOTO_YOLU').AsString+dm1.ArsivIBDataSet.fieldbyname('CERAIMNO').AsString+'.jpg') then
showmessage('"'+dm1.arsivibdataset.fieldbyname('CERAIMNO').AsString+
'"'#13'Ceraim Numaralı Şahsın'#13'Fotoğrafı Kayıtlarda Yok');
label47.Visible:=true;
end;
burada bi tablom var ve o tabloda FOTO_YOLU alanında sadece dosyanın yolu belirtiliyor. yani d:\OYİB V1.0\Image\ bu kadar kod buradan yolu alıyor klasörü buluyor ve arşiv tablosundan ceraim numarasını alıyor fotoğraf var ise gösteriyor yoksa mesaj veriyor yok diye. kullanıcı FOTO_YOLU ismini yapacağım bi form ile dilediği zaman değiştirebilecek. böylelikle dosyayı biri başka yere taşıdı falan olmayacak.
bu yol uygunmu diye sormak istedim. acemilik olunca ve tecrübe olmayınca insan tereddüt ediyor. kod şimdilik çalışıyor ve fotoğrafı gösteriyor.
teşekkür ve saygılarımla
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.
selam
valla aynı sorundan benim de başım ağrıyor. benim resimleri taşımam gerektiği için bmp olarak kaydedilmesine karar verdim ve veritebanını şişmesini göze aldım.(aynı zamanda resimlerin veritabanı dışında biyerde tutulması hoş olmayacağı için). bu işine yarayacaksa oldukça iyi. benim asıl yapmak istediğim yolları değil jpeg formatını kaydetmek veritabanına.
bu da nasıl olur bilmiyorum
yolu kaydetmeden önce dosyayı da sizin belirlediğiniz bir yola kopyalayıp ondan sonra yolu veritabanında tutsanız nasıl olur? Bu sayede asıl resmin yolu değişse bile bizim veritabanına kaydettiğimiz yol, resmin kopyasına ait olacağından sorun olmayacaktır.
@sonuncusado,
bu konuda pek çok makale var. bu forum hazine arama yaptırırsan bu konuda ustaların yazdığı, önerdiği pek çok şey var. benim çalışmamda veri tabanına fotoları atmak iyi olmayacak kanaatindeyim çünki bir kaç ürün resmi değil. şu an için 3200 kayıt var ve her bir kişinin fotoğrafı olacak. ve her gün artıyor bu da işi baya şişman yapacak.
@mucar,
biz fotoğrafları klasörde tutma yolunu seçtik fotoğraflar zaman içinde güncelleniyor ve böle daha kolay oluyor. zaten fotoğraf klasörü proje klasörü içinde pek oradan bi yere ayrılmaz ben olduğu sürece ama biri değiştirirse veya taşırsa diye böl bi yöntem seçtim. ana menu formunda bir tıklama ile dosyanın yolunu yazıyor gerisine karışmıyor.
teşekkür ve saygılarımla
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.
veri tabanında resimleri tutmak biraz şişiriyor. 500 tane jpeg resmi kaydetmiştim. jpeg formatında. veri tabanı 2 mb 22 mb 'a çıkmıştı. belki ben yanlış yapmış olabilirim ama. bende resimleri klasörde tutma yoluna gittim. daha iyi oldu.
ben bi ara forum da gezerken Veritabanina resim kaydetme diye bir sey ile karsilasmistim. arkadaslarimdan biri resmi veritabanina tiff formatinda kaydettigimiz taktirde az sisme olacagi kanisindaydi. yanlis hatirlamiyorsam 600 kb büyüklügündeki BMP resim JPG formatinda 60 KB ve TIFF formatinda yalnizca 20 KB alan kapladigini belirtmisti... Forumda bi arama yaparsaniz yeterli bilgiyi bulabileceginiz kanisindayim...