PDA

View Full Version : آدرس دهی به پیکچرباکس/ذخیره تنظیمات در برنامه



sempay_ninjutsu
پنج شنبه 20 مرداد 1390, 13:22 عصر
با سلام من هرچی این موضوع ها رو سرچ کردم چیزی پیدا نکردم،پس اگه مدیران خواستن به دلیل تکراری بودن این رو حذف بکنه یکه لینک بهم بدن که به جوابم برسم. 1-من چند تا پیکچرباکس دارم که میخوام چند تا عکس بگیرن.متاسفانه من باید عکس هامو از تو هارد آدرس دهی بکنم.من عکس هامو به پروژه ادد کردم ولی نمیتونم چه جوری باید بهشون دسترسی داشته باشم.(مثلا وقتی میخام این برنامه رو در سیستم دیگه امتحان کنم باید آدرس این عکس ها رو هم در برنامه تغییر بدم،که نباید اینجوری باشه و با اجرایه برنامه احتیاج به آدرس دهی از طریق هارد نباشه و خود برنامه عکس هارو نشون بده)دیگه بهتر از این نمیتونستم سوال رو مطرح کنم!!! 2-میخام یه تنظیمات برای برنامه بزارم که هر وقت کاربر مثلا رنگ فرم را عوض کرد و از برنامه خارج شد ،دفعه بعدی که برنامه را اجرا کرد اون تغییرات سیو شده باشه.آیا باید از یه نوت پد استفاده کنم و این تغییرات و توش ذخیره بکنم؟؟؟؟؟؟؟؟ با تشکر

cardano7
جمعه 21 مرداد 1390, 10:46 صبح
دوست من اگر سوالات را یکی یکی مطرح بکنید بهتر جواب می گیرید. سوال شما بسیار مبهم هست. من که سر در نیاوردم.



من چند تا پیکچرباکس دارم که میخوام چند تا عکس بگیرن.نمی فهمم منظورتون چیه. منظورتون اینه که عکس ها را استاتیک به اونها می دهید یا در زمان اجرا؟



متاسفانه من باید عکس هامو از تو هارد آدرس دهی بکنم.چرا متاسفانه؟



من عکس هامو به پروژه ادد کردم ولی نمیتونم چه جوری باید بهشون دسترسی داشته باشم.مشکل چیه؟

اگر ابهام ها را رفع کنید بهتر می تونیم بفهمیم مشکل چیه.
اگر نیاز شد حتی گذاشتن چند عکس از برنامه تون می تونه کمک کنه.

sempay_ninjutsu
جمعه 21 مرداد 1390, 12:19 عصر
بله حق با شماست...........
ببینید شما بازیه تصاویر رو در نظر بگیرید که چند تا عکس نشون میده و بعده مثلا 10 ثانیه عکشس ها نا پدید میشه.و کاربر با کلیک کردن روی آنها اگر هر دو تا عکس مثل هم بود مثلا بگه درسته.مشکل این نیست مشکل اینه که من بخام این برنامه رو رو سیستم دیگه اجرا کنم باید برم و تمام مسیر آدرس عکس ها رو عوض کنم.حالا من میخوام این عکس ها رو از طریق خوده برنامه به پروژه اضافه کنم و دیگه از این آدرس دهی خلاص بشم.مثلا آدرس یکی از عکس ها بصورته زیره........
pictureBox3.Image =Image.FromFile("C:\\Users\\vahid\\Desktop\\example\\proje1\\pic\\1 .jpg");

sempay_ninjutsu
جمعه 21 مرداد 1390, 12:26 عصر
چون این آدرس در سیستم فرد مورد نظر وجود نداره ارور میده،میخام این عکس ها داخل پروژه باشند و آدرس این عکس هارو جوری بدم که احتیاج به عوض کردن آدرس ها نباشه...

Farshid007
جمعه 21 مرداد 1390, 13:19 عصر
در رابطه با سوال دومت:
1-یک int توSetting.setting بساز به نام ARgb که Scope :User
واسه سیو کردن:
Properties.Settings.Default.ARgb = this.BackColor.ToArgb();
Properties.Settings.Default.Save();
واسه لود کردن:
if (Properties.Settings.Default.ARgb != 0)
this.BackColor = Color.FromArgb(Properties.Settings.Default.ARgb);
این هم نونه:

Farshid007
جمعه 21 مرداد 1390, 13:22 عصر
در رابطه با سوال اولت:
خوب چرا از اول عکس هارو به رسیورسس اضافه نمیکینید؟؟
دیگه هم نمی خواد ادرس بدی

cardano7
جمعه 21 مرداد 1390, 14:18 عصر
حالا چرا C:\Users ؟؟؟
شما دو راه دارید.
یا عکس ها را داخل خود فایل exe ذخیره کنید. برای این کار همان طور که دوستمون گفتند از resources استفاده کنید.
http://msdn.microsoft.com/en-us/library/7k989cfy%28v=vs.80%29.aspx

راه دیگه اینه که عکس ها جدای از فایل exe باشند که این کار مزایا و معایب خودش رو داره اما توصیه ی من اینه که یک پوشه بسازید در کنار فایل exe و عکس ها را در آن پوشه بریزید(به جای اینکه در محلی دور از دسترس مانند C:\Users بریزید)
هنگامی که کاربر فولدر شامل فایل exe را کپی می کند، فولدر حاوی عکس هم کپی می شود.

sempay_ninjutsu
شنبه 22 مرداد 1390, 12:29 عصر
[QUOTE=cardano7;13
هنگامی که کاربر فولدر شامل فایل exe را کپی می کند، فولدر حاوی عکس هم کپی می شود.[/QUOTE]
بله این که از طریق ریسورس اضافه کنید درسته ولی من آدرس دهی به پیکچر باکس هام در زمان اجرا صورت میگیره مثل همون کد بالایی که نوشتم.حالا اگه من عکس هارو به ریسورس اضافه کنم در آدرس دهی به اون کد بالا جای سی:// چه آدرسی رو باید بنویسم.اگه امکان داره کد بزارید.
با تشکر

sempay_ninjutsu
شنبه 22 مرداد 1390, 17:54 عصر
کسی نبود این کد رو بنویسه..................:گریه:

cardano7
یک شنبه 23 مرداد 1390, 17:00 عصر
بله این که از طریق ریسورس اضافه کنید درسته ولی من آدرس دهی به پیکچر باکس هام در زمان اجرا صورت میگیرهنمی دونم من اشتباه برداشت کردم یا شما؟
فرض کنید که لیست فایل های شما به این شکل باشه:


yourprogram[Folder]
yourProgram.exe
Images[Folder]
image1.png
image2.png
image3.png
image4.png
image5.png

اون وفت با کپی کردن فولدر yourprogram، فولدر images هم کپی خواهد شد.

Farshid007
یک شنبه 23 مرداد 1390, 20:26 عصر
Properties.Resources.
هرچی که تو ریسوسس هست لیست میشه تو این
همهی عکس ها هم image رو برمیگردونه
هر بلایی می خواهی سرش بیار

sempay_ninjutsu
پنج شنبه 27 مرداد 1390, 13:10 عصر
Properties.Resources.
هرچی که تو ریسوسس هست لیست میشه تو این
همهی عکس ها هم image رو برمیگردونه
هر بلایی می خواهی سرش بیار
دقیقا دنباله همین بودم ولی نمیدونستم چه جوری منظورمو برسونم...........
مثل همین کد زیر......................
مرسی
pictureBox3.Image = Properties.Resources._3 ;

Farshid007
پنج شنبه 27 مرداد 1390, 15:12 عصر
خواهش:چشمک: