delphi4arab منتديات دلفي للعرب

نسخة كاملة : برنامج مواقيت الصلاة لكل ولايات الوطن ( للجزائر فقط )
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3 4 5 6
رائع بارك الله فيك و جزاك بكل خير و جعله في ميزان حسناتك آميــــن
اهم الاضافات
  • تصحيح خطا عند تغيير الشكل او فتح اكثر من نظام
  • تحسينات عديدة على الشكل والكود
  • ++

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

أخي البرنامج رائع ماشاء الله
فقط مجرد إضافة في القائمة توجد حروف كـ (Z) بجنب الإعدادات (هي مفاتيح إختصار) يمكنك الإستغناء عنها عن طريق AutoHotkeys في TMainMenu
من maAutomatic إلى maManual
تحياتي
PHP كود :
// اقرب صلاة
  
function PPray:PTime;
  var 
i:0..5;
  
begin
  
for i := 0 to 5 do
 if 
GlobelTimes[i]-time > 0 then
 begin
 Result
.Time:=GlobelTimes[i];
 
Result.Position:=i;
 
Result.Name:=salat[i];
 
Result.TimeStr:=GlobelStr[i];
 Break;
 
end;
end; 
PHP كود :
type

PTime 
= record
  Time
: TDateTime;
  
Position: Byte;
  
Name:string;
  
TimeStr:string;
  
end; 
وجدت قاعدة بيانات ضخمة وخفيفة
كود :
https://bitbucket.org/a_atalla/belal/src/b44c245eeaea1d5a4fa39c3720e5c97144002c93/db/CountriesDB?at=master
تحتوي على

[صورة: mhei.png]

اما الاستخدام
[صورة: 22x9.png]
PHP كود :
type
 Tcityinfo 
= record
 Lon
:string;
 
Lat:string;
 
Zone:string;
 
end;
var
  
Form1: TForm1;
  
cityName,countryName:string;
implementation
 
Function countriesTable():TStringList;
var
    
SQLiteDataBase:TSQLiteDatabase;
    
SQLiteTable:TSQLiteTable;
    
i:integer;
begin
Result
:=TStringList.Create;
try
SQLiteDatabase := TSQLiteDatabase.Create(ExtractFilePath(ParamStr(0))+'CountriesDB');
SQLIteTable := SQLiteDatabase.GetTable('SELECT countryName from countriesTable order by countryName');
if 
SQLIteTable.Count > 0 then begin
 
for i := 0 to SQLiteTable.Count -1 do begin
    Result
.Add(SQLIteTable.FieldAsString(SQLIteTable.FieldIndex['countryName']));
    
SQLIteTable.Next;
  
end;
end else Result.Add('قاعدة البيانات فارغة');
SQLIteTable.Free;
SQLiteDatabase.Free;
except on e:exception do Result.Add('خطا في تحميل قاعدة البيانات'); end;
end;

 Function 
citiesTable(city:string):Tcityinfo;
var
    
SQLiteDataBase:TSQLiteDatabase;
    
SQLiteTable:TSQLiteTable;
    
i:integer;
begin

try
SQLiteDatabase := TSQLiteDatabase.Create(ExtractFilePath(ParamStr(0))+'CountriesDB');
SQLIteTable := SQLiteDatabase.GetTable('SELECT longitude,latitude,timeZone,cityName from citiesTable where cityName like '+QuotedStr('%'+city+'%'));
cityName:= SQLIteTable.FieldByName['cityName'];
Form1.stat1.SimpleText:=countryName+'/'+cityName;
if 
SQLIteTable.Count > 0 then begin
 
for i := 0 to SQLiteTable.Count -1 do begin
   
{ Result.Add(SQLIteTable.FieldAsString(SQLIteTable.FieldIndex['longitude']));
    
Result.Add(SQLIteTable.FieldAsString(SQLIteTable.FieldIndex['latitude']));
     
Result.Add(SQLIteTable.FieldAsString(SQLIteTable.FieldIndex['timeZone']));
     }
     {--------------------------------------------------- }
     
