PDA

View Full Version : سوال: درمورد کپی کردن عکس در آدرسی که برنامه قرار داره



mmbarname
چهارشنبه 27 مهر 1390, 08:35 صبح
سلام .
من در فرم اصلی یک دکمه قرار دادم که با استفاده از اون تصویر پس زمینه رو عوض میکنم (با openfiledialog)
و آدرس عکس مورد نظر رو میریزم داخل دیتابیس و هربار که بخوام میتونم پس زمینه رو عوض کنم .
مشکل اینجاست که اگه اون تصویر از روی دیسک خذف بشه برنامه error میده .
میشه راهه حلی رو بهم بگید که باید چیکار کنم.:افسرده:

Z_Bagheri
چهارشنبه 27 مهر 1390, 08:44 صبح
هیچ راه حلی وجود نداره، تصویر نباید پاک بشه، البته در این طور مواقع ، یک تصویر پیش فرض هم در مسیر تصاویر قرار می دند که اگر به هر دلیلی فایل تصویر اصلی لود نشد اون تصویر پیش فرض نمایش داده بشه.

Sirwan Afifi
چهارشنبه 27 مهر 1390, 08:46 صبح
سلام دوست عزیز شما می تونید خود عکس رو تو دیتابیس ثبت کنید سرچ کنید تو سایت مطالبی زیادی در این مورد پیدا می کنید قبلا خیلی در موردش بحث شده.

mmbarname
چهارشنبه 27 مهر 1390, 10:34 صبح
من یک تصویر در خوده برنامه قرار دادم اون پیش فرضه ولی شرطش رو نمیدونم باید چجوری بنویسم که اگه آدرسه اون عکسی که از دیتابیس میخونه وجود نداشته باشه باید چجوری عکس پیش فرضو قرار بدم ؟

h-rafiee
چهارشنبه 27 مهر 1390, 10:58 صبح
ابتدا یه openfiledialog نیاز داری که آدرس عکس رو بگیره و داخل تکست باکس قرار بده.
یه پوشه در داخل Debug درست کن کاری نداره اینم میری داخل فایل پروژه و فایل بین و و فایل دیباگ و کلیک راست و یک پوشه جدید(اسمش رو انتخاب کن)
این هم دستورات برای کپی کردم که من برای رویداد کپی نوشتم.
private void Copy_Click(object sender, EventArgs e)
{
string FileSource,FileDestination ;
FileSource = textBox1.Text;
FileDestination = Application.StartupPath + @"\PDF\" + "hossein"+".pdf";
System.IO.File.Copy(FileSource, FileDestination, true);
label1.Text = FileDestination;
}
توضیح:PDF
اسم پوشه ای که درست کردیم
"hossein" اسمی است که فایل با این اسم ذخیره میشه می تونی بجاش از یک تکست باکس اسم دلخواه بگیری و بجای این عبارت بزاری.
pdf. هم فرمت ذخیره سازیه که می تونی به فرمت های دگ تغییر بدی.
موفق باشی

mmbarname
پنج شنبه 28 مهر 1390, 11:43 صبح
دستتون درد نکنه من این کارو کردم درست جواب داد ولی من میخوام وقتی که عکس رو کپی میکنم اون عکس قبلی پاک بشه

ali2006sr
پنج شنبه 28 مهر 1390, 12:59 عصر
دستتون درد نکنه من این کارو کردم درست جواب داد ولی من میخوام وقتی که عکس رو کپی میکنم اون عکس قبلی پاک بشه

سلام دوست عزیز اینکارو انجام بده


private void Copy_Click(object sender, EventArgs e)
{
string FileSource,FileDestination ;
FileSource = textBox1.Text;
FileDestination = Application.StartupPath + @"\PDF\" + "hossein"+".pdf";
System.IO.File.Copy(FileSource, FileDestination, true);
System.IO.File.Delete(FileDestination);
label1.Text = FileDestination;

}

h-rafiee
پنج شنبه 28 مهر 1390, 20:09 عصر
دستتون درد نکنه من این کارو کردم درست جواب داد ولی من میخوام وقتی که عکس رو کپی میکنم اون عکس قبلی پاک بشه
کافیه که با یک اسم مثل "hossein" که من نوشتم اجراش کنی در اینصورت فایلت فقط با اسم حسین ذخیره میشه بدین ترتیب فقط یک فایل داری که بارها داره جایگذین میشه.

mmbarname
پنج شنبه 28 مهر 1390, 20:16 عصر
نه اینجوری که شما میگید error میده و میگه این فایل وجود داره.

h-rafiee
پنج شنبه 28 مهر 1390, 20:31 عصر
مجبور شدم بررسی کنم اما مشکلی ندیدم میفرستم چکش کن با سورسش میفرستم
این هم لینک (http://s2.picofile.com/file/7163345692/Debug.rar.html)دانلودش.