PDA

View Full Version : سوال: نمایش آلامر چند روز قبل از سر رسید تاریخ



moory1364
سه شنبه 15 فروردین 1391, 13:47 عصر
با عرض سلام وادب خدمت استادن عزیز
داخل یک تیبل که با sql server نوشته شده می خوام 10 یا چند روز قبل از سر رسید اون تاریخ اطلاعات اون سطر رو داخل یک datagridview یا با laber نمایش داده شود
مثال :


http://up.vbiran.ir/images/aijkkqsb2ku0tm4r9mlu.jpg (http://up.vbiran.ir/)

moory1364
چهارشنبه 16 فروردین 1391, 11:23 صبح
می دونم باید از سرچ و شرط استفاده کرد
اما مشکل من ایجاست چطوری به شرط حالی کنم که با تاریخ روز پیش برو

lastmory
چهارشنبه 16 فروردین 1391, 11:46 صبح
سلام
یه مقدار بیشتر توضیح بده
مگه از تاریخ سیستم نمیشه استفاده کنی ؟؟؟؟

moory1364
چهارشنبه 16 فروردین 1391, 13:09 عصر
سلام
یه مقدار بیشتر توضیح بده
مگه از تاریخ سیستم نمیشه استفاده کنی ؟؟؟؟
من کارم php هستش تازه 4 5 روز زدم کار vb.net بله از تاریخ سیستم هستش می خوام شمسی شه داخل ی متغییر ریخته شه با تیبلی که تاریخ رو وارد کردم ده روز مونده به اون تاریخ داخل datagridview نمایش بده

Hybrid
چهارشنبه 16 فروردین 1391, 13:21 عصر
سلام ، یک پروژه واستون نوشتم ببین همین منظورت بود :

moory1364
چهارشنبه 16 فروردین 1391, 23:29 عصر
ممنونم این می تونه 80٪ کاره منو را بندازه
اما طرح شما چرا روزهای محاسبه می کنه گذشته نه آینده رو ...
با تشکر فراوان

biotechsoft
پنج شنبه 17 فروردین 1391, 07:55 صبح
دوست عزیز خیلی ساده است
این روش رو تست کن...
ابتدا تاریخ شمسی رو بدست بیار"اگه کدشو بلد نیستی بگو تا بذارم"
و اون رو توی یه متغیر وارد کن>>
dim date_shamsi as int = .... هرچی که اون بالا داری مثلا "13910117"

بعد یه متغیر تعریف کن واسه 10 روز قبل >>
dim 10_day as int = date_shamsi -10
حالا توی دستور sqlet همین 10_day رو معرفی کن...
--------------------------------------------------------------------------
این خیلی ساده بود ولی خب خطا داره!!!
باید یچند تا شرط کوچولو هم بنویسی که هروقت مقدار روز مثلا از 10 کمتر شد ماه رو یکی ببره عقب ....
2 سه تا select / case کافیه :لبخندساده:

moory1364
پنج شنبه 17 فروردین 1391, 20:33 عصر
ممنونم
لطف می کنی کد شو واسم بنویسی من مخم دیگه کار نمی کنه

biotechsoft
چهارشنبه 23 فروردین 1391, 19:31 عصر
ممنونم
لطف می کنی کد شو واسم بنویسی من مخم دیگه کار نمی کنه
اینم کدش دوست عزیز

Imports System.Globalization
Public Class form1

'tarikhe hejri shamsi
'-------------------------------------------------------------------------------------------------
Public Function persian_date() As String

Dim dt As Date = Date.Now
Dim glob As New Globalization.PersianCalendar

