PDA

View Full Version : سوال: انتخاب تاریخ مورد نظر از تقویم شمسی و ارسال به فیلد پایگاه داده



momimomi
چهارشنبه 26 مهر 1391, 21:51 عصر
با سلام
آیا می شود قسمت تقویم کنترل dateTimePicker رو به تاریخ شمسی با متن فارسی تغییر داد تا کاربر تاریخ رو از تقویم انتخاب کرده و به شکل short 91/7/26 با زدن یه دکمه به پایگاه داده ارسال کنه؟

Nima_kyan
چهارشنبه 26 مهر 1391, 23:29 عصر
سلام
خوب چرا از كامپوننت هاي طراحي شده واسه اين كار استفاده نميكنيد؟
اتفاقا يه نمونه اش رو دوستمون تو اين پست گذاشته
http://barnamenevis.org/showthread.php?365257-%DA%A9%D8%A7%D9%85%D9%BE%D9%88%D9%86%D9%86%D8%AA-%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA-%D8%B4%D9%85%D8%B3%DB%8C
اگه تو همين سايت سرچ كنيد كامپوننت هاي ديگه اي هم هست.

veniz2008
چهارشنبه 26 مهر 1391, 23:54 عصر
سلام. برای اینکار به نظر من نیازی به استفاده از کامپوننت نیست. چون چند خط بیشتر کدنویسی نمیخواد. اما تصمیم با خود شماست دوست عزیز.
مراحل کار بصورت زیر هستش:
ابتدا 3 متغیر رشته ای در partial بصورت سراسری تعریف کنید:

string rooz, mah, sal;
using زیر رو به برنامه اضافه کنید( این using برای استفاده از کلاس PersianCalendar هستش):

using System.Globalization;

در فرم لود کدهای زیر رو قرار بدید :

DateTime mytoday = DateTime.Now;
PersianCalendar pc = new PersianCalendar();
sal = pc.GetYear(mytoday).ToString();
mah = pc.GetMonth(mytoday).ToString();
rooz = pc.GetDayOfMonth(mytoday).ToString();
textBox2.Text = sal + " / " + mah + " / " + rooz;

morteza271
پنج شنبه 27 مهر 1391, 09:18 صبح
سلام. برای اینکار به نظر من نیازی به استفاده از کامپوننت نیست. چون چند خط بیشتر کدنویسی نمیخواد. اما تصمیم با خود شماست دوست عزیز.
مراحل کار بصورت زیر هستش:
ابتدا 3 متغیر رشته ای در partial بصورت سراسری تعریف کنید:

string rooz, mah, sal;
using زیر رو به برنامه اضافه کنید( این using برای استفاده از کلاس PersianCalendar هستش):

using System.Globalization;

در فرم لود کدهای زیر رو قرار بدید :

DateTime mytoday = DateTime.Now;
PersianCalendar pc = new PersianCalendar();
sal = pc.GetYear(mytoday).ToString();
mah = pc.GetMonth(mytoday).ToString();
rooz = pc.GetDayOfMonth(mytoday).ToString();
textBox2.Text = sal + " / " + mah + " / " + rooz;

سلام.
اگه به سوال دوستمون دقت کنید می بینید که میخوان کاربر تاریخ رو از توقیم انتخاب کنه! این روشی که شما گفتین فقط تاریخ شمسی رو در یه تکست باکس نمایش می دین و اگه کاربر بخواد تغییر بده باید به صورت دستی تغییر بده که اشتباه هم زیاد میشه!!!
پس حتما باید یه کامپوننت داشته باشن هرچند از خود datepicker سی شارپ هم می تونن استفاده کنن ولی مطمئنا مطابق با میلشون در نمیاد!
توی همین سایت انواع مختلفی وجود داره که میتونید برای اینکار استفاده کنید.
موفق باشید

veniz2008
پنج شنبه 27 مهر 1391, 09:51 صبح
سلام.
اگه به سوال دوستمون دقت کنید می بینید که میخوان کاربر تاریخ رو از توقیم انتخاب کنه! این روشی که شما گفتین فقط تاریخ شمسی رو در یه تکست باکس نمایش می دین و اگه کاربر بخواد تغییر بده باید به صورت دستی تغییر بده که اشتباه هم زیاد میشه!!!
با محتوای حرفتون موافقم ولی به دو دلیل مخالف استفاده از کامپوننت های با دو خصوصیت زیر هستم:
1. اکثر تقویم هایی که در این زمینه وجود داره دارای نقص هستن. 2. تقزیبا تمامی کامپوننت هایی که وجود داره بدون سورس هستند. استفاده از کامپوننت بدون سورس یه حماقته.

