fb, resim, ağda kullanım

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
csyasar
Üye
Mesajlar: 646
Kayıt: 25 Şub 2004 10:14
Konum: Tokat

fb, resim, ağda kullanım

Mesaj gönderen csyasar »

arkadaşlar;

bir projem var. şimdi bu projede stok bölümüne malzemenin resmini koymam gerekiyıor. ama vt şişmesin fazla yükü olmasın diye ben resmi vt'ına kaydetmek yerine bilgisayarda saklamayı uygun görüyorum. ama bi sorun var. program localde değil ağda çalışıyor.

yani ana makine veritabanından mesela:

C:\Program\Resim\0000001.jpg yi okuyup resmi açacak :D

ama client bilgisayar:

C:\Program\Resim\0000001.jpg yi okuyamadığı için hata verecek. :roll:

nasıl gidericez bu problemi. yoksa zaten programın olduğu dizine erişim vereceksin ordan al mı diyceksiniz. ama bu defada localde çalışırken bile paylaşım verilmesi gerekecek. bu da benim için problem. adam localde çalışıtyorum diye makine adını veya ip'yi her değiştirmesinde beni çağıracak. nasıl halledecem olmassa vt'na mı kaydedeceğim?? :cry:
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Indy'nin TCP socketini kullanarak resim stream'ini client'lara aktaran bir kod yazılabilir. Indy demo'larında bu konu ile ilgili örnek mevcut.
selm@n
Kıdemli Üye
Mesajlar: 442
Kayıt: 01 Oca 2004 11:52
Konum: Adapazarı
İletişim:

Mesaj gönderen selm@n »

İkinci Yöntem : programın çalıştığı klasöre mesela c:\myprog\resimler
diye sabit bir klasör açman ve \resimler kalsörünü paylaşıma açmandır..

data yolunu IP göre yapıyorsan aşağıdaki gibi resmi çağrabilirsin;

Kod: Tümünü seç

Image1.Picture.LoadFromFile('\\'+ ServerAdi+'\resimler\'+ DstPersonelNRESIM.AsString + '.jpg');
bu şekilde çağrabilirsin;
;)
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

3. bir yol

resimleri ayrı bir fdb dosyasında tut. ne indy ile uğraş ne paylaşım ile ne de gerçek fdbnin boyutu artsın
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
csyasar
Üye
Mesajlar: 646
Kayıt: 25 Şub 2004 10:14
Konum: Tokat

Mesaj gönderen csyasar »

selm@n yazdı:İkinci Yöntem : programın çalıştığı klasöre mesela c:\myprog\resimler
diye sabit bir klasör açman ve \resimler kalsörünü paylaşıma açmandır.. data yolunu IP göre yapıyorsan aşağıdaki gibi resmi çağrabilirsin;
bu şekilde çağrabilirsin;
yukarda böyle bişeyin yapılabileceğini fakat sakıncalı olduğunu yazmışım
selm@n
Kıdemli Üye
Mesajlar: 442
Kayıt: 01 Oca 2004 11:52
Konum: Adapazarı
İletişim:

Mesaj gönderen selm@n »

hocam data yolu IP ile yaparsın kullanıcı programı biryere taşıdığı zaman ise sadece resimler klasörünü paylaşıma açar..

bu yöntem olmaz dersen en mantıklısı @sadettinpolat hocamın dediği gibi yapmak...
;)
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1526
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

bencede resimleri sadece okuma izni verdiğin bir kalsörde tut, böylece vt. yi şişirmemenin yanında performansıda korumuş olursun.
Resim

..::|YeşilMavi|::..
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Selamlar @selman arkadaşımızın dediği gibi bir yol için statik bir server in varsa user kendi clientindan da resim seçse bunu servere kopyalatıp (Mesela resimler klasörüne) yolu o şekilde belirlemen mantıklı olur. Bizde excel dosyaları (programdan alınanan raporların excel formatı) server üzerinde bir paylaşımlı klasöre direk olarak atılıyor. O serverin ipsi yada adını sürekli statik olarak kabul etmende gerekecek. zaten FIB veya Interbase kullanıyorsan muhakkak bunlardan birini sabit tutman gerekir yada dışardan bir dosyadan okuman gerekir. aynı programda ayrı bir sata base bana çok sıcak gelmedi, ama onunda avantajlarını inkar etmemek lazım. Her iki yolun da avantajları var.

Sonuç olarak ben server üzerinde tutmayı tercih ederim.
I love my car.
Blog Yaptık
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Mesajımı yolladıktan sonra bir şey aklıma geldi. Bizim program veri tabanı extra yoları bir text dosyadan alıyor. sende sadece veritabanına dosyanın adını yazarsın mesela ;

Kod: Tümünü seç

resimxx.bmp 
Program açılışında Dstabase yolunu okuduğun text file dan da resim yolunu okur, Bir string variable da muhafaza edersin.

sonra databse den okuyup

Kod: Tümünü seç

   Image1.Picture.Bitmap.LoadFromFile(resimyolu+queryresim.asstring)

gibi bir kodla yazdırırsın.

Böylece Resim klasörünü değiştirme ve her yerden görmeyi sağlamış olursun

İyi Çalışmalar.
I love my car.
Blog Yaptık
csyasar
Üye
Mesajlar: 646
Kayıt: 25 Şub 2004 10:14
Konum: Tokat

Mesaj gönderen csyasar »

mesajlara baktım en mantıklı yol resim için ayrı bir vt açıp kullanmak.
Cevapla