PDA

View Full Version : نوشتن تقویم فارسی



Meysam136611
چهارشنبه 30 تیر 1395, 09:40 صبح
سلام دوستان.من میخوام یه تقویم فارسی بنویسم.میشه در مورد تحلیل نرم افزاریش کمکم کنید.
ممنون

reza_ali202000
چهارشنبه 30 تیر 1395, 12:19 عصر
سلام دوست عزیز.
فقط کافیه روز در هفته اول و اخر ماه رو بدست بیارید(که اینم به لطف یوزینگ گلوبالیزشن) حله. بعد یه حلقه میزارید که از مثلا سشنبه(که میشه 4) تا 4+طول اون ماه شروع کنه با نوشتن عدد.حالا این عدد نیتونه دکمه باشه یا هرچیز دیگه ای.

Meysam136611
چهارشنبه 30 تیر 1395, 12:35 عصر
من میخوام با c#بنویسم.میشه کمکم کنید.ممنون

reza_ali202000
چهارشنبه 30 تیر 1395, 15:01 عصر
نکته اول اینکه چقدر با سی شارپ آشنایی دارید؟
-
قبل از اینکه شروع به برنامه نویسی کنیم مهم اینه که الگوریتمشو بفهمیم.
برا این کار یه جدول به صورت زیر رسم میکنیم:

141579
بعد از این کار به هر روز یه ایندکس میدیم(بالا جدول نوشته شده)
حالا میایم ماهی رو که قراره نمایشش بدیم، روز اول در هفتشو به دست میاریم.مثلا ماه خرداد روز اولش میشه سه شنبه و خرداد 31 روزه هست.
حالا از اندیس سشنبه( که عدد سه هست به طول سه+31 ) شروع میکنیم روزها رو به ترتیب داخل فیلدها قرار میدیم. برا نوشتن اعداد هم از مبنای شش استتفاده میکنیم( در واقعا با این کار عدد بعدی رو توی فیلد خط پایین نمایش میده).
141578

Meysam136611
پنج شنبه 31 تیر 1395, 07:28 صبح
تازه شروع کردم به برنامه نویسی.
واسه 30 روز ماه باید 30 تا لیبل بزاریم توی فرم آیا؟؟؟
ممنون از راهنماییتون:خجالت::خجالت::خ الت:

mrprestige
پنج شنبه 31 تیر 1395, 11:01 صبح
سلام دوست من وقتت بخیر ، دوست من اگه بخوای 30 تا لیبل بزاری روی فرم بنظرم هم غیر اصولی هست و همچنین سرعت نرم افزار رو کاهش میده و الکی حافظه اشغال میشه چون مسما شما یک ماه که ندارید و اینکه بخواید 360 تا لیبل بزارید روی فرمتون این میشه یه فاجعه بنظرم بیا لیبل رو با از Generic List ها بساز و بهش با آرایه محدودیت بده به این صورت که برات نوشتم

List<Label> L = new List<Label>(new Label[30]);
var c = 0;
var pos = 0;
for (int i = 0; i < L.Count; i++)
{
c++;
L[i] = new Label();
pos += 30;
for (int j = 0; j < 10; j++)
{
L[i].Text = "Label" + c;
this.Controls.Add(L[i]);
L[i].Location = new Point(0, pos);
}

دیگه مابقی نسبت به هنر و سلیقهت تنظیمات مربوطه رو اجرا کن .

پیروز موفق باشید.