# فناوری جاوا > برنامه‌نویسی جاوا > Java ME : نگارش میکرو جاوا > آموزش: برنامه محاسبه اوقات شرعی( برای دانلود)

## rashid1368

سلام
این برنامه اوقات شرعی مراکز استانهای ایران هست. خب از اسمش مشخصه که چکار می کنه
برنامه از چند تا الگوریتم تشکیل می شه
1- الگوریتمی که تاریخ شمسی رو بدست می آره
این هم الگوریتم: https://barnamenevis.org/archiv...p/t-66133.html
2- الگوریتمی که تاریخ شمسی رو می گیره و با توجه به طول و عرض جغرافیایی مراکز استانها ، اوقات شرعی رو محاسبه می کنه
این هم الگوریتم: http://www.barnamenevis.org/sh...ad.php?t=40321
3- بقیه اش هم کارهای گرافیکی هست که خودتون می تونین بفهمین. مثل لیست باکس فارسی و ...

دوستان توجه داشته باشین که من این برنامه رو به صورت سورس باز در اختیارتون می گذارم. برنامه اونچنان سختی هم نیست. ولی برای اینکه زحمت های بنده به هدر نره قانون کپی رایت رو رعایت کنین. دیگه خودتون می دونین یعنی چی
خیلی ممنون

فایل اول سورس برنامه است و فایل سوم فایل jar برنامه است. فایل دوم رو هم باید به قسمت library در برنامه netbeans اضافه کنین.

*
دوستان این نسخه، اشکالات زیادی رو که دیگر نسخه ها داشت، در خودش نداره....البته شاید هنوز هم یه جاهایی مشکل داشته باشه....
فایل سورس برنامه، همون فایل قبلی هست... من فقط فایل اجرایی برنامه(فایل jar) رو به روز رسانی کردم....
*
اگه کسی دوست داشت، میتونه از لینک زیر هم فایل رو دانلود کنه
http://www.4shared.com/file/89mK4rjz/OghatSharee.html
---------------------
تغییرات نسخه جدید:
1-  اصلاح اوقات شرعی
2- ایجاد splash screen
3- بالارفتن سرعت برنامه(یک کم)
4- تغییر ظاهر گرافیکی برنامه(این هم یک کم)
---------------------
تغییرات در دست انجام:
1- اذان گفتن، حتی در زمانی که برنامه بسته باشد....
2- درج شهر دلخواه در لیست شهرها

----------


## rashid1368

سلام
دوستان همین جوری که می دونید j2me برای محاسبه توابع مثلثاتی معکوس یعنی  arcsin ,arcTan ,arcCos ,arcCot تابعی رو در نظر نگرفته . و برای بدست آوردن اوقات شرعی ، احتیاج بود به این توابع.  من هم به کمک سری های تیلور و مک لورن این توابع رو بدست آوردم.
توی یه سایت خارجی خوندم دلیل اینکه j2me این توابع رو نداره. ولی می خواستم ببینم آیا دوستان دلیل این امر رو می دونن؟

----------


## hesamy2004

دستت برای برنامه درد نکنه. دلیلش اینکه پشتیبانی نمیکنه چیه؟ مربوط به پردازنده میشه؟
تا اونجا که میدونم J2ME از ممیز شناور هم پشتیبانی نمیکنه. درسته؟

اون فایل farsi.f به چه درد میخوره؟ بازش که میکنم یسری چیزای کد شده توشه.

برنامه رو تو Netbeans اجرا کردم ولی پیغام خطا میده. همونطور که گفتی یه فولدر به اسم My_Library ساختم و فایلی رو که گفته بودی توش ذخیره کردم بعد هم به Tools>Libraries معرفیش کردم. ولی میگه:
package farsiBitMap does not exist
import farsiBitMap.FarsiBitMap;

----------


## mahdi68

> اون فایل farsi.f به چه درد میخوره؟ بازش که میکنم یسری چیزای کد شده توشه.


فایل مربوط به فونت هست

----------


## rashid1368

> دستت برای برنامه درد نکنه. دلیلش اینکه پشتیبانی نمیکنه چیه؟ مربوط به پردازنده میشه؟
> تا اونجا که میدونم J2ME از ممیز شناور هم پشتیبانی نمیکنه. درسته؟
> 
> اون فایل farsi.f به چه درد میخوره؟ بازش که میکنم یسری چیزای کد شده توشه.
> 
> برنامه رو تو Netbeans اجرا کردم ولی پیغام خطا میده. همونطور که گفتی یه فولدر به اسم My_Library ساختم و فایلی رو که گفته بودی توش ذخیره کردم بعد هم به Tools>Libraries معرفیش کردم. ولی میگه:
> package farsiBitMap does not exist
> import farsiBitMap.FarsiBitMap;


