View Full Version : نمایش عکس با رفتن روی یک رکورد
Reza_gold
دوشنبه 04 دی 1385, 08:31 صبح
سلام ...
من یه DBGrid و یک Image روی فرمم گذاشتم . فرض کنید که توش دو تا رکورد داشته باشیم . می خوام وقتی روی رکورد اول می رم مثلاً عکس شماره 1 و وقتی روی بعدی می رم عکس شماره 2 توی Image نشون داده بشه . لطفاً منو راهنمایی کنید .. مرسی
mzjahromi
دوشنبه 04 دی 1385, 08:37 صبح
میتونید از رویداد OnDataChange مربوط به DataSource استفاده کنید
free
دوشنبه 04 دی 1385, 08:39 صبح
اگر عکس مورد نظرت را توی بانک ذخیره کردی که باید از بانک خوانده بشه .اگر نه:
با استفاده از شماره رکورد مورد نظر در DbClick مربوطه به DbGrid بنویس:
('') Image1.Picture.LoadFromFile داخل پرانتز هم مسیر عکس را با نام و پسوندش بنویس.
Reza_gold
دوشنبه 04 دی 1385, 08:55 صبح
عکس ها باید توی بانک ذخیره بشن .
لطفاً بیشتر توضیح می دین . مرسی
mzjahromi
دوشنبه 04 دی 1385, 09:32 صبح
اگر عکسها توی بانک ذخیره میشن که کافیه یه DBImage بذارید روی فرم و به DataSource متصلش کنید.
اگر هم بخواهید اطلاعات را خودتان ذخیره کنید میتوانید از DBImage1.LoadFromFlile استفاده کنید.
MNosouhi
دوشنبه 04 دی 1385, 09:33 صبح
در پوشه دوموهای دلفی و در پوشه Db ، فولدری با نام FishFact است که اگر برنامه ای که درون اون است را اجرا کنید خواهید دید که همون چیزی هست که میخاید.
Saeid59_m
سه شنبه 05 دی 1385, 09:22 صبح
سلام
پیشنهاد من اینه که عکسها رو توی بانک نذارید . بهتره یه پوشه برای عکسهات درستی کنی و نام هر فایل عکس رو مثلاً شماره پرسنلی اون بذار و از این طریق لود کن .
اینطوری بانک هم سنگین نمی شه
zman123456
پنج شنبه 07 دی 1385, 17:54 عصر
روشی که آقا Saeid فرمودن اولا یک سرور می خواد که بتونه عکسها رو در یک Share folder ذخیره کنه و بعد ایشون هم باید مقداری شبکه هم یاد بگیرند تا بتونند با $ share ها هم کار کنند.دوما امنیت اطلاعات شاید مهم باشه.
MNosouhi
پنج شنبه 07 دی 1385, 19:33 عصر
سلام
پیشنهاد من اینه که عکسها رو توی بانک نذارید . بهتره یه پوشه برای عکسهات درستی کنی و نام هر فایل عکس رو مثلاً شماره پرسنلی اون بذار و از این طریق لود کن .
اینطوری بانک هم سنگین نمی شه
روشی که آقا Saeid فرمودن اولا یک سرور می خواد که بتونه عکسها رو در یک Share folder ذخیره کنه و بعد ایشون هم باید مقداری شبکه هم یاد بگیرند تا بتونند با $ share ها هم کار کنند.دوما امنیت اطلاعات شاید مهم باشه.
به نوع برنامتون بستگی داره ، من در برنامه هام معمولا در بانک ذخیره می کنم ، اما اولا اجازه ذخیره فقط jpg رو میدم ، دوما برای همون فایل jpg هم شرط حجم میزارم ، مثلا اجازه نمی دم حجم عکس بیشتر از 50 کیلو بایت بشه ، سوما (بسته به نوع برنامه) فیلد رو طوری تنظیم می کنم که عملیات فشرده سازی رو هم انجام بده و چهارم سعی می کنم تا اونجایی که می تونم این فیلد تصویر رو از دیتابیس صدا نزنم ، یعنی به جای اینکه بنویسم select * from می نویسم :
select dield1,field2,... from و نام فیلد تصویر رو نمیارم(مگر جایی که واقعا نیاز بشه.)
zman123456
پنج شنبه 07 دی 1385, 20:33 عصر
بله این بهترین کاری هست که میشه انجام داد.من هم خودم از این روش استفاده می کنم.
ولی میشه بگین چطوری عمل فشرده سازی رو هم انجام می دین؟
MNosouhi
جمعه 08 دی 1385, 00:45 صبح
میشه بگین چطوری عمل فشرده سازی رو هم انجام می دین؟
خود بانک باید این امکان رو در اختیارتون قرار بده ، مثلا در dbisam حتی میزان فشرده سازی رو هم می تونید مشخص کنید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.