Result.Lon:= SQLIteTable.FieldAsString(SQLIteTable.FieldIndex['longitude']);
     
Result.Lat:= SQLIteTable.FieldAsString(SQLIteTable.FieldIndex['latitude']);
     
Result.Zone:= SQLIteTable.FieldAsString(SQLIteTable.FieldIndex['timeZone']);
     {---------------------------------------------------}
    
SQLIteTable.Next;
  
end;
end ;//else Result.Add('قاعدة البيانات فارغة');
SQLIteTable.Free;
SQLiteDatabase.Free;
except //on e:exception do Result.Add('خطا في تحميل قاعدة البيانات');
 
end;
end;

 Function 
listCities(country:string):TStringList;
var
    
SQLiteDataBase:TSQLiteDatabase;
    
SQLiteTable:TSQLiteTable;
    
i:integer;
    
countryNO:string;
begin
Result
:=TStringList.Create;
try
SQLiteDatabase := TSQLiteDatabase.Create(ExtractFilePath(ParamStr(0))+'CountriesDB');
SQLIteTable := SQLiteDatabase.GetTable('SELECT * from countriesTable where countryName like '+QuotedStr('%'+country+'%'));
countryNO:= SQLIteTable.FieldByName['countryNO']; countryName:= SQLIteTable.FieldByName['countryName'];
Form1.stat1.SimpleText:=countryName;
SQLIteTable := SQLiteDatabase.GetTable('SELECT cityName  from citiesTable where countryNO='+QuotedStr(countryNO)+' order by cityName');
if 
SQLIteTable.Count > 0 then begin
 
for i := 0 to SQLiteTable.Count -1 do begin
    Result
.Add(SQLIteTable.FieldAsString(SQLIteTable.FieldIndex['cityName']));
    
SQLIteTable.Next;

  
end;
end else Result.Add('قاعدة البيانات فارغة');
SQLIteTable.Free;
SQLiteDatabase.Free;
except on e:exception do Result.Add('خطا في تحميل قاعدة البيانات'); end;
end;
{
$R *.dfm}

procedure TForm1.edt1Change(Sender: TObject);
var 
info:Tcityinfo;
begin
   info
:=citiesTable(edt1.Text);     //
 
lbl1.Caption:= info.Lon;
 
lbl2.Caption:= info.lat;
 
lbl3.Caption:= info.Zone;
 
lst2.ItemIndex:=lst2.Items.IndexOf(cityName);
end;

procedure TForm1.edt2Change(Sender: TObject);
begin
lst2
.Clear;
lst2.Items.AddStrings(listCities(edt2.Text));
lst1.ItemIndex:=lst1.Items.IndexOf(countryName);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
lst1
.Items.AddStrings(countriesTable);
stat1.SimplePanel:=True;
end;

procedure TForm1.lst1Click(Sender: TObject);
begin
lst2
.Clear;
lst2.Items.AddStrings(listCities(lst1.Items[lst1.ItemIndex]));
end;

procedure TForm1.lst2Click(Sender: TObject);
var 
info:Tcityinfo;
begin

  info
:=citiesTable(lst2.Items[lst2.ItemIndex]);     //
 
lbl1.Caption:= info.Lon;
 
lbl2.Caption:= info.lat;
 
lbl3.Caption:= info.Zone;
end; 
الوحدة المستخدمة
SQLiteTable3
لماذا للجزائر فقط ان الجملة تجعلك تشعر وكانك لاتعترف بمسلم غير من في الجزائر

كلما اتسعت الرقعة كلما كان الاجر اكثر
http://www.delphi4arab.net/forum/showthr...p?tid=6792
Delphi4Us كتب :لماذا للجزائر فقط ان الجملة تجعلك تشعر وكانك لاتعترف بمسلم غير من في الجزائر

كلما اتسعت الرقعة كلما كان الاجر اكثر
http://www.delphi4arab.net/forum/showthr...p?tid=6792

[صورة: z5ci.jpg]
الصفحات : 1 2 3 4 5 6