ممنون از این که نظر دادین
اون فایل رو باید به صورت زیر به قسمت library اضافه کنید
1- برنامه netbeans رو باز کنید
2 -  در ستون سمت چپ، قسمت projects رو انتخاب کنید.
3- یه لیست درختی نشون داده میشه. شما برنامه ای رو که می خواهید این library رو درش اضافه کنید رو انتخاب کنید.
4 - در بین زیر شاخه های برنامه تون، یه قسمت هست با عنوان resources
5 - بر روی resources کلیک راست کنید و گزینه add jar/zip رو انتخاب کنید.
6 - فایل سومی که برای دانلود گذاشتم رو انتخاب کنید . با اینکار این فایل به قسمت resources اضافه میشه.

توضیح اینکه ، من برای نوشتن فارسی در این برنامه از دوتا فونت آقای جوانشیر و آقای امینی استفاده کردم. 
برای راهنمایی بیشتر می تونید به این آدرس مراجعه کنید.
*فونت آقای امینی(که من برای نمایش ساعتها ازش استفاده کردم)*
https://barnamenevis.org/showthread.php?t=205586
*فونت آقای جوانشیر که برای نمایش نام شهرها ازش استفاده کردم*
http://forum.gsmaria.com/62400-post5.html
*یه فونت دیگه هم هست برای فارسی نویسی که اون از این دو فونت بهتر هست. می تونی مقایسه این فونت ها رو اینجا ببینی*
https://barnamenevis.org/showth...=206223&page=3
_اون پست هایی که من نوشتم، مقایسه این فونت ها هست. یه pdf  هست که می تونید دانلود کنید_

----------


## itbarnameh2010

با سلام منم در به در دنبال فرمول محاسبه اوقات شرعی و تعیین جهت قبله می گردم فقط می دونم که باید طول و عرض جغرافیایی شهر مورد نظر را بهش بدی ولی چطور محاسبه می شه نمی دونم کسی اگه فرمولش را داره بذاره تا همه استفاده کنند. راستی از بابت برنامه ممنون

----------


## rashid1368

> با سلام منم در به در دنبال فرمول محاسبه اوقات شرعی و تعیین جهت قبله می گردم فقط می دونم که باید طول و عرض جغرافیایی شهر مورد نظر را بهش بدی ولی چطور محاسبه می شه نمی دونم کسی اگه فرمولش را داره بذاره تا همه استفاده کنند. راستی از بابت برنامه ممنون


سلام
https://barnamenevis.org/showth...702#post942702
این هم پاسخ شما

----------


## rashid1368

دوسنان لطفا مشکلاتی که در برنامه مشاهده میکنن رو بگن تا رفعشون کنم
همه نرم افزار ها ، برای اولین بار که عرضه میشن، به صورت beta هستن و کم کم مشکلاتشون رفع میشه.
پس کمک کنین بنده رو برای رفع مشکلات برنامه....

----------


## ASedJavad