پس حتما باید یه کامپوننت داشته باشن هرچند از خود datepicker سی شارپ هم می تونن استفاده کنن ولی مطمئنا مطابق با میلشون در نمیاد!

خیلی راحت میتونن یه تکست باکس روی فرم بزارن و تاریخ رو از کاربر دریافت کنن. شاید نسبت به تقویم ظاهر نامناسب تری داشته باشه به جاش خیالش راحته(به همون دو دلیل بالا).

morteza271
پنج شنبه 27 مهر 1391, 10:11 صبح
1. اکثر تقویم هایی که در این زمینه وجود داره دارای نقص هستن.
نقص از چه نظر؟ گرافیک یا در تاریخ های خاصی خطا میده یا ...؟؟

2. تقزیبا تمامی کامپوننت هایی که وجود داره بدون سورس هستند. استفاده از کامپوننت بدون سورس یه حماقته.
چرا؟؟

خیلی راحت میتونن یه تکست باکس روی فرم بزارن و تاریخ رو از کاربر دریافت کنن. شاید نسبت به تقویم ظاهر نامناسب تری داشته باشه به جاش خیالش راحته
استفاده از تکست باکس نه گرافیک خوبی داره و میتونه همان نقایص رو داشته باشه!
نکنه منظورتون اینه که بیان و خودشون در تکست باکس کنترل کنن که کاربر تاریخ درست وارد کنه،فرمتش درست باشه و کلی شرط دیگه...؟؟؟

توصیه من اینه که اگه به کامپوننت های موجود اعتماد ندارین میتونید خودتون یکی بسازین.
دقیقا من خودم همین کار رو کردم ابتدا در برنامه ها از یه کامپوننت استفاده میکردم و دیدم که زیاد به برنامه من نمیخوره و اشکالاتی هم داشت و به همین خاطر یکی نوشتم و متناسب با نیازهای خودم درآوردمش...
در همین سایت هم برای استفاده دوستان گذاشتم ...

veniz2008
پنج شنبه 27 مهر 1391, 10:35 صبح
نقص از چه نظر؟ گرافیک یا در تاریخ های خاصی خطا میده یا ...؟؟
هم گرافیک، هم رعایت نشدن سال کبیسه در بعضی هاشون ،هم جلوگیری نکردن از ورود تاریخ غیرمجاز و ...
دلیل استفاده نکردن از کامپوننت بدون سورس مشخصه : چه تضمینی وجود داره که دو ماه دیگه هم همون کامپوننت کار کنه؟(یعنی سازنده اونو محدود نکرده باشه). ولی حرف من بیشتر مربوط به این قسمت هست: شما چی میدونید که داخل اون dll چی نوشته شده؟.منظور من بحث امنیتی هستش.چند نفر میتونن یه dll رو بازگشایی کنن و از صحت اون مطمئن بشن؟. من به کاربری که براش برنامه مینویسم احترام میذارم. از دید من احترام به کاربر یعنی اینکه در وهله اول با خیال راحت برنامه رو باز کنه و بخش های مختلفش به درستی کار کنن. بعدش اون برنامه زیبا و شیک باشه.

استفاده از تکست باکس نه گرافیک خوبی داره و میتونه همان نقایص رو داشته باشه!در پست قبلیم عرض کردم که شاید نمای ساده تر و نامناسب تری داشته باشه ولی با کدنویسی میشه جلوی خطا رو گرفت.

نکنه منظورتون اینه که بیان و خودشون در تکست باکس کنترل کنن که کاربر تاریخ درست وارد کنه،فرمتش درست باشه و کلی شرط دیگه...؟؟؟اگر قرار بر استفاده از تکست باکس باشه بله. شما راه بهتری پیشنهاد میکنید؟

توصیه من اینه که اگه به کامپوننت های موجود اعتماد ندارین میتونید خودتون یکی بسازین.دقیقا با حرفتون موافقم. حرف حق خداییش جواب نداره.

دقیقا من خودم همین کار رو کردم ابتدا در برنامه ها از یه کامپوننت استفاده میکردم و دیدم که زیاد به برنامه من نمیخوره و اشکالاتی هم داشت و به همین خاطر یکی نوشتم و متناسب با نیازهای خودم درآوردمش...یه جورایی حرف دل منو زدی دوست عزیز. البته شما شاید منظورت بیشتر گرافیک و امکانات اون کنترل باشه و من تاکیدم بیشتر بر بحث امنیتی و صحت کارکرد کنترل باشه.

