View Full Version : سوال: دخیره کردن عکس و روال نمایش
hentjanson
پنج شنبه 19 اردیبهشت 1387, 13:17 عصر
سلام من تو روند ذخیرک کردن عکس مشکل دارم کدم اینه :
if OpenPictureDialog1.Execute Then
begin
PicturePath:=OpenPictureDialog1.filename;
Image1.Picture.Bitmap.LoadFromFile(PicturePath);
end;
میشه دوستان خودشون یک مثال بزنند بانکم اکسس و از adotable استفاده می کنم میشه یک مثال برام بزنید تا متوجه شم می خوام عکس در بانکم ذخیره شه نه ادرسش.
hentjanson
پنج شنبه 19 اردیبهشت 1387, 13:25 عصر
اگه لازمه بگید برنامه نوشته شده خودم رو هم بزارم واسه نمایش ....
Amir_Safideh
پنج شنبه 19 اردیبهشت 1387, 14:27 عصر
شما میتونید از ابزار DBImage استفاده کنید . این ابزار برای ارتباط با دیتابیس و نمایش فیلدهائی است که تصاویر رو نگهداری میکنند . شما باید خصوصیات DataSource و DataField این DBImage رو هم ست کنید (دقیقا مثل یک DBEdit) .
حالا برای ذخیره عکس ابتدا یک رکورد جدید ایجاد کنید :
ADOTable1.Insert;
حالا وارد کردن تصویر در DBImage از یک OpenPictureDialog استفاده کنید :
OpenPictureDialog1.Execute;
DBImage1.Picture.LoadFromFile(OpenPictureDialog1.F ileName);
و برای ذخیره کردن تصویر :
ADOTable1.Post;
-------------
موفق باشید .
hentjanson
پنج شنبه 19 اردیبهشت 1387, 17:50 عصر
من تازه واردم این کد ها رو کجا بنویسم میشه بگین کجا ها اینا رو بنویسم . ببخشید اگه سوالم خیلی ابتداییه اخه متوجه نشدم
echoes
پنج شنبه 19 اردیبهشت 1387, 18:40 عصر
OpenPictureDialog1.Execute;
DBImage1.Picture.LoadFromFile(OpenPictureDialog1.F ileName);
اين قسمت رو بايد در دكمه Browse قرار دهيد و
با توجه به نحوه ذخيره كردنتان در صورتي كه از كامپوننتهاي DB استفاده مي كنيد Insert را قبل از همه استفده كنيد(در واقع دكمه اي مانند جديد داشته باشيد) ، و در انتها براي دكمه ثبت از دستور post براي ذخيره كردن استفاده نمائيد.
khazaie01
پنج شنبه 19 اردیبهشت 1387, 21:59 عصر
شما میتونید از ابزار DBImage استفاده کنید . این ابزار برای ارتباط با دیتابیس و نمایش فیلدهائی است که تصاویر رو نگهداری میکنند . شما باید خصوصیات DataSource و DataField این DBImage رو هم ست کنید (دقیقا مثل یک DBEdit) .
حالا برای ذخیره عکس ابتدا یک رکورد جدید ایجاد کنید :
ADOTable1.Insert;
حالا وارد کردن تصویر در DBImage از یک OpenPictureDialog استفاده کنید :
OpenPictureDialog1.Execute;
DBImage1.Picture.LoadFromFile(OpenPictureDialog1.F ileName);
و برای ذخیره کردن تصویر :
ADOTable1.Post;
-------------
موفق باشید .
سلام دوستان . راستش فکر نکنم این راه جالبی برای ذخیره کردن عکس در بانک باشه
echoes
جمعه 20 اردیبهشت 1387, 00:57 صبح
این ساده ترین راهه، چرا راه جالبی نیست؟ تنها ایرادش اینه که زیاد با jpeg سازگار نیست حتی اگر use کرده باشی.
یه سری به اینم بزن http://www.nevrona.com/Default.aspx?tabid=152
khazaie01
جمعه 20 اردیبهشت 1387, 07:54 صبح
اگه بخوایم از DBImage استفاده کنیم . باید عکسهای بیتمپ رو داخل بانک قرار بدیم و اگه jpeg هم داخل بانک داشته باشیم با DBImage نمیشه مشاهده کرد .
آره آسانترین راه اینه ولی خیلی مشکل داره یه بانک پر از عکسهای بیتمپ !!!
بهترین راه استفاده از Image و کار با ADOBLOBStream . در اینصورت کاربر هر نوع عکسی رو میتونه وارد کنه و بعد تبدیل میشه به jpeg و موقع نمایش عکس هم مشکلی پیش نمیاد
hentjanson
جمعه 20 اردیبهشت 1387, 09:51 صبح
دوستان میشه یک نمونه برام بزارید تا منم ببفهمم شما همه استادید ولی اگه امکانش هست یک نمونه برنامه برنامه بزارید . تشکر از همه
Amir_Safideh
جمعه 20 اردیبهشت 1387, 11:36 صبح
آقای Amir_Safideh لطفاً یک نمونه پروژه بزارید اگه ممکنه!!!
فکر نکنم که این کار سختی باشه برای شما جناب خارائی . یه امتحان بکنید .
البته این یه راه پیشنهادی بود برای ذخیره عکس در بانک و من نگفتم که بهتربن راه اینه .من فقط شروع کار رو گفتم تا دوستمون با بدونه از کجا شروع کنه .
دوستان میشه یک نمونه برام بزارید تا منم ببفهمم شما همه استادید ولی اگه امکانش هست یک نمونه برنامه برنامه بزارید . تشکر از همه
کد اول رو در روال OnClick مربوط به Button ای بزارید که رکورد جدید رو ایجاد میکنه .
کد دوم رو هم در روال OnClick مربوط به Button ای بزارید که OpenPictureDialog رو برای قرار دادن عکس در بانک باز میکنه .
و کد آخر رو هم در رویداد OnClick مربوط به Button ای بزارید که عمل ذخیره رو انجام میده .
-------------
موفق باشید.
vcldeveloper
جمعه 20 اردیبهشت 1387, 15:40 عصر
اضافه کردن پشتیبانی از JPEG به DBGrid کار خیلی سختی نیست. مثلا همین JvDbImage در مجموعه JVCL که بصورت Open-source منتشر میشه، از TDBGrid مشتق شده و از JPEG هم پشتیبانی کامل میکنه.
khazaie01
جمعه 20 اردیبهشت 1387, 19:43 عصر
نه کار سختی نیست راحت میشه نوشتش فقط یه مشکل کوچیک بوجود میاد که اونم مربوط میشه به اکسس آخه اکسس میاد مسیر شی ء OLE رو به عنوان بخشی از تعریف شی ء توی فیلد ذخیره میکنه .
خوب دوست عزیز شما از DBImage استفاده کنید به اندازه کافی دوستان توضیح دادند.
hentjanson
جمعه 20 اردیبهشت 1387, 21:50 عصر
سلام بچه ها من برنامه خودم رو نوشتم هنوز مشکل دارم اگه وقت کردین یک برنامه در حد خیلی ساده برام بنویسید در بانک اکسس کار کنه .
vcldeveloper
شنبه 21 اردیبهشت 1387, 00:16 صبح
من برنامه خودم رو نوشتم هنوز مشکل دارم
ببخشید، باید مشکل شما را حدس بزنیم؟!
khazaie01
شنبه 21 اردیبهشت 1387, 06:07 صبح
کجاش مشکله ؟؟ دوستان که اینهمه توضیح دادن ! میخواین براتون یه مثال از DBImage بنویسم آره ؟
khazaie01
شنبه 21 اردیبهشت 1387, 14:20 عصر
این ساده ترین مثالی بو که میتونستم براتون بنویسم
http://www.easyul.com/dl/1993/DBImage.zip.html
بی شک مشکلی باهاش نخواهید داشت
hentjanson
شنبه 21 اردیبهشت 1387, 20:04 عصر
سلام خوب بود ببین من می خوام به جای اون نوار دکمه بزارم دکمه ذخیره میشه بگی باید چه کار کنم
hentjanson
شنبه 21 اردیبهشت 1387, 20:21 عصر
سلام بچه ها چطور میشه اسم عکس رو در بانک ذخیره کرد خود عکس رو در یک پوشه اینطوره بانک هم سنگین نمیشه . اخه من خیلی وقته رو این موضوع موندم چند هفتست اگه کمک کنید تشکر می کنم میشه اگه می خواین برام توضیح بدید برام مثال بزنید تشکر می کنم اینطوری اگه یکی دیگه هم بعدا این سوال رو داشت جوابی قانع کننده براش داریم . مرسی از همه
khazaie01
شنبه 21 اردیبهشت 1387, 20:58 عصر
کدوم نوار ؟! DBNavigator رو میگین ؟! خوب اگه اونو میگین که آره برا چی نشه
شما هر دفعه یه چیز میگین . خوب یه پوشه کنار فایل exe درست کنید عکسهایی رو که کاربر وارد میکنه رو اونجا کپی کنید (اول تبدیل کنید به jpg بعد اسم فایل عکس رو برابر مقدار فیلد کلید قرار بدید )
تو بانک در مورد عکس هیچ چیز ذخیره نمیشه حتی آدرسش.
موقع خواندن هم image رو از این مسیر لود کنید : نام پوشه عکس+\+مقدار فیلد کلید+.jpg
hentjanson
شنبه 21 اردیبهشت 1387, 21:10 عصر
میشه خودت همینو بنویسی 3 هفته هستش گیر کردم تو این دیگه دارم نا امید میشم اصلا حالیم نمیشه تازه کارم البته ببخشید که زحمتت میدم
hentjanson
شنبه 21 اردیبهشت 1387, 21:13 عصر
اره این نوار DBNavigator نباشه بجاش از یک دکمه استفاده شه برای ذخیره طوری که عکس برو تو یک پوشه و اسمش تو بانک نه ادرسش چون اگه جایه فایل عوض شه در سیستم بعدی نمیتونه نشون بده میشه برام همینو بنویسید مرسی از شما که کمک می کنید
hentjanson
یک شنبه 22 اردیبهشت 1387, 20:02 عصر
کسی کمک نمیکنه ؟
hentjanson
شنبه 26 آذر 1390, 18:15 عصر
سلام من دوستان تو روند پیاده سازی این مشکل دارم پروژه دوره لیسانسم رو دارم میسازم حالا میخوام عکس هم تو بانک ذخیره کنم میشه راهنماییم کنید . ببخشید از گرفتن وقت اساتید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.