PDA

View Full Version : تقویم فارسی در #C



adel28
جمعه 31 خرداد 1392, 18:06 عصر
دوستان می خوام برنامه ای ساده ای بنویسم که تقویم شمسی را ایجاد کند.
یعنی مثلا نشان بدهد که 1 تیر چند شنبه است.

khokhan
جمعه 31 خرداد 1392, 18:23 عصر
دوستان می خوام برنامه ای ساده ای بنویسم که تقویم شمسی را ایجاد کند.
یعنی مثلا نشان بدهد که 1 تیر چند شنبه است.

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

adel28
جمعه 31 خرداد 1392, 21:12 عصر
خوب چرا از کلاس آماده استفاده نمی کنید ؟؟؟

چون دارم یاد می گیرم.
کد ها را به این صورت نوشته ام چند جا مشکل دارم:



namespace Example_1
{
public partial class Form1 : Form
{
Label [] ArryLabelDay= new Label[42];

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < ArryLabelDay.Length; i++ )
{
ArryLabelDay[i] = new Label();
ArryLabelDay[i].Text = "";
ArryLabelDay[i].Size = new Size(57, 30);
ArryLabelDay[i].AutoSize = false;

Point Loc = new Point();
Loc.X = this.Width-ArryLabelDay[i].Width - (i % 7) * ArryLabelDay[i].Width;
Loc.Y = 70+((i / 7) * ArryLabelDay[i].Height);
ArryLabelDay[i].Location = Loc;

this.Controls.Add(ArryLabelDay[i]);
}

DateTime nowdate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
System.Globalization.PersianCalendar PerCalen = new System.Globalization.PersianCalendar();
int start = 0;
switch (PerCalen.GetDayOfWeek(nowdate))
{
case DayOfWeek.Saturday:
start = 0;
break;
case DayOfWeek.Sunday:
start = 1;
break;
case DayOfWeek.Monday:
start = 2;
break;
case DayOfWeek.Tuesday:
start = 3;
break;
case DayOfWeek.Wednesday:
start = 4;
break;
case DayOfWeek.Thursday:
start = 5;
break;
case DayOfWeek.Friday:
start = 6;
break;
}
for (int i = 0; i < ArryLabelDay.Length - start; i++)
{
ArryLabelDay[i+start].Text=(i+1).ToString();
}

}
}
}



1- اگر روز هفته از مثلا دوشنبه شروع بشه، می خوام روزهای قبل اش غیر فعال بشه؟
2- روز جاری انتخاب بشه؟ (مثلا با یک رنگ دیگه)

davidrobert
شنبه 01 تیر 1392, 00:26 صبح
این کد مربوط به تاریخ شمسی هستش روز هفته هم نشان میده.
using System.Globalization;
private void timer1_Tick(object sender, EventArgs e)
{

PersianCalendar pc = new PersianCalendar();
toolStripStatusLabel5.Text = pc.GetHour(DateTime.Now).ToString("0,0") + ":" + pc.GetMinute(DateTime.Now).ToString("0,0") + ":" + pc.GetSecond(DateTime.Now).ToString("0,0");

toolStripStatusLabel4.Text = pc.GetYear(DateTime.Now).ToString() + "/" + pc.GetMonth(DateTime.Now).ToString("0,0") + "/" + pc.GetDayOfMonth(DateTime.Now).ToString("0,0");

switch (pc.GetMonth(DateTime.Now).ToString("0,0"))
{
case "01": toolStripStatusLabel2.Text = "فروردین"; break;
case "02": toolStripStatusLabel2.Text = "اردیبهشت"; break;
case "03": toolStripStatusLabel2.Text = "خرداد"; break;
case "04": toolStripStatusLabel2.Text = "تیر"; break;
case "05": toolStripStatusLabel2.Text = "مرداد"; break;
case "06": toolStripStatusLabel2.Text = "شهریور"; break;
case "07": toolStripStatusLabel2.Text = "مهر"; break;
case "08": toolStripStatusLabel2.Text = "آبان"; break;
case "09": toolStripStatusLabel2.Text = "آذر"; break;
case "10": toolStripStatusLabel2.Text = "دی"; break;
case "11": toolStripStatusLabel2.Text = "بهمن"; break;
case "12": toolStripStatusLabel2.Text = "اسفند"; break;
}

toolStripStatusLabel3.ForeColor = Color.Black;
switch ((pc.GetDayOfWeek(DateTime.Now)).ToString())
{
case "Saturday": toolStripStatusLabel3.Text = "شنبه"; break;
case "Sunday": toolStripStatusLabel3.Text = "یک شنبه"; break;
case "Monday": toolStripStatusLabel3.Text = "دو شنبه"; break;
case "Tuesday": toolStripStatusLabel3.Text = "سه شنبه"; break;
case "Wednesday": toolStripStatusLabel3.Text = "چهار شنبه"; break;
case "Thursday": toolStripStatusLabel3.Text = "پنج شنبه"; break;
case "Friday": toolStripStatusLabel3.Text = "جمعه"; toolStripStatusLabel3.ForeColor = Color.Red; break;
}


}

adel28
شنبه 01 تیر 1392, 00:53 صبح
بصورت تقویم منظورم هست.
مثل تقویم ویندوز. (عکس زیر)

105954

davidrobert
شنبه 01 تیر 1392, 09:37 صبح
بفرمائید همون چیزی که شما میخواهید ولی نوع شمسی شو با امکانت زیاد مثل مناسبت ها هم میگه.http://uplod.ir/pgy8huta1qz0/AmirCalendar.rar.htm

موفق باشید.

moeinmohebbi
سه شنبه 18 تیر 1392, 20:45 عصر
من دانلودش کردم.چه جالبه ،