delphi4arab منتديات دلفي للعرب
برنامج مواقيت الصلاة لكل ولايات الوطن ( للجزائر فقط ) - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : مصادر دلفي مفتوحة تعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=14)
+--- الموضوع : برنامج مواقيت الصلاة لكل ولايات الوطن ( للجزائر فقط ) (/showthread.php?tid=4545)

الصفحات: 1 2 3 4 5 6


برنامج مواقيت الصلاة لكل ولايات الوطن ( للجزائر فقط ) - Delphi4Us - 13-03-2014

اجل عندي برنامج خاص بي خفيف وجميل



[صورة: fvR4Q.jpg]


برنامج مواقيت الصلاة لكل ولايات الوطن ( للجزائر فقط ) - XPlod - 27-03-2014

جزاك الله خيرا


برنامج مواقيت الصلاة لكل ولايات الوطن ( للجزائر فقط ) - sohhad0010 - 03-04-2014

الله الله الله يفرحكم


برنامج مواقيت الصلاة لكل ولايات الوطن ( للجزائر فقط ) - onexite - 08-04-2014

عند تفعيل TabColorControlStyle; يصبح الشكل هكذا

[صورة: c2q9.png]
وفي الحالة العادية
[صورة: hcg0.png]
لقد تم اضافة اختيار الولاية
PHP كود :
Form9.Top:=Form1.Top;
Form9.Left:= Form1.Left Form1.Width 3;
Form9.Height:=Form1.Height;
Form9.Show 
الكود سورس كامل بأول مشاركة


برنامج مواقيت الصلاة لكل ولايات الوطن ( للجزائر فقط ) - onexite - 10-04-2014

[صورة: urwr.png]
تم اضافة
اخذ الارتفاع بعين الاعتبار ( طريقة جديدة في الحساب)
PHP كود :
function CalcPray(LonLatZone,_Elevation:RealPrayDate:TDateTime;  CalcWayAsrType:Byte;_StatusElevation:Boolean=False): stTimes
PHP كود :
function riseSetAngle(elv:Real): real;
    var 
angle  :Real;
    
begin
    angle 
:= 0.0347 sqrt((elv));
        
Result := (0.833angle);
   
end
PHP كود :
if _StatusElevation then       //  DurinalArc := myArcCos((-mySin(riseSetAngle(139.1433868408203))
  
DurinalArc := myArcCos((-mySin(riseSetAngle(_Elevation))- mySin(Dec)*mySin(Lat))/(myCos(Dec)*myCos(Lat)))
   else
  
DurinalArc := myArcCos((mySin(-0.8333)- mySin(Dec)*mySin(Lat))/(myCos(Dec)*myCos(Lat))); 
تم اضافة
PHP كود :
property ResultElevation          Double read felevation;
    
property ResultTimeZone         Double read fTimeZone 
وذلك لحساب المنطقة الزمنية والارتفاع اعدت كتابة unit UWebGMapsMarkers;


برنامج مواقيت الصلاة لكل ولايات الوطن ( للجزائر فقط ) - bassem_43 - 10-04-2014

بارك الله فيك اخي onexite على البرنامج الرائع
جعله الله في ميزان حسناتك
مواضيعك كلها قيمة ما شاء الله
جاري مطالعة الكود سورس و المتابعة


برنامج مواقيت الصلاة لكل ولايات الوطن ( للجزائر فقط ) - onexite - 11-04-2014

طريقة جديدة للتنبيه
http://dn.bergsoft.net/nxalertwindow-tutorial.htm
وقمت باعادة برمجة وحدة الحساب
PHP كود :
unit unit2;

interface

uses
  SysUtils
,System.Math;

