PDA

View Full Version : کمک در اصلاح این کد برای ذخیره عکس



aknj56
چهارشنبه 18 بهمن 1391, 22:15 عصر
سلام دوستان عزیز اگر لطف کنن این کد رو درست کنیدمن میخام وقتی شخص عکس انتخاب کرد عکس با یک عدد ذخیره می کنه که کدش رو نوشتم ولی میخام اگر شخص عکس نداشت و عکسی انتخاب نکرد عکس پیش فرض براش دخیره بشه اینجا رو نمی تونم درست کنم
متغییر a محل ذخیره عکس هست که یک پوشه هست داخل خود فایل اجرایی برنامه و متغییر b آدرس اون عکس عمومی هست که هر کی عکس نداشت اون بیاد کپی بشه
من این کد رو چون توی دکمه ذخیره اطلاعات نوشتم اگر شخص عکسی انتخاب نکنه عکس قبلی میاد جای این عکس رو میگیره مثل علی با یک عکس، اگر برای حسن عکس انتخاب نکنیم عکس علی میاد باز برای حسن هم ثبت میشه
با این if میخام بگم اگر شخص عکس انتخاب کرد که IO.File.Copy(Me.OpenFileDialog1.FileName, a, True) این دستور رو اجرا بکن در غیراین صورت برو
b = Application.StartupPath + "\data\pic\user\um.jpg"
IO.File.Copy(b, a, True)




a = Application.StartupPath + "\data\pic\user\" + Me.num_text.Text + ".jpg"
If ?????????? Then
IO.File.Copy(Me.OpenFileDialog1.FileName, a, True)
Else

b = Application.StartupPath + "\data\pic\user\um.jpg"
IO.File.Copy(b, a, True)
End If

JaVa
چهارشنبه 18 بهمن 1391, 22:56 عصر
دوستان لطفا کمک کنید.

منم دقیقا همین مشکل رو توی برنامم دارم .

با تشکر

فرید نجفلو
پنج شنبه 19 بهمن 1391, 03:38 صبح
سلام
من که متوجه نشدم کی به کیه!
اسم فایل ها ثابته ، متغیره ، چیه؟
به هر حال شما برای اینکه بدونید یه فایلی وجود داره یا نه از IO.File.Exist استفاده می کنید
بهتره واسه کاربرایی که تصویر ندارن اصلا فایلی اضافه نکنید در این صورت اگه فایلی بود تصویری هم انتخاب شده نبود هم که نشده
تصویر پیش فرض رو هم از همون جایی که قرار داره براش لود می کنید (یا Resourses یا یه پوشه که واسه برنامه دارید)
با کپی نکردن تصویر پیش فرض تو کار و فضا هم صرفه جویی میشه

حالت بعدی هم اینه که من خوب متوجه نشدم و جوابم درست که باید زحمت بکشید بیشتر توضیح بدید!

aknj56
پنج شنبه 19 بهمن 1391, 20:30 عصر
سلام دوستان عزیز اگر لطف کنن این کد رو درست کنیدمن میخام وقتی شخص عکس انتخاب کرد عکس با یک عدد ذخیره می کنه که کدش رو نوشتم ولی میخام اگر شخص عکس نداشت و عکسی انتخاب نکرد عکس پیش فرض براش دخیره بشه اینجا رو نمی تونم درست کنم
متغییر a محل ذخیره عکس هست که یک پوشه هست داخل خود فایل اجرایی برنامه و متغییر b آدرس اون عکس عمومی هست که هر کی عکس نداشت اون بیاد کپی بشه
من این کد رو چون توی دکمه ذخیره اطلاعات نوشتم اگر شخص عکسی انتخاب نکنه عکس قبلی میاد جای این عکس رو میگیره مثل علی با یک عکس، اگر برای حسن عکس انتخاب نکنیم عکس علی میاد باز برای حسن هم ثبت میشه
با این if میخام بگم اگر شخص عکس انتخاب کرد که IO.File.Copy(Me.OpenFileDialog1.FileName, a, True) این دستور رو اجرا بکن در غیراین صورت برو
b = Application.StartupPath + "\data\pic\user\um.jpg"
IO.File.Copy(b, a, True)




a = Application.StartupPath + "\data\pic\user\" + Me.num_text.Text + ".jpg"
If ?????????? Then
IO.File.Copy(Me.OpenFileDialog1.FileName, a, True)
Else

b = Application.StartupPath + "\data\pic\user\um.jpg"
IO.File.Copy(b, a, True)
End If
سلام یعنی کسی بلد نیست این کد رو درست کنه؟