Dim MM As String
MM = 1
If glob.GetMonth(dt) = 1 Then
MM = "01"
Me.lbl_date.Text = "فروردین"
End If
If glob.GetMonth(dt) = 2 Then
MM = "02"
Me.lbl_date.Text = "اردیبهشت"
End If
If glob.GetMonth(dt) = 3 Then
MM = "03"
Me.lbl_date.Text = "خرداد"
End If
If glob.GetMonth(dt) = 4 Then
MM = "04"
Me.lbl_date.Text = "تیر"
End If
If glob.GetMonth(dt) = 5 Then
MM = "05"
Me.lbl_date.Text = "مرداد"
End If
If glob.GetMonth(dt) = 6 Then
MM = "06"
Me.lbl_date.Text = "شهریور"
End If
If glob.GetMonth(dt) = 7 Then
MM = "07"
Me.lbl_date.Text = "مهر"
End If
If glob.GetMonth(dt) = 8 Then
MM = "08"
Me.lbl_date.Text = "آبان"
End If
If glob.GetMonth(dt) = 9 Then
MM = "09"
Me.lbl_date.Text = "آذر"
End If
If glob.GetMonth(dt) = 10 Then
MM = "10"
Me.lbl_date.Text = "دی"
End If
If glob.GetMonth(dt) = 11 Then
MM = "11"
Me.lbl_date.Text = "بهمن"
End If
If glob.GetMonth(dt) = 12 Then
MM = "12"
Me.lbl_date.Text = "اسفند"
End If


Dim DD As String
DD = 1
If glob.GetDayOfMonth(dt) = 1 Then
DD = "01"
End If
If glob.GetDayOfMonth(dt) = 2 Then
DD = "02"
End If
If glob.GetDayOfMonth(dt) = 3 Then
DD = "03"
End If
If glob.GetDayOfMonth(dt) = 4 Then
DD = "04"
End If
If glob.GetDayOfMonth(dt) = 5 Then
DD = "05"
End If
If glob.GetDayOfMonth(dt) = 6 Then
DD = "06"
End If
If glob.GetDayOfMonth(dt) = 7 Then
DD = "07"
End If
If glob.GetDayOfMonth(dt) = 8 Then
DD = "08"
End If
If glob.GetDayOfMonth(dt) = 9 Then
DD = "09"
End If
If glob.GetDayOfMonth(dt) = 10 Then
DD = "10"
End If
If glob.GetDayOfMonth(dt) = 11 Then
DD = "11"
End If
If glob.GetDayOfMonth(dt) = 12 Then
DD = "12"
End If
If glob.GetDayOfMonth(dt) = 13 Then
DD = "13"
End If
If glob.GetDayOfMonth(dt) = 14 Then
DD = "14"
End If
If glob.GetDayOfMonth(dt) = 15 Then
DD = "15"
End If
If glob.GetDayOfMonth(dt) = 16 Then
DD = "16"
End If
If glob.GetDayOfMonth(dt) = 17 Then
DD = "17"
End If
If glob.GetDayOfMonth(dt) = 18 Then
DD = "18"
End If
If glob.GetDayOfMonth(dt) = 19 Then
DD = "19"
End If
If glob.GetDayOfMonth(dt) = 20 Then
DD = "20"
End If
If glob.GetDayOfMonth(dt) = 21 Then
DD = "21"
End If
If glob.GetDayOfMonth(dt) = 22 Then
DD = "22"
End If
If glob.GetDayOfMonth(dt) = 23 Then
DD = "23"
End If
If glob.GetDayOfMonth(dt) = 24 Then
DD = "24"
End If
If glob.GetDayOfMonth(dt) = 25 Then
DD = "25"
End If
If glob.GetDayOfMonth(dt) = 26 Then
DD = "26"
End If
If glob.GetDayOfMonth(dt) = 27 Then
DD = "27"
End If
If glob.GetDayOfMonth(dt) = 28 Then
DD = "28"
End If
If glob.GetDayOfMonth(dt) = 29 Then
DD = "29"
End If
If glob.GetDayOfMonth(dt) = 30 Then
DD = "30"
End If
If glob.GetDayOfMonth(dt) = 31 Then
DD = "31"
End If

persian_date = glob.GetYear(dt) & "/" & MM.ToString & "/" & DD.ToString
End Function

Private Sub form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.lbl_hijri_YY.Text = glob.GetYear(dt)
Me.lbl_hijri_MM.Text = glob.GetMonth(dt)
Me.lbl_hijri_dd.Text = glob.GetDayOfMonth(dt)


dim 10_day_dd as string =Me.lbl_hijri_dd.Text -10


me.lbl_10day.text= 10_day_yy & "/" & 10_day_mm & "/" & 10_day_dd

end sub

End Class



فقط یه select case اضافه کن که ماه و سال رو هم تغییر بده!!! اگه نه یه تاریخی یهو میشه 10/11/1390-