type
stTimes
=Array[0..5of TDateTime;
//********************
  
PTime record
  Time
:TDateTime;
  
SstringTimestring;
  
PositionByte ;
  
name:string;
  
end;
  
//********************
 
Tyear record
  Year
integer;
  
MonthByte;
  
DayByte;
end;
 
PrayTime record
 Fajr
SunriseDhuhrAsrMaghribIshaSunset,MidnightImsak :TDateTime;
end;
//********************// Functions //********************
function getQibla (latitude,longitude:Extended):Extended;
function 
CalcPray(LonLatZone,_Elevation:RealPrayDate:TDateTimeCalcWay:Byte;school,view:string;_StatusElevation:Boolean=False): PrayTime;
function 
GregorianToHijri(GgrTyear): Tyear;
implementation

procedure modulo
(var degExtended;const base:integer );
begin
if deg 0 then deg:= deg base trunc(deg base) else deg:= deg base*(trunc(deg/base)-1);
end;
{-------------------------------------------------------------------------------}
   function 
getQibla (latitude,longitude:Extended):Extended;
   const 
K_latitude  21.423333K_longitude 39.823333;
    
begin
        Result 
:= RadToDegArcTan(sin(DegToRad(K_longitude longitude)) /((cos(DegToRad(latitude)) * tan(DegToRad(K_latitude))) -(sin(DegToRad(latitude))* cos(DegToRad(K_longitude longitude))))) );
        if (
latitude 21.423333then
        Result 
:=Result180;
    
end;
//==========================================================================
function DateToJulianDay(_date:TDateTimeAfter:Boolean true): Extended ;
var
 
binteger;
 
y,m,dword;
begin
  DecodeDate
(_date,y,m,d);
  if 
<= 2 then begin y:= y-1m:= 12end;
  
b:=0;
  if 
After then
  begin  b
:= 2- (trunc(y/100)) + trunc((trunc(y/100))/4); end;
  
result:= trunc(365.25 * (y4716)) + trunc (30.6001 * (+1)) + 1524.5;
end;

function 
JDToHijir(JDextended): Tyear;
var
  
L,N,J:integer;
begin
  L 
:= Trunc(JD) - 1948440 10632;
  
:= Trunc((1) / 10631);
  
:= 10631 354;
  
:= Trunc((10985 L) / 5316) * Trunc((50 L) / 17719)
      + 
Trunc(5670) * Trunc((43 L) / 15238);
  
:= Trunc((30 J) / 15) * Trunc((17719 J) / 50)
      - 
Trunc(16) * Trunc((15238 J) / 43) + 29;
  
result.Month := Trunc((24 L) / 709);
  
Result.Day := Trunc((709 result.Month) / 24);
  
Result.Year := Trunc(30 30);
end;
function 
GregorianToHijri(GgrTyear): Tyear;
begin
  Result
:= JDToHijir(DateToJulianDay(EncodeDate(Ggr.year,Ggr.Month,Ggr.Day)));
end;
//==========================================================================

function CalcPray(LonLatZone,_Elevation:RealPrayDate:TDateTimeCalcWay:Byte;school,view:string;_StatusElevation:Boolean=False): PrayTime;
   var 
monthdayyear:Word;
      
a,b,jd,d,g,q,l,r,ra,e,eqt,alpha,n,_d,
      
MaghribSunni,MaghribShia,MidnightSunni,MidnightShia:Extended;
  
CalcWayFajrCalcWayIshaReal;

Begin
//0 Univ. Of Islamic Scinces, Karachi
//1 Islamic Society Of North America
//2 Muslim World League
//3 Umm Al-Qura University
//4 Egytion General Authority of Survey
CalcWayFajr:=-19.5;
CalcWayIsha:=-17.5;

 Case 
CalcWay Of
     0
Begin CalcWayFajr:=-18CalcWayIsha:=-18 End;
     
1Begin CalcWayFajr:=-15CalcWayIsha:=-15 End;
     
2Begin CalcWayFajr:=-18CalcWayIsha:=-17 End;
     
3Begin CalcWayFajr:=-19CalcWayIsha:=-18 End;
     
4Begin CalcWayFajr:=-19.5CalcWayIsha:=-17.5 End;
 
End;

  
DecodeDate(PrayDateYearMonthDay);
        if (
month <= 2then begin
            year  
:= year 1;
            
month := month 12;
        
end else begin
            year  
:= year;
            
month := month;
        
end ;

        
:= trunc(year 100);
        
:= trunc(4);
        
jd := trunc(365.25 * (year 4716)) + trunc(30.6001 * (month 1))+ day 1524.5;
        
:= jd 2451545.0;  // jd is the given Julian date
        
:= 357.529 0.98560028 d;
        
modulo(g,360);
        
:= 280.459 0.98564736 d;
        
modulo(q,360);
        
:= 1.915 sin(DegToRad(g)) + 0.020 sin(DegToRad(g));
        
modulo(l,360);
        
:= 1.00014 0.01671 cos(DegToRad(g)) - 0.00014 cos(DegToRad(g));
        
:= 23.439 0.00000036 d;
        
RA := RadToDeg(ArcTan2(cos(DegToRad(e))* sin(DegToRad(L)), cos(DegToRad(L))))/ 15;
        if (
RA 0then
            RA 
:= 24 RA;

        
_d := RadToDeg(ArcSin(sin(DegToRad(e))* sin(DegToRad(L))));

        
EqT := (q/15) - RA;  // equation of time

        
Result.Dhuhr := 12 zone - (lon/15) - EqT;

        
alpha := 0.833 0.0347 sqrt(_elevation);
        
:= -sin(DegToRad(alpha)) - sin(DegToRad(lat)) * sin(DegToRad(_d));
        
:= cos(DegToRad(lat)) * cos(DegToRad(_d));

        
Result.Sunrise := Result.Dhuhr - (1/15) * RadToDeg(ArcCos(d));
        
Result.Sunset  := Result.Dhuhr + (1/15) * RadToDeg(ArcCos(d));

        
n     := -sin(DegToRad(abs(CalcWayfajr))) - sin(DegToRad(lat))
                * 
sin(DegToRad(_d));
        
Result.Fajr  := Result.Dhuhr - (1/15) * RadToDeg(ArcCos(d));
        
Result.Imsak := Result.Fajr - (10/60);

        
n    := -sin(DegToRad(abs(CalcWayIsha))) - sin(DegToRad(lat))
                * 
sin(DegToRad(_d));
        
Result.Isha := Result.Dhuhr + (1/15) * RadToDeg(ArcCos(d));

        if (
school 'Shafi'then
            n 
:= sin(ArcTan(1/(tan(DegToRad(lat _d))))) - sin(DegToRad(lat)) * sin(DegToRad(_d))
         else

        
:= sin(ArcTan(1/(tan(DegToRad(lat _d)))))- sin(DegToRad(lat)) * sin(DegToRad(_d));
        
Result.Asr := Result.Dhuhr + (1/15) * RadToDeg(ArcCos(d));

        
MaghribSunni := Result.Sunset 2/60;

        
:= -sin(DegToRad(4)) - sin(DegToRad(lat)) * sin(DegToRad(_d));
        
MaghribShia := Result.Dhuhr + (1/15) * RadToDeg(ArcCos(d));

        if (
view 'Sunni'then
            Result
.Maghrib := MaghribSunni
         
else
            
Result.Maghrib := MaghribShia;

        
MidnightSunni := Result.Sunset 0.5 * (Result.Sunrise Result.Sunset);
        if (
MidnightSunni 12then
            MidnightSunni 
:= MidnightSunni 12;

        
MidnightShia := 0.5 * (Result.Fajr Result.Sunset);
        if (
MidnightShia 12then
            MidnightShia 
:= MidnightShia 12;
        if (
view 'Sunni'then
            Result
.Midnight := MidnightSunni
         
else
        
Result.Midnight := MidnightShia;
        
//********************************************
        
Result.Fajr:=(Frac(Result.Fajr/24));
        
Result.Sunrise:=(Frac(Result.Sunrise/24));
        
Result.Dhuhr:=(Frac(Result.Dhuhr/24));
        
Result.Asr:=(Frac(Result.Asr/24)) ;
        
Result.Maghrib:=(Frac(Result.Maghrib/24));
        
Result.Isha:=(Frac(Result.Isha/24)) ;
        
Result.Sunset:=(Frac(Result.Sunset/24) ) ;
        
Result.Midnight:=(Frac(Result.Midnight/24));
        
Result.Imsak:=(Frac(Result.Imsak/24));
        
//********************************************
End;

End



برنامج مواقيت الصلاة لكل ولايات الوطن ( للجزائر فقط ) - onexite - 12-04-2014

طريقة الحساب اعدت كتابتها من الصفر ولا تخص برنامج الا صلاتي كبقية البرامج
سيكون اخر تحديث للبرنامج الا اذا ضهرت اخطاء برمجية في طريقة الحساب او رسائل خطأ !!

[صورة: kdve.png]

المصادر
PHP كود :
http://www.ar-php.org 
التنزيل
PHP كود :
http://www.mediafire.com/download/ebnazeheddjcekz/Project_bin_src_final.zip 



برنامج مواقيت الصلاة لكل ولايات الوطن ( للجزائر فقط ) - onexite - 17-04-2014

[صورة: uwxj.png]


برنامج مواقيت الصلاة لكل ولايات الوطن ( للجزائر فقط ) - onexite - 06-09-2014

النسخة الجديدة تم اضافة الكثير من التعديلات
[صورة: yKKXEx.png]