سلام آقا رشید
دست شما درد نکنه
رو حساب اینکه گفته بودی ایرادای برنامه رو بگیم دارم میگم
وگرنه ما رو چه به این فضولیا!
البته هنوز فرصت نکردم سورس برنامت رو نگاه کنم
رو همین حساب اگه ایرادی که تو نسخه اول برنامت بود فقط مربوط به نمایش وقت ها بود که هیچ والا اگه اشکال تو محاسبات بود،ممنون میشم اگه سورس نمونه اصلاح شده برنامه رو بذاری.
و اما چند مورد ایراد برنامه شما (البته از اون جایی که من خیلی جاوا بلد نیستم فقط ایرادای ظاهر برنامه رو میگم):
1-یادمه تو فیزیک دبیرستان یه مبحثی داشتیم تحت عنوان "دقت اندازه گیری" 
اونجا نوشته بود وقتی میگیم طول فلان وسیله 3متره، یعنی دقت اندازه گیریمون یک متره یا به عبارت دیگه یک متر خطا داریم. و اگه بگیم 3 متر و 73 سانتیمتر یعنی دقتمون یک سانتیمتره و الخ.
رو همین حساب از اون جایی که این جور محاسبات معمولا یک تا چند دقیقه خطا دارن، درج ثانیه چندان منطقی به نظر نمیاد.  
2- اگه یه گزینه بذاری که توش طول و عرض چعرافیایی رو بشه دستی وارد کرد ...
3-دقت نکردم! شما تو برنامت یک ساعت تغییر ساعت اول بهار رو هم منظور کرده بودی؟
4-تو یه سایتی یه سری موارد داشت مثل آغاز وقت فضیلت نماز عصر، پایان وقت فضیلت نماز عصر و ...  اینا رو نمی دونی چطوری محاسبه می کنن؟
5- روش محاسبه نیمه شب شرعی رو هم من بهت میگم:
فتوای برخی مراجع: 
نیمه شب شرعی = فاصله میانی اذان مغرب و اذان صبح
فتوای برخی دیگه از مراجع:
یازده ساعت و ربع بعد از اذان ظهر.
6- میتونی برنامه قبله نما رو هم به برنامت اضافه کنی؟
یادمه تو دفاعی دوم دبیرستان یه مطلبی راجع به پیدا کردن جنوب به کمک ساعت مچی  و خورشید داشتیم!
احتمالا بقیه اش هم یه فیثاغورث ساده یا نهایتا یه چیزی تو اون مایه هاست.
7- دیگه بقیه اش یادم نمیاد.


یا مولا علی

----------


## rashid1368

سلام ممنون 
بالاخره یک نفر پیدا شد که نظرش روبگه
ممنون از راهنمایی هات
1-یک ساعت بهاری رو هم در نظر گرفتم
2- برنامه قبله نما رو خیلی دنبالش گشتم. تا یه جاهایی هم پیش رفتم. ولی برای همه شون باید به سمت شمال بایستی تا درست نشون بده.
3- درست می فرمائید. ثانیه رو حتما برمی دارم.
4- بابت نیمه شب شرعی هم دستتون درد نکنه.
5- الان داخل دانشگاه هستم. و حسابی درس ها زیاد شدن(البته پروژه هامون کمی زیاده). به همین دلیل فرصت نکردم که امکانات جدید براش بگذارم. حتما وقتی که کد برنامه رو به روز رسانی کردم، براتون میگذارمش.
6- همونجور که گفتم، فرصت نکردم کد برنامه رو عوض کنم، خودم هم تو فکرم بود که قابلیت وارد کردن طول و عرض جغرافیایی به صورت دستی رو هم به برنامه اضافه کنم.

در نهایت از این که وقت گذاشتی و نظرت رو دادی، تشکر

----------


## ASedJavad

سلام
بابت نیمه شب یه خورده اشتباه کردم
 اکثریت مراجع نیمه شب رو زمان میانه بین غروب خورشبید و طلاذان صبح می دونن
در مورد قبله نما در روز با استفاده از خورشید و در شب با استفاده از هلال ماه میشه قبله رو تعیین کرد.
در ضمن به نظر من عبارت غروب آفتاب و طلوع آفتاب جزو غلط های رایج به حساب میان.
اصلش غروب خورشید و طلوع خورشید ه.

----------


## rashid1368

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

----------


## rashid1368

سلام دوستان
برای محاسبه توابع مثلثاتی ریاضی من از کلاس زیر که برای دانلود می گذارم استفاده کردم
در ضمن خوشحال میشم که دوستان، نظرات خودشون رو در مورد برنامه و بهتر شدن اون بدهند

----------


## rezaTavak

http://www.qcontinuum.org/compass/

این برنامه برای مواردی که مد نظر دارید عالی است.

مثلا جهت قبله هم برای مکه هم برای قدس.

موقعیت خورشید و ماه و...

البته برای مسلمانها و یهودیون است.

نحوه محاسبه هم بر اساس موارد ستاره شناسی است.

http://www.dclausen.net/projects/microfloat/
http://sourceforge.net/projects/dfp/files/

برای محاسبه اعشار در CLDC 1.0 است. البته CLDC 1.1 پشتیبانی داخلی دارد.

محاسبه توابع مثلثاتی را هم در خود دارد. به دو صورت Double  و Float است.

البته نگارش برنامه بهتر است اول CLDC را تشخیص دهد سپس اگر نیاز داشت از این کلاسها استفاده کند.

اگر سورس compass  را بگیرید موارد فوق را هم شامل خواهد شد.

----------

