ir_programmer
شنبه 04 اسفند 1386, 10:13 صبح
می دونم الان همه میگن بازم بحث تکراری تاریخ.
اگه میشه با تامل بیشتر کمک کنید.
من یه DateTimePicker میخام که تاریخ شمسی رو ساپورت کنه و هیچ DLLی توی برنامم اضافه نشه.
یعنی فقط سوروس کد و حتی اینجور نباشه که سورس رو داشته باشم و بازم بخام کنار فایلام این DLL ها استفاده بشه. 
کار آقای اسکندری عالیه. (http://www.codeproject.com/KB/selection/FarsiLibrary.aspx) اما نیاز به DLL ها توی استفاده داره. اگر لطف کنید کمک کنید ممنون میشم.
bahar2008
شنبه 04 اسفند 1386, 10:21 صبح
امیدوارم بتونه کارتون رو راه بندازه :لبخندساده::لبخندساده:
 
ALTER Proc GetShamsiInfo
as 
Declare
@Year Integer, 
@Month Integer,
@Day Integer,
@F_Year Integer,
@F_Month Integer,
@F_Day Integer,
@F_Day_Name Varchar(10), 
@F_Month_Name Varchar(10), 
@LastDay Integer,
@Plus Integer,
@Minus Integer,
@Intercalary Integer,
@S_Year Varchar(5), 
@S_Month Varchar(5),
@S_Day Varchar(5),
@E_Date Varchar(20),
@Ret Varchar(20)
Set @Plus = 0
Set @Year = Year(Getdate())
Set @Month = Month(Getdate())
Set @Day = Day(Getdate())
----- بدست آوردن تاریخ میلادی
Set @S_Year = Cast(@Year AS VarChar(5))
Set @S_Month = Cast(@Month AS VarChar(5))
Set @S_Day = Cast(@Day AS VarChar(5))
IF Len(@S_Month) < 2 
Set @S_Month = '0'+@S_Month
IF Len(@S_Day) < 2 
Set @S_Day = '0'+@S_Day
Set @E_Date = @S_Year + @S_Month+ @S_Day 
----- بدست آوردن تاریخ میلادی
----- بدست آوردن نام روز به فارسی
Set @F_Day_Name = Case DATEPART(dw, Getdate()) 
When 1 Then 'یکشنبه' 
When 2 Then 'دوشنبه' 
When 3 Then 'سه شنبه' 
When 4 Then 'چهارشنبه' 
When 5 Then 'پنجشنبه' 
When 6 Then 'جمعه' 
When 7 Then 'شنبه' 
End
----- بدست آوردن نام روز به فارسی
IF ((@Month = 1) or (@Month = 5) or (@Month = 6))
Set @Plus = 10 
IF ((@Month = 2) or (@Month = 4))
Set @Plus = 11 
IF ((@Month = 3) or (@Month = 7) or (@Month = 8) or
(@Month = 9) or (@Month = 11) or (@Month = 12))
Set @Plus = 9 
IF (@Month = 10)
Set @Plus = 8 
Set @Year = @Year % 100
Set @Intercalary = @Year 
IF (@Intercalary % 4 = 0)
IF (@Month > 2)
Set @Plus = @Plus + 1
IF ((@Intercalary - 1) % 4 = 0)
begin
Set @LastDay = 30
IF (@Month <= 3) 
Set @Plus = @Plus + 1
end
Else
Set @LastDay = 29
Set @F_Year = @Year - 22
IF (@F_Year < 0) 
Set @F_Year = @F_Year + 100
Set @F_Month = @Month + 9
IF (@F_Month > 12)
begin
Set @F_Month = @F_Month - 12
Set @F_Year = @F_Year + 1
end
IF (@F_Month > 12)
begin
Set @F_Month = @F_Month - 12;
Set @F_Year = @F_Year + 1 
end;
Set @F_Day = @Day + @Plus
IF (@F_Month <= 6) 
Set @Minus = 31
Else 
IF ((@F_Month > 6) and (@F_Month<12)) 
Set @Minus = 30
Else 
Set @Minus = @LastDay
IF (@F_Day > @Minus)
begin
Set @F_Day = @F_Day - @Minus;
Set @F_Month = @F_Month + 1
end
IF @F_Month >= 10
Set @Ret = @Ret
Else 
Set @Ret = @Ret +'0'+ Cast(@F_Month As Varchar(4))
IF @F_Year >= 10
Set @Ret =@f_day
Else 
Set @Ret = '0'+ Cast(@F_year As Varchar(1))
----- بدست آوردن نام ماه به فارسی
Set @F_Month_Name = Case @F_Month
When 1 Then 'فروردین'
When 2 Then 'اردیبهشت'
When 3 Then 'خرداد'
When 4 Then 'تیر'
When 5 Then 'مرداد' 
When 6 Then 'شهریور' 
When 7 Then 'مهر' 
When 8 Then 'آبان' 
When 9 Then 'آذر' 
When 10 Then 'دی' 
When 11 Then 'بهمن'
When 12 Then 'اسفند'
End
----- بدست آوردن نام ماه به فارسی
IF @F_Day >= 10
Set @Ret = @Ret 
Else 
Set @Ret = @Ret + '0'
Select 
@Ret As FarsiDate, 
@F_Month_Name AS FarsiMonthName,
@F_Day_Name AS FarsiDayName
return
ir_programmer
شنبه 04 اسفند 1386, 14:31 عصر
یکی از دوستان تابع کامل و بدون عیب تبدیل تاریخ رو درخواست کردن. اینجا میزارم واسه عموم.
اما اگه توی dateTimePicker تونستین کمک کنید به من ممنون میشم.
Module ConvertDate
    Function dayofweek(ByVal tmpdate As String) As Integer
        Dim defrence As Long
        Dim tmpday As Integer
        tmpdate = "13" + tmpdate
        If tmpdate >= "1375/01/04" Then
            defrence = SSub(tmpdate, "1375/01/04")
            If (defrence Mod 7) = 0 Then
                dayofweek = 7
            Else
                dayofweek = (defrence Mod 7)
            End If
        Else
            defrence = SSub(tmpdate, "1375/01/04") - 1
            If (defrence Mod 7) = 0 Then
                dayofweek = 1
            Else
                dayofweek = 7 - (defrence Mod 7) + 1
            End If
        End If
    End Function
    Function MDaysNo(ByVal tmpMonth As Integer, ByVal IsKab As Integer) As Integer
        MDaysNo = 0
        Select Case tmpMonth
            Case 1, 3, 5, 7, 8, 12, 10
                MDaysNo = 31
            Case 4, 6, 9, 11
                MDaysNo = 30
            Case 2
                If IsKab Then
                    MDaysNo = 29
                Else
                    MDaysNo = 28
                End If
        End Select
    End Function
    Function mi2sh(ByVal tmpdate As Object, ByVal R8orV6 As Boolean) As String
        Dim basedate As Object
        Dim basefdate As String
        Dim DIFDAYS As Object
        Dim realdate As String
        basedate = (#3/20/1996#)
        basefdate = "1375/01/01"
        ' DIFDAYS = MSubDate(tmpdate, basedate)
        'Debug.Print DIFDAYS
        DIFDAYS = DateDiff(DateInterval.Day, basedate, tmpdate)
        'DIFDAYS = tmpdate - basedate
        If R8orV6 = True Then
            realdate = Strings.Right(SAddToDate(Strings.Right(basefdate, 8), DIFDAYS), 8)
            mi2sh = Mid(realdate, 1, 2) + Mid(realdate, 4, 2) + Mid(realdate, 7, 2)
        Else
            mi2sh = Strings.Right(SAddToDate(Strings.Right(basefdate, 8), DIFDAYS), 8)
        End If
    End Function
    Function MIsKabiseh(ByVal tmpYear As Integer) As Integer
        MIsKabiseh = 0
        If ((tmpYear Mod 4) = 0 And (tmpYear Mod 100) <> 0) Or (tmpYear Mod 400) = 0 Then
            MIsKabiseh = -1
        End If
    End Function
    Function MonNoToStr(ByVal monno As Integer) As String
        MonNoToStr = ""
        Select Case monno
            Case 1
                MonNoToStr = "فروردین"
            Case 2
                MonNoToStr = "اردیبهشت"
            Case 3
                MonNoToStr = "خرداد"
            Case 4
                MonNoToStr = "تیر"
            Case 5
                MonNoToStr = "مرداد"
            Case 6
                MonNoToStr = "شهریور"
            Case 7
                MonNoToStr = "مهر"
            Case 8
                MonNoToStr = "آبان"
            Case 9
                MonNoToStr = "آذر"
            Case 10
                MonNoToStr = "دی"
            Case 11
                MonNoToStr = "بهمن"
            Case 12
                MonNoToStr = "اسفند"
        End Select
    End Function
    Function MonStrToNo(ByVal monthstr As String) As Integer
        MonStrToNo = 0
        Select Case Trim(monthstr)
            Case "فروردین"
                MonStrToNo = 1
            Case "اردیبهشت"
                MonStrToNo = 2
            Case "خرداد"
                MonStrToNo = 3
            Case "تیر"
                MonStrToNo = 4
            Case "مرداد"
                MonStrToNo = 5
            Case "شهریور"
                MonStrToNo = 6
            Case "مهر"
                MonStrToNo = 7
            Case "آبان"
                MonStrToNo = 8
            Case "آذر"
                MonStrToNo = 9
            Case "دی"
                MonStrToNo = 10
            Case "بهمن"
                MonStrToNo = 11
            Case "اسفند"
                MonStrToNo = 12
        End Select
    End Function
    Function MSubDate1(ByVal date1 As Object, ByVal date2 As Object) As Long
        Const COUNTORDIF As Integer = 0 'FOR COUNT = 1 AND FOR DIF = 0
        Dim DAYSIGN As Integer
        Dim i, M1, M2, D1, D2, Y1, Y2 As Integer
        Dim DSUP, DS, DSDOWN As Long
        Dim tmpdate As Object
        '------------ swap dates ------------
        DAYSIGN = 1
        If date1 < date2 Then
            tmpdate = date1
            date1 = date2
            date2 = tmpdate
            DAYSIGN = -1
        End If
        '------------ Separate DAtes -------------------
        M1 = Month(date1)
        M2 = Month(date2)
        'D1 = Day(date1)
        'D2 = Day(date2)
        Y1 = Year(date1)
        Y2 = Year(date2)
        '------------ Besmel -------------
        '------------- هر دو تاریخ برای یک سال باشند
        If Y1 = Y2 Then
            If M1 = M2 Then
                DSDOWN = D1 - D2 + COUNTORDIF
                DSUP = 0
            Else
                DSDOWN = MDaysNo(M2, MIsKabiseh(Y2)) - D2 + COUNTORDIF
                DSUP = D1
            End If
            DS = 0
            For i = M2 + 1 To M1 - 1
                DS = DS + MDaysNo(i, MIsKabiseh(Y2))
            Next i
            MSubDate1 = (DSDOWN + DS + DSUP) * DAYSIGN
            Exit Function
        End If
        '------------- تاریخها برای سالهای متفاوت باشند
        DSDOWN = MDaysNo(M2, MIsKabiseh(Y2)) - D2 + COUNTORDIF
        For i = M2 + 1 To 12
            DSDOWN = DSDOWN + MDaysNo(i, MIsKabiseh(Y2))
        Next i
        DSUP = D1
        For i = 1 To M1 - 1
            DSUP = DSUP + MDaysNo(i, MIsKabiseh(Y1))
        Next i
        DS = 0
        For i = Y2 + 1 To Y1 - 1
            If MIsKabiseh(i) Then
                DS = DS + 366
            Else
                DS = DS + 365
            End If
        Next i
        MSubDate1 = (DSDOWN + DS + DSUP) * DAYSIGN
    End Function
    Function SAddToDate(ByVal adate As String, ByVal addrate As Long) As String
        Dim TYEAR As Integer
        Dim TMON As Integer, tmon2 As Integer
        Dim TDAY As Integer
        Dim TI As Integer
        Dim DAYSN As Long
        Dim AddToDate As String
        AddToDate = ""
        adate = "13" & adate
        TYEAR = SYear(adate)
        TMON = SMonth(adate)
        TDAY = Sday(adate)
        DAYSN = Math.Abs(addrate)
        Select Case addrate
            '--------------- مقدار اضافه شده به تاریخ صفر است
        Case Is = 0
                SAddToDate = adate
                '--------------- مقدار اضافه شده به تاریخ مثبت است
            Case Is > 0
                If DAYSN > (SDaysNo(TMON, siskabiseh(TYEAR)) - TDAY) Then
                    DAYSN = DAYSN - SDaysNo(TMON, siskabiseh(TYEAR)) + TDAY
                    TMON = TMON + 1
                Else
                    TDAY = TDAY + DAYSN
                    SAddToDate = Strings.Right(Format(TYEAR, "0000"), 2) & "/" & Format(TMON, "00") & "/" & Format(TDAY, "00")
                    Exit Function
                End If
                Do While DAYSN > SDaysNo(TMON, siskabiseh(TYEAR)) And TMON <= 12
                    DAYSN = DAYSN - SDaysNo(TMON, siskabiseh(TYEAR))
                    TMON = TMON + 1
                Loop
                If TMON > 12 Then
                    TYEAR = TYEAR + 1
                Else
                    TDAY = DAYSN
                    SAddToDate = Strings.Right(Format(TYEAR, "0000"), 2) & "/" & Format(TMON, "00") & "/" & Format(TDAY, "00")
                    Exit Function
                End If
                Do While DAYSN > SYearDaysNo(TYEAR)
                    DAYSN = DAYSN - SYearDaysNo(TYEAR)
                    TYEAR = TYEAR + 1
                Loop
                'If DAYSN = 0 Then
                '    DAYSN = 1
                'End If
                TI = 1
                Do While DAYSN > SDaysNo(TI, siskabiseh(TYEAR))
                    DAYSN = DAYSN - SDaysNo(TI, siskabiseh(TYEAR))
                    TI = TI + 1
                Loop
                If DAYSN = 0 Then
                    DAYSN = 1
                End If
                SAddToDate = Strings.Right(Format(TYEAR, "0000"), 2) & "/" & Format(TI, "00") & "/" & Format(DAYSN, "00")
                '--------------- مقدار اضافه شده به تاریخ منفی است
            Case Is < 0
                If DAYSN >= TDAY Then
                    DAYSN = DAYSN - TDAY
                    TMON = TMON - 1
                Else
                    TDAY = TDAY - DAYSN
                    SAddToDate = Strings.Right(Format(TYEAR, "0000"), 2) & "/" & Format(TMON, "00") & "/" & Format(TDAY, "00")
                    Exit Function
                End If
                Do While DAYSN >= SDaysNo(TMON, siskabiseh(TYEAR)) And TMON >= 1
                    DAYSN = DAYSN - SDaysNo(TMON, siskabiseh(TYEAR))
                    TMON = TMON - 1
                Loop
                If TMON < 1 Then
                    TYEAR = TYEAR - 1
                Else
                    TDAY = SDaysNo(TMON, siskabiseh(TYEAR)) - DAYSN
                    SAddToDate = Strings.Right(Format(TYEAR, "0000"), 2) & "/" & Format(TMON, "00") & "/" & Format(TDAY, "00")
                    Exit Function
                End If
                Do While DAYSN >= SYearDaysNo(TYEAR)
                    DAYSN = DAYSN - SYearDaysNo(TYEAR)
                    TYEAR = TYEAR - 1
                Loop
                TI = 12
                Do While DAYSN >= SDaysNo(TI, siskabiseh(TYEAR))
                    DAYSN = DAYSN - SDaysNo(TI, siskabiseh(TYEAR))
                    TI = TI - 1
                Loop
                'If DAYSN = 0 Then
                '    DAYSN = SDaysNo(TI, siskabiseh(TYEAR))
                'End If
                TDAY = SDaysNo(TI, siskabiseh(TYEAR)) - DAYSN
                TMON = TI
                SAddToDate = Strings.Right(Format(TYEAR, "0000"), 2) & "/" & Format(TMON, "00") & "/" & Format(TDAY, "00")
        End Select
    End Function
    Function Sday(ByVal adate As String) As Integer
        Sday = Val(Strings.Right(adate, 2))
    End Function
    Function sdayname(ByVal wdayno As Integer) As String
        sdayname = ""
        Select Case wdayno
            Case 0
                sdayname = "جمعه"
            Case 1
                sdayname = "شنبه"
            Case 2
                sdayname = "یکشنبه"
            Case 3
                sdayname = "دوشنبه"
            Case 4
                sdayname = "سه شنبه"
            Case 5
                sdayname = "چهار شنبه"
            Case 6
                sdayname = "پنجشنبه"
            Case 7
                sdayname = "جمعه"
        End Select
    End Function
    Function SDayOFWeek(ByVal tmpdate As String) As Integer
        Dim defrence As Long
        'Dim tmpday As Integer
        If tmpdate >= "1375/01/04" Then
            defrence = SSub(tmpdate, "1375/01/04")
            If (defrence Mod 7) = 0 Then
                SDayOFWeek = 7
            Else
                SDayOFWeek = (defrence Mod 7)
            End If
        Else
            defrence = SSub(tmpdate, "1375/01/04") - 1
            If (defrence Mod 7) = 0 Then
                SDayOFWeek = 1
            Else
                SDayOFWeek = 7 - (defrence Mod 7) + 1
            End If
        End If
    End Function
    Function SDaysNo(ByVal tmpMonth As Integer, ByVal IsKab As Integer) As Integer
        SDaysNo = 0
        Select Case tmpMonth
            Case 12
                If IsKab Then
                    SDaysNo = 30
                Else
                    SDaysNo = 29
                End If
            Case 7 To 11
                SDaysNo = 30
            Case 1 To 6
                SDaysNo = 31
        End Select
    End Function
    Function SGetDayStr(ByVal adate As Object) As String
        SGetDayStr = sdayname(SDayOFWeek(mi2sh(adate, False)))
    End Function
    Function siskabiseh(ByVal tmpYear As Integer) As Integer
        siskabiseh = 0
        Dim tmpval As Long
        tmpval = tmpYear
        If (((tmpval + 38) * 31) Mod 128) <= 30 Then
            siskabiseh = -1
        End If
    End Function
    Function SMonth(ByVal adate As String) As Long
        SMonth = Val(Mid(adate, 6, 2))
    End Function
    Function SSub(ByVal date1 As String, ByVal date2 As String) As Long
        Dim alldays As Long
        Dim i As Integer
        Dim year1 As Integer
        Dim year2 As Integer
        Dim month1 As Integer
        Dim month2 As Integer
        Dim days1 As Integer
        Dim days2 As Integer
        Dim tmps As String
        SSub = 0
        If date1 < date2 Then
            tmps = date2
            date2 = date1
            date1 = tmps
        End If
        alldays = 0
        year1 = Val(Strings.Left(date1, 4))
        year2 = Val(Strings.Left(date2, 4))
        month1 = Val(Mid(date1, 6, 2))
        month2 = Val(Mid(date2, 6, 2))
        days1 = Val(Strings.Right(date1, 2))
        days2 = Val(Strings.Right(date2, 2))
        If year1 = year2 Then
            For i = month2 + 1 To month1 - 1
                alldays = alldays + SDaysNo(i, siskabiseh(year1))
            Next i
            If month1 <> month2 Then
                alldays = alldays + days1
                alldays = alldays + SDaysNo(month2, siskabiseh(year2)) - days2 + 1
            Else
                alldays = Math.Abs(days1 - days2) + 1
            End If
            SSub = alldays
            Exit Function
        End If
        For i = year2 + 1 To year1 - 1
            If siskabiseh(i) Then
                alldays = alldays + 366
            Else
                alldays = alldays + 365
            End If
        Next i
        For i = 1 To month1 - 1
            alldays = alldays + SDaysNo(i, siskabiseh(year1))
        Next i
        For i = month2 + 1 To 12
            alldays = alldays + SDaysNo(i, siskabiseh(year2))
        Next i
        alldays = alldays + days1
        alldays = alldays + SDaysNo(month2, siskabiseh(year2)) - days2 + 1
        SSub = alldays
    End Function
    Function SXAddToDate(ByVal adate As String, ByVal addrate As Long) As String
        Dim TYEAR As Integer
        Dim TMON As Integer, tmon2 As Integer
        Dim TDAY As Integer
        Dim TI As Integer
        Dim DAYSN As Long
        SXAddToDate = ""
        TYEAR = SYear(adate)
        TMON = SMonth(adate)
        TDAY = Sday(adate)
        DAYSN = Math.Abs(addrate)
        Select Case addrate
            '--------------- مقدار اضافه شده به تاریخ صفر است
        Case Is = 0
                SXAddToDate = adate
                '--------------- مقدار اضافه شده به تاریخ مثبت است
            Case Is > 0
                If DAYSN > (SDaysNo(TMON, siskabiseh(TYEAR)) - TDAY) Then
                    DAYSN = DAYSN - SDaysNo(TMON, siskabiseh(TYEAR)) + TDAY
                    TMON = TMON + 1
                Else
                    TDAY = TDAY + DAYSN
                    SXAddToDate = Format(TYEAR, "0000") & "/" & Format(TMON, "00") & "/" & Format(TDAY, "00")
                    Exit Function
                End If
                Do While DAYSN > SDaysNo(TMON, siskabiseh(TYEAR)) And TMON <= 12
                    DAYSN = DAYSN - SDaysNo(TMON, siskabiseh(TYEAR))
                    TMON = TMON + 1
                Loop
                If TMON > 12 Then
                    TYEAR = TYEAR + 1
                Else
                    TDAY = DAYSN
                    SXAddToDate = Format(TYEAR, "0000") & "/" & Format(TMON, "00") & "/" & Format(TDAY, "00")
                    Exit Function
                End If
                Do While DAYSN > SYearDaysNo(TYEAR)
                    DAYSN = DAYSN - SYearDaysNo(TYEAR)
                    TYEAR = TYEAR + 1
                Loop
                'If DAYSN = 0 Then
                '    DAYSN = 1
                'End If
                TI = 1
                Do While DAYSN > SDaysNo(TI, siskabiseh(TYEAR))
                    DAYSN = DAYSN - SDaysNo(TI, siskabiseh(TYEAR))
                    TI = TI + 1
                Loop
                If DAYSN = 0 Then
                    DAYSN = 1
                End If
                SXAddToDate = Format(TYEAR, "0000") & "/" & Format(TI, "00") & "/" & Format(DAYSN, "00")
                '--------------- مقدار اضافه شده به تاریخ منفی است
            Case Is < 0
                If DAYSN >= TDAY Then
                    DAYSN = DAYSN - TDAY
                    TMON = TMON - 1
                Else
                    TDAY = TDAY - DAYSN
                    SXAddToDate = Format(TYEAR, "0000") & "/" & Format(TMON, "00") & "/" & Format(TDAY, "00")
                    Exit Function
                End If
                Do While DAYSN >= SDaysNo(TMON, siskabiseh(TYEAR)) And TMON >= 1
                    DAYSN = DAYSN - SDaysNo(TMON, siskabiseh(TYEAR))
                    TMON = TMON - 1
                Loop
                If TMON < 1 Then
                    TYEAR = TYEAR - 1
                Else
                    TDAY = SDaysNo(TMON, siskabiseh(TYEAR)) - DAYSN
                    SXAddToDate = Format(TYEAR, "0000") & "/" & Format(TMON, "00") & "/" & Format(TDAY, "00")
                    Exit Function
                End If
                Do While DAYSN >= SYearDaysNo(TYEAR)
                    DAYSN = DAYSN - SYearDaysNo(TYEAR)
                    TYEAR = TYEAR - 1
                Loop
                TI = 12
                Do While DAYSN >= SDaysNo(TI, siskabiseh(TYEAR))
                    DAYSN = DAYSN - SDaysNo(TI, siskabiseh(TYEAR))
                    TI = TI - 1
                Loop
                'If DAYSN = 0 Then
                '    DAYSN = SDaysNo(TI, siskabiseh(TYEAR))
                'End If
                TDAY = SDaysNo(TI, siskabiseh(TYEAR)) - DAYSN
                TMON = TI
                SXAddToDate = Format(TYEAR, "0000") & "/" & Format(TMON, "00") & "/" & Format(TDAY, "00")
        End Select
    End Function
    Function SYear(ByVal adate As String) As Integer
        SYear = Val(Strings.Left(adate, 4))
    End Function
    Function SYearDaysNo(ByVal TYEAR As Integer) As Integer
        If siskabiseh(TYEAR) Then
            SYearDaysNo = 366
        Else
            SYearDaysNo = 365
        End If
    End Function
    Function MiladiToShamsi(ByVal tmpdate As Object, ByVal R8orV6 As Boolean) As String
        Dim StrDate As String
        StrDate = mi2sh(tmpdate, R8orV6)
        'Return StrDate
        Return StrDate.Substring(0, 2) + "/" + StrDate.Substring(3, 2) + "/" + StrDate.Substring(6, 2)
    End Function
    Function ShowDateNow() As String
        Dim StrDate As String
        StrDate = mi2sh(Now.Date, False)
        'Return StrDate
        Return StrDate.Substring(0, 2) + "/" + StrDate.Substring(3, 2) + "/" + StrDate.Substring(6, 2)
    End Function
    Function ShowTimeNow() As String
        Dim nHour, nMinute As String
        nHour = Now.Hour.ToString
        If Len(nHour) = 1 Then
            nHour = "0" + nHour
        End If
        nMinute = Now.Minute.ToString
        If Len(nMinute) = 1 Then
            nMinute = "0" + nMinute
        End If
        Return nHour + ":" + nMinute
    End Function
End Module
babakj
شنبه 10 فروردین 1387, 19:42 عصر
بله کار آقای اسکندری واقعا جالبه و جای قدر دانی داره 
اتفاقا کدی که ایشون گذاشته دارای باگ اساسی است به روزه آخر سال و اول سال بعد دقت کنید
ولی خودشون به من گفتند که اشکال رو رفع کردند و به زودی توی وب لاگشون قرار می دهند
کار ایشون با سورس است یعنی میشه سورس رو برداشت و اون قسمت دلخواه رو توی برنامه ازش استفاده کرد
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.