PDA

View Full Version : چطور میشه فیلد عکس رو ویرایش کرد؟



rasool1110
جمعه 02 آذر 1386, 19:57 عصر
با سلام
من در برنامه ام که بانک اکسس داره از طریق یک فرم عکس رو با یک dbimage فرمت بی ام پی از کاربر می گیرم و اون رو در جدولی که برای این منظور در نظر گرفتم ذخیره میکنم
البته بان کد :

ADO_modir_pic.Insert;
ADO_modir_pic.FieldByName('amel_id').Value:=Edit1. Text;
DBImage1.Picture.LoadFromFile(OpenPictureDialog1.F ileName);
ADO_modir_pic.Post;
حالا می خواستم بدونم که چطور میشه اون عکس رو از طریق یک فرم دیگه ویرایش کرد یعنی کاربر بتونه عکس رو با عکسی دیگه که تمایل داره عوض کنه
متشکرم

SYNDROME
جمعه 02 آذر 1386, 21:20 عصر
با سلام
من در برنامه ام که بانک اکسس داره از طریق یک فرم عکس رو با یک dbimage فرمت بی ام پی از کاربر می گیرم و اون رو در جدولی که برای این منظور در نظر گرفتم ذخیره میکنم
البته بان کد :

ADO_modir_pic.Insert;
ADO_modir_pic.FieldByName('amel_id').Value:=Edit1. Text;
DBImage1.Picture.LoadFromFile(OpenPictureDialog1.F ileName);
ADO_modir_pic.Post;
حالا می خواستم بدونم که چطور میشه اون عکس رو از طریق یک فرم دیگه ویرایش کرد یعنی کاربر بتونه عکس رو با عکسی دیگه که تمایل داره عوض کنه
متشکرم
در هنگام ویرایش فیلد عکس با چه مشکلی مواجه می شوید.مشکل خود را دقیقاً مطرح کنید.
موفق باشید

dkhatibi
شنبه 03 آذر 1386, 06:52 صبح
اگر عکس شما از فرمت BMP نمی باشد احتمالا دز مشاهد ی تصویر مشکل دارید. در این باره بحث شده است.
ذخیره تصویر Sql
را جستجو کنید.
نتایج خوبی به همراه دارد.

Mahmood_M
یک شنبه 04 آذر 1386, 20:28 عصر
با سلام

حالا می خواستم بدونم که چطور میشه اون عکس رو از طریق یک فرم دیگه ویرایش کرد یعنی کاربر بتونه عکس رو با عکسی دیگه که تمایل داره عوض کنه
متشکرم
راستش منظورتون واضح نیست ! ، اگه میخواید که خودش عکس رو انتخاب کنه ، خوب با OpenDialog هم می تونه این کار رو بکنه که توی کد هم از اون استفاده کردید ...
ولی اگه میخواید که فرمی داشته باشید و عکسها رو نشون بدید ( داخل فرم ) و کاربر یکی از اونها رو انتخاب کنه می تونید به صورت زیر عمل کنید :
یک فرم جدا بسازید ، فرم ساخته شده رو با فرم اصلی ( که بانکتون توش هست ) Use کنید ( از منوی File >> Use Units ) ...
بعد روی فرمی که ساختید ، یک ( یا چند ) کامپوننت TImage بزارید ، توی این فرم میتونید دکمه ای بزارید برای وارد کردن عکس و وقتی که کاربر روش کلیک کرد مثلا با یک OpenDialog به کاربر اجازه بدید که عکسش رو انتخاب کنه ، بعد عکس انتخاب شده رو توی TImage نشون بدید ، و دکمه ای هم برای تایید بزارید که با کلیک اون فرم بسته شده و عکس در بانک ذخیره بشه ، البته بهتره یک متغیر String در فرمی که برای آوردن عکس هست تعریف کنید و هر بار که کاربر عکسی رو وارد می کنه ، مسیر عکس رو در اون متغیر قرار بدید و در صورت تایید از طرف کاربر ، عکسی که در اون مسیر هست رو در بانک ذخیره کنید ...

ولی شاید مشکلتون اینه که نمی تونید عکسی که در حال حاضر در بانک هست رو به کاربر نشون بدید ، اگه مشکل اینه به صورت میتونید عمل کنید :
در همون فرم دومی که ساختید ، یک کامپوننت TDBImage قرار بدید و به وسیله یک کامپوننت DataSource ، اون رو به فیلد مربوط به عکس در بانکتون متصل کنید ، در این صورت با هر بار نمایش فرم مربوط به ویرایش عکس ، تصویر فعلی ( در صورت وجود داشتن ) در این فرم نمایش داده میشه ...

البته فکر کنم من مشکلتون رو متوجه نشدم ، لطفا توضیح بیشتری بدید ، مشکل دقیقا کجاست ؟!

یا اگه مشکل همینه ولی توضیحات کافی نیست ، بگید تا یک نمونه براتون بزارم ...

موفق باشید ...

behzad_dr
دوشنبه 05 آذر 1386, 13:34 عصر
با سلام - من منظور دوستمون رو دقیقا متوجه شدم .. شما همه کاراتو درست انجام دادی اما یه مشکل داری اصلا اگه به رویه زیر پیش بری خیلی بهتره ..

1- اول اینکه تیبل خودتو باید حتما در حالت ویرایش قرار بدی


adotable1.edit
2-نسبت دادن تصویر به فیلد توسط کد زیر


Opendialog1.execute
(DBImage1.picture.loadfromfile(Opendialog1.filenam e

3-ذخیره تصویر در فیلد


Adotable1.post


ضمنا تصاویر حتما با فرمت BMP باید باشد بنابراین میتونید فیلتر OpenDialog تون رو از نوع BMP تنها تعریف کنید .
بنابراین فکر میکنم شما عمل ویرایش رو (گام اول) انجام نمیدادی.