PDA

View Full Version : یک تقویم شمسی کامل همراه با مناسبت های سال با خروجی رشته ای برای دوستان



belarak
یک شنبه 15 شهریور 1388, 21:56 عصر
سلام من این کلاس رو که قبلا نوشتم گذاشتم تا دوستان برنامه نویس بتونن یک تقویم شمسی کامل با تمام مناسبتهای سال رو درون برنامشون استفاده کنند
کافیه که اونو به برنامه اضافه کنید و با دستور
bebmaDate.persianDate date = new bebmaDate.persianDat();
نیو کنید و از توابع آن استفاده نمایید
یک نمونه از خروجی


http://img2.tinypic.info/files/kw7riaix1q0lzk65bpxh.jpg

mahdi_7610
یک شنبه 15 شهریور 1388, 22:16 عصر
اینجا معرفی کن تا اگه کسی بعدا خواست زودتر پیداش بکنه

نمونه برنامه های کوچک و مفيد در سي شارپ (http://barnamenevis.org/forum/showthread.php?t=64210) ‏

موفق باشی

mohsen_f_b
چهارشنبه 18 شهریور 1388, 12:32 عصر
سلام
لطفا یه مثال کاربردی بزنید.

با تشکر

xvision
چهارشنبه 18 شهریور 1388, 15:40 عصر
با وجود اينكه اون دكمه تشكر رو زدم ولي هنوز دلم خنك نشده !!
نوشتن اين كد نيست كه منو خوشحال كرده همت شما برام خيلي ارزش داشته مدتهاست كه برنامه نوسهاي سي شارپ يه تقويم درست و درمون ندارن ولي هيچ كس هم تو فكر نيست كه يه كاري انجام بده و من اميدوارم كاري كه شما كردين سرآغاز يك كار حسابي بشه براي اين تقويم شمسي
چيزي كه خيلي جاش خاليه داشتن يك تقويم با تمام ايونتهاش ( مثل خود تقويم VS ) و يه ديتا پيكر شمسي هست كه اميدوارم دوستان با يه همكاري اونو هم درست كنن
پ.ن : 1 - خود من نميدونم براي ساخت يه همچين تقويم هايي بايد از كجا شروع كنم وگرنه نفر اول خودم خواهم بود !
2 - تقويم هجري كه براي استفاده در VS ماكروسافت تاييد كرده خيلي از ايونت هايي رو كه لازمه نداره و بيشتر به نظر من يه تقويم نمايشيه ! ( حداقل من كه بارها درمورد ايونت هاش پرسيدم و كسي جواب نداد)

بازهم دستت درد نكنه :تشویق:

m.mahnani
چهارشنبه 18 شهریور 1388, 17:12 عصر
واقعا عالیه:تشویق:
دستتون درد نکنه زحمت کشیدین

amir.khanlari
چهارشنبه 18 شهریور 1388, 21:39 عصر
با سلام خدمت دوست عزيز
تقويم در مورد تاريخ قمري يه مشكل دارد امروز 18 شهريور مصادف با 19 رمضان است كه در ان 20 رمضان اورده مي شود .
تقويم بسيار خوبي است .در مثالي كه خود تون گذاشتيد هم 14 شهريور مصادف با 15 رمضان است نه 16 رمضان .
يه سوال داشتم : از اين تقويم مي شود به جاي datetimepicker استفاده كرد؟

xvision
پنج شنبه 19 شهریور 1388, 01:16 صبح
با سلام خدمت دوست عزيز
تقويم در مورد تاريخ قمري يه مشكل دارد امروز 18 شهريور مصادف با 19 رمضان است كه در ان 20 رمضان اورده مي شود .
تقويم بسيار خوبي است .در مثالي كه خود تون گذاشتيد هم 14 شهريور مصادف با 15 رمضان است نه 16 رمضان .

دوست عزيز اين به خاطر جلو عقب رفتن تقويم ما تو ايران هستش شما ميتوني از روز قمري يكي كم كني تا وضعيت درست بشه ! ( ديگه چاره اي نداريم تو ايران نميتونيم به برنامه بگيم برو ماه رو ببين تاريخت رو باهاش تنظيم كن !! )

private string hijricalendar()
{
return (hijrical.GetDayOfMonth(mydate)-1).ToString() + " / " +
hijrical.GetMonth(mydate).ToString() + " / " + hijrical.GetYear(mydate).ToString();
}

belarak
پنج شنبه 19 شهریور 1388, 13:03 عصر
سلام خدمت تمام دوستان عزیز
من هم در مورد تاریخ خیلی فکر کردم اما این تاریخیه که دات نت بهمون میده و از اونجایی که ماههای قمری تعداد روزهای ثابتی ندارند نمنیشه بطور قطع تعداد روزهای ماه رو تشخیص داد و این مشکل همیشه وجود خواهد داشت ولی اگر کسی پیشنهادی برای حل این مشکل داره ممنون میشم.
در مورد استفاده بعنوان datetimepicker باید بگم که این کلاس فقط یه خروجی رشته تولید میکنه و فعلا کاربرد دیگه ای نداره .
نوشتن چنین کلاسی مهارت برنامه نویسی نمی خواست و فقط یکم وقت و حوصله نیاز داشت که به یاری خدا تونستم تمومش کنم . من تبحر زیادی تو کامپوننت نویسی ندارم ولی اگه موفق بشم و یه کامپوننت درست حسابی درست کنم حتما تو این سایت قرار می دم تا بقیه دوستان بتونند استفاده کنند .
باز هم ممنون از توجهتون ...

parsa20
چهارشنبه 25 شهریور 1388, 17:09 عصر
سلام
با تشکر از تقویمی که گذاشتی:تشویق:
اما من دقیقاً همون خطی که نوشتی واسه استفاده ازش را نوشتم اما به طرف دوم یعنی New ایراد گرفت
خطاش هم انه
Error 3 No overload for method 'persianDate' takes '0' arguments
لطفاً کمکم کنید

amir.khanlari
چهارشنبه 25 شهریور 1388, 20:51 عصر
سلام
با تشکر از تقویمی که گذاشتی:تشویق:
اما من دقیقاً همون خطی که نوشتی واسه استفاده ازش را نوشتم اما به طرف دوم یعنی New ایراد گرفت
خطاش هم انه
Error 3 No overload for method 'persianDate' takes '0' arguments
لطفاً کمکم کنید

شما بايد يك تاريخ را به عنوان ورودي به اين متد بدهيد كه مي تواند تاريخ جاري و يا هر تاريخ ديگري از نوع datetime باشد . به عنوان مثال


bebmaDate.persianDate date = new bebmaDate.persianDat(datetime.now);

Royce_Da
چهارشنبه 25 شهریور 1388, 22:57 عصر
اقا من فقط میتونم بگم دمت گرم

HAMRAHSOFT.IR
چهارشنبه 15 مهر 1388, 10:48 صبح
ببخشيد اگه بخوايم فقط از اقسمت اول اين تاريخ اصتفاده كنيم كه تاريخ به اين صورت نشون بد چه تغيراتي نياز داره

امروز دوشنبه 15 مهر 1388

monazzah
پنج شنبه 16 مهر 1388, 12:11 عصر
سلام دمت گرم :تشویق::تشویق: من تو پروژم استفادش كردم راضي باش:چشمک:

skysky
یک شنبه 19 مهر 1388, 16:53 عصر
سلام. من نمی دونم این یک خط کد رو دقیقا کجا وارد کنم؟ تویc# خط زیر رو هم در program.cs و هم در pageload نوشتم خطا نداد ولی تاریخ رو هم نشون نداد.

DateTime tt;
tt = DateTime.Now;
bebmaxDate.persianDate date = new bebmaxDate.persianDate(tt);

البته من می خوام این کد رو در سایتی که با aspدر حال طراحی هستم استفاده کنم. لطفا دقیقا بفرمایید در asp خط بالا رو دقیقا کجا وارد کنم؟
البته قیل از اولین اجرا هم پیغام زیر رو می ده:
some unicode characters in the file couldent be saved in the current codpage.do you want to resave thie file as unicode in order to mention your data

لطفا در اسرع وقت راهنماییم کنید.مرسی

xvision
شنبه 25 مهر 1388, 03:45 صبح
ببخشيد اگه بخوايم فقط از اقسمت اول اين تاريخ اصتفاده كنيم كه تاريخ به اين صورت نشون بد چه تغيراتي نياز داره

امروز دوشنبه 15 مهر 1388

دوست عزيز كار خاصي لازم نداره كافيه از رشته خروجي بخش مورد نظرت رو جدا كني مثل اين :
private void button1_Click(object sender, EventArgs e)
{
bebmaxDate.persianDate pd = new bebmaxDate.persianDate(DateTime.Now);
MessageBox.Show(pd.CompletePrsDate().Substring(0, 30));

}

jigily
چهارشنبه 15 اردیبهشت 1389, 14:17 عصر
دوست عزيز اين به خاطر جلو عقب رفتن تقويم ما تو ايران هستش شما ميتوني از روز قمري يكي كم كني تا وضعيت درست بشه ! ( ديگه چاره اي نداريم تو ايران نميتونيم به برنامه بگيم برو ماه رو ببين تاريخت رو باهاش تنظيم كن !! )

private string hijricalendar()
{
return (hijrical.GetDayOfMonth(mydate)-1).ToString() + " / " +
hijrical.GetMonth(mydate).ToString() + " / " + hijrical.GetYear(mydate).ToString();
}

ميدونم كه اين تايپيك قديمي اما اگه ميشه جواب بديد.. من اين كاري كه گفتيد كردم اما خطا ميگيره..

jigily
چهارشنبه 15 اردیبهشت 1389, 14:33 عصر
تقويم قمريش درست نميشه...؟؟
من اون كاري كه گفتيدم انجام دادم.

66hamed99
یک شنبه 09 خرداد 1389, 11:11 صبح
[quote=belarak;798924]سلام من این کلاس رو که قبلا نوشتم گذاشتم تا دوستان برنامه نویس بتونن یک تقویم شمسی کامل با تمام مناسبتهای سال رو درون برنامشون استفاده کنند
کافیه که اونو به برنامه اضافه کنید و با دستور
bebmaDate.persianDate date = new bebmaDate.persianDat();
نیو کنید و از توابع آن استفاده نمایید
یک نمونه از خروجی


http://img2.tinypic.info/files/kw7riaix1q0lzk65bpxh.jpg
ممنون ميشم بفرماييد كه دقيقا چطوري ميشه اين برنامه رو در يك سايت استفاده كرد.يعني چطور به برنامه اضافه كنم؟كجا بايد يك شي از اون رو نيو كنم. و....
اگه يه مثال كامل ضميمه كنيد ممنون ميشم.

ghorbanyf
چهارشنبه 20 مرداد 1389, 09:33 صبح
با سلام.
من کد را اضافه کردم ولی خطا میده به دو خط زیر:


PersianCalendar mycal = new PersianCalendar();
HijriCalendar hijrical = new HijriCalendar();

ممکنه کمکم کنید. ممنون میشم.

ghorbanyf
چهارشنبه 20 مرداد 1389, 10:39 صبح
با سلام.
من کد را اضافه کردم ولی خطا میده به دو خط زیر:


PersianCalendar mycal =

new PersianCalendar();

HijriCalendar hijrical = new HijriCalendar();


ممکنه کمکم کنید. ممنون میشم.




ببخشید واسه ای خط بود که یادم رفته بود بنویسم.
using System.Globalization;

ua741_1
سه شنبه 12 بهمن 1389, 11:23 صبح
سلام دوستان
میشه یه نمونه کاربردی از این کلاس بزارید؟

armin_atena
یک شنبه 11 شهریور 1397, 10:10 صبح
سلام من این کلاس رو که قبلا نوشتم گذاشتم تا دوستان برنامه نویس بتونن یک تقویم شمسی کامل با تمام مناسبتهای سال رو درون برنامشون استفاده کنند
کافیه که اونو به برنامه اضافه کنید و با دستور
bebmaDate.persianDate date = new bebmaDate.persianDat();
نیو کنید و از توابع آن استفاده نمایید
یک نمونه از خروجی



http://img2.tinypic.info/files/kw7riaix1q0lzk65bpxh.jpg


باسلام
لطفا در کلاسی که ارائه کردید توابع :
private string persianmonth()
{
switch (mycal.GetMonth(mydate))
{
case 1: month_name = "فروردین"; break;
case 2: month_name = "اردیبهشت"; break;
case 3: month_name = "خرداد"; break;
case 4: month_name = "تیر"; break;
case 5: month_name = "مرداد"; break;
case 6: month_name = "شهریور"; break;
case 7: month_name = "مهر"; break;
case 8: month_name = "آبان"; break;
case 9: month_name = "آذر"; break;
case 10: month_name = "دی"; break;
case 11: month_name = "بهمن"; break;
case 12: month_name = "اسفند"; break;
}
return month_name;
}
private string persianweek()
{
switch (mycal.GetDayOfWeek(mydate).ToString().ToLower())
{
case "saturday": week_name = "شنبه"; break;
case "sunday": week_name = "یکشنبه"; break;
case "monday": week_name = "دوشنبه"; break;
case "tuesday": week_name = "سه شنبه"; break;
case "wednesday": week_name = "چهارشنبه"; break;
case "thursday": week_name = "پنج شنبه"; break;
case "friday": week_name = "جمعه"; break;
}
return week_name;
}
را به شکل ذیل اصلاح کنید :
private string[] weeks = new string[] { "شنبه", "یکشنبه", "دوشنبه", "سه شنبه", "چهارشنبه", "پنجشنبه", "جمعه" };
private string[] months = new string[] { "فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند" };
private string[] days = new string[] { "یک", "دو", "سه", "چهار", "پنج", "شش", "هفت", "هشت", "نه", "ده", "یازده", "دوازده", "سیزده", "چهارده", "پانزده", "شانزده", "هفده", "هجده", "نوزده", " بیست", "بیست و یک", "بیست و دوم", "بیست و سوم", "بیست و چهارم", "بیست و پنجم", "بیست و ششم", "بیست و هفتم", "بیست و هشتم", "بیست و نهم", "سی" };
-------------------------------------------

str = persianweek() + " " + days[mycal.GetDayOfMonth(mydate)] + " " + months[mycal.GetMonth(mydate)]