مرسی- کمکتون خیلی به موقع بود
مرسی- کمکتون خیلی به موقع بود
جدیدا تقویم زیبایی در آدرس زیر قرار گرفته میتونید سر بزنید و دانلود کنید
طبق اظهارات مسئول سایت بزودی dll آن هم در سایت قرار خواهد گرفت
این زیر که چیزی نیست !
سلام . من یک Dll دارم که مثلا اگه توی قسمت Mask شما عبارت ldate رو تایپ کنین این تکست باکس فرمت تاریخ رو میگیره و اگه money رو تایپ کنین به فرمت پول در میاد. و . . .
مثلا در حالت تاریخ 6 ماه اول سال رو 31 روزی قبول میکنه و در مابقی سال 30 روزه . و فقط کاربر میتونه تاریخ رو به حالت استاندارد وارد کنه . اما منظورم از این حرف این بود که اگر دوستان مایل باشن بیایم یه تقویم فارسی رو با این تکست باکس ادغام کنیم تا کاربر علاوه بر انتخاب انتخاب گرافیکی بتونه دستی هم تاریخ رو وارد کنه ( البته من این dll رو خودم ننوشتم اما یکی شبیه این فایل میسازم تا حق کپی رایت محفوظ بمونه ) بعد سورسشو در اختیار بقیه میذارم تا بتونیم با کمک هم یه تقویم زیبا بسازیم. اگه کسی حاضر به همکاری هست اعلام آمادگی کنه
چون به نظر من تمام تقویم های موجود هر کدوم یک عیبی دارن . . .
موافقم.نوشته شده توسط mostafa_leman
منم پایه هستم.
بسم الله
سلام
منم اینو نوشته بودم ولی فرصت نکردم کاملش کنم
یه ایرادایی داره (فکر کنم سرعتش کمه یا نمی دونم من این طوری فکر می کنم و یه سری ایراد دیگه) ولی در کل فکر کنم چیز زیاد بدی نشده
توی این فایل Rar یه فولدر هست به نام Cdata اونو کپی کنین به محل Exe برنامتون!!(البته اگه کپی هم نکنین مشکلی به وجود نمی آد!!!)
در ضمن اینو تو 2005 نوشتم و تو 2003 تست نکردم!
سلام . من تونستم حق کپی این فایل رو از طرف مقابل بخرم
حالا این تکست باکسش
توی قسمت Mask عبارت ldate رو وارد کنین تا به صورت تاریخ دربیاد
حالا نظرتونو لطفا در مورد قسمت گرافیکیش و اینکه چه جوری نمایش داده بشه بنویسید
من متاسفانه زیاد کامپوننت نویسیم قوی نیست
چه جوری میشه توی یک user Control هر دو رو قرار داد ؟ مثل calendar خود vs.net که تا موقعی که کمبو باکس زده نشده اون نمایش داده نمیشه و ثانیا اونو توی همون کامپوننت اضافه میکنه (امیدوارم منظورمو فهمیده باشین)
آقای کاویانی و دیگر دوستان نظرشونو بگن
من یه کلاس دارم برای تبدیل که حتی سال کبیسه رو حساب میکنه
Public Class clsdate
Public Function GetDate(ByVal Y, ByVal M, ByVal D, ByVal Flag)
Dim MonthTable(12)
Dim R
Dim i
Dim DD
Dim MM
Dim YY
Dim s
If Flag = 0 Then
MonthTable(1) = 31
MonthTable(2) = 28
MonthTable(3) = 31
MonthTable(4) = 30
MonthTable(5) = 31
MonthTable(6) = 30
MonthTable(7) = 31
MonthTable(8) = 31
MonthTable(9) = 30
MonthTable(10) = 31
MonthTable(11) = 30
MonthTable(12) = 31
If M > 3 Then
R = 10 + Kabiseh(Y - 621) + D
For i = 4 To M - 1
R = R + MonthTable(i)
Next
ElseIf M = 3 And D >= 21 - Kabiseh(Y - 621) Then
R = D - 20 + Kabiseh(Y - 621) - 1
ElseIf M < 3 Then
R = 286 + D - 1
For i = 1 To M - 1
R = R + MonthTable(i)
Next
ElseIf M = 3 And D <= 20 + Kabiseh(Y - 621) Then
R = 345 + Kabiseh(Y - 621) + D
Else
MsgBox("shamcyday Error !")
End If
If (M < 3) Or (M = 3 And D < (20 + Kabiseh(Y - 621))) Then
YY = Y - 622
Else
YY = Y - 621
End If
DD = R
If DD <= 6 * 31 Then
MM = Int(DD / 31) + 1
DD = DD Mod 31 + 1
Else
DD = DD - 6 * 31
MM = Int(DD / 30) + 6 + 1
DD = DD Mod 30 + 1
End If
s = Trim(CStr(YY))
If Len(s) >= 4 Then
s = Left(s, 4)
ElseIf Len(s) = 3 Then
s = "0" + s
ElseIf Len(s) = 2 Then
s = "00" + s
ElseIf Len(s) = 1 Then
s = "000" + s
Else
s = "1377"
End If
GetDate = s & "/" & twoDigit(MM) & "/" & twoDigit(DD)
ElseIf Flag = 1 Then
Select Case Weekday(DateSerial(Y, M, D), vbSunday)
Case vbSunday
GetDate = "یکشنبه"
Case vbMonday
GetDate = "دوشنبه"
Case vbTuesday
GetDate = "سه شنبه"
Case vbWednesday
GetDate = "چهار شنبه"
Case vbThursday
GetDate = "پنجشنبه"
Case vbFriday
GetDate = "جمعه"
Case vbSaturday
GetDate = "شنبه"
End Select
Else
GetDate = ""
End If
End Function
Public Function Kabiseh(ByVal X)
If Int(0.0125 + 8 / 33 * (X - 1371)) = Int(0.0125 + 8 / 33 * (X + 1 - 1371)) Then
Kabiseh = 0
Else
Kabiseh = 1
End If
End Function
Private Function twoDigit(ByVal V)
V = Trim(V)
If Len(V) = 1 Then
twoDigit = "0" & V
Else
twoDigit = V
End If
End Function
Public Function GetCurrentDate(ByVal Flag)
GetCurrentDate = GetDate(Year(Date.Now), Month(Date.Now), DateAndTime.Day(Date.Now), Flag)
End Function
Public Function GetCurrentYear()
GetCurrentYear = Left(GetDate(Year(Date.Now), Month(Date.Now), DateAndTime.Day(Date.Now), 0), 4)
End Function
Public Function GetCurrentMonth()
GetCurrentMonth = Mid(GetDate(Year(Date.Now), Month(Date.Now), DateAndTime.Day(Date.Now), 0), 6, 2)
End Function
Public Function GetCurrentDay()
GetCurrentDay = Right(GetDate(Year(Date.Now), Month(Date.Now), DateAndTime.Day(Date.Now), 0), 2)
End Function
'Dateorder1 = GetCurrentYear + "/" + GetCurrentMonth + "/" + GetCurrentDay
End Class
با سلام
هر چند که ممکنه با این تالار مناسبت نداشته باشه، اما حالا که بحث تاریخ شمسى و
میلادى داغ هست من غیر از #C و VB توابع تبدیل تاریخ شمسى به میلاد و برعکس رو
در SQL Server 2000 هم نوشتهام البته محدودیتش اینه که فقط در مورد smalldatetime
کار مىکنه (یعنى در دامنه تعریف smalldatetime نوشته شده). اگر به دردتون مىخوره
بفرستمش.
صبا صبوحى
پانوشت: درست کار کردنش قطعى هست.
پانوشت2: در مورد سرعتش هم فکر کنم بد نباشه.
حالا شما بفرست. ضرر که ندارهنوشته شده توسط SabaSabouhi
به عبارات Right و Left ایراد میگیرهنوشته شده توسط komail_sh
با سلام
من Persia API را برای .NET2.0 دانلود کردم.پروژه وب سایت با VB است. حالا اگه بخواهم در این سایت تاریخ امروز رو تبدیل به شمسی کند چه کار باید بکنم. کدی در این زمینه برای VB وجود دارد با نه. کد مربوطه را در رویداد Page_load قرار دهم.این کدهایی که در خود سایت شهابفر قرار داده شده به چه زبانی است و باید در کدام قسمت برنامه قرار داده شود
دست تمام دوستان درد نکنه واقعا شاهکار بود
اقایون عزیز من نمی تونم PersiaAPI رو دانلود کنم، وقتی برای سایتشون ایمیلم رو می فرستم سایتشون خطا میده، اگر کسی دانلودش کرده لطفا برام میل کنه، ممنون میشم.
armin.zia@gmail.com
دسترسی به کدهای برنامه های اجرائی که با کدنویسی vb.net نوشته شده است چگونه ممکن میباشد .
با تشکر از کسانی که جواب می دهند .
آقا مرسی دست همهتون درد نکنه . ممنون من از وقتی که وارد این سایت شدم اصلا نمیدونین چه پیشرفتی کردم .
خیلی متشکر
آقا یکی به ما بگه وقتی این وب سایت که در این انجمن ازش نام برده شده ، با این همه ایراد دست و پنجه نرم می کنه! ، چرا باید تبلیغ بشه. من مدتهاست که در این انجمن این نوضوع را می بینم و هر بار که به سراغ سایت اون رفتن دیدم که ایراد داره و کار نمی کنه؟
بهتره این تاپیک حذف بشه تا اشخاص مراجعه کننده دیگر سر کار نمونن...!
بهروز علیها
بعضی از دوستان زحمت کشیدن و DatePicker درست کردن اما یه مطلبی هست که در طراحی اون در نظر نگرفتن .گذاشتن 31 کنترل button به ازا هر روز و کلی کنترل دیگه کار عاقلانه ای نیست فکر لود شدن اون هم باشید . مخصوصا زمانی که قراره این کنترل توی یه فرم با ده ها فیلد ظاهر بشه
یه نگاهی به Calendar کامپوننت janus بندازید تا تفاوت رو ببینید .
اگه یه تقویم فارسی به همون سبک سراغ دارید لطفا معرفی کنید .
دوستان کسی DatePicker فارسی با استایل Janus سراغ نداره .
آقا این بحث برای چیه.
اصلا ببینم کی گفته که دات نت تاریخ شمسی نداره؟
دات نت فریم ورک 2 تاریخ شمسی داره و خیلی هم خوب کار میکنه. پس هیچ نیازی به استفاده از کلاسهای متفرقه نیست. از همین حالا کلاسهای متفرقه رو بزارید کنار
امکان تاریخ هجری شمسی توسط یک برنامه نویس جوان ایرانی در مایکروسافت به دات نت 2 اضافه شده .
هر کس هم میخواهد کنترل تقویم طراحی کنه بهتره از همین استفاده کنه.
برای استفاده از تاریخ هجری شمسی به NameSpace زیر در دات نت 2 مراجعه کنید:
System.Globalization.PersianCalendar()
اگه یه نیگاه به متدهای PersianCalendar بندازید همه چیز میاد دستتون. استفادش آسونه.
ضمنا دوستانی که تقویم بصری فارسی اجتیاج دارند و با این کامپوننت ها مشکل دارند یه سری به آدرس های زیر بزنند. دوست عزیز ما آقای هادی اسکندری در این زمینه زحمت زیادی کشیدند و با استفاده از دات نت 2 تقویم های قدرتمندی رو ساختند که میتونید دانلودشون کنید.
تقویم فارسی با استفاده از دات نت 2 :
تقویم فارسی با استفاده از دات نت 3 و موتور گرافیک WPF :
دیگه نگید دات نت تاریخ هجری شمسی نداره.
سلام به تمامی دوستان
من دارم یک Persian calender می نویسم ولی نمیدونم چرا بجای اینکه از بالا سمت راست شروع کنه و ماه رو نمایش بده ، از پایین سمت چپ اینکار رو انجام میده کدش رو در اینجا قرار دادم اگه لطف کنید من رو در این زمینه راهنمایی کنید ممنون میشم .
پیشاپیش از زحمات و راهنمایی شما دوستان تشکر می کنم .
PersianCalender.rar
سلام
دوست عزیز از راهنمایی شما متشکرم اون مشکل حل شد ولی نمی دونم چرا بعضی از ماه رو از روز دوم نشون میده و بعضی از ماه های دیگه رو شروع روز هفته رو اشتباه میکنه به عنوان مثال فروردین 1386 از روز چهارشنبه شروع شده که این از روز شنبه نمایش میده
ممنون میشم که راهنماییم بفرمائید
اینم کد برنامه تا به اینجا :FarsiCalender.rar
مشکل از اینه:
wDay = Persian_Date.GetDayOfWeek(Now_Day)
اول این که یکی باید به نتیجش اضافه بشه.
دوم هم تاریخی که واردش کردید هجری شمسیه که باید میلادی باشه. یعنی داره روز هفته ی تاریخ 1384/9/1 میلادی رو حساب میکنه.
در مورد دکمه های جلو عقب برنده ی ماه هم سال کبیسه و 29 روز بودن ماه های اسفند رو باید بهش اضافه کنید.
سلام
اگه دقت کرده باشید من از توابع PersianCalender استفاده کردم ، حالا چه طور میشه که روز هفته تاریخ میلادی رو برمی گردونه ؟!
و حالا برای اینکه بتونم روز هفته تاریخ شمسی رو دربیارم باید چیکار کنم ؟؟
باز هم از زحمات و پاسخهای شما متشکرم.
PersianCalender تاریخ میلادی رو میگیره نتیجه ی شمسی که میخواید بر میگردونه. شما در اون خط که در ارسال قبلی نوشتم تاریخ شمسی دادید بهش به جای میلادی. در نتیجه فکر میکنه اون تاریخ میلادیه و محاسبات میلادی روش انجام میده.
من نگفتم: "روز هفته تاریخ میلادی رو برمی گردونه."
گفتم: "داره روز هفته ی تاریخ 1384/9/1 میلادی رو حساب میکنه."
روز هفته هم در همه ی دنیا یک جوره.
خلاصه درست اون خط اینه:
wDay = Persian_Date.GetDayOfWeek(sDate.AddDays(-(m_Day - 2))) + 1
now_day هم بدرد نخوره. پاکش کنید.
لیبل های 38 و 38 به بعد هم هیچ وقت به کار نمیاد. پاک کنید.
در نتیجه خط قبلی هم که مشکل داشت میشه:
Lbl_Day = CType(Me.Panel_Day.Controls(37 - day), Label)
یه فور هم تو FarsiCalender_Load هست که تا 41 میره باید بشه تا 36
سلام
دوست عزیز از تمامی زحمات و راهنمایی های شما تشکر می کنم مشکلاتم حل شد
ممنونم
منظورتون رو خوب متوجه نشدم میشه بیشتر توضیح بدید
یک textbox که عدد رو وارد میکنیم (0 تا 6) و بعد در یک textbox روز هفته (شنبه تا 5 شنبه ) نمایان میشه !!
سلام
دوست عزیز تا اونجا که من اطلاع دارم PersianCalender این امکان رو نداره و باید خودت با Select Case اون رو دربیاری
Dim intday AsInteger
Dim StrName AsString
intday = textbox1.text ' عدد 0 تا 6
Select Case intdayCase 1
Case 0
StrName = "شنبه"
StrName = "یک شنبه"
Case 2End Select
StrName = "دوشنبه"
Case 3
StrName = "سه شنبه"
Case 4
StrName = "چهارشنبه"
Case 5
StrName = "پنج شنبه"
Case 6
StrName = "جمعه"
textbox2.text = StrName
ظاهرا قسمت نیست ما یه DatePicker خوب گیر بیاریم .پکیج آقای اسکندری هم در عین کامل بودن اشکلات زیادی داره روزهای هفته رو در تقویم فارسی درست نمایش نمیده .نوشته شده توسط توسعه نویس
قبلا هم از کاربر Reza1357 یه DatePicker گیر اوردم اما متاسفانه اونم قابلیت Resize شدن رو نداره . خودتون یه نگاهی بهشون بندازید.
لطفا اگه کسی DatePicker فارسی بهتری سراغ داره معرفی کنه .
دوستان عزیز سلام
من هم مثل همه شما در اینترنت بد جوری بدنبال یه dll گشتم که بتونه نیازهای ما رو از نظر تاریخ برطرف کنه. تنها کنترلی که حرفه ای بود و می تونست بیشتر از دیگران نظر مخاطبین رو جلب کنه ، مربوط به آقای هادی اسکندری بود. من تنها موردی که دارم ،اینه که سمپلهای مربوط به این ابزار در#C ساخته شده و هیچ منافاتی با برنامه نویسی VB که من در آن نسبتا تبحر دارم نداره.
می دونم که خیلی از دوستان VB کار که مثل من بدنبال یک کنترل خوب تاریخ می گردند ، نیاز به چنین کنترلی دارند. اما با توجه به مشکل سمپل #C نمیتونه مشکل ما رو حل کنه.
پیشنهاد من اینه که دوستان عزیزی که در این تاپیک میایند ، لطف کنند که اگر تجربه ای در مورد DLL آقای هادی اسکندری دارند ، آن را در اینجا بگذارند. خواهش من این است که اگر بتوانند یک سمپل که در VB باشه ارائه بدهند خیلی خوب می شود و کمک شایانی به امثال ما VB کارها کرده اند.
من مدت زیادی با این کنترل سر و کله زدم و دست آخر رفتم سراغ PersianToolsPack و تقریبا کارم را راه انداخت. اما کنترل آقای اسکندری جدا روش کار شده و حرفه ای می باشد. استفاده از اون منوط به دونستن زبان #C می باشد که من زیاد ازش سر در نمیارم.
اگر دوستان موافق باشند ، بیائیم یک تاپیک جدید در مورد این کنترل بسازیم یا در ادامه این تاپیک هم می توانیم به آن بپردازیم تا در مورد تک تک توابع و امکانات این DLL و نحوه استفاده از آن و ویژگیهای آن بحث کنیم. فکر کنم که در پایان بتوانیم استفاده از این کنترل را شایع کنیم تا دیگران نیز با تجربه کم (مثل من) بتوانند از آن بهره مند شوند.
در پایان بعنوان نظر می گویم که اگر خود آقای هادی اسکندی هم در این امر نقش داشته باشند خیلی بهتر است و من از همین طریق از ایشان دعوت می کنم که در کمک به هموطنان خود سهیم باشند. البته قبلا با ایشان از طریق CodeProject تماس داشته ام.
خوب دوستان نظرتان را بگوئید. اگر بخواهید می توانیم یک تاپیک باز کنیم (البته با در نظر گرفتن نظر مدیر این بخش) یا در ادامه همین تاپیک اقدام کنیم.
برای دسترسی به DLL آقای هادی اسکندری اینجا کلیک کنید و خواهش می کنم که سریع نظرتان را بگوئید تا شروع کنیم.
با تشکر از همه دوستان گرامی و عزیز
پیشنهاد خوبیه همونطور که گفتم پکیج آقای اسکندری هم در عین کامل بودن یه سری اشکالات ریزودرشت داره . اگه ایشون بتونن توی این تالار راهنمایی کنند خیلی عالیه .