Kayda göre resim getirme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
angelos
Üye
Mesajlar: 6
Kayıt: 24 Mar 2014 12:05

Kayda göre resim getirme

Mesaj gönderen angelos »

Delphide acemiyim daha önce access ile hazırlamış olduğum rehber programını delphide hem yapıp hem de delphide kendimi denemek istedim
Access te bir dosya içerisine resimlerimi yükleyip formda kullanıcıya ait resmi o dosya yolunu göstererek kullanıcı siciline göre aldırıyordum resimlerin adı sicilleri ile aynı idi.
Delphide bunu yapmaya çalışıyorum ama olmadı image nesnesi ekledim image nesnesi ile kullanıcıya ait resmi otomatik getirtecek kodu yazamadım bi türlü yardımcı olursanız sevinirim
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: Kayda göre resim getirme

Mesaj gönderen Lord_Ares »

Mantık olarak basit bir yol izleyebilirsin, ilk aklıma gelen, veritabanın da adı , soyadı, sicilno, resimyolu diye alanların olduğunu varsayarak, kişi kaydetme işlemi sırasında resmi kaydettiğin yeri resimyolu adlı alana kaydet. Ekranda kullanıcı kişiyi nasıl seçeceği hakkında bilgi vermemişsin, combobox veya editten seçtiğini düşünerek, combobax ın onchange özelliğinden yararlanarak imaj nesnesine resmin yolunu atayabilirsin.(Yapmak istediğin iş için farklı yöntemler de var (bloop alan vs gibi) . Veritabanının büyüklüğüne göre bir yol seçmek en mantıklısıdır)

Kolay gelsin..
angelos
Üye
Mesajlar: 6
Kayıt: 24 Mar 2014 12:05

Re: Kayda göre resim getirme

Mesaj gönderen angelos »

bu kodu access te kullanıyordum.

Kod: Tümünü seç

    Dim Foto, fotoDosya, Klasor
     Foto = Me.SİCİLİ
     Klasor = "\Fotolar\"
     fotoDosya = Application.CurrentProject.Path & Klasor & Foto & ".jpg"
     Resim.Picture = fotoDosya
Exit Sub
Hata:
     Resim.Picture = Application.CurrentProject.Path & Klasor & "Boş.jpg"
End Sub
Senin söylediğin yol ile sicili nasıl bağlayacağım anlamadım özür dilerim cahilliğime ver.bu kodu delphi de kullanabileceğim şekilde ayarlama imkanımız varmı ?
Kullanıcı avatarı
cinarbil
Üye
Mesajlar: 109
Kayıt: 18 Mar 2014 09:26

Re: Kayda göre resim getirme

Mesaj gönderen cinarbil »

Kod: Tümünü seç

  dosyayolu :='c:\data\rsm\resim1.jpg' ;
   if FileExists(dosyayolu) then begin  // dosya varsa aşağıdaki kodu çalıştır.
        Timage.Picture.LoadFromFile(dosyayolu);
   end;
forma 1 adet Timage ekleyin
diğer bilgileri ekrana getirdiğiniz procedure de yukarıdaki kodu ekleyin formunuzda dosyayolu adli string alan tanımlamayı unutmayın.
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
angelos
Üye
Mesajlar: 6
Kayıt: 24 Mar 2014 12:05

Re: Kayda göre resim getirme

Mesaj gönderen angelos »

cinarbil yazdı:

Kod: Tümünü seç

  dosyayolu :='c:\data\rsm\resim1.jpg' ;
   if FileExists(dosyayolu) then begin  // dosya varsa aşağıdaki kodu çalıştır.
        Timage.Picture.LoadFromFile(dosyayolu);
   end;
forma 1 adet Timage ekleyin
diğer bilgileri ekrana getirdiğiniz procedure de yukarıdaki kodu ekleyin formunuzda dosyayolu adli string alan tanımlamayı unutmayın.
Bu kod ilgili kişinin siciline bakıp o sicile ait resmi Timage olan kısma aktaracakmı otomatik olarak? Yoksa sadece Resim1.jpg isimli dosyayı mı her kişiye atayacak
Kullanıcı avatarı
cinarbil
Üye
Mesajlar: 109
Kayıt: 18 Mar 2014 09:26