JaVa
پنج شنبه 19 بهمن 1391, 20:57 عصر
سلام یعنی کسی بلد نیست این کد رو درست کنه؟

من برای برنامه خودم این کار رو انجام دادم.

یه تکس باکس گذاشتم روی فرم و مشخصه visible رو برابر false قرار دادم . و مشخصه name رو هم برابر txtaddress قرار دادم.

این کدها رو هم قبل از رویداد ثبت عضو قرار دادم

Dim StrAdresPic As String
If txtaddress.Text.Trim = "" Then
StrAdresPic = ""
ElseIf txtaddress.Text.Trim <> "" Then
StrAdresPic = My.Settings.adrespic & "\" + txtcode.Text + ".JPG" 'بدست آوردن محل ذخیره سازی تصاویر
My.Computer.FileSystem.CopyFile(txtaddress.Text, StrAdresPic) 'انتقال به محل ذخیره سازی تصاویر
End If

آخرش هم مقدار StrAdresPic برای ذخیره کردن توی دیتابیس قرار می دم.

آخر رویداد هم تکسباکس رو خالی کن.

txtaddress.Text = ""

آخر دست هم برای نمایش عکس یه شرط IF بنویس که اگه فیلد خالی بود عکس پیش فرض که توی قسمت Resource برنامه قرار نشون بده

یکم غیر اصولی و کار راه اندازه:چشمک:

aknj56
شنبه 21 بهمن 1391, 07:10 صبح
سلام دوستان عزیز اگر لطف کنن این کد رو درست کنیدمن میخام وقتی شخص عکس انتخاب کرد عکس با یک عدد ذخیره می کنه که کدش رو نوشتم ولی میخام اگر شخص عکس نداشت و عکسی انتخاب نکرد عکس پیش فرض براش دخیره بشه اینجا رو نمی تونم درست کنم
متغییر a محل ذخیره عکس هست که یک پوشه هست داخل خود فایل اجرایی برنامه و متغییر b آدرس اون عکس عمومی هست که هر کی عکس نداشت اون بیاد کپی بشه
من این کد رو چون توی دکمه ذخیره اطلاعات نوشتم اگر شخص عکسی انتخاب نکنه عکس قبلی میاد جای این عکس رو میگیره مثل علی با یک عکس، اگر برای حسن عکس انتخاب نکنیم عکس علی میاد باز برای حسن هم ثبت میشه
با این if میخام بگم اگر شخص عکس انتخاب کرد که IO.File.Copy(Me.OpenFileDialog1.FileName, a, True) این دستور رو اجرا بکن در غیراین صورت برو
b = Application.StartupPath + "\data\pic\user\um.jpg"
IO.File.Copy(b, a, True)




a = Application.StartupPath + "\data\pic\user\" + Me.num_text.Text + ".jpg"
If ?????????? Then
IO.File.Copy(Me.OpenFileDialog1.FileName, a, True)
Else

b = Application.StartupPath + "\data\pic\user\um.jpg"
IO.File.Copy(b, a, True)
End If

با سلام خدمت دوستان
این سوال یعنی این قدر سخت هست که کسی بلد نیست
بعضی از دوستان جواب دادن ولی اگر توضیحات من رو بخونن میفهمند منظورم اون چیزهایی که گفتند نیست
با تشکر

فرید نجفلو
شنبه 21 بهمن 1391, 14:21 عصر
با سلام خدمت دوستان
این سوال یعنی این قدر سخت هست که کسی بلد نیست
بعضی از دوستان جواب دادن ولی اگر توضیحات من رو بخونن میفهمند منظورم اون چیزهایی که گفتند نیست
با تشکر

سلام مجدد
اگه می بینی جواب ما درست نیست یا اونی که تو می خوای نیست ، ممکنه توضیحات خود شما مشکل داشته باشه
به جای فرستان بدید بدید ، کسی بلد نیست و این حرفا یکم به توضیحاتت اضافه کن
البته شایدم درست می گی ، هیچ کس بلد نیست!!!

mohammadreza110
شنبه 19 مرداد 1392, 02:25 صبح
این لینک زیر مربوط به ذخیره عکس در دیتابیس با entity framework که گفتم شاید به دردتون بخوره

http://www.persianprogrammers.com/wikis/persianaspnet/entity-framework.aspx

systam
شنبه 19 مرداد 1392, 09:34 صبح
سلام شما بهترین راه اینه یک شرط برای دیالوگت بزاری
If open.ShowDialog = Windows.Forms.DialogResult.OK Then
عکس کپی بشه با دیگر اطلاعات دیگر
else
فقط اطلاعات اعمال بشه
End If