با ما در تماس باشید! 88520412 (021)

پرنیان تقویم شمسی برای MS Project 2019: مشکل ماه‌های تکراری در چاپ

همانطور که قبلا هم به آن اشاره شده است، متاسفانه مایکروسافت پراجکت در ارائه‌ی تقویم‌های غیرمیلادی اشکالاتی دارد. یکی از این اشکالات مربوط چاپ گانت‌چارت‌ها است. در واقع در هنگام چاپ نمودارهای گانت به خصوص وقتی محور زمان (Timescale) روی ماه تنظیم شده باشد، محاسبات به درستی انجام نمی‌شود و این باعث بروز برخی از ناهماهنگی‌ها، نظیر تکرار نام ماه‌ها در نوار مربوط به محور زمان می‌شود. بررسی‌ها نشان می‌‌دهد این اشکال به هنگام فراخوان تابعی است که تعداد روزهای هر ماه را برمی‌گرداند. این تابع یک ورودی دارد که مشخص کننده‌ی تقویم مورد استفاده است. مشخص شده است که پراحکت در وضعیت چاپ همواره تقویم میلادی را به این تابع می‌فرستد حتی اگر کاربر تقویم دیگری را انتخاب کرده باشد. برای رفع این اشکال مجبور هستیم این تابع را برای رفع این اشکال تصحیح کنیم.

شکل زیر کدهای اسمبلی این تابع را نشان می‌دهد. در خط EB997 مقدار r12w به جای اینکه مقدار ۶ را برای تقویم هجری داشته باشد، همواره (در وضعیت چاپ) مقدار را دارد این مقدار ظاهرا به معنای استفاده از تقویم پیش‌فرض، یا بدون تقویم است.


این تابع با این کلاس ماک تصحیح می‌شود. دقت کنید که مقدار ۶ که متناظر با تقویم هجری است، به جای قرار داده می‌شود.


نسخه‌ی ۳۲ بیتی این تابع به شکل زیر است:

مشتاقانه منتظر دریافت نظرات شما دوستان عزیز هستیم