اطلاعیه

Collapse
No announcement yet.

لایبرری یا سورس بیسیک برای ds1307

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    لایبرری یا سورس بیسیک برای ds1307

    سلام

    من نیاز شدیدبه کا ربا تاریخ شمسی توی بسکام با 1307 دارم ،آیا لایبرری که توش تاریخ میلادی به شمسی تبدیل شده باشه وجود داره ؟ تو سورس کدهای سایت درست کار نمیکنه ،اگه کسی سورس کد بیسیک یا لایبرری تاریخ رو داره لطف کنده اینجا بزاره
    ممنون
    { خلاف قوانین - پاک شد }

    #2
    پاسخ : لایبرری یا سورس بیسیک برای ds1307

    این تابع میلادی به شمسی


    Dim Myear As Integer
    Dim Mday As Integer
    Dim Mmonth As Integer
    Dim Mdayofyear As Integer
    Dim Myear_ As Integer

    Dim Jday As Integer
    Dim Jmonth As Integer
    Dim Jyear As Integer
    Dim Jdayofyear As Integer

    Dim Gnumdayofyear As Integer
    Dim Isleapyear As Bit
    Dim Isleapyearp As Bit

    Dim Iloop As Byte
    Dim Temp1 As Integer
    Dim Temp2 As Integer
    Dim Temp3 As Integer
    Dim Temp4 As Integer

    Dim Jmonth_a(12) As Byte
    Dim Mmonth_a(12) As Byte
    Dim Dama As Long

    Mmonth_a(1) = 31

    Mmonth_a(2) = 28
    Mmonth_a(3) = 31

    Mmonth_a(4) = 30
    Mmonth_a(5) = 31
    Mmonth_a(6) = 30

    Mmonth_a(7) = 31
    Mmonth_a(8) = 31
    Mmonth_a(9) = 30

    Mmonth_a(10) = 31
    Mmonth_a(11) = 30
    Mmonth_a(12) = 31

    Gnumdayofyear = 365



    '****************************************
    Myear = _year + 2000
    Mday = _day
    Mmonth = _month


    Temp1 = Myear Mod 4
    Temp2 = Myear Mod 100
    Temp3 = Myear Mod 400
    Temp4 = Temp1 And Temp2

    If Temp4 <> 0 Or Temp3 = 0 Then
    Mmonth_a(2) = 28
    Else
    Mmonth_a(2) = 29
    End If


    Myear_ = Myear - 1
    Temp1 = Myear_ Mod 4
    Temp2 = Myear_ Mod 100
    Temp3 = Myear_ Mod 400
    Temp4 = Temp1 And Temp2

    If Temp4 <> 0 Or Temp3 = 0 Then
    Reset Isleapyearp
    Else
    Set Isleapyearp
    End If

    Temp1 = Mmonth - 1

    For Iloop = 1 To Temp1
    Mdayofyear = Mmonth_a(iloop) + Mdayofyear
    Next
    Mdayofyear = Mday + Mdayofyear



    If Mdayofyear > 79 Then

    Temp1 = Mdayofyear - 79
    Jyear = Myear - 621

    If Temp1 < 186 Then

    Temp2 = Temp1 Mod 31
    Temp3 = Temp1 / 31

    If Temp2 = 0 Then
    Jmonth = Temp3
    Jday = 31
    Else
    Jmonth = Temp3 + 1
    Jday = Temp2
    End If

    Else

    Temp2 = Temp1 - 186
    Temp3 = Temp2 Mod 30
    Temp4 = Temp2 / 30

    If Temp3 = 0 Then
    Jmonth = Temp4 + 6
    Jday = 30
    Else
    Jmonth = Temp4 + 7
    Jday = Temp3
    End If

    End If

    Else

    Jyear = Myear - 622

    If Isleapyearp = 1 Then
    Mdayofyear = Mdayofyear + 11
    Else
    Mdayofyear = Mdayofyear + 10
    End If

    Temp2 = Mdayofyear Mod 30
    Temp3 = Mdayofyear / 30

    If Temp2 = 0 Then
    Jmonth = Temp3 + 9
    Jday = 30
    Else
    Jmonth = Temp3 + 10
    Jday = Temp2
    End If

    End If

    Mdayofyear = 0

    '*****************************************
    jday =روز شمسی
    jmonth=ماه شمسی
    jyear=سال شمسی
    The harder I work, the luckier I get

    دیدگاه


      #3
      پاسخ : لایبرری یا سورس بیسیک برای ds1307

      سلام
      ممنون من اینو پیدا کردم ولی نتونستم با برنامه اصلی درش بیارم
      لطفا کمک کنید
      { خلاف قوانین - پاک شد }

      دیدگاه


        #4
        پاسخ : لایبرری یا سورس بیسیک برای ds1307

        نوشته اصلی توسط mostafaserial
        سلام
        ممنون من اینو پیدا کردم ولی نتونستم با برنامه اصلی درش بیارم
        لطفا کمک کنید
        سلام
        من چک کردم جواب میده فقط باید حواست باشه که اول اون متغیرها را با اون چیزی که تو برنامه اصلی نوشتی هم نام کنی منظورم ایناست (
        Myear =_year + 2000
        Mday = _day
        Mmonth = _month
        )
        بعدش هم این تابع رو زیر تابع ساعت کپی کن(قبل از return)
        The harder I work, the luckier I get

        دیدگاه


          #5
          پاسخ : لایبرری یا سورس بیسیک برای ds1307

          http://www.eca.ir/forum2/index.php?topic=38492.0
          http://www.eca.ir/forum2/index.php?topic=44026.0
          لطفا یکم جستجو کنید :rolleyes:
          [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

          دیدگاه

          لطفا صبر کنید...
          X