سلام
چرا موقع اجرا کردن برنامه های تقویم (مثل همین تقویم ) خطای زیر ظاهر می شه
شما قبل از اجرای demo های این مجموعه باید آن را در دلفی نصب کنید. طریقه نصب هم در فایل Install.txt توضیح داده شده. خلاصه اش هم اینه که باید فایل dpk مناسب نسخه دلفی خودتون رو در دلفی باز کنید و Compile و Install رو بزنید و بعدش هم مسیر فایل های سورس رو به Library Path دلفی اضافه کنید.
ورژن دلفیم 7 هست ... و یه اررور میده مبنی بر اینکه نمی تونه فایل که اسمش یادم نیست رو بخونه فکر می کنم فایل bpl7. هست!!! یا یه چیزی تو همین مایه ها!!!
متاسفانه نمی دانم علت مشکل پیش آمده برای شما چیست. البته خودم هم متوجه یک مشکل در مورد فیلدهای دیتابیس شده ام که هنگام بستن پروژه ای که از این فیلد ها استفاده می کند گاهی اوقات پیغام Access violation صادر می شود و دلفی را به هم می ریزد. اگر کسی علت این مشکل را می داند ممنون می شوم پاسخ بدهد.
خيلي ممنون و متشكرم كه اين كامپوننت رو روي سايت گذاشتيد.ولي من يه مشكل توي تاريخ قمري ديدم اونم اين بود كه روز 24 مهرماه 87 رو كه برابر با 15 شوال مي باشد يك روز كمتر يعني 14 شوال نمايش مي دهد.
تقویم قمری مورد استفاده در ایران بر اساس مشاهده هلال ماه می باشد. البته طول پیش بینی شده ماه های قمری مصادف با هر سال شمسی برای استفاده در تقویم ها، قبل از آغاز آن سال اعلام می شود.
THijriCalendar موجود در این مجموعه تقویم قمری قراردادی را پیاده سازی می کند که دوره های سالهای کبیسه و عادی آن مشخص است (در دو نوع معمول که با خاصیت LeapYearsKind قابل انتخاب است) و همچنین طول ماه های آن مطابق قرارداد می باشد. (البته با استفاده از OnGetDaysInAMonth قابل تغییر است).
با استفاده از TObservedHijriCalendar می توانید داده های مشاهده شده (یا پیش بینی شده) را در تقویم لحاظ کنید. یعنی علاوه بر استفاده از OnGetDaysInAMonth برای دادن طول ماه های هر سال قمری، با استفاده از OnFindLeapYears سال های کبیسه (355 روزه) قمری را مشخص کنید. البته در یک محدوده که با MinObservedYear و MaxObservedYear مشخص می شود و سال پایه و تفاوت آغاز آن با آغاز قراردادی همان سال را با BaseYear و BaseYearAdjustment مشخص می کنید. برای توضیحات کاملتر به بخش های 1.5 و 1.6 فایل readme مراجعه کنید. دموی IranEvents هم یک مثال کامل در این مورد است.
درضمن اگه كسي هست كه سورس تبديل تاريخ ميلادي به قمري رو داشته باشه و در اختيار ما قرار بده يا آدرسش رو بده خيلي خيلي ممونشم و دعاش ميكنم.
لطفا پست سوم را بخوانید:
برای تبدیل تاریخ از یک تقویم به تقویم دیگر باید آنرا با کامپوننت تقویم اول encode کنید و مقدار حاصل را با کامپوننت تقویم دوم decode کنید.
مثلا:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
که البته در اینجا برای encode کردن تاریخ میلادی از تابع موجود در دلفی استفاده کرده ام و بجای decode کردن، مستقیما متد FormatDateTime کامپوننت را بکار برده ام.