Re: Kayda göre resim getirme

Mesaj gönderen cinarbil »

bu kod dosyayolu adlı değişkendeki resmi gösterecektir.
Güvenlik ile ilgili sıkıntı yoksa resimleri klasorde topla sicilno.jpg olarak kaydet
dosyayolu :='43724573' // sicil no ataması yapınca varsa resmi gösterir
database içine resim ekleyerek kullanacağım dersen database yapı ve kurallarını araştırmalısın
En son cinarbil tarafından 25 Mar 2014 05:12 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
angelos
Üye
Mesajlar: 6
Kayıt: 24 Mar 2014 12:05

Re: Kayda göre resim getirme

Mesaj gönderen angelos »

cinarbil yazdı:bu kod dosyayolu adlı değişkendeki resmi gösterecektir.
Güvenlik ile ilgili sıkıntı yoksa resimleri klasorde topla sicilno.jpg olarak kaydet
dosyayolu :='43724573' // sicil no ataması yapınca varsa resmi gösterir
database içine resim ekleyerek kullanacağım dersen database yapı ve kurallarını araştırmalısın
yapmak istediğim tam olarak senin anlattığın şey :) anlayabilseydim güzel olcaktı :) senin söylediğin şekilde sicilno.jpg olarak bi klasörde kayıtlı resimlerim
dosyayolu :='c:\data\rsm\resim1.jpg' ;dosya yolunu kendime göre editledim masaüstünde olduğu için.

Kod: Tümünü seç

 tanımlamayı bu şekilde yaptım bunun altına 
VAR
dosyayolu:string;
begin
dosyayolu :='c:\data\rsm\resim1.jpg' ;
if FileExists(dosyayolu) then begin // dosya varsa aşağıdaki kodu çalıştır.
Timage.Picture.LoadFromFile(dosyayolu);
end;
şeklinde çalıştırınca

Kod: Tümünü seç

        Timage.Picture.LoadFromFile(dosyayolu);
bu kısım kırmızı yanıyor.Genede yardımlarınız için teşekkürler 2 gündür uğraşıyorum birden herşeyi öğrenmeye çalışmak saçma zaten
Kullanıcı avatarı
cinarbil
Üye
Mesajlar: 109
Kayıt: 18 Mar 2014 09:26

Re: Kayda göre resim getirme

Mesaj gönderen cinarbil »

Formuna Timage adlı bileşeni ekledin mi?
Adı Timage1 olabilir mi ?
Hata olarak ne yazıyor ?
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
angelos
Üye
Mesajlar: 6
Kayıt: 24 Mar 2014 12:05

Re: Kayda göre resim getirme

Mesaj gönderen angelos »

cinarbil yazdı:Formuna Timage adlı bileşeni ekledin mi?
Adı Timage1 olabilir mi ?
Hata olarak ne yazıyor ?
Timage ismi hata olarak

Kod: Tümünü seç

 Timage.Picture.LoadFromFile(dosyayolu);
bu kısmı kırmızıya boyuyo çalıştırınca. Sicil isminde olan kısmın değiştiğinde eventine ekleyince hata vermiyor.Ama resim gelmiyor

Kod: Tümünü seç

sicili :='c:\Documents and Settings\TAN\Desktop\rsm\resim.jpg' ;
eğer resim.jpg kısmına 11111.jpg yazarsam kimin sicili ise o geliyor bütün kayıtlarda
angelos
Üye
Mesajlar: 6
Kayıt: 24 Mar 2014 12:05

Re: Kayda göre resim getirme

Mesaj gönderen angelos »

Kod: Tümünü seç

dosyayolu :='43724573' // sicil no ataması yapınca varsa resmi gösterir
Bu bahsettiğin atamayı kişi siciline bakarak kendi otomatik olarak yapıyor değilmi yoksa benim tek tek her kişi için yazmammı lazım ?
Cevapla