PDA

View Full Version : شروع تاریخ و تا پایان مدت مشخص در یک لیست باکس



mitra285
جمعه 22 دی 1391, 16:37 عصر
با سلام خدمت دوستان عزیز

من می خوام تو یک لیست باکس تاریخی رو که تو تکست باکس وارد کردم رو به میزان 45 روز بعدش رو لیست کنه. دوستان اگر کسی راهنمایی کنه ممنون می شم.

RED-C0DE
جمعه 22 دی 1391, 18:46 عصر
رشته ی داخل textbox رو بگیرین
تبدیلش کنین ب نوع DateTime
45 روز بهش اضافه کنید
در listbox مورد نظر اضافش کنید


DateTime dt= DateTime.Parse(myTextBox.Text)
myListBox.Items.Add(dt.AddDays(45).ToString())

gilsoft
جمعه 22 دی 1391, 19:01 عصر
با سلام خدمت دوستان عزیز

من می خوام تو یک لیست باکس تاریخی رو که تو تکست باکس وارد کردم رو به میزان 45 روز بعدش رو لیست کنه. دوستان اگر کسی راهنمایی کنه ممنون می شم.

سلام دوست عزیز

اینم کد مربوطه :
Public Class Form1
Public GPC As New System.Globalization.PersianCalendar

Private Function ShToMi(ByVal pDate As String) As Date
pDate = pDate.Trim
Dim splt() As String = Split(pDate, "/")
Dim _YY As UShort = Val(splt(0))
Dim _MM As Byte = Val(splt(1))
Dim _DD As Byte = Val(splt(2))
Return (GPC.ToDateTime(_YY, _MM, _DD, 0, 0, 0, 0))
End Function 'تبدیل تاریخ شمسی به میلادی

Private Function MiToSh(ByVal DT As Date) As String
Return (String.Format("{0}/{1:00}/{2:00}", {GPC.GetYear(DT), GPC.GetMonth(DT), GPC.GetDayOfMonth(DT)}))
End Function 'تبدیل تاریخ میلادی به شمسی

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim startDate As String = "1391/10/20"

For i As Integer = 1 To 45
ListBox1.Items.Add(MiToSh(GPC.AddDays(ShToMi(start Date), i)))
Next
End Sub
End Class

موفق باشید

mitra285
جمعه 22 دی 1391, 21:56 عصر
دوستان ایراد این کد من کجاست که خطا می ده

Imports System.Data
Imports System.Data.SqlClient
Public Class Form1
Public GPC As New System.Globalization.PersianCalendar

Private Function ShToMi(ByVal pDate As String) As Date
pDate = pDate.Trim
Dim splt() As String = Split(pDate, "/")
Dim _YY As UShort = Val(splt(0))
Dim _MM As Byte = Val(splt(1))
Dim _DD As Byte = Val(splt(2))
Return (GPC.ToDateTime(_YY, _MM, _DD, 0, 0, 0, 0))
End Function 'تبدیل تاریخ شمسی به میلادی

Private Function MiToSh(ByVal DT As Date) As String
Return (String.Format("{0}/{1:00}/{2:00}", {GPC.GetYear(DT), GPC.GetMonth(DT), GPC.GetDayOfMonth(DT)}))
End Function 'تبدیل تاریخ میلادی به شمسی

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim startDate As String = TextBox1.Text
Dim ez As Integer = TextBox2.Text
Open_con(conString)
Da = New SqlDataAdapter
Da.InsertCommand = New SqlCommand("INSERT INTO tst(DATE,NO) VALUES(@DATE,@NO)", Con)
For i As Integer = 0 To ez
Da.InsertCommand.Parameters.AddWithValue("@DATE", (MiToSh(GPC.AddDays(ShToMi(startDate), i))).ToString)
Da.InsertCommand.Parameters.AddWithValue("@NO", "02")
Da.InsertCommand.ExecuteNonQuery()
Next
Close_con(conString)

End Sub
End Class

mhmoein
جمعه 22 دی 1391, 23:45 عصر
کدت رو به این صورت اصلاح کن

Dim startDate As String = TextBox1.Text
Dim ez As Integer = TextBox2.Text - 1
Open_con(conString)
For i As Integer = 0 To ez
Dim tar As String = MiToSh(GPC.AddDays(ShToMi(startDate), i))
Da = New SqlDataAdapter
Da.InsertCommand = New SqlCommand("INSERT INTO tst(DATE,NO) VALUES(@DATE,@NO)", Con)
Da.InsertCommand.Parameters.AddWithValue("@DATE", tar)
Da.InsertCommand.Parameters.AddWithValue("@NO", "02")
Da.InsertCommand.ExecuteNonQuery()
Next
Close_con(conString)

موفق باشی