نمایش نتایج 1 تا 13 از 13

نام تاپیک: در مورد تاریخ شمسی در VB احتیاج به راهنمایی

  1. #1
    کاربر دائمی آواتار jafaripur
    تاریخ عضویت
    شهریور 1385
    پست
    216

    Exclamation در مورد تاریخ شمسی در VB احتیاج به راهنمایی

    خوب دوستان یه سوال یعنی مشکل پیش اومده اونم اینه که :
    چون دومین ماه تاریخ میلادی 28 و گاهی 29 روز هستش نمی توان 1385/02/30 را در متغییر Date گذاشت .
    یعنی :
    Dim A as Date
    A = #1385/02/31#

    و یا :

    Dim A as Date
    A = #1385/02/31#
    A = A - 7

    مثلاً به این هم خطا میده :

    StrSql = "SELECT * FROM Member WHERE Date =#" & cvdate(txtdate.text) & "#"f


    یعنی خطا میده Type MisMath میده .

    چطوری می شه این مشکل را حل کرد .

  2. #2
    دوست عزیز
    باید تاریخ رو اگر می خواهی شمسی ذخیره کنی با استفاده از کلاس:
    System.Globalization.PersianCalendar
    تاریخ میلادی رو به شمسی تبدیل کنی

    و اگر می خواهی شمسی رو بصورت میلادی ذخیره کنی با استفاده از کلاس:
    System.Globalization.GregorianCalendar

    تاریخ شمسی رو به میلادی تبدیل کن

  3. #3
    کاربر دائمی آواتار h_sadeghynejad
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    Ariayee Land
    پست
    190
    به نظر من بهتره که برای ذخیره تاریخ از نوع رشته ای استفاده کنی این طوری یه خورده راحت تری

  4. #4
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    نقل قول نوشته شده توسط Wish Master مشاهده تاپیک
    دوست عزیز
    باید تاریخ رو اگر می خواهی شمسی ذخیره کنی با استفاده از کلاس:
    System.Globalization.PersianCalendar
    تاریخ میلادی رو به شمسی تبدیل کنی

    و اگر می خواهی شمسی رو بصورت میلادی ذخیره کنی با استفاده از کلاس:
    System.Globalization.GregorianCalendar

    تاریخ شمسی رو به میلادی تبدیل کن
    VB not VB.net

  5. #5
    کاربر دائمی آواتار jafaripur
    تاریخ عضویت
    شهریور 1385
    پست
    216
    کسی نبود عجله ای هستش ؟

  6. #6
    کاربر دائمی آواتار h_sadeghynejad
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    Ariayee Land
    پست
    190
    فکر کنم برای این کار باید تاریخ رو تبدیل به میلادی کنی و توی اون متغیر یا دیتابیس خودت بریزی و بعدا بازیابی کنی و دوباره اون رو تبدیل به شمسی کنی

  7. #7
    کاربر دائمی آواتار jafaripur
    تاریخ عضویت
    شهریور 1385
    پست
    216
    نمیشه ؟
    می خوام ما بین دو تاریخ : 1386/02/31 و 1386/02/20 رو از پایگاه داده استخراج کنم ولی چون تو تاریخ میلادی دومین ماه که فوریه می شه 28 و 29 روز هستش 2/21 را خطا می گیره ؟

  8. #8
    کاربر دائمی آواتار h_sadeghynejad
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    Ariayee Land
    پست
    190
    این هم یه shamsi.dll که یه سری توابع کامل برای کار با تاریخ داره
    shamsidll2.zip
    اگه مشکل با هاش داشتی بگو

  9. #9
    کاربر دائمی آواتار h_sadeghynejad
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    Ariayee Land
    پست
    190
    در کل به نظر من اگه بیای و تاریخ رو به صورت رشته ای و بدون اسلش (/) ذخیره کنی بهتره و بعدش هم برای چک کردن فاصله دو تا تاریخ راحت تر هستی

  10. #10
    کاربر دائمی آواتار jafaripur
    تاریخ عضویت
    شهریور 1385
    پست
    216
    مشکل نیست من فقط می خوام برا این مشکل راه حل بشه .
    نه عزیز منظور تبدیل میلادی به شمسی نیست .
    مشکل قرار دادن 1386/02/31 در متغییر Date هستش .

  11. #11
    کاربر دائمی آواتار CodeMasterX
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    Iran, Shiraz
    سن
    36
    پست
    960
    شما نمیتونی تاریخی که روز 31 داره رو تو تاریخ Date بریزی چون بصورت میلادی مدیریت خواهد شد.اولا سعی کن تواریخ رو بصورت رشته ای ذخیره کنی و باهاشون کارکنی.دوم اینکه نیازی نیست برای محاسبات حتما بریزیشون توی متغیر های Date.
    برای استفاده از تواریخ شمسی هم میتونی از کدهایی که توی بخش "مشکلات فارسی و ..." گذاشته شده استفاده کنی و یا کنترل Payam.Calendar که آقای پیام مرادی لطف کردن و تو سایت گذاشتن.

  12. #12
    کاربر دائمی آواتار h_sadeghynejad
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    Ariayee Land
    پست
    190
    من هم همینطوری فکر میکردم چون متغیر از نوع date مقادیرش این طوری تعریف شده و نمیتونی خارج از اون بهش داده بدی

  13. #13
    یه راه هست
    اونم اینکه حداکثر روزی که توی متغییر از نوع Date ذخیره می کنیم 28 باشه و اختلاف روز واقعی تا 28 رو کنارش ذخیره کنیم ، مثلا :

    Type TNewDate

    MainDate as Date
    Diff as Integer

    End Type


    که توی این ساختار تاریخ در متغیر MainDate ذخیره میشه و اگه روزش بیشتر از 28 بود ، اضافیش توی متغیر Diff.

    البته راهی که گفته شد برای وقتیه که نخواین از راه هایی که دوستان گفتن استفاده کنین.

تاپیک های مشابه

  1. تقاضایی راهنمایی و کمک در کار با Dreamweaver
    نوشته شده توسط احمد کاوه در بخش طراحی وب (Web Design)
    پاسخ: 4
    آخرین پست: پنج شنبه 29 مهر 1389, 12:41 عصر
  2. آقا چه چیزایی با javascript قابل حل هست چه چیزایی با .net
    نوشته شده توسط odiseh در بخش ASP.NET Web Forms
    پاسخ: 13
    آخرین پست: جمعه 02 فروردین 1387, 04:44 صبح
  3. دوستانی که با interbase آشنایی دارند لطفا راهنمایی کنند
    نوشته شده توسط mehdi_moosavi در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 4
    آخرین پست: شنبه 01 بهمن 1384, 14:11 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •