PDA

View Full Version : تقویم شمسی لینوکس



farzadmb
جمعه 22 تیر 1386, 22:56 عصر
سلام.
من پروژه ای دارم و باید با دستکاری فایل date.c در لینوکس کاری کنم که به جای تاریخ میلادی تاریخ شمسی رو نشون بده. الگوریتم و برنامه c که این کار رو انجام میده رو هم دارم اما متاسفانه جستجوهای من به جایی نرسید و نه برنامه نوشته شده در لینوکس(در سطح کرنل) که این کار رو انجام بده پیدا کردم و نه فایل Open source که محتویات فایل date.c رو بتونم ببینم. کسی برنامه نوشته شده که تاریخ شمسی رو تو لینوکس بده(مجدداً عرض کنم در سطح کرنل نوشته شده باشه!) یا برنامه فایل date.c رو داره؟

tux-world
شنبه 23 تیر 1386, 07:02 صبح
شما نیازی به این کار ندارید .
چرا وقتی در بازه از پنجره می خوایید برید تو ؟؟
خوب تاریخ میلادی رو از سیستم بخونین و با همون برنامه ای که نوشتین اون رو به شمسی تبدیل کنین . منطورم فرمت تاریخ هستش . که البته باید مواردی رو هم تو تبدیل درنظر داشته باشید . اصلا نیازی نیست که date.c رو ادیت کنین .
اگر !! اگر اینکار رو بخوایید بکنین باید کرنل محترم رو هم دوباره کامپایل کنین که فکر کنم کار هر کسی باشه و به زحمتش بیرزه.همون تبدیل کارتو راه می ندازه.
تو kde تقویم شمسی هست که اگه به متعلقاتش برد متوجه میشید در گنوم هم jcalander هست. دیگه چی می خوایی ؟؟

farzadmb
شنبه 23 تیر 1386, 07:59 صبح
مشکل اینجاست که تو این پروژه باید کرنل دستکاری بشه وگرنه نوشتن ماژول که از همین فایل بخونه خیلی کار راحتی بود.

rezaTavak
شنبه 23 تیر 1386, 09:00 صبح
این فایل را نگاه کنید:
ftp://ftp.de.debian.org/debian/pool/main/c/cal/cal_3.5.orig.tar.gz

سورس کد cal لینوکس است. که با دستور cal قابل دسترسی است. تغییر این کد برای تاریخ فارسی آسان است.

اما در کرنل که بیشتر از ۴۰ مگا بایت است تغییر کار سختی است. از سویی دیگر gcc هم باید تغییر کند. مطمئن نیستم اما این فایل در کرنل: time.c در انواع سخت افزارها باید تغییر کند. اما چون تایمر هم سخت افزاری از تاریخ گریگوری حمایت میکند کار بسیار مشکلی است. یعنی در هر بار کار با cmos و timer باید اطلاعات تبدیل شود. البته ممکن است در کل سورس مشکل پیش بیاید مثلا تاریخ فایلها و...
در کل انجام این کار کار پیچیده ای است.

پیشنهاد من:
تغییر caL است cal.c که با استفاده از این تقویم: http://www.projectpluto.com/calendar.htm
تقویم جلالی را بنویسید.
سپس آنرا در sourceforge.net قرار دهید تا همگان استفاده کنند. بارها شده خودم خواستم این کار را انجام دهم اما وقت نشده است.

Inprise
چهارشنبه 27 تیر 1386, 00:07 صبح
مشکل اینجاست که تو این پروژه باید کرنل دستکاری بشه

چرا ؟ !