-
پاسخ : اوقات شرعي
سلام
كدي را آقاي اسدالله خدام محمدی با جاوااسكريپت نوشته اند كه براي مراكز استان ها كار مي كنه اما شما مي تونيد با كمي تغييرات در كد و دانستن مختصات جغرافيايي شهرستان و يا روستاي مورد نظر اوقات شرعي را محاسبه نماييد
کد:
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Sun Ephemeris for 1385</title>
<style>
<!--
body { font-family: Tahoma;font-weight:normal; font-size: 12px}
td { font-family: Tahoma;font-weight:normal; font-size: 12px}
-->
</style>
<script language="javascript">
<!--
function main()
{
var i = document.getElementById("cities").selectedIndex;
if(i==0)
return
var m=document.getElementById("month").selectedIndex+1;
var d=eval(document.getElementById("day").value);
var lg=eval(document.getElementById("longitude").value);
var lat=eval(document.getElementById("latitude").value);
// var lg=52.5125;
// var lat=29.635;
var ep=sun(m,d,4,lg)
var zr=ep[0];
delta=ep[1];
ha=loc2hor(108.0,delta,lat)
var t1=Round(zr-ha,24)
ep=sun(m,d,t1,lg)
zr=ep[0];
delta=ep[1];
ha=loc2hor(108.0,delta,lat)
var t1=Round(zr-ha,24)
document.getElementById("t1").innerHTML=hms(t1);
//
// t2= Sun rise
//
ep=sun(m,d,6,lg)
zr=ep[0];
delta=ep[1];
ha=loc2hor(90.833,delta,lat)
var t2=Round(zr-ha,24)
ep=sun(m,d,t2,lg)
zr=ep[0];
delta=ep[1];
ha=loc2hor(90.833,delta,lat)
t2=Round(zr-ha,24)
document.getElementById("t2").innerHTML=hms(t2);
//
// zr=Zohr
//
ep=sun(m,d,12,lg)
ep=sun(m,d,ep[0],lg)
zr=ep[0];
document.getElementById("zr").innerHTML=hms(zr);
//
// t2= Sun set
//
ep=sun(m,d,18,lg)
zr=ep[0];
delta=ep[1];
ha=loc2hor(90.833,delta,lat)
var t3=Round(zr+ha,24)
ep=sun(m,d,t3,lg)
zr=ep[0];
delta=ep[1];
ha=loc2hor(90.833,delta,lat)
t3=Round(zr+ha,24)
document.getElementById("t3").innerHTML=hms(t3);
//
// t2= Maghreb
//
ep=sun(m,d,18.5,lg)
zr=ep[0];
delta=ep[1];
ha=loc2hor(94.3,delta,lat)
var t4=Round(zr+ha,24)
ep=sun(m,d,t4,lg)
zr=ep[0];
delta=ep[1];
ha=loc2hor(94.3,delta,lat)
t4=Round(zr+ha,24)
document.getElementById("t4").innerHTML=hms(t4);
}
function sun(m,d,h,lg)
{
if(m<7)
d= 31*(m-1)+d+h/24;
else
d=6+30*(m-1)+d+h/24;
var M=74.2023+0.98560026*d;
var L=-2.75043+0.98564735*d;
var lst=8.3162159+0.065709824*Math.floor(d)+1.00273791*24*(d%1)+lg/15;
var e=0.0167065;
var omega=4.85131-0.052954*d;
var ep=23.4384717+0.00256*cosd(omega);
var ed=180.0/Math.PI*e;
var u=M;
for(var i=1;i<5;i++)
u=u-(u-ed*sind(u)-M)/(1-e*cosd(u));
var v=2*atand(tand(u/2)*Math.sqrt((1+e)/(1-e)));
var theta=L+v-M-0.00569-0.00479*sind(omega);
var delta=asind(sind(ep)*sind(theta));
var alpha=180.0/Math.PI*Math.atan2(cosd(ep)*sind(theta),cosd(theta));
if(alpha>=360)
alpha-=360;
var ha=lst-alpha/15;
var zr=Round(h-ha,24);
return ([zr,delta])
}
function init()
{
lgs= [0,49.70,48.30,45.07,51.64,48.68,46.42,57.33,56.29,50.84,59.21,46.28,51.41,48.34,49.59,60.86,48.50,53.06,53.39,47.00,50.86,52.52,50.00,50.88,57.06,47.09,54.44,59.58,48.52,51.59,54.35];
lats=[0,34.09,38.25,37.55,32.68,31.32,33.64,37.47,27.19,28.97,32.86,38.08,35.70,33.46,37.28,29.50,36.68,36.57,35.58,35.31,32.33,29.62,36.28,34.64,30.29,34.34,36.84,36.31,34.80,30.67,31.89];
}
function coord()
{
var c=document.getElementById("cities");
var i = c.selectedIndex;
if(i==0)
{
document.getElementById("longitude").value="";
document.getElementById("latitude").value="";
}
else
{
document.getElementById("longitude").value=lgs[i].toString()
document.getElementById("latitude").value=lats[i].toString()
}
}
function sind(x){return(Math.sin(Math.PI/180.0*x));}
function cosd(x){return(Math.cos(Math.PI/180.0*x));}
function tand(x){return(Math.tan(Math.PI/180.0*x));}
function atand(x){return(Math.atan(x)*180.0/Math.PI);}
function asind(x){return(Math.asin(x)*180.0/Math.PI);}
function acosd(x){return(Math.acos(x)*180.0/Math.PI);}
function sqrt(x){return(Math.sqrt(x));}
function frac(x){return(x%1);}
function floor(x){return(Math.floor(x));}
function ceil(x){return(Math.ceil(x));}
function loc2hor(z,d,p){
return(acosd((cosd(z)-sind(d)*sind(p))/cosd(d)/cosd(p))/15);
}
function Round(x,a){
var tmp=x%a;
if(tmp<0)
tmp+=a;
return(tmp)
}
function hms(x)
{
x=Math.floor(3600*x);
h=Math.floor(x/3600);
mp=x-3600*h;
m=Math.floor(mp/60);
s=Math.floor(mp-60*m);
return(((h<10)? "0" : "")+h.toString()+":"+((m<10)? "0" : "")+m.toString()+":"+((s<10)? "0" : "")+s.toString())
}
//-->
</script>
</head>
<body onload="init()" style="text-align: center">
<table border="1" width="100%" id="table2">
<tr>
<td colspan="2" dir="rtl" style="font-family: Tahoma; font-size: 12px">
<p align="center"><b><span lang="fa">بنام خدا</span></b></p>
<p><span lang="fa">- برنامه موجود در این فایل برای سال 1385 هجری شمسی
تهیه شده است ولی میتوان آنرا با دقت حدود یک دقیقه برای سالهای دیگر نیز
بکار برد.</span></p>
<p><span lang="fa">- اگرچه نتایج با دقت ثانیه نوشته شده اند ولی پدیده
های نجومی را که تابع دما، رطوبت و فشار هوا هستند با دقت حدود چند دقیقه
میتوان بدست آورد.</span></p>
<p><span lang="fa">- در اینجا طول و عرض جغرافیایی فقط برای مرکز هر شهر
آورده شده است در حالیکه یک شهر یک نقطه نیست و این موضوع نیز باعث میگردد
تا نتوان با دقت زیاد اوقات شرعی را محاسبه کرد.</span></p>
<p><span lang="fa">- با توجه به نوع اوقات شرعی، نتایج را باید گرد کرد.
بطور مثال طلوع خورشید به سمت پائین گرد میشود. همچنین برای ادای نماز صبح
برای احتیاط لازم است که حدود 10 دقیقه صبر نمود.</span></p>
<p><span lang="fa">- اگر برنامه را یه زبان دیگری مینویسید، حتما آنرا
برای چندین شهر و روزهای مختلف سال امتحان کنید.</span></p>
<p><span lang="fa">- تابع </span>sun <span lang="fa">مشخصات خورشید را
برای ماه، روز ، ساعت و&nbsp; طول جغرافیایی داده شده بدست میآورد.</span></p>
<p><span lang="fa">- تابغ </span>main<span lang="fa"> اوقات شرعی را با
استفاده از تابع </span>sun <span lang="fa">و سایر توابع دیگری که در فایل
آورده شده است بدست می آورد.</span></p>
<p align="left"><span lang="fa">اسدالله خدام محمدی</span></td>
</tr>
<tr>
<td width="46%" align="center">
<table border="1" width="60%" id="table3">
<tr>
<td align="center" id="t1">&nbsp;</td>
<td dir="rtl" width="50%"><span lang="fa">اذان صبح</span></td>
</tr>
<tr>
<td align="center" id="t2">&nbsp;</td>
<td dir="rtl" width="50%"><span lang="fa">طلوع خورشید</span></td>
</tr>
<tr>
<td align="center" id="zr">&nbsp;</td>
<td dir="rtl" width="50%"><span lang="fa">اذان ظهر</span></td>
</tr>
<tr>
<td align="center" id="t3">&nbsp;</td>
<td dir="rtl" width="50%"><span lang="fa">غروب خورشید</span></td>
</tr>
<tr>
<td align="center" id="t4">&nbsp;</td>
<td dir="rtl" width="50%"><span lang="fa">اذان مغرب</span></td>
</tr>
</table>
</td>
<td width="53%">
<form dir="rtl">
<p><span lang="fa">روز </span>:<span lang="fa"> </span>&nbsp;<input id="day" type="text" name="T1" size="6" value="1" dir="ltr">&nbsp;&nbsp;
<span lang="fa">ماه</span>:<span lang="fa"> </span>&nbsp;<select size="1" id="month" name="month" style="font-family: Tahoma; font-size: 12px">
<option value="1" >فروردین</option>
<option value="2">اردیبهشت</option>
<option value="3">خرداد</option>
<option value="4">تیر</option>
<option value="5">مرداد</option>
<option value="6">شهریور</option>
<option value="7">مهر</option>
<option value="8">آبان</option>
<option value="9">آذر</option>
<option value="10">دی</option>
<option value="11">بهمن</option>
<option value="12">اسفند</option>
</select></p>
<p><span lang="fa">طول جغرافیایی :
<input type="text" id="longitude" name="T2" size="7" dir="ltr" value="" disabled="true">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
عرض جغرافیایی :&nbsp;
<input type="text" id="latitude" name="T3" size="7" dir="ltr" value="" disabled="true"></span></p>
<p><span lang="fa">مراکز استان :
<select id="cities" size="1" name="c" dir="rtl" style="font-family: Tahoma; font-size: 12; width: 80; height: 35" onchange="coord()">
<option>انتخاب کنید</option>
<option>اراک</option>
<option>اردبیل</option>
<option>ارومیه</option>
<option>اصفهان</option>
<option>اهواز</option>
<option>ایلام</option>
<option>بجنورد</option>
<option>بندرعباس</option>
<option>بوشهر</option>
<option>بیرجند</option>
<option>تبریز</option>
<option>تهران</option>
<option>خرم آباد</option>
<option>رشت</option>
<option>زاهدان</option>
<option>زنجان</option>
<option>ساری</option>
<option>سمنان</option>
<option>سنندج</option>
<option>شهرکرد</option>
<option>شیراز</option>
<option>قزوین</option>
<option>قم</option>
<option>کرمان</option>
<option>کرمانشاه</option>
<option>گرگان</option>
<option>مشهد</option>
<option>همدان</option>
<option>یاسوج</option>
<option>یزد</option>
</select></span></p>
<p>
<input type="button" value="محاسبه" name="go" onclick="main();" style="font-family: Tahoma; font-size: 12px; width:70; height:24; padding-left:4px; padding-right:4px; padding-top:1px; padding-bottom:1px"></p>
</form>
</td>
</tr>
</table>
</body>
</html>
اين كد را داخل فايلي با پسوند .html ذخيره نماييد
اينجا هم مي تونيد يك نما از كد را ببينيد [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید]
خيلي راحت هم به ماول و ... هم تبديل مي شه
يا علي/خداحافظ
-
پاسخ : اوقات شرعي
آقا دستت درد نکنه . خیلی کمکم کرد این راهنمائیت ...
-
پاسخ : اوقات شرعي
دوستان چطوری میشه این کدها را به ماژول تبدیل کرد
-
پاسخ : اوقات شرعي
با دانستن برنامه نویسی و آشنایی با API های مامبو !
-
پاسخ : اوقات شرعي
كسي نمي تونه اينو درست كنه كه همه به عنوان يه ماژول استفاده كنيمش ؟
-
پاسخ : اوقات شرعي
سلام
تمام فایلهایی که آماده شدند در سایت [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] موجود هست
اونجا رو چک کنید
اگر نبود یا هنوز آماده نشده یا رایگان نیست !
...
یا علی