در همین سایت هم برای استفاده دوستان گذاشتم ...در تاپیکی که زده بودید ازتون بابت اون کنترل تشکر کردم. چیز زیبایی هستش. ولی همونطور که اونجا هم گفتم خالی از اشکال نبود(که البته این جور خطاها کاملا طبیعیه!! و برنامه باید چندین بار با روش های مختلف تست بشه تا عاری از خطا بشه).

morteza271
پنج شنبه 27 مهر 1391, 10:43 صبح
من اصلا قصد بحث ندارم و فقط از این بابت پاسخ میدم که میخوام این تایپیک رو به انتها برسونیم و یه پاسخ نهایی از دربیاریم...

دلیل استفاده نکردن از کامپوننت بدون سورس مشخصه : چه تضمینی وجود داره که دو ماه دیگه هم همون کامپوننت کار کنه؟(یعنی سازنده اونو محدود نکرده باشه). ولی حرف من بیشتر مربوط به این قسمت هست: شما چی میدونید که داخل اون dll چی نوشته شده؟.منظور من بحث امنیتی هستش.چند نفر میتونن یه dll رو بازگشایی کنن و از صحت اون مطمئن بشن؟. من به کاربری که براش برنامه مینویسم احترام میذارم. از دید من احترام به کاربر یعنی اینکه در وهله اول با خیال راحت برنامه رو باز کنه و بخش های مختلفش به درستی کار کنن. بعدش اون برنامه زیبا و شیک باشه.
از نظر امنیت حرفتون رو قبول دارم و ممکنه که کسی که اون کامپوننت رو نوشته شیطنت کرده باشه!!

همونطور که در تایپیک قبلی هم گفتم پیشنهاد من ایجاد یه کامپوننت متناسب با برنامه و نیاز خودمون هست!
البته بگم که به این سادگی ها هم نیست وباید حداقل یک سال ازش استفاده بشه تا مطمئن بشی که خطاهایی در مورد تاریخ شمسی نداشته باشین.
مثلا من همون کامپوننتی که گذاشتم رو 3 سال پیش درستش کردم و بعد از کلی استفاده و پیدا شدن کلی خطا به اینجا رسوندمش تا جاییکه میتونم ضمانت بدم که هیچ خطایی در مورد تاریخ ها نداره ولی خطاهایی مانند همونی که شما اشاره کردین احتمالش هست!
در مورد کامپوننت من از نظر امنیت خیالتون راحت چون من اصلا اهل این کارها نیستم و دنبال سوء استفاده از اطلاعات برنامه نویسی ام نیستم...
و وقتی که خطاهای پیش اومدش رو برطرف کنم حتما سورسش رو هم میذارم....

veniz2008
پنج شنبه 27 مهر 1391, 11:01 صبح
من اصلا قصد بحث ندارم و فقط از این بابت پاسخ میدم که میخوام این تایپیک رو به انتها برسونیم و یه پاسخ نهایی از دربیاریم...
شخصیت شما برای من ثابت شده است.

از نظر امنیت حرفتون رو قبول دارم و ممکنه که کسی که اون کامپوننت رو نوشته شیطنت کرده باشه!!
چی بگم والا :گریه:

در مورد کامپوننت من از نظر امنیت خیالتون راحت چون من اصلا اهل این کارها نیستم و دنبال سوء استفاده از اطلاعات برنامه نویسی ام نیستم...
و وقتی که خطاهای پیش اومدش رو برطرف کنم حتما سورسش رو هم میذارم....
مطمئنا این حرف رو به دوستانی میزنید که دارن این تاپیک رو میخونن نه به من!!. خودتون میدونید که من به شما ارادت دارم و همونطور که خودتون هم اشاره کردید این فقط یه بحث علمی بود نه جرو بحث کردن.
از راهنمایی هات ممنونم.
موفق باشی.

morteza271
پنج شنبه 27 مهر 1391, 11:15 صبح
شخصیت شما برای من ثابت شده است.


مطمئنا این حرف رو به دوستانی میزنید که دارن این تاپیک رو میخونن نه به من!!. خودتون میدونید که من به شما ارادت دارم و همونطور که خودتون هم اشاره کردید این فقط یه بحث علمی بود نه جرو بحث کردن.
از راهنمایی هات ممنونم.
موفق باشی.

با این حرفاتون منو شرمنده می کنید!شما لطف دارین...
منم از راهنمایی های شما ممنونم دوست عزیز.
موفق باشید