المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : ملف مفتوح متجدد ... البحث في القران الكريم


عبد الهادي بهاب
14-03-2020, 01:20 PM
السلام عليكم ورحمة الله وبركاته

اولا يجب ان ننوه ان فيه الكثير من المحاولات و الملفات في المنتدى حول كيفية انشاء برامج و تصميم موسوعة للقران الكريم
ونحن هنا من اجل محاولة جديدة باستعمال ملفات تكست txt

اولا يجب ان ننشا قاعدة البيانات التي نعمل عليها


هذا هو ملف المصحف الشريف كاملا بصيغة txt

https://top4top.io/downloadf-1534kfhsg1-rar.html

الان اريد تقسيمه الى ملفات تكست txt لكل سورة على حدى


https://i.top4top.io/p_15346vlvy2.png


---------------------------------
اولا نضع قائمة السور القرانية في قائمة تكست
https://top4top.io/downloadf-153412mqf1-rar.html


الان مع الكود
نزرع في زر معين هذا الكود



sora = TextFile.ReadToTable("AutoPlay\\Docs\\ListeSoar.txt");

txt = TextFile.ReadToString("AutoPlay\\Docs\\TouCoran.txt");

for i,v in pairs(sora)do
if i<#sora then
find = String.Find(txt, v, 1);
find2 = String.Find(txt, sora[i+1], find);
nas = String.Mid(txt, find, find2-find);
TextFile.WriteFromString("AutoPlay\\Docs\\"..v..".txt", nas)
elseif i==114 then
find = String.Find(txt, v, 1);
find2 = String.Find(txt,"6)", find);
nas = String.Mid(txt, find, find2-find);
TextFile.WriteFromString("AutoPlay\\Docs\\"..v..".txt", nas)

end
end



ابحث في ملف Docs ستجد كل سورة وحدها باسمها

https://h.top4top.io/p_1534fb4cb1.png










https://www.youtube.com/watch?v=tSmXygdCQvU&feature=youtu.be

الملف المفتوح :
http://www.mediafire.com/file/p3bho80w6olgbb7/coran_serch.rar/file

-----------------
بعد التعديلات الاخيرة
http://www.mediafire.com/file/in8m132tnbw1qq9/Coran_Serch.apz/file

طبعا لكم اضافة مقدمة و شكل البحث و و و
ممكن اضافة خصائص البحث
او استعراض الاية في richtext بكشل ملون
بالتوفيق

عبد الهادي بهاب
14-03-2020, 01:22 PM
السلام عليكم ورحمة الله وبركاته

لماذا كل هذا ؟
من اجل اسطوانة القران الكريم
من اجل البحث ايضا
سنوافيكم بالجديد في كل مرحلة

عبد الهادي بهاب
14-03-2020, 01:46 PM
السلام عليكم ورحمة الله وبركاته
بعد استخراج السور يكون شكلها كالتالي

https://d.top4top.io/p_15343ij6h1.png

نريد ان نحذف السطرين الاولين 1 . 2
ثم نحذف ارقام الايات و الاقواس
و نجعل كل اية في سطر من اجل خاصية البحث
-----------------------------
من اجل حفظ العمل ...نضع مجلد جديد في ملف docs و نسميه soar
كي نحفظ فيه ملفات السور القرانية التي تحتوي على ايات فقط كل في سطر
نضع زر و نزرع الكود التالي



sora = File.Find("AutoPlay\\Docs", "*.txt", true, true, nil, nil);
for i,vin in pairs(sora)do
v = Input.GetText("Input1");
Mtxt = TextFile.ReadToTable("AutoPlay\\Docs\\"..v..".txt");
Table.Remove(Mtxt, 1);
Table.Remove(Mtxt, 1);
txt = Mtxt[1];
txt = String.Replace(txt, "(", "");
txt = String.Replace(txt, "0", "");
txt = String.Replace(txt, "1", "");
txt = String.Replace(txt, "2", "");
txt = String.Replace(txt, "3", "");
txt = String.Replace(txt, "4", "");
txt = String.Replace(txt, "5", "");
txt = String.Replace(txt, "6", "");
txt = String.Replace(txt, "7", "");
txt = String.Replace(txt, "8", "");
txt = String.Replace(txt, "9", "");
txt = String.Replace(txt, ")", "\r\n");
TextFile.WriteFromString("AutoPlay\\Docs\\soar\\"..v..".txt", txt);
end



سيكون لديك الشكل بعد العمل كالتالي

https://k.top4top.io/p_1534iqbnz1.png


وهكذا انتهت مرحلة انشاء قاعدة البيانات

بالتوفيق

عبد الهادي بهاب
14-03-2020, 01:59 PM
طبعا كل ما تقدم اكواد ممكن تستفيد منها في البحث في ملفات التكست و التعامل مع الملفات
-----------------
و هو درس ايضا و الا كنت كفيتم الامر و اعطيتكم السور متفرقات و و و لكن نتعلم معا

عبد الهادي بهاب
14-03-2020, 02:08 PM
الان عندنا قاعدة بيانات فيها السور كل واحدة على حدى
------------------
نضع انبوت للبحث
نضع زر للبحث
نضع بارغراف paragraph لعرض الاية
نضع ليستبوكس لعرض كل السور التي يوجد فيها النص المبحوث عنه
ممكن نضيف له لبيال لعرض كم اية في القران موجود فيها الكلمة المبحوث عنها
نضيف زر لنسخ الاية في ذاكرة الحاسوب
-----------------
الشكل المطلوب المقترح

https://k.top4top.io/p_1534m27jz1.png

عبد الهادي بهاب
14-03-2020, 02:11 PM
فيه اشكالية البحث في السور لكن بنص مع التشكيل لذلك ممكن نحدف التشكيل من الايات قبل البحث عنها
واحسن حل كان قد عرضه الاستاذ ثامر ابوبلقيس في مشروعه حول القران الكريم

الموضوع الاصلي
http://www.abc4web.net/vb/showthread.php?t=31909

عبد الهادي بهاب
14-03-2020, 02:16 PM
الان قبل كل شيء نمحو محتوى الليسبوكس
ثم نحدف تشكيل الانبوت
ثم نستعرض السور ومحواها بدون تشكيل ايضا و نقارن
اذا وجدنا تطايق نسجل السورة في اليسبوكس و في data نسجل الاية فقط
ليتم استعرضها في البارغارف

في زر البحث نضع الكود



ListBox.DeleteItem("ListBox1", LB_ALLITEMS);
---------------------
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
m = Input.GetText("Input1");
serch = string.gsub (m, ".",istibdalate) ;
-----------
tot =0; cla = "";
sora = File.Find("AutoPlay\\Docs\\soar", "*.txt", true, true, nil, nil);
Ordre = TextFile.ReadToTable("AutoPlay\\Docs\\ListeSoar.txt");
for i,vin in pairs(sora)do
v = String.SplitPath(vin).Filename;
for x=1,#Ordre do if v == Ordre[x] then cla = x end end
-- vin = "AutoPlay\\Docs\\soar\\"..v..".txt";
Nasora = TextFile.ReadToTable(vin);

for p,Ntext in pairs(Nasora) do
text = string.gsub (Ntext, ".",istibdalate) ;
find = String.Find(text, serch, 1, false);
if find ~= -1 then tot = tot+1;
ListBox.AddItem("ListBox1",v.."("..cla..")", Ntext.."\r\n".."ÇáÂíÉ ÑÞã "..p);
end
end
end
Label.SetText("Label1", tot)



النتيجة
https://i78.servimg.com/u/f78/12/62/73/88/video_10.gif

شكرا

عبد الهادي بهاب
14-03-2020, 02:28 PM
:abc_012::abc_012::abc_012: ---------للكسالى .........:abc_088::abc_088::abc_088:

https://www.youtube.com/watch?v=tSmXygdCQvU&feature=youtu.be

الملف المفتوح :
http://www.mediafire.com/file/p3bho80w6olgbb7/coran_serch.rar/file


طبعا لكم اضافة مقدمة و شكل البحث و و و
ممكن اضافة خصائص البحث
او استعراض الاية في richtext بكشل ملون

عبد الهادي بهاب
14-03-2020, 07:10 PM
السلام عليكم ورحمة الله وبركاته
مواصلة للعمل ........ نريد ان يصدر البرنامج ملفا txt فيه كل الايات التي تحتوي على الكلمة المبحوث عنها
اذن نرجع لزر البحث ........ نضيف اليه متغير chercher مثلا
و كلما وجدنا اية نضيف سطرا و نسجل الاية التالية و هكذا
ثم نسجل النص المتحصل عليه في ملف تكست

اذن نعدل كود البحث الى التالي


ListBox.DeleteItem("ListBox1", LB_ALLITEMS);
---------------------
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
m = Input.GetText("Input1");
serch = string.gsub (m, ".",istibdalate) ;
-----------
tot =0; cla = "" ; chercher = "" .. "\r\n";
sora = File.Find("AutoPlay\\Docs\\soar", "*.txt", true, true, nil, nil);
Ordre = TextFile.ReadToTable("AutoPlay\\Docs\\ListeSoar.txt");
for i,vin in pairs(sora)do
v = String.SplitPath(vin).Filename;
for x=1,#Ordre do if v == Ordre[x] then cla = x end end
-- vin = "AutoPlay\\Docs\\soar\\"..v..".txt";
Nasora = TextFile.ReadToTable(vin);

for p,Ntext in pairs(Nasora) do
text = string.gsub (Ntext, ".",istibdalate) ;
find = String.Find(text, serch, 1, false);
if find ~= -1 then
tot = tot+1;
chercher = chercher .. "\r\n"..Ntext.."\r\n".."ÇáÂíÉ ÑÞã "..p .."\r\n".."\r\n";
ListBox.AddItem("ListBox1",v.."("..cla..")", Ntext.."\r\n".."ÇáÂíÉ ÑÞã "..p);
end
end
end
Label.SetText("Label1", tot)




في الاسفل نضيف زر اخر لتصدير النص المبحوث عنه
نزع الكود التالي فيه


Mchercher = " الايات التي تحتوي على كلمة ".."\r\n".."- "..serch.." -".."\r\n"..chercher ;


Clipboard.CopyText(chercher);

TextFile.WriteFromString("C:\\Coran_ "..serch..".txt", Mchercher, false);
File.Open("C:\\Coran_ "..serch..".txt", "", SW_SHOWNORMAL)



طبعا يجب تفعيل اضافة Clipboard

بالتوفيق

محمد سامر
14-03-2020, 08:35 PM
جزيتم خيرا اخي العزيز الغالي، وفقك الله وحفظك بحفظه
جميل جدا:abc_152:

عبد الهادي بهاب
15-03-2020, 12:19 AM
جزيتم خيرا اخي العزيز الغالي، وفقك الله وحفظك بحفظه
جميل جدا:abc_152:

مروركم طيب ....... ارجو ان تستعمل الملف و تبدع فيه

عبد الهادي بهاب
15-03-2020, 02:46 AM
السلام عليكم ورحمة الله وبركاته
الان نريد اضافة خاصية البحث في كل المصحف و اخرى في البحث في سورة معينة
لذلك سنضيف عنصرين من نوع ChecKBox
الاول نسميه البحث في سورة معينة
الثاني نسميه البحث في كل المصحف
نضيف ايضا Combobx لاستعارض كل السور لنختار منها السورة التي نريد البحث فيها
------------------
اولا يجب ان نضيف قائمة السور الى الكومبوكس من قامة السور في التكست
و سنجعل البرنامج يختار مبدئيا البحث في كل المصحف ------- افتراضي -------
سنضسف متغير Mys من اجل اسم السورة و الذي سنجعله مبدئيا فارغا ...لانه لو بقي كذلك و اختار المستخدم البحث في سورة معينة و لم يختر سورة من الكومبوكس ستظل القيمة فارغة و بالتالي سيظهر له مربع تنبيه .
اذهب الى OnShow الصفحة و اضف الكود التالي

ordre = TextFile.ReadToTable("AutoPlay\\Docs\\ListeSoar.txt");
for i,vin in pairs(ordre)do
ComboBox.AddItem("ComboBox1", vin,"");
end
Mys = "";
CheckBox.SetChecked("CheckBox2", true);


الان سنجعل ChecBox1 الاول لما نضغطه يظهر الكومبوكس

CheckBox.SetChecked("CheckBox1", true);
CheckBox.SetChecked("CheckBox2", false);
ComboBox.SetVisible("ComboBox1", true);


و ChecBox2 يخفي الكومبوكس

CheckBox.SetChecked("CheckBox2", true);
CheckBox.SetChecked("CheckBox1", false);
ComboBox.SetVisible("ComboBox1", false);


في الكومبوكس سنضع كود لاستخراج السورة المطلوبة
في ONSelect

sel = ComboBox.GetSelected("ComboBox1");
Mys = ComboBox.GetItemText("ComboBox1", sel);

المرحلة الاخيرة التعديل على زر البحث :
بحيث سيراقب اي خاصية اختيار ليتم البحث بعدها
و يصبح الكود اكثر تغقيدا

sora = File.Find("AutoPlay\\Docs\\soar", "*.txt", true, true, nil, nil);
Ordre = TextFile.ReadToTable("AutoPlay\\Docs\\ListeSoar.txt");

ListBox.DeleteItem("ListBox1", LB_ALLITEMS);
---------------------
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
m = Input.GetText("Input1");
serch = string.gsub (m, ".",istibdalate) ;
-----------
tot =0; cla = "" ; chercher = "" .. "\r\n";
-------------
if CheckBox.GetChecked("CheckBox1") == true then
if Mys == "" then
Dialog.Message("ÊäÈíå","ÇÎÊÑ ÓæÑÉ ãä ÞÇãÉ ÇáÓæÑ ÇáÊí ÊÑíÏ ÇáÈÍË ÝíåÇ");
else
v = Mys;
cla = sel;
vin = "AutoPlay\\Docs\\soar\\"..v..".txt";
Nasora = TextFile.ReadToTable(vin);

for p,Ntext in pairs(Nasora) do
text = string.gsub (Ntext, ".",istibdalate) ;
find = String.Find(text, serch, 1, false);
if find ~= -1 then
tot = tot+1;
chercher = chercher .. "\r\n"..Ntext.."\r\n".."ÇáÂíÉ ÑÞã "..p .."\r\n".."\r\n";
ListBox.AddItem("ListBox1",v.."("..cla..")", Ntext.."\r\n".."ÇáÂíÉ ÑÞã "..p);
end
end
Label.SetText("Label1", tot)
end


elseif CheckBox.GetChecked("CheckBox2") == true then

for i,vin in pairs(sora)do
v = String.SplitPath(vin).Filename;
for x=1,#Ordre do if v == Ordre[x] then cla = x end end
-- vin = "AutoPlay\\Docs\\soar\\"..v..".txt";
Nasora = TextFile.ReadToTable(vin);

for p,Ntext in pairs(Nasora) do
text = string.gsub (Ntext, ".",istibdalate) ;
find = String.Find(text, serch, 1, false);
if find ~= -1 then
tot = tot+1;
chercher = chercher .. "\r\n"..Ntext.."\r\n".."ÇáÂíÉ ÑÞã "..p .."\r\n".."\r\n";
ListBox.AddItem("ListBox1",v.."("..cla..")", Ntext.."\r\n".."ÇáÂíÉ ÑÞã "..p);
end
end
end
Label.SetText("Label1", tot);
-------------------------------------------------
end




الشكل الاخير من العمل الى حد الساعة كالتالي :
https://c.top4top.io/p_1534e9o641.gif

عبد الهادي بهاب
15-03-2020, 03:06 AM
الملف المفتوح في التعديلات الاخيرة

http://www.mediafire.com/file/in8m132tnbw1qq9/Coran_Serch.apz/file

-------------------------
انا لم اهتم بالتصميم الخارجي و الصور و ....... لكم الحرية في الاخراج الفني
بالتوفيق

عبد الهادي بهاب
17-03-2020, 03:22 AM
السلام عليكم ورحمة الله وبركاته

اليوم سنعمل على قاعدة بيانات جديدة وهي DB او SQLT
سنحاول ان نصنع قاعدة البيانات الخاصة بنا
لذلك دائما بالاعتماد على ملف السور txt
رقمنها من 1 الى 114 من اجل تجاوز مشكل اللغة
وضعنا ملف تكست فيه السور بالعربية حسب ترتيبها في المصحف
سنصنع قاعدة البيانات كجدول فيه
رقم السورة ------- اسم السورة --------رقم الآية -------- نص الاية

ضع الملف هذا في مكان الملف Docs في مشروعك
https://top4top.io/downloadf-1536kjxli1-rar.html

الملف فيه تكست لقامة السور مرتبة و 114 ملف تكست للسور

سنصنع قاعدة بيانات نسميها coran في مجلد docs
الكود التالي نضعه في زر


sDatabaseFile = _SourceFolder .. "\\AutoPlay\\Docs\\coran.db";
SQLite.Query(db,"CREATE TABLE coran(Sora_Num, Sora_text , Aya_Num , Aya_text)");


sora = TextFile.ReadToTable("AutoPlay\\Docs\\ListeSoar.txt")
for i,v in pairs(sora)do
ayaet = TextFile.ReadToTable("AutoPlay\\Docs\\"..i..".txt")
for p,nas in pairs(ayaet)do
SQLite.Query(db,"insert into coran values('" .. i.."', '"..v.."', '"..p .."', '"..nas.."')");
end
end



انتظر عملية التحميل و سيتطلب ذلك دقائق
ستجد ملف اسمه coran.db

عبد الهادي بهاب
17-03-2020, 03:31 AM
السلام عليكم ورحمة الله وبركاته

الان نعيد التصميم السابق

https://k.top4top.io/p_1534m27jz1.png

الان امحي ما في زر البحث و ضع الكود التالي
-------- اذكر الكود من تقيدم الاستاذ ثامر في مشاركة سابقة ---------


ListBox.DeleteItem("ListBox1", LB_ALLITEMS);

istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}

db = SQLite.Open("AutoPlay\\Docs\\coran.db");
s=SQLite.QueryToTable(db, "select * from coran");
ali = Input.GetText("Input1");
result4 = string.gsub (ali, ".",istibdalate)


tol=0;
-----------------------------------------------------------
for i,v in pairs(s.Data) do
m = s.Data[i]["Aya_text"];
abou_belkiss = string.gsub (m, ".",istibdalate)
g = String.Find(abou_belkiss,result4, 1, false);
if g~= -1 then tol=tol+1;
ListBox.AddItem("ListBox1", s.Data[i]["Sora_text"].."("..s.Data[i]["Aya_Num"]..")", s.Data[i]["Aya_text"]);
end
end
Label.SetText("Label1", tol);



جرب و اخبرنا :abc_138::abc_138:

عبد الهادي بهاب
17-03-2020, 03:48 AM
السلام عليكم ورحمة الله وبركاته

ساضع لحضراتكم ملفا مفتوحا مركبا من الكودين
اي البحث في القران الكريم من خلال قاعدة بيانات تتكون من ملفات تكست txt
و البحث من خلال قاعدة بيانات واحدة DB
https://f.top4top.io/p_15360yx971.png

الملف المفتوح للتعديل و الاستغلال:

https://top4top.io/downloadf-1536aj5k91-rar.html

بالتوفيق

عبد الهادي بهاب
17-03-2020, 08:20 AM
السلام عليكم ورحمة الله وبركاته

اليوم مع دمج الملف الثاني وهو البحث ضمن سورة معينة او ضمن المصحف الشريف
باستعمال قاعدة البيانات db

https://c.top4top.io/p_15371eny71.gif

الملف المفتوح
https://top4top.io/downloadf-1537jrstd1-rar.html

عبد الهادي بهاب
17-03-2020, 11:00 AM
السلام عليكم
الان سنتطرق الى خاصية جديدة و هي امكانية البحث في سور معينة
مثلا نريد احصاء كلمة ( الحي ) فقط في سورة البقرة و آل عمران و سورة الرحمن و يس
لذلك سنضيف عنصر جديد ChecBox لما نضغط عليه سيظهر لنا قامة ليسبوكس بحيث نفعل خاصية الاختيار Check في ListBox
وهذا يظهر عبر DialogEx لما يختار المستخدم السور نجمع ارقامها في مصفوفة
و نعود الى زر البحث
نضيف شرطا جديدا وهو لما يضغط ChocBox الثالث يبحث البرنامج فقط في السور التي احترناها
الان يجب ان نفعل التايمر كي يضغط هوزر البحث بعد غلق الديالوج ........طريقة تفعيل زر من خلال ديالوج ......

اذن يصبح كود البحث




Page.StopTimer();
s=SQLite.QueryToTable(db, "select * from Ncoran");
ListBox.DeleteItem("ListBox1", LB_ALLITEMS);
Input.SetText("Input_Info_Display", "");
Label.SetText("Label1", "");
istibdalate={["َ"] = "",["ً"] = "",["ُ"] = "",["ِ"] = "",["ْ"] = "",["ّ"] = "",["ِ"] = "",["ٌ"] = ""}
ali = Input.GetText("Input1"); if ali == "" then
Dialog.Message("تنبيه","اكتب ما تريد البحث عنه");
Page.SetFocus("Input1");

else
result4 = string.gsub (ali, ".",istibdalate)
tol=0;
-------chercher sora ----------------------------------------------------
if CheckBox.GetChecked("CheckBox1") == true then
if Mys == "" then
Dialog.Message("تنبيه","اختر سورة من قامة السور التي تريد البحث فيها");
else
---------------------------
for i,v in pairs(s.Data) do
if Mys == s.Data[i]["Sora_Num"] then
m = s.Data[i]["Aya_text"]; if m ~= " " then
abou_belkiss = string.gsub (m, ".",istibdalate)
g = String.Find(abou_belkiss,result4, 1, false);
if g~= -1 then tol=tol+1;
ListBox.AddItem("ListBox1", s.Data[i]["Sora_text"].."("..s.Data[i]["Aya_Num"]..")", s.Data[i]["Aya_text"].."\r\n".."\r\n"..s.Data[i]["Aya_Num"]);
end end
end
end
Label.SetText("Label1", tol);
----------------------
end
---in man sor--------------
elseif CheckBox.GetChecked("CheckBox3") == true then

for i,v in pairs(s.Data) do
for cop,com in pairs(Nsora) do ala = ""..com;
if ala == s.Data[i]["Sora_Num"] then
m = s.Data[i]["Aya_text"]; if m ~= " " then
abou_belkiss = string.gsub (m, ".",istibdalate)
g = String.Find(abou_belkiss,result4, 1, false);
if g~= -1 then tol=tol+1;
ListBox.AddItem("ListBox1", s.Data[i]["Sora_text"].."("..s.Data[i]["Aya_Num"]..")", s.Data[i]["Aya_text"].."\r\n".."\r\n".."الآية رقم "..s.Data[i]["Aya_Num"]);
end end
end
end
end
Label.SetText("Label1", tol);


------------------
elseif CheckBox.GetChecked("CheckBox2") == true then
for i,v in pairs(s.Data) do
m = s.Data[i]["Aya_text"]; if m ~= " " then
abou_belkiss = string.gsub (m, ".",istibdalate)
g = String.Find(abou_belkiss,result4, 1, false);
if g~= -1 then tol=tol+1;
ListBox.AddItem("ListBox1", s.Data[i]["Sora_text"].."("..s.Data[i]["Aya_Num"]..")", s.Data[i]["Aya_text"].."\r\n".."\r\n".."الآية رقم "..s.Data[i]["Aya_Num"]);
end end
end

Label.SetText("Label1", tol);
end
end

Input.SetText("Input1", "");
Page.ClickObject("Hotspot2");


الشكل بعد التعديل
https://a.top4top.io/p_1537jpvm41.gif


الملف المفتوح لمزيد من الايضاح
https://top4top.io/downloadf-1537xlrca1-rar.html
بالتوفيق

عبد الهادي بهاب
18-03-2020, 04:13 PM
السلام عليكم ورحمة الله وبركاته

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

https://h.top4top.io/p_15386g8h81.gif



ما العمل ؟

سنضع ملف تكست txt فيه كل الكلمات ذات العلاقة بالموضوع يعني سنضع ملف و نضع فيه الحيوانات ( يمكن ان تجد موضوعات مشابهة في النت )

https://l.top4top.io/p_1538snpb81.png

من باب التعامل مع الملفات يكون بالعربية مزعجاغ نوعا ما ... سنضيف ملف تكست نسميه theme و نضع فيه المواضيع التي جمعنا الكلمات المتعلقة بكل واحد منها
على ان نعيد تسمية ملفات تكست المواضيع برقم السطر في ملف theme
يعني السطر الاول هو غزوات و معارك في السطر الاول ...الملف الخاص بالغزوات نسميه 1 ...... السطر الثاني أشجار ... ملف تكست الاشجار نسميها 2 و هكذا على هذا الشكل

https://h.top4top.io/p_1538ozilc1.png

الملفات نضعها في ملف مستقل داخل docs نسميه theme

الان ساحة العمل ... نضيف ChecBox4 وهو سيظهر لنا combobox يحتوي على الموايع المقترحة وهو نص التكست theme
لما يختار المستخدم موضوعا سيقوم زر البحث بالبحث عن مفردات الموضوع في المصحف كله و سيظهر النتائج في ليسبوكس
--------------
كي لا ينتظر المستخدم سنضيف عنصر progress بحيث يظهر عملية تقدم البحث
سنجعل طوله هو عدد اسطر جدول قاعدة الباينات اي عدد ايات المصحف كله

و بالتالي سيزداد كود زر البحث تعقيدا


Page.StopTimer();
Progress.SetCurrentPos("Progress1", 0);
s=SQLite.QueryToTable(db, "select * from Ncoran");
Progress.SetRange("Progress1", 0, #s.Data);
ListBox.DeleteItem("ListBox1", LB_ALLITEMS);
Input.SetText("Input_Info_Display", "");
Label.SetText("Label1", "");
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
ali = Input.GetText("Input1");
result4 = string.gsub (ali, ".",istibdalate)
tol=0;
---------- serch vide ----------
if ali == "" then
Dialog.Message("ÊäÈíå","ÇßÊÈ ãÇ ÊÑíÏ ÇáÈÍË Úäå");
Page.SetFocus("Input1");

else


------- tach sora1----------------------------------------------------
if CheckBox.GetChecked("CheckBox1") == true then
if Mys == "" then
Dialog.Message("ÊäÈíå","ÇÎÊÑ ÓæÑÉ ãä ÞÇãÉ ÇáÓæÑ ÇáÊí ÊÑíÏ ÇáÈÍË ÝíåÇ");
else
---------------------------
for i,v in pairs(s.Data) do

if Mys == s.Data[i]["Sora_Num"] then
m = s.Data[i]["Aya_text"];
if m ~= " " then
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
abou_belkiss = string.gsub (m, ".",istibdalate)
g = String.Find(abou_belkiss,result4, 1, false);
if g~= -1 then tol=tol+1;
ListBox.AddItem("ListBox1", s.Data[i]["Sora_text"].."("..s.Data[i]["Aya_Num"]..")", s.Data[i]["Aya_text"].."\r\n".."\r\n"..s.Data[i]["Aya_Num"]);
end end
end
Progress.SetCurrentPos("Progress1", i);
end
end
Label.SetText("Label1", tol);
----------------------

--- tach soar katira--------------
elseif CheckBox.GetChecked("CheckBox3") == true then

for i,v in pairs(s.Data) do
for cop,com in pairs(Nsora) do ala = ""..com;
if ala == s.Data[i]["Sora_Num"] then
m = s.Data[i]["Aya_text"];
if m ~= " " then
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
abou_belkiss = string.gsub (m, ".",istibdalate)
g = String.Find(abou_belkiss,result4, 1, false);
if g~= -1 then tol=tol+1;
ListBox.AddItem("ListBox1", s.Data[i]["Sora_text"].."("..s.Data[i]["Aya_Num"]..")", s.Data[i]["Aya_text"].."\r\n".."\r\n".."ÇáÂíÉ ÑÞã "..s.Data[i]["Aya_Num"]);
end end
end
end
Progress.SetCurrentPos("Progress1", i);
end
Label.SetText("Label1", tol);
------------- theme -------------
elseif CheckBox.GetChecked("CheckBox4") == true then

for i,v in pairs(s.Data) do
for cop,ala in pairs(Mytheme) do
---------------
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
ala = string.gsub (ala, ".",istibdalate)
---------
m = s.Data[i]["Aya_text"];
if m ~= " " then
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
abou_belkiss = string.gsub (m, ".",istibdalate)
g = String.Find(abou_belkiss,ala, 1, false);
if g~= -1 then tol=tol+1;
Progress.SetCurrentPos("Progress1", i);
ListBox.AddItem("ListBox1", s.Data[i]["Sora_text"].."("..s.Data[i]["Aya_Num"]..")", s.Data[i]["Aya_text"].."\r\n".."\r\n".."ÇáÂíÉ ÑÞã "..s.Data[i]["Aya_Num"]);
end end
end
Progress.SetCurrentPos("Progress1", i);
end
Label.SetText("Label1", tol);

-------------tach tous mashaf -----
elseif CheckBox.GetChecked("CheckBox2") == true then
for i,v in pairs(s.Data) do
m = s.Data[i]["Aya_text"];
if m ~= " " then
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
abou_belkiss = string.gsub (m, ".",istibdalate)
g = String.Find(abou_belkiss,result4, 1, false);
if g~= -1 then tol=tol+1;
Progress.SetCurrentPos("Progress1", i);
ListBox.AddItem("ListBox1", s.Data[i]["Sora_text"].."("..s.Data[i]["Aya_Num"]..")", s.Data[i]["Aya_text"].."\r\n".."\r\n".."ÇáÂíÉ ÑÞã "..s.Data[i]["Aya_Num"]);
end end
Progress.SetCurrentPos("Progress1", i);
end

Label.SetText("Label1", tol);
end ---------
end
-----------------------------------------------------
Mys="";

ListBox.SelectItem("ListBox1", 1)
---Input.SetText("Input1", "");
---Page.ClickObject("Hotspot2");


الملف المفتوح لاكثر توضيح
https://top4top.io/downloadf-1538t44sn1-rar.html

بالتوفيق

عبد الهادي بهاب
19-03-2020, 02:14 AM
السلام عليكم ورحمة الله وبركاته

اليوم مع فكرة جديدة و خاصية جديدة

وهي كيف يمكن البحث عن اكثر من كلمة او عبارة

يعني اريد ان ابحث عن كلمة ( محمد ) سيظهر 4 نتائج
و لما اريد ان ابحث عن كلمة (همزة) سيظهر نتيجة واحدة
اريد ان ابحث عنهما جميعا (محمد همزة) ............. النتيجة 0
اذن ما العمل ؟
اولا البحث عن عبارة و ليس كلمة
اي العبارة الاولى ( الحمد لله)22 نتيجة .. و الثانية ( سبحان الله ) 9نتائج ... و كلمة (محمد) 4 نتائج
الان ما العمل معا الجميع ؟

--------------------
نطالب المستخدم بضرورة استعمال علامة معينة للفصل بين العبارات و لتكن علامة الناقص (-) في مجموعة الارقام
سنجعل الكود يجمع العبارات منفصلة و ليضعها في مصفوفة اي مجموعة
---------------------------------
الفصل بين العبارات بينها علامة (-)
-------------------------------
ملاحظة : هناك فرق بين البحث عن (يس) و عن ( يس) وهن ( يس ) ؟؟ ....... هل ادركت الفرق ؟ لا .....اشتري نظارة ...........
الفرق في المسافة قبل و بعد الكلمة
مثلا ( نفق) مع مسافة من الامام ------6 نتائج (نفقا -2 نفقة -نفقاتهم -نفقه -نفقد )
(نفق ) مسافة فقط في الاخير .....8 نتائج ( 5 ينفق -2 أنفق - فلينفق )
( نفق ) مسافة من الامام و الخلف ......... 0 نتئجة
-----------------

الان سنعمل على كود فصل العبارات
----------------
العمل :
ضع انبوت + زر
ضع في الزر الكود التالي :


ali = Input.GetText("Input1");
PosWord={}; x=1;
repeat
New = String.Find(ali, "-", 1);
if New ~= -1 then
alla = String.Mid(ali, 1, New);
assia = String.Mid(alla, 1,#alla-1);
ali = String.Replace(ali, alla, "");
--------------
repeat
verf = String.Left(assia, 1, 1);
if verf == " " then assia = String.Mid(assia, 2, #assia-1);end
until verf ~= " ";
--------------
repeat
verf = String.Right(assia, 1);
if verf == " " then assia = String.Mid(assia, 1, #assia-1);end
until verf ~= " " ;

-------------
PosWord[x] = assia ; x=x+1; end
until New == -1;

repeat
verf = String.Right(ali, 1);
if verf == " " then ali = String.Mid(ali, 1, #ali-1);end
until verf ~= " " ;
PosWord[x] = ali ;

--- 6red------------------------
elhadi = "";
for i,v in pairs(PosWord) do
elhadi = elhadi..v.."\r\n";
end
Dialog.Message("",elhadi);


جرب من اجل ( الحمد لله - محمد - سورة الحاقة - سبحانك) ...... سيفصل بينها مع الغاء المسافة قبل و بعد

https://a.top4top.io/p_1538cyc8t1.png

بالتوفيق متابعة جيدة

عبد الهادي بهاب
19-03-2020, 02:19 AM
السلام عليكم ورحمة الله وبركاته

الان سندمج الكود التالي في كود زر البحث و سيزداد طولا و غموضا لمن يراه للمرة الاولى
اولا اذا كان الكلمة واحدة فقط اي لا وجود لعلامة (-) يعمي اننا نريد البحث عن العبارة كلها

سنضيف شرطا اذا لم يجد علامة (-) فان المصفوفة مجموعة الكلمات ستحتوي فقط على عنصر واحد
و الا فستضم المصفوفة كل العبارات بينها (-)

ثم سنحدف منها التشكيل و نضيفها لمجموع الكود كله ليصبح هكذا


Page.StopTimer();
Progress.SetCurrentPos("Progress1", 0);
s=SQLite.QueryToTable(db, "select * from Ncoran");
Progress.SetRange("Progress1", 0, #s.Data);
ListBox.DeleteItem("ListBox1", LB_ALLITEMS);
Input.SetText("Input_Info_Display", "");
Label.SetText("Label1", "");
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
ali = Input.GetText("Input1");
result4 = string.gsub (ali, ".",istibdalate)
tol=0;
---------- serch vide ----------
if ali == "" then
Dialog.Message("ÊäÈíå","ÇßÊÈ ãÇ ÊÑíÏ ÇáÈÍË Úäå");
Page.SetFocus("Input1");

else
---------- trouve "-" ---------------
ali = result4;
PosWord={}; x=1; hh=""; f=1;
sopi = String.Find(ali, "-", 1);
if sopi ~= -1 then
--------------------------
repeat
New = String.Find(ali, "-", 1);
if New ~= -1 then
alla = String.Mid(ali, 1, New);
assia = String.Mid(alla, 1,#alla-1);
ali = String.Replace(ali, alla, "");
---dellet espace left-----------
repeat
verf = String.Left(assia, 1, 1);
if verf == " " then assia = String.Mid(assia, 2, #assia-1);end
until verf ~= " ";
---------dellet espace right-----
repeat
verf = String.Right(assia, 1);
if verf == " " then assia = String.Mid(assia, 1, #assia-1);end
until verf ~= " " ;
-------------
PosWord[x] = assia ; x=x+1; end
until New == -1;
------------- espace rightfinal--------
repeat
verf = String.Right(ali, 1);
if verf == " " then ali = String.Mid(ali, 1, #ali-1);end
until verf ~= " " ;
PosWord[x] = ali ;

------------
else PosWord= {} ; PosWord[1] = ali ; end
----------

for baka,Wword in pairs(PosWord) do

------- tach sora1----------------------------------------------------
if CheckBox.GetChecked("CheckBox1") == true then
if Mys == "" then
Dialog.Message("ÊäÈíå","ÇÎÊÑ ÓæÑÉ ãä ÞÇãÉ ÇáÓæÑ ÇáÊí ÊÑíÏ ÇáÈÍË ÝíåÇ");
else
---------------------------
for i,v in pairs(s.Data) do

if Mys == s.Data[i]["Sora_Num"] then
----------------
m = s.Data[i]["Aya_text"];
if m ~= " " then
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
abou_belkiss = string.gsub (m, ".",istibdalate);
-----------------
g = String.Find(abou_belkiss,Wword, 1, false);
if g~= -1 then tol=tol+1;
ListBox.AddItem("ListBox1", s.Data[i]["Sora_text"].."("..s.Data[i]["Aya_Num"]..")", s.Data[i]["Aya_text"].."\r\n".."\r\n"..s.Data[i]["Aya_Num"]);
end end
end
Progress.SetCurrentPos("Progress1", i);
end
Label.SetText("Label1", tol);
end
--- tach soar katira--------------
elseif CheckBox.GetChecked("CheckBox3") == true then

for i,v in pairs(s.Data) do
for cop,com in pairs(Nsora) do ala = ""..com;
if ala == s.Data[i]["Sora_Num"] then
m = s.Data[i]["Aya_text"];
if m ~= " " then
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
abou_belkiss = string.gsub (m, ".",istibdalate)
g = String.Find(abou_belkiss,Wword, 1, false);
if g~= -1 then tol=tol+1;
ListBox.AddItem("ListBox1", s.Data[i]["Sora_text"].."("..s.Data[i]["Aya_Num"]..")", s.Data[i]["Aya_text"].."\r\n".."\r\n".."ÇáÂíÉ ÑÞã "..s.Data[i]["Aya_Num"]);
end end
end end

Progress.SetCurrentPos("Progress1", i);
end
Label.SetText("Label1", tol);
------------- theme -------------
elseif CheckBox.GetChecked("CheckBox4") == true then

for i,v in pairs(s.Data) do
for cop,ala in pairs(Mytheme) do
---------------
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
ala = string.gsub (ala, ".",istibdalate)
---------
m = s.Data[i]["Aya_text"];
if m ~= " " then
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
abou_belkiss = string.gsub (m, ".",istibdalate)
g = String.Find(abou_belkiss,ala, 1, false);
if g~= -1 then tol=tol+1;
Progress.SetCurrentPos("Progress1", i);
ListBox.AddItem("ListBox1", s.Data[i]["Sora_text"].."("..s.Data[i]["Aya_Num"]..")", s.Data[i]["Aya_text"].."\r\n".."\r\n".."ÇáÂíÉ ÑÞã "..s.Data[i]["Aya_Num"]);
end end
end
Progress.SetCurrentPos("Progress1", i);
end
Label.SetText("Label1", tol);

-------------tach tous mashaf -----
elseif CheckBox.GetChecked("CheckBox2") == true then


for i,v in pairs(s.Data) do
m = s.Data[i]["Aya_text"];
if m ~= " " then
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
abou_belkiss = string.gsub (m, ".",istibdalate)
g = String.Find(abou_belkiss, Wword, 1, false);
if g~= -1 then tol=tol+1;
ListBox.AddItem("ListBox1", s.Data[i]["Sora_text"].."("..s.Data[i]["Aya_Num"]..")", s.Data[i]["Aya_text"].."\r\n".."\r\n".."ÇáÂíÉ ÑÞã "..s.Data[i]["Aya_Num"]);
end end
Progress.SetCurrentPos("Progress1", i);
end
Label.SetText("Label1", tol);

------------------------ word --------------
end -------elsecheckobox--
end
end
-----------------------------------------------------
ListBox.SelectItem("ListBox1", 1)
---Input.SetText("Input1", "");
---Page.ClickObject("Hotspot2");

عبد الهادي بهاب
19-03-2020, 02:29 AM
الان سنجمع كل ما سبق في عملنا حول البحث في القران الكريم
و سيصبح الشكل الاخير كالتالي

https://b.top4top.io/p_15383sn301.gif

الملف المفتوح المعدل بالخاصية الجديدة
https://top4top.io/downloadf-1538feu7c1-rar.html

بالتوفيق

عبد الهادي بهاب
19-03-2020, 02:38 AM
https://www.youtube.com/watch?v=Ugj5Ccq3uAU&feature=youtu.be

عبد الهادي بهاب
19-03-2020, 04:51 AM
السلام عليكم ورحمة الله وبركاته

كيف حالكم اليوم ؟ كورونا ووووووو تبقى في التاريخ

----------------
اليوم مع خاصية جديدة و هي قراءة نص الاية التي وجدناها في قائمة البحث
----------------
اولا ضروري يكون عندك ملف لكل ايات القران الكريم مقطعة بالايات
وفيه عمل جبار قام به الاخوة في الكثير من المواقع
اختر ما تشاء من المقرئين و حمله او حملها كلها كما تريد
فانت من تحدد باستعمال الكود
------------------------
https://archive.org/details/6236-full-quran-6236-ayah-by--sa3d-alghamdy--every-sorah-in-folder-114-file
للتحميل مباشرة
https://ia801901.us.archive.org/9/items/6236-full-quran-6236-ayah-by--sa3d-alghamdy--every-sorah-in-folder-114-file/quran-full-6236-ayah-in-114-folder-32kb-by-sa3d-alghamdy.zip


هذا مثلا المصحف بصوت الشيخ سعد الغامدي
حمله و ضعه في فولدر في ملف Audio و سميه quran
سنعتمد طريقة التسمية في الكود لقاءة الصوت المطلوب
-------------------
اذن العمل :
سنضيف ليسبوكس 2 و نجعله مخفيا
في كود البحث لما يظهر في ليسبوكس1 الاول الايات
سيسجل ضمنيا في ليسبوكس2 رقم السورة ...و رقم الاية
وهو الذي سيعتمد عليه كود قراءة الايات

---------------------
اعني اسفل تسجيل النتائج سنضيف سطر

ListBox.AddItem("ListBox2", s.Data[i]["Sora_Num"], s.Data[i]["Aya_Num"]);



ليصبح كود البحث الطويل كالاتي


Page.StopTimer();
Audio.Stop(CHANNEL_NARRATION)
Progress.SetCurrentPos("Progress1", 0);
s=SQLite.QueryToTable(db, "select * from Ncoran");
Progress.SetRange("Progress1", 0, #s.Data);
ListBox.DeleteItem("ListBox1", LB_ALLITEMS);
ListBox.DeleteItem("ListBox2", LB_ALLITEMS);

Input.SetText("Input_Info_Display", "");
Label.SetText("Label1", "");
tol=0;
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
ali = Input.GetText("Input1");
result4 = string.gsub (ali, ".",istibdalate);

---------- serch vide ----------
if ali == "" then
Dialog.Message("ÊäÈíå","ÇßÊÈ ãÇ ÊÑíÏ ÇáÈÍË Úäå");
Page.SetFocus("Input1");

else
---------- trouve "-" ---------------
ali = result4;
PosWord={}; x=1; hh=""; f=1;
sopi = String.Find(ali, "-", 1);
if sopi ~= -1 then
--------------------------
repeat
New = String.Find(ali, "-", 1);
if New ~= -1 then
alla = String.Mid(ali, 1, New);
assia = String.Mid(alla, 1,#alla-1);
ali = String.Replace(ali, alla, "");
---dellet espace left-----------
repeat
verf = String.Left(assia, 1, 1);
if verf == " " then assia = String.Mid(assia, 2, #assia-1);end
until verf ~= " ";
---------dellet espace right-----
repeat
verf = String.Right(assia, 1);
if verf == " " then assia = String.Mid(assia, 1, #assia-1);end
until verf ~= " " ;
-------------
PosWord[x] = assia ; x=x+1; end
until New == -1;
------------- espace rightfinal--------
repeat
verf = String.Right(ali, 1);
if verf == " " then ali = String.Mid(ali, 1, #ali-1);end
until verf ~= " " ;
PosWord[x] = ali ;

------------
else PosWord= {} ; PosWord[1] = ali ; end
----------

for baka,Wword in pairs(PosWord) do

------- tach sora1----------------------------------------------------
if CheckBox.GetChecked("CheckBox1") == true then
if Mys == "" then
Dialog.Message("ÊäÈíå","ÇÎÊÑ ÓæÑÉ ãä ÞÇãÉ ÇáÓæÑ ÇáÊí ÊÑíÏ ÇáÈÍË ÝíåÇ");
else
---------------------------
for i,v in pairs(s.Data) do

if Mys == s.Data[i]["Sora_Num"] then
----------------
m = s.Data[i]["Aya_text"];
if m ~= " " then
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
abou_belkiss = string.gsub (m, ".",istibdalate);
-----------------
g = String.Find(abou_belkiss,Wword, 1, false);
if g~= -1 then
ListBox.AddItem("ListBox1", s.Data[i]["Sora_text"].."("..s.Data[i]["Aya_Num"]..")", s.Data[i]["Aya_text"].."\r\n".."\r\n"..s.Data[i]["Aya_Num"]);
ListBox.AddItem("ListBox2", s.Data[i]["Sora_Num"], s.Data[i]["Aya_Num"]);
tol = tol+1;
end end
end
Progress.SetCurrentPos("Progress1", i);
end
Label.SetText("Label1", tol);
end
--- tach soar katira--------------
elseif CheckBox.GetChecked("CheckBox3") == true then

for i,v in pairs(s.Data) do
for cop,com in pairs(Nsora) do ala = ""..com;
if ala == s.Data[i]["Sora_Num"] then
m = s.Data[i]["Aya_text"];
if m ~= " " then
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
abou_belkiss = string.gsub (m, ".",istibdalate)
g = String.Find(abou_belkiss,Wword, 1, false);
if g~= -1 then
ListBox.AddItem("ListBox1", s.Data[i]["Sora_text"].."("..s.Data[i]["Aya_Num"]..")", s.Data[i]["Aya_text"].."\r\n".."\r\n".."ÇáÂíÉ ÑÞã "..s.Data[i]["Aya_Num"]);
tol=tol+1;
ListBox.AddItem("ListBox2", s.Data[i]["Sora_Num"], s.Data[i]["Aya_Num"]);
end end
end end

Progress.SetCurrentPos("Progress1", i);
end
Label.SetText("Label1", tol);
------------- theme -------------
elseif CheckBox.GetChecked("CheckBox4") == true then

for i,v in pairs(s.Data) do
for cop,ala in pairs(Mytheme) do
---------------
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
ala = string.gsub (ala, ".",istibdalate)
---------
m = s.Data[i]["Aya_text"];
if m ~= " " then
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
abou_belkiss = string.gsub (m, ".",istibdalate)
g = String.Find(abou_belkiss,ala, 1, false);
if g~= -1 then
ListBox.AddItem("ListBox1", s.Data[i]["Sora_text"].."("..s.Data[i]["Aya_Num"]..")", s.Data[i]["Aya_text"].."\r\n".."\r\n".."ÇáÂíÉ ÑÞã "..s.Data[i]["Aya_Num"]);
ListBox.AddItem("ListBox2", s.Data[i]["Sora_Num"], s.Data[i]["Aya_Num"]);
tol=tol+1;
end end
end
Progress.SetCurrentPos("Progress1", i);
end
Label.SetText("Label1", tol);

-------------tach tous mashaf -----
elseif CheckBox.GetChecked("CheckBox2") == true then


for i,v in pairs(s.Data) do
m = s.Data[i]["Aya_text"];
if m ~= " " then
istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
abou_belkiss = string.gsub (m, ".",istibdalate)
g = String.Find(abou_belkiss, Wword, 1, false);
if g~= -1 then
ListBox.AddItem("ListBox1", s.Data[i]["Sora_text"].."("..s.Data[i]["Aya_Num"]..")", s.Data[i]["Aya_text"].."\r\n".."\r\n".."ÇáÂíÉ ÑÞã "..s.Data[i]["Aya_Num"]);
ListBox.AddItem("ListBox2", s.Data[i]["Sora_Num"], s.Data[i]["Aya_Num"]);
tol=tol+1;
end end
Progress.SetCurrentPos("Progress1", i);
end
Label.SetText("Label1", tol);

------------------------ word --------------
end -------elsecheckobox--
end
end
-----------------------------------------------------
ListBox.SelectItem("ListBox1", 1)





نضيف في الاسفل زر و ضعه على شكل بوق مثلا
http://icons.iconarchive.com/icons/icons-land/play-stop-pause/256/Volume-Normal-Red-icon.png

نضع فيه الكود التالي

Raya = ListBox.GetItemData("ListBox2", AudioAya);
Rsora = ListBox.GetItemText("ListBox2", AudioAya);
------------- name ayaettes -------------
if String.ToNumber(Rsora) < 10 then Rsora = "00"..Rsora;
elseif String.ToNumber(Rsora) > 9 and String.ToNumber(Rsora) < 100 then Rsora = "0"..Rsora;
elseif String.ToNumber(Rsora) > 99 then Rsora = ""..Rsora;
end

if String.ToNumber(Raya) < 10 then Raya = Rsora.."00"..Raya;
elseif String.ToNumber(Raya) > 9 and String.ToNumber(Raya) < 100 then Raya = Rsora.."0"..Raya;
elseif String.ToNumber(Raya) > 99 then Raya = Rsora..Raya;
end

Audio.Load(CHANNEL_NARRATION, "AutoPlay\\Audio\\quran\\"..Rsora.."\\"..Raya..".mp3", true);


بالتوفيق سنرفع لكم الملف المفتوح لمن يحتاجه

شكرا

عبد الهادي بهاب
19-03-2020, 05:33 AM
لما تحمل ملف القران لمقرئ ما و تفط الضغط
ستجد الملفات على هذا الشكل و الترقيم

https://f.top4top.io/p_1539dajdq1.png

الملف المفتوح للتعديل
http://www.mediafire.com/file/2gjtm1vla4as304/Coran_Audio_sherc.apz/file

​​​​​​​بالتوفيق في اعمالكم

عبد الهادي بهاب
19-03-2020, 08:29 AM
لمن اراد المصحف الشريف مقسم ايات للعديد من المقرئين

https://archive.org/search.php?query=%28%D8%A7%D8%B6%D8%BA%D8%B7%29%20 AND%20title%3A%28%D8%A7%D9%8A%D8%A7%D8%AA%20%D9%83 %D8%A7%D9%85%D9%84%29%20AND%20mediatype%3A%28audio %29&sort=-downloads

​​​​​​​بالتوفيق:abc_152::abc_152:

عبد الهادي بهاب
19-03-2020, 03:23 PM
السلام عليكم ورحمة الله وبركاته
متابع معكم مشروع برنامج بحث و عرض للايات القرآنية
---------------
اليوم سنضيف
- خاصية القراءة المتزامنة للايات
- زر لعرض الاية السابقة
- زر لعرض الاية التالية
-----------
https://i78.servimg.com/u/f78/12/62/73/88/audio10.png

كما يظهر في الشكل في عنصر القراءة المتزامنة
سنفترض متغير lecture و نعطيه قيمة او نص ما و نضعه في onshow

lecture = "NSonAuto";

و نعني به لما يكون بهذا النص لن تشتغل القراءة المتزامنة
لكن اذا كانت

lecture == "SonAuto";

يعني ان القراءة ستكون متزامنة .....كيف سنجعل اليسبوكس كلما غير المستخدم اختيار عنصر من القائمة اليا اوتماتيكيا سيغل البرنامج زر استظهار الصوت
اذن سنضيف عنصر CheckBox5 و عندما يكون مفعلا سيكون المتغير SonAuto و لما يكون غير مفعل ستصيح قيمة المتغير NSonAuto

--------------------------------------------------
الان مع زر عرض الاية التالية ....... سنعتمد على رقمالاختيار من اليسبوكس ... و بالتالي لما نغضط على هذا الزر سيضيف 1 الى السطر و يشغل اليسبوكس ........الاشكالية لما بصل الى الحد الاقصى لعنصر اليسبوكس و هي في مشوعنا tol التي نستخدمها في زر البحث ... سيذهب الى العنصر الاول .........و بالتالي كود الزر سيكون كالاتي

if tSelected then
if tSelected[1] == tol then
ListBox.SelectItem("ListBox1", 1);
else
ListBox.SelectItem("ListBox1",tSelected[1]+1);
end
end


الان العلمية ستكون عكسية مع زر الايات السابقة اي سنتعمل علامة - 1 .........و لما يصل الى العنصر الاول من اليسبوكس سيكون التالي هو tol اي قيمة عدد عناصر اليسبوكس


if tSelected then
if tSelected[1] == 1 then
ListBox.SelectItem("ListBox1", tol);
else
ListBox.SelectItem("ListBox1", tSelected[1]-1);
end
end

-------------------------------
ملاحظة : من اجل ان يظهر تعليق اسفل الزر بمجرد مرور الماووس ليخبرنا محتوى الزر على هذا الشكل

https://i78.servimg.com/u/f78/12/62/73/88/talik10.png

لذلك يجب ان تضغط على الزر مرتين لتظهر لنا خصاصه نختار منها الثانية Attributes في الاسفل نختار ToolTip

https://i78.servimg.com/u/f78/12/62/73/88/pro10.png

----------------------------

الملف المفتوح جاهزا لتعديتكم و ابدعاتكم
http://www.mediafire.com/file/zec2okp9ng9of5n/Coran__serch_audio.apz/file

بالتوفيق

عبد الهادي بهاب
19-03-2020, 04:27 PM
السلام عليكم ورحمة الله وبركاته

نواصل معكم في مشروعنا الان مع خاصية نسخ المحتوى و تصديره في ملف تكست يختار المستخدم مكان حفظه
----------------
خاصية نسخ نتائج البحث
---------------
ببساطة نضيف زر جديد نسميه مثلا( نسخ النتائج ) او اي شكل تريده
نجمع من اليستبوكس من كل سطر اسم السورة ......و نص الاية الذي هو موجود في data
سنحفظ الناج في ملف نسميه باسم محتوى البحث اي input
نضيف له في الاعلى عنوان ( نتائج البحث عن .....)


Titre = "äÊÇÆÌ ÇáÈÍË Úä :"..Input.GetText("Input1");
CopyAyaettes = "";

for i =1,tol do
NaSora = ListBox.GetItemText("ListBox1", i);
NaAya = ListBox.GetItemData("ListBox1", i);
CopyAyaettes = CopyAyaettes ..NaSora .."\r\n"..NaAya .."\r\n" .."\r\n" .."\r\n";
end

CopyAyaettes = Titre .."\r\n".. "\r\n"..CopyAyaettes ;
folder = Dialog.FolderBrowse("ÇÎÊÑ ÇáãÌáÏ ", _DesktopFolder);
TextFile.WriteFromString(folder.."\\"..Input.GetText("Input1")..".txt", CopyAyaettes);
File.Open(folder.."\\"..Input.GetText("Input1")..".txt", "", SW_SHOWNORMAL);



https://i78.servimg.com/u/f78/12/62/73/88/2020-010.png


https://i78.servimg.com/u/f78/12/62/73/88/llgh10.png
بالتوفيق

عبد الهادي بهاب
25-03-2020, 05:30 PM
السلام عليكم ورحمة الله وبركاته

عودة لمشروعنا حول البحث في القرآن الكريم
اليوم مع خاصية الاحزاب و الأجزاء و الارباع
نحن نعلم ان المصحف مقسم الى اجزاء كل جزء الى حزبين و كل حزب الى 4 ارباع
الاصل ان نعيد بناء قاعدة البيانات من جديد لكن سنتغل الموجود
الان مع التقسيم ........ بعد البحث في المواقع وجدت ملفا لتقسيم المصحف الى ارباع
https://i78.servimg.com/u/f78/12/62/73/88/arb10.png

الملف تكست للتحميل
https://top4top.io/downloadf-1545oa6ic1-rar.html

الان يجب ان نحوله الى ارقام اي السورة الى رقم و البداية الى 1 و النهاية الى اخر السورة
طبعا فيه كود طويل لا مجال له ليصبح الملف التكست كالاتي
https://i78.servimg.com/u/f78/12/62/73/88/arb210.png

الان سنفككه الى 7 ملفات واحد للاجزاء و الاخر للاحزاب و اخر للارباع ثم السورة البداية - الاية بداية الربع - السورة النهاية - و ال ملف السابع لاخر اية من الربع

سنغير ملف البحث بحيث سيبحث عن رقم الاية في الملفات السابقة اي يبحث عن السورة ثم موقع الاية في اي ربع و يعرض النتائج في النتيجة اسفل الاية
و يكون الشكل الجديدي للمشروع
https://i.servimg.com/u/f78/12/62/73/88/sercor10.png

طبعا الشرط هذاسنضيفه قبل عرض النتائج في اليسبوكس
لاستدعاء القيم في مصفوفات متفرقة في اعلى كود البحث
(طبعا يمكن جمعها في كود واحد لكن اتجهت للاسهل )


Hiz = TextFile.ReadToTable("AutoPlay\\Docs\\CoranH.txt");
Joz = TextFile.ReadToTable("AutoPlay\\Docs\\CoranJ.txt");
Rob = TextFile.ReadToTable("AutoPlay\\Docs\\CoranR.txt");
Bsora = TextFile.ReadToTable("AutoPlay\\Docs\\CoranBs.txt");
Baya = TextFile.ReadToTable("AutoPlay\\Docs\\CoranBa.txt");
Nsora = TextFile.ReadToTable("AutoPlay\\Docs\\CoranNs.txt");
Naya = TextFile.ReadToTable("AutoPlay\\Docs\\CoranNa.txt");


نضيفه في كود البحث قبل اليسبوكس

for j,bs in pairs(Bsora) do

if tonumber(bs) == tonumber(s.Data[i]["Sora_Num"]) and tonumber(bs) == tonumber(Nsora[j])
and tonumber(s.Data[i]["Aya_Num"]) >= tonumber(Baya[j]) and tonumber(s.Data[i]["Aya_Num"]) <= tonumber(Naya[j]) then
Num_J = Joz[j]; Num_H = Hiz[j];NRR = Rob[j];

elseif tonumber(bs) == tonumber(s.Data[i]["Sora_Num"]) and tonumber(bs) < tonumber(Nsora[j]) and tonumber(s.Data[i]["Aya_Num"]) >= tonumber(Baya[j])
or tonumber(Nsora[j]) == tonumber(s.Data[i]["Sora_Num"]) and tonumber(bs) < tonumber(Nsora[j]) and tonumber(s.Data[i]["Aya_Num"]) <= tonumber(Naya[j]) then
Num_J = Joz[j]; Num_H = Hiz[j];NRR = Rob[j];
end
end




----------------------------
الملف المعدل لمشروع البحث في القران الكريم
( ملاحظة ..الملف لايحتوي على الملف الصوتي و قد سبق ان اشرنا له في مشاركة سابقة )
http://www.mediafire.com/file/geoohp23ai0y5fo/serch_coran2.apz/file
بالتوفيق

عبد الهادي بهاب
01-04-2020, 05:39 PM
السلام عليكم ورحمة الله وبركاته
عودة الى مشروعنا حول البحث في القرآن الكريم
اليوم مع خاصية جديدة

البحث بواسطة الأجزاء

https://i.top4top.io/p_15528so3u2.png

يعني انا اريد البحث عن كلمة معينة في جزء فقط او من الجزء1 الى الجزء 4
اي مثلا كلمة ( الحي القيوم ) من الجزء الاول الى الجزء الرابع
نضيف في الصفحة خيار checkBox 6 وهو سيعرض ديالوج جديد فيه 2 من الكومبوكس تعرض الاجزاء 30
الان كي لايختار المستخدم من الجزء 4 الى الجزء 3 ...... سنضع شرطا بحيث سيملا الكومبوكس 1 من 1 الى 30
https://h.top4top.io/p_1552shm361.png

الان لما يختار جزء معين سيفرغ الكومبوكس 2 و يكون اول رقم له هو اختيار الكوموبكس1
يعني لما يختار من الجزء 4 ..... سيمحى مضمون الكومبوكس 2 و سيبدا من جديد لكن اول رقم له هو 4 الى 30 ........
في الديالوج 2 سنضع في onshow

x=1;
repeat
ComboBox.DeleteItem("ComboBox1", 1);
x=x+1;
until x>60;
for i= 1,30 do
ComboBox.AddItem("ComboBox1", i, "");
end
ComboBox.SetSelected("ComboBox1", 1)

سنضع في الكومبوكس1 الكود التالي
x=1;
repeat
ComboBox.DeleteItem("ComboBox2", 1);
x=x+1;
until x>30;
----------------------
DselC = ComboBox.GetSelected("ComboBox1");
selC = ComboBox.GetItemText("ComboBox1", DselC);
selC2= selC;
for p=selC,30 do
ComboBox.AddItem("ComboBox2", p, "")
end
ComboBox.SetSelected("ComboBox2", 1)
لذلك لديك الكثير من الافكار لكن اخترت اسهلها طبعا
يعني ساعرض النتائج كلها في ليست بوكس 3
ثم ساختار فقط القيم بين الجزء البداية و الجزء النهاية وامحي ما سواهما في اليسبوكس1.2.3

ساضيف الشرط هذا في زر البحث

function Azaa()
p=1; repeat for i=1,ListBox.GetCount("List") do nn = ListBox.GetItemText("List", i);
if String.ToNumber(nn) < selC or String.ToNumber(nn) > selC2 then
ListBox.DeleteItem("List", i); ListBox.DeleteItem("ListBox1", i); ListBox.DeleteItem("ListBox2", i);
end end p=p+1; until p > 9 end

سيكون الشكل التالي :

https://d.top4top.io/p_1552hs6e91.gif

الملف المفتوح المعدل :

http://www.mediafire.com/file/loux46i74m2gamv/serch_coran2_with_azaa.apz/file

بالتوفيق

عبد الهادي بهاب
02-04-2020, 02:54 AM
السلام عليكم ورحمة الله وبركاته

مع خاصية جديدة وهي تتعلق بالصوتيات ..

قراءة صوتية او تلاوة كل الايات في النتائج

في الصفحة في الحدث OnAudio
نضيف هذا الكود
if Audio.GetCurrentPos(CHANNEL_NARRATION) == Audio.GetLength(CHANNEL_NARRATION) then
Page.ClickObject("B_Next");
end

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

وهو ما سيدقعنا الى التفكير في اضافة صفحة جديدة للمشروع وهي عرض الايات و السور

بالتوفيق

عبد الهادي بهاب
02-04-2020, 03:57 AM
السلام عليكم ورحمة الله وبركاته
مع خاصية جديدة وهي

وضع مؤشر لتقدم الصوت اي قراءة القراءن

طبعا ممكن نستغني عن الاكواد كلها باستعمال قارئ الميديا بلاير
لكن ممكن نستفيد من مشاريع سابقة في الميدان مثل هذا المشروع
https://f.top4top.io/p_1552na2io1.png
الملف المفتوح لهذا الدرس
http://www.mediafire.com/file/egdazj3exxizyvu/Audio_Slide.apz/file

الان في اسفل زر استماع الاية اضف عنصر سلايد Slider
قبله و بعده اضف ليبال لعرض طول صوت الاية و من الجهة الاخرى سيظهر تقدم الاية .........

الان في زر الصوت امحو الموجود و استبدله بهذا الكود و هو المسؤول عن تحويل طول الاية الى ثواني و دقائق بينها نقطتين على شكل ساعة
ثم تشغيل التيمر المسؤول عن تقدم السلايدر اي التلاوة

Audio.Stop(CHANNEL_NARRATION);
Raya = ListBox.GetItemData("ListBox2", AudioAya);
Rsora = ListBox.GetItemText("ListBox2", AudioAya);
------------- name ayaettes -------------
if String.ToNumber(Rsora) < 10 then Rsora = "00"..Rsora;
elseif String.ToNumber(Rsora) > 9 and String.ToNumber(Rsora) < 100 then Rsora = "0"..Rsora;
elseif String.ToNumber(Rsora) > 99 then Rsora = ""..Rsora;
end

if String.ToNumber(Raya) < 10 then Raya = Rsora.."00"..Raya;
elseif String.ToNumber(Raya) > 9 and String.ToNumber(Raya) < 100 then Raya = Rsora.."0"..Raya;
elseif String.ToNumber(Raya) > 99 then Raya = Rsora..Raya;
end

Audio.Load(CHANNEL_NARRATION, "AutoPlay\\Audio\\quran\\"..Rsora.."\\"..Raya..".mp3", true);
MaxP = Audio.GetLength(CHANNEL_NARRATION);
Slider.SetRange("Plu_Audio", 0, MaxP);
function Au()
local nPosT = MaxP
local nPosT = Math.Round(nPosT, 0);
local sSecT = Math.Mod(nPosT, 60)
local nStr = String.Length(sSecT);
if nStr == 1 then
sSecT = ":0"..sSecT
else
sSecT=":"..sSecT
end
local nMinT = Math.Floor(nPosT/60)
return String.Concat(nMinT, sSecT);
end
Label.SetText("MaL", Au());
Page.StartTimer(150, 11);


في التيمر نضيف التالي
if e_ID == 11 then
local nPosTrek = Audio.GetCurrentPos(CHANNEL_NARRATION)
Slider.SetSliderPos("Plu_Audio", nPosTrek);
Label.SetText("PrAu", Audio.ConvertTime(CHANNEL_USER1));

end

الان سنتفرغ للسلايدر و اظهارتقدم التلاوة كرقم
اضف الكود الى GlobalFunction

function Audio.IsInRect(strObject)
local bReturn = false;
local tPos = Plugin.GetPos(strObject)
local tSize = Plugin.GetSize(strObject)
local tMouse = System.GetMousePosition(true);
local nX = tMouse.X
local nY = tMouse.Y
if (nX >= tPos.X) and (nX <= tPos.X + tSize.Width) then
if (nY >= tPos.Y) and (nY <= tPos.Y + tSize.Height) then
bReturn = true;
end
end
return bReturn;
end
------------------------------------------------------------------
function Audio.ConvertTime(channel)
local nPosTrek = Audio.GetCurrentPos(CHANNEL_NARRATION)
local nPosTrek = Math.Round(nPosTrek, 0);
local sSecTrek = Math.Mod(nPosTrek, 60)
local nString = String.Length(sSecTrek);
if nString == 1 then
sSecTrek = ":0"..sSecTrek
else
sSecTrek=":"..sSecTrek
end
local nMinTrek = Math.Floor(nPosTrek/60)
return String.Concat(nMinTrek, sSecTrek);
end
-------------


الوظيفة الاولى وهي الخاصة بتقدم موقع الصوت مع السلادر
اما الثانية لتحويل موقع الصوت الحالي للتلاوة الى ثواني و دقائق

---------------
اخر مرحلة وهي في السلايدر نفسه
اضف ما يلي
if Audio.IsInRect(this) and System.IsKeyDown(1) then
Audio.Seek(CHANNEL_USER1, SEEK_SPECIFIC, e_Pos);
end

وهكذا بعد البحث و تشغيل سماع الاية سيظهر على يمين السلايدر طول الصوت و على يساره رقم متغيير لتقدم قراءة الاية

https://l.top4top.io/p_1552qj9t91.png

بالتوفيق

كينج نت
02-04-2020, 02:52 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

عبد الهادي بهاب
04-04-2020, 11:04 PM
السلام عليكم ورحمة الله وبركاته
لمتابعة لمشروع البحث في المصحف الشريف
اليوم مع خاصية جديدة وهي

تصديرالاية كصورة مع خلفية جميلة

https://c.top4top.io/p_1555sez973.png

يعني لما تبحث عن ما تريد ستجد زر جديد اضفناه في الاسفل سميناه ( تصدي الاية كصورة ) و طبعا سميه كما تريد في تعديلك
و الغرض منه الحصول على نتيجة جميلة للبحث و اماكنية رفعه كصورة على المواقع و التواصل الاجتماعي
برمجيا استخدمنا اضافة capture
و مجموعة 20 صور تكون خلفية للاية
في زر التقاط الصورة نضع زر
myDocsFolder = Shell.GetFolder(SHF_MYDOCUMENTS);
Folder.Create(myDocsFolder.."\\New");
ppw = Image.GetPos("ArrierPlan");
w = Image.GetSize("ArrierPlan").Width;
h = Image.GetSize("ArrierPlan").Height;
Capture.WindoRgion(Raya.."-"..Rsora, myDocsFolder.."\\New", ppw.X, ppw.Y, w, h, IMAGE_PNG);
File.Open(myDocsFolder.."\\New\\"..Raya.."-"..Rsora..".png", "", SW_SHOWNORMAL);

يمكن تحريك الكتابة لوضعها اين تريد والكود في MoussMove في احداث الصفحة
ايضا فيه زر لتغيير لون الخط و قد استعملنا ملف dll خاص باظهارمربع الوان

result = DLL.CallFunction("AutoPlay\\Docs\\CHCOLOR.DLL", "SelectColor", ",\"FFFFFF\",\"HEX\",\"192;;192;;192\",\"FALSE\"", DLL_RETURN_TYPE_STRING, DLL_CALL_STDCALL)
result = tonumber(String.TrimLeft(String.Left(result, String.Find(result, "::", 1, false)-1), "#"),16);
Paragraph.SetProperties("Paragraph1", {ColorNormal = (result)})

لشرح صفحة التقاط الصورة
https://h.top4top.io/p_15551o55z1.png

ستكون الصورة في ملف new في المستندات
https://a.top4top.io/p_1555uhb251.png


الملف بعد تشغيله يكون كالتالي
https://d.top4top.io/p_1555rx7rw4.gif

الملف المفتوح المعدل
http://www.mediafire.com/file/es7icgao84uj4n0/serch_coran_Capture.apz/file


بالتوفيق

عبد الهادي بهاب
04-04-2020, 11:50 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

منون على ترك اثرك في الموضوع

عبد الهادي بهاب
04-04-2020, 11:55 PM
السلام عليكم ورحمة الله وبركاته
في موضوع تغيير لون الخط ممكن نستفيد من object يسمى Buttoncolor
لتحميل الاضافة من هنا
http://www.mediafire.com/file/f023s9trrwvw19w/ColorButton.rar/file

ضعها في objects في plugings في مسار البرنامج في البرامج

ثم ضع في On Selct
tblParaProps.ColorNormal = e_Color;
tblParaProps.ColorHighlight = e_Color;
tblParaProps.ColorDown = e_Color;
tblParaProps.ColorDisabled = e_Color;
Paragraph.SetProperties("Paragraph1", tblParaProps);

لتغيير الخط كليا

بالتوفيق

عبد الهادي بهاب
06-04-2020, 01:43 AM
السلام عليكم ورحمة الله وبركاته
مع خاصية جديدة وهي

اظهار الاية بلتشكيل او بدونه

https://d.top4top.io/p_15563oqoo1.png

ببساطة اضف زرين و سمي الاول اظخار التشكيل و الثاني دون تشكيل
نزرع في الزر الاول دون تشكيل

istibdalate={["ó"] = "",["ð"] = "",["õ"] = "",["ö"] = "",["ú"] = "",["ø"] = "",["ö"] = "",["ñ"] = ""}
Ntxt = string.gsub ( txt, ".",istibdalate);
Input.SetText("Input_Info_Display", Ntxt);

و في الاخر

Input.SetText("Input_Info_Display", txt);

بالتوفيق

عبد الهادي بهاب
06-04-2020, 04:45 PM
السلام عليكم ورحمة الله وبركاته
الان مع اضافة
خاصية تغيير الخط
في الصفحة الثانية الخاصة بالتقاط صورة للابة

نفعل الاضافة SysDialog

للتحميل من هنا
http://www.mediafire.com/file/5m7upaln8z2sfpb/SysDialog.rar/file

من اجل تغيير حجم و لون و نوع الخط للاية الظاهرة
نضع زر في الاسفل و نزرع فيه الكود التالي
local tFlags={}

tFlags.Bold=true
tFlags.Italic=false
tFlags.NoExtended=false
tFlags.StrikeOut=false
tFlags.Underline=false
tFlags.Color=Math.HexColorToNumber("000000")
tFlags.Scripe=Arabe


local tFont = SysDialog.Font("Traditional Arabic",22, tFlags);
if tFont then

tblParaProps = {};
tblParaProps.FontName = tFont.Font;
tblParaProps.FontSize = tFont.Size;
tblParaProps.FontWeight = FW_NORMAL;
tblParaProps.FontScript = ANSI_CHARSET;
tblParaProps.FontUnderline = tFont.Underline;
tblParaProps.FontStrikeout = tFont.StrikeOut;
tblParaProps.FontItalic = tFont.Italic;
tblParaProps.Cursor = CURSOR_HUND;
tblParaProps.ColorNormal =tFont.Color;
tblParaProps.ColorHighlight =tFont.Color;
tblParaProps.ColorDown = tFont.Color;
tblParaProps.ColorDisabled = tFont.Color;
Paragraph.SetProperties("Paragraph1",tblParaProps);
end

https://f.top4top.io/p_1557u7btc1.gif

بالتوفيق

عبد الهادي بهاب
07-04-2020, 03:33 AM
السلام عليكم ورحمة الله وبركاته
في خاصية جديدة او تعديل على الخاصية السابقة

نريد لما يضغط على البحث و تظهر نتائج البحث سيحدد النص المبحوث عنه في الاية
مثال

https://i.top4top.io/p_1557dbn1x1.png
بكل بساطةسنضيف في زر اظهار الاية دون تشكيل ما يلي في اسفل الموجود

cherh = string.gsub (Input.GetText("Input1"), ".",istibdalate);

find = String.Find(Ntxt, cherh, 1) ;
if find then
Input.SetSelection("Input_Info_Display", find, find + #ali);

end

ملاحظة لا يعمل الكود غي اظهار النص في الاية لما كون مشكلة
لان الحركات تعتبر ايضا احرفا لذلك فلن نستطيع تحديد النص الا اذا عدلنا الكود باحصاء الحركات المحذوفة
وسنعمل عليه لاحقا

عبد الهادي بهاب
09-04-2020, 03:27 AM
السلام عليكم ورحمة الله وبركاته
تتمة للمشروع القرآني ........اليوم مع خاصية جديدة في اضافة اللغات الى الموسوعة
سنضيف خاصية الترجمة الى الفرنسية و الانجليزية

اولا ننوه بالموقع الجميل
http://www.qurandatabase.org/
الذي يوفر قواعد بيانية للقران الكريم بكل اللغات بمختلف الصيغ

نزلت منه ترجمتين لفرنسية و الانجليزية بصيغة csv
طبعا ما يهمني غي الملف هو رقم السورة و رقم الاية و نصها و محيت الباقي
ثم حولتها الى db عن طريق تنزيل المحتوى الى غريد ثم تحويل الغريد الى db
عبر الكود التالي :

Grid.LoadFromFile("Grid1", "AutoPlay\\Docs\\cvb.csv", ";", true)

sDatabaseFile = _SourceFolder .. "\\AutoPlay\\Docs\\coranFR.db";
db = SQLite.Open("AutoPlay\\Docs\\coranFR.db");
SQLite.Query(db,"CREATE TABLE coran(Sora_Num , Aya_Num , Aya_text)");

for i = 1,Grid.GetRowCount("Grid1") do
is = Grid.GetCellText("Grid1", i, 0);
v = Grid.GetCellText("Grid1", i, 1);
p = Grid.GetCellText("Grid1", i, 2);

SQLite.Query(db,"insert into coran values('" .. is.."', '"..v.."', '"..p .."')");

end

لنتحصل على ترجمتين للقران الكريم بالفرنسي و الانجليزي
ارجو ان تكونا صحيحتين و الا فاي خطا يجب التنبيه اليه و مراسلة الموقع اعلاه

الان هنا تجد الملفين :
https://www.mediafire.com/file/fq25qpwexi9glfc/coran_fr_en.rar/file

ضعهما في ملف docs
ثم سنضيف زرين لاظهار الترجمة فرنسي او انجليزي
------------------
ممكنننزل اللغات المختلفة و نفس العملية نحولها بالكود السابق الى قواعد db
--------------------
الان شنيف هذا الشؤط في مجريات البحث اي كلما وجد الاية التي نبحث عنها بالعربي سنبحث عن رقمها و سورتها في قواعد الانجليزي و العربي

اينما وجدت listbox1 في كودالبحث الصق فوقه ما يلي

MonNumA = tonumber(s.Data[i]["Aya_Num"]) ; MonNumS = tonumber(s.Data[i]["Sora_Num"]);
for ifr,vfr in pairs(sFR.Data) do
if MonNumS == tonumber(sFR.Data[ifr]["Sora_Num"]) then
if MonNumA == tonumber(sFR.Data[ifr]["Aya_Num"]) then
FrAya[tol] = sFR.Data[ifr]["Aya_text"] ; end end end
------rn -----------
for ien,ven in pairs(sEN.Data) do
if MonNumS == tonumber(sEN.Data[ien]["Sora_Num"]) then
if MonNumA == tonumber(sEN.Data[ien]["Aya_Num"]) then
EnAya[tol] = sEN.Data[ien]["Aya_text"] ; end end end
----------------------

وهو سيسجل الايات بالفرنسي و العربي في مصفوفات و التي سنستدعيها في زري الترجمة

الان في زر الفرسية ضع
if tonumber(Rsora) == 1 and tonumber(Raya) == 1 then
txta = sFR.Data[1]["Aya_text"];
Input.SetText("Input_Info_Display", txta)
else
txta = FrAya[AudioAya] ;
Input.SetText("Input_Info_Display", txta)
end

ة في الانجليزي
if tonumber(Rsora) == 1 and tonumber(Raya) == 1 then
txtab = sEN.Data[1]["Aya_text"];
Input.SetText("Input_Info_Display", txtab)
else
txtab = EnAya[AudioAya] ;
Input.SetText("Input_Info_Display", txtab)
end

https://i.top4top.io/p_1559ksktz1.gif

الملف المفتوح للمشوع المعدل - اخر تحديث -


https://www.mediafire.com/file/5mqp23aemli3ahk/serch_coran__tra_fr_eng.apz/file
-------------------------

غريب يا فؤادي
10-04-2020, 12:10 AM
ماشاء الله
عمل جبااار
الله يبارك فيك ويجعلها في موازين حسناتك يارب ويرزقك الإخلاص لوجهه

عبد الهادي بهاب
10-04-2020, 03:03 AM
ماشاء الله
عمل جبااار
الله يبارك فيك ويجعلها في موازين حسناتك يارب ويرزقك الإخلاص لوجهه

السلام عليكم ورحمة الله وبركاته
ربي يتقبل منا و منكم سيدي الكريم
ارجو ان تستفيد من المشروع و تصدره عندك و تنشره تطبيقا بعدانتغيير الاشكال و الديزاين ..الخ
كما اتمنى ان تبلغني عن اي خطا ممكن او خطا في اية ممكن

غريب يا فؤادي
12-04-2020, 12:16 AM
السلام عليكم ورحمة الله وبركاته
ربي يتقبل منا و منكم سيدي الكريم
ارجو ان تستفيد من المشروع و تصدره عندك و تنشره تطبيقا بعدانتغيير الاشكال و الديزاين ..الخ
كما اتمنى ان تبلغني عن اي خطا ممكن او خطا في اية ممكن

بارك الله فيك
حقيقة وددت ان انشى المشروع من البداية
لكن فضلت أن احمل المشروع الجاهز الذي صممته أنت جزاك الله خير
حملت المشروع والاضافات
ولكن المشروع لا يعمل ووتظهر رسالة أنه يوجد خطأ بتفعيل الاضافة المسماة COLORBUTTON مع اني اضفتها مع الترخيص الخاص بها
Error: Plugin "C:\Program Files (x86)\AutoPlay Media Studio 8 Trial\Plugins\Objects\COLORBUTTON\COLORBUTTON.APO" is not licensed for re-distribution
أخي هل لديك مُعرف فيسبوك لأضيفك ؟

عبد الهادي بهاب
12-04-2020, 01:50 AM
بارك الله فيك
حقيقة وددت ان انشى المشروع من البداية
لكن فضلت أن احمل المشروع الجاهز الذي صممته أنت جزاك الله خير
حملت المشروع والاضافات
ولكن المشروع لا يعمل ووتظهر رسالة أنه يوجد خطأ بتفعيل الاضافة المسماة COLORBUTTON مع اني اضفتها مع الترخيص الخاص بها
Error: Plugin "C:\Program Files (x86)\AutoPlay Media Studio 8 Trial\Plugins\Objects\COLORBUTTON\COLORBUTTON.APO" is not licensed for re-distribution
أخي هل لديك مُعرف فيسبوك لأضيفك ؟

مرحبا بكم سيدي ...
ساعيد رفعها من جديد ..ضعها في مكانها قبل تشغيل البرنامج
https://top4top.io/downloadf-1562vdwt11-rar.html
-----------
ستضع الملف المعدل اليوم ان شاء الله بعد رفعه
متابعة طبية
-----------
في الفايس بوك هو نفسه اسمي عبد الهادي بهاب

عبد الهادي بهاب
13-04-2020, 12:43 PM
السلام عليكم ورحمة الله وبركاته

مواصلة للمشروع سنضيف جملة من الخاصيات منها :
-استعراض السور و قراءتها
- البحث باعتبار التشكيل
- البحث باهمال همزة الالف

اضفنا صفحة الاستقبال
https://i.top4top.io/p_1564b63mn3.png

صفحة استعراض السور
https://k.top4top.io/p_1564y8yy51.png

صفحة البحث
https://h.top4top.io/p_15649d15b2.png

قمنا بتعديل قواعد البيانات .... تصحيح بعض الاخطاء فيها
--------------
الشكل النهائي لحد الان
https://a.top4top.io/p_1564bc0nx1.gif
---------
ملاحظة : يجب وضع الملف الصوتي للقران باسم quran في ملف Audio

الملف المعدل للمشروع
http://www.mediafire.com/file/k97adxsatpokemf/serch_coran_Lecture.apz/file


ارجو ابلاغنا عن اي خطأ

عبد الهادي بهاب
14-04-2020, 01:57 AM
السلام عليكم ورحمة الله وبركاته
مواصلة للمشروع اليوم قمنا ببعض الاصلاحات في الاكواد السابقة و الاخطاء
و اضفنا خاصية جميلة جدا وهي

التفسير الميسر المختصر لبعض كلمات القران

انوه بمشاركة الاستاذ السعيد الجزائري في توفير نسخة التفسير المختصر
ونذكر بطلبنا للتفاسير الاخرى بصيغة csv او اكسل

المشروع بعد اضافة كود البحث في التفسير

https://b.top4top.io/p_1564jnwac1.png

https://c.top4top.io/p_1564ywd4l2.png

الملف المعدل للمشروع
https://www.mediafire.com/file/xhqwwgenszjcr1i/serch_coran__FR_En_Capture_Lectur_Tafsir.apz/file


بالتوفيق

عبد الهادي بهاب
14-04-2020, 02:38 AM
السلام عليكم ورحمة الله وبركاته

من اجل ايجاد احصائيات حول عدد كلمات و عدد حروف و ايات القران
نضع هذا الكود في زر و انبوت لاظهار النتائج و نتحصل على التالي
-----------------
عدد الايات 6204
عدد الكلمات 77384
عدد الحروف 605646
----------------------

db = SQLite.Open("AutoPlay\\Docs\\coran.db");
s= SQLite.QueryToTable(db, "select * from coran");

Progress.SetRange("Progress1", 0, #s.Data);
x=0; y=0; g=0;
for i,v in pairs(s.Data) do
m = s.Data[i]["Aya_text"];
for wo in string.gmatch(m, "%S+") do
x=x+1;
if wo ~= " " then y = y + #wo ; end
end
g=i;
Progress.SetCurrentPos("Progress1", i);
end

Dial ="ÚÏÏ ÇáÇíÇÊ "..g .."\r\n".."ÚÏÏ ÇáßáãÇÊ "..x.."\r\n".."ÚÏÏ ÇáÍÑæÝ "..y ;
Input.SetText("Input1", Dial)



شكرا على المتابعة

عبد الهادي بهاب
14-04-2020, 03:11 AM
السلام عليكم ورحمة الله وبركاته
اما اذا اردنا احصاء تكرار كل حرف لوحده في القران
- حسب قاعدة بيانات-
نضع هذا الكود
db = SQLite.Open("AutoPlay\\Docs\\coran.db");
s= SQLite.QueryToTable(db, "select * from coran");

let = {"Ã", "È", "Ê","Ë", "Ì" ,"Í","Î","Ï","Ð","Ñ","Ò","Ó"," Õ","Ö","Ø","Ù","Ú","Û","Ý","Þ","ß","á","ä","åÜ","æ","í"};

Progress.SetRange("Progress1", 0, #s.Data);
res="";
for i,v in pairs(s.Data) do
m = s.Data[i]["Aya_text"]; w=0;
for p,lettre in pairs(let) do
x=1;
repeat
find = String.Find(m, lettre, x);
if find ~= -1 then w=w+1;end x=x+1;
until find ==-1
res = res .."Nombre "..lettre .." is " ..w .."\r\n"
end
Progress.SetCurrentPos("Progress1", i);
end

Dialog.Message("",res);



الحروف الغير ظاهرة خي احرف العربية

غريب يا فؤادي
17-04-2020, 12:50 AM
مرحبا بكم سيدي ...
ساعيد رفعها من جديد ..ضعها في مكانها قبل تشغيل البرنامج
https://top4top.io/downloadf-1562vdwt11-rar.html
-----------
ستضع الملف المعدل اليوم ان شاء الله بعد رفعه
متابعة طبية
-----------
في الفايس بوك هو نفسه اسمي عبد الهادي بهاب

للأسف حملت الاكشن ونفس المشكلة

من فضلك ارسل رابط حساب الفيس على الخاص

عبد الهادي بهاب
18-04-2020, 02:15 AM
السلام عليكم ورحمة الله وبركاته

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

اكتشفوها انتم
https://d.top4top.io/p_15681u6cz3.png

https://c.top4top.io/p_1568pyu6g2.png

https://b.top4top.io/p_1568kw54o1.png

من خلال الملف المفتوح
http://www.mediafire.com/file/4sfti4sl05y9s05/serch_coran_Avance.apz/file

طبعا ننتظر تعديلاتكم و افكاركم

عبد الهادي بهاب
26-04-2020, 05:31 PM
السلام عليكم ورحمة الله وبركاته
دائما مستمرون في المشروع
اليوم سنستغل مجموعة من الدوال التي نحتاجها في الاحصائيات منها

دالة استخراج عدد حروف الكلمة

String.Length(txt)

دالة استخراج اللكمات في جملة او نص


xd="";q=1; TWord={};
for w in string.gmatch (m,"[^%s]+") do
xd=xd.." "..w;
TWord[q]=w;
q=q+1;
end


دالة لترتيب الغريد نصوصا


Grid.SortTextItems("Grid1", 8, true, true)


غير true الى false للترتيب التصاعدي و التنازلي

اما الترتيب العددي للغريد فاستعملنا موضوعا للاستاذ ثامر
http://www.abc4web.net/vb/showthread.php?t=29167

استعملنا كود الاستدبالات في الحركات و التشكيل في الايات
http://www.abc4web.net/vb/showthread.php?t=35217

من اجل ان يظهر الغريد من اليمين الى اليسار استعملنا اضافة للاخ النصل القاطع
http://www.abc4web.net/vb/showthread.php?t=29173

تصدير الاوتوبلاي الى ايسكل
http://www.abc4web.net/vb/showthread.php?t=32672

في انتظار الاطلاع على المواضيع

عبد الهادي بهاب
27-04-2020, 08:40 PM
آخر تحديثات المشروع

https://www.youtube.com/watch?v=YFnYpqx9mEc&feature=youtu.be

يجب تحميل الاضافات ه\ه :

luacom
Capture
Clipboard
COLORBUTTON
Grid_arabic



كل ما تقدم في الموضوع السابق جمعته هنا
الملف المفتوح لتعديلاتكم و انتاجاتكم

https://www.mediafire.com/file/pi7xspqllkcxscj/serch_coran_sastiques.apz/file

بالتوفيق

عبد الهادي بهاب
29-04-2020, 02:53 AM
السلام عليكم ورحمة الله وبركاته
في صفحة احصائيات السور ممكن نضسف خاصية جديدة جميلة تنقع لمن يهتم بامر الاحصاء العددي في القران
وهي كم تكررت كلمة مافي السور كلها
يعني مثلا كم تكررت كلمة ( الله ) في القران
ملاحظة : اذا اردتها مستقلة يجب تضيف مسافة من الامام و من الخلف و الا فسيعتبرها البرنامج جدر كلمة من مثلا ( اللهم - تالله - بالله ..) و كلها موجودة

اضف انبوت لكتابة الكلمة و نسميه InpSerch و نضيف عنصر اختيار radioButton و ازع فيه الكود التالي :

Nmos = Input.GetText("InpSerch");
NewStr = ""
for i = 1,#Nmos do char = String.Mid(Nmos, i, 1); asc = String.Asc(char);
if asc<240 then NewStr = NewStr..char end end Nmos = NewStr;

txt = " ÓæÑ ÊÍÊæí Úáì ßáãÉ "..Nmos;
Paragraph.SetText("Paragraph1", txt)
Grid.SetProperties("Grid1", {Rows=115});
Grid.SetColumnWidth("Grid1", 4, 140)
for d=5,9 do
Grid.SetColumnWidth("Grid1", d, 0)
end
Grid.SetCellText("Grid1", 0, 4, " ßáãÉ "..Nmos);
Label.SetText("Label1", 0);
for i=1,114 do
Grid.SetRowHeight("Grid1", i, 23);
end
for i=1,Grid.GetRowCount("Grid1") do for p=1,9 do
Grid.SetCellText("Grid1", i, p, "")
end end

tot=0;
----------------------ÍÓÈ Ãæá
for sels=1,114 do
db = SQLite.Open("AutoPlay\\db\\"..sels..".db");
s= SQLite.QueryToTable(db, "select * from coran");
Progress.SetRange("Progress1", 0, #s.Data);
Progress.SetCurrentPos("Progress1", 0);
--------
nom=0;
for i,v in pairs(s.Data) do
m = s.Data[i]["Aya_text"];
NewStr = "" ;for i = 1,#m do char = String.Mid(m, i, 1); asc = String.Asc(char);
if asc<240 then NewStr = NewStr..char end end mol = NewStr;
--------
repeat
g = String.Find(mol, Nmos, 1);
if g~=-1 then nom = nom+1; end
mol = String.Replace(mol,String.Mid(mol, 1, g),"");
until g == -1
Progress.SetCurrentPos("Progress1", i);
end
Grid.SetCellText("Grid1", sels, 1 ,sels);
Grid.SetCellText("Grid1", sels, 2 ,ordre[sels]);
Grid.SetCellText("Grid1", sels, 3, sels);
Grid.SetCellText("Grid1", sels, 4, nom);
tot=tot+nom ; Label.SetText("Label1", tot) ;
Grid.SetCellText("Grid1", 0, 4, " ßáãÉ "..Nmos.." : "..tot);
end
------------------------



مثلا لما نبحث عن كلمة (موسى ) ستظهر النتائج كالتالي
https://j.top4top.io/p_1579r1i1l1.png

بالتوفيق

عبد الهادي بهاب
03-05-2020, 03:34 AM
السلام عليكم

مواصلة للمشروع القرآني

اليوم سنقوم ببعض التحديثات و التصحيحات

اولا سنستغني عن مجموعة اضافات ممكن نستغني عنها و هي التصوير capture
ونعوضها ببرنامج مرفق مع المجموعة و هو خاص بالتصوير
IObit_ScreenShot
وهو فعال جدا وعملي و اكثر
https://u.damasgate.com/001a/12020/qgwv8yc270o3njkwl291.png

خاصية الخط
عوضنا اضافة sysdialog
بكومبوكس للخطوط التي نستخدمها للقرآن الكريم
اخترنا منها
Al-QuranAlKareem
Al_Mushaf
Traditional Arabic
AL-Qairwan
KFGQPC Uthman Taha Naskh
FS_Diwany
Maghribi Assile
Samir_Khouaja_Maghribi
arabswell_1
وهي موجودة في ملف سميناه Fonts في ملفات المشروع
وقد وضعنا كود لتحميل الخطوط من البرنامج الى ملف الخطوط الخاص بجهازكم

و الكود في onstartup
fonts_path = Shell.GetFolder(SHF_FONTS);

fonts = File.Find(_SourceFolder.."\\AutoPlay\\Fonts\\", "*.*", true, true, nil, nil);
if fonts then
for x,y in pairs (fonts) do
File.Copy(y, fonts_path, false, false, false, true);
end
end

الان مع الاضافة الاخرى وهي الاحصائيات المتعلقة
بتكرار كلمة ما في السورو اظهار مشتقاتها
لما نبحث مثلا عن كلمة (عمر) فممكن نجده في عمرة يعمر
لذلك غيرنا في الكود ليحصي كل الكلمات التي تحتوي على الكلمة الملوبة او بما يسمى الجذر
فيه كود للاستاذ ثامر ابو بلقيس حفظه الله و نحن نشاركه الاجر بالمناسبة لحذف العناصر المتشابهة
مثلا
mopick = {"gh","kl","gh","sd","er","gh","vb","sd","uo","gh"}
g="";
flags = {};
for i=1,table.getn(mopick) do
if not flags[mopick[i]] then
io.write(' ' .. mopick[i]) ;
flags[mopick[i]] = true
g=g..mopick[i].."\r\n"
end
end

Dialog.Message("",g);

لاحظ الصورة في نتائج البحث
https://u.damasgate.com/001a/12020/8outd3bebmgufyvt6uym.png

مع الخاصية الاخرى وهي
تصدير نتائج البحث اما الى ملف وورد word او ملف اكسل excel
من اجل الوورد حولنا نتائج الجدول الى كود html
ثم حفظناه في ملف وورد عبر الكود التالي
Test = Paragraph.GetText("Paragraph1")

local strHTMLData = "<html><body><h1>"..Test.."</h1>";
strHTMLData = strHTMLData.."<table width=100% border=1>";


for i=0,Grid.GetRowCount("Grid1") do
strHTMLData = strHTMLData.."<tr>";

for p=1,Grid.GetColumnCount("Grid1") do
txt = Grid.GetCellText("Grid1", i, p);
strHTMLData = strHTMLData.."<td>";
strHTMLData = strHTMLData..txt;
strHTMLData = strHTMLData.."</td>";
end

strHTMLData = strHTMLData.."</tr>";
end
strHTMLData = strHTMLData.."</table>";
strHTMLData = strHTMLData.."</html></body>";

-- Save the file...
local strFN = _TempFolder.."\\test.htm";
TextFile.WriteFromString(strFN,strHTMLData);
TextFile.WriteFromString(Shell.GetFolder(SHF_MYDOC UMENTS).."\\"..Test..".doc" ,strHTMLData);
File.Open(Shell.GetFolder(SHF_MYDOCUMENTS).."\\"..Test..".doc", "", SW_SHOWNORMAL);



اما من اجل الاكسل و من اجل السرعة استعملنا اضافة excel
grid = Page.GetObjectType("Grid1");
result = Excel.ExportToExcel(grid, "Grid1", 1, 65535, 16776960);


الاضافات المطلوبة
gridArabic
excel
sqlt

المشروع بعد التحديثات الاخيرة
https://www.mediafire.com/file/fyse196j33zh8c1/serch_coran_actualise_352020.apz/file


بالتوفيق

عبد الهادي بهاب
03-05-2020, 08:32 PM
السلام عليكم ورحمة الله وبركاته
خاصية جديدة
كم تكررت الكلمة في السورة بالتفصيل

إثناء البحث عن تكرار كلمة ما في القران سيجدها متضمنة في كلمات اخرى مثلا
كلمة (لله) ممكن تكون في الله - اللهو - يضلله - تالله - بالله ....
فالخاصية ستظهر اين وجدنا الكلمة (الجذر ) و كم تكررت في السورة
فمثلا من اجل كلمة (لله)
ستظهرالنتائج كالاتي
https://i.top4top.io/p_15843fv6l1.png

بالنسبة لكلمة (عمر) النتائج كالاتي
https://j.top4top.io/p_1584ie7aj2.png
---------------------
برمجيا اعتمدنا على كود حساب تكرار عنصر ما في مصفوفة وهو الاتي
p = {"Úáí","ÇáÇÁ","Úáí","ÎáæÏ","Úáí","ÎáæÏ","ÇáÇÁ","Úáí","ÇáÇÁ","ÎáæÏ"}

function tally(t)
local freq = {} ;
for _, v in ipairs(t) do
freq[v] = (freq[v] or 0) + 1 ;
end
return freq
end

function dump(t)
g="";
for k,v in pairs(t) do
g=g.."("..k.."-"..v..")".."\r\n";
end
end

dump(tally(p))

Dialog.Message("",g)

--------------------
المطلوب في الملف السابق عوض الكود الموجود في radiobutton الخاص بسور تحتوي على كلمة بالتالي
Nmos = Input.GetText("InpSerch");
NewStr = ""
for i = 1,#Nmos do char = String.Mid(Nmos, i, 1); asc = String.Asc(char);
if asc<240 then NewStr = NewStr..char end end Nmos = NewStr;

txt = " سور تحتوي على كلمة "..Nmos;
Paragraph.SetText("Paragraph1", txt)
Grid.SetProperties("Grid1", {Rows=115});
Grid.SetColumnWidth("Grid1", 4, 90)
Grid.SetColumnWidth("Grid1", 5, 140)
Grid.SetColumnWidth("Grid1", 6, 240)

for d=7,9 do
Grid.SetColumnWidth("Grid1", d, 0)
end
Grid.SetCellText("Grid1", 0, 4, " كلمة "..Nmos);
Grid.SetCellText("Grid1", 0, 5, " الكلمات المصدر");
Grid.SetCellText("Grid1", 0, 6, "تكرار الكلمات");
Label.SetText("Label1", 0);
for i=1,114 do
Grid.SetRowHeight("Grid1", i, 23);
end
for i=1,Grid.GetRowCount("Grid1") do for p=1,9 do
Grid.SetCellText("Grid1", i, p, "")
end end

tot=0; gh=1;
----------------------Íسب أول
for sels=1,114 do
db = SQLite.Open("AutoPlay\\db\\"..sels..".db");
s= SQLite.QueryToTable(db, "select * from coran");
Progress.SetRange("Progress1", 0, #s.Data);
Progress.SetCurrentPos("Progress1", 0);
--------
nom=0;
mopick={};c=1;
for i,v in pairs(s.Data) do
m = s.Data[i]["Aya_text"];
NewStr = "" ;for i = 1,#m do char = String.Mid(m, i, 1); asc = String.Asc(char);
if asc<240 then NewStr = NewStr..char end end mol = NewStr;
istibAlif={["أ"] = "ا",["إ"] = "ا",["آ"] = "ا"}
mol = string.gsub (mol, ".",istibAlif);
q=1; TWord={}; for w in string.gmatch (mol,"[^%s]+") do TWord[q]=w; q=q+1;end
for b,mk in pairs(TWord) do
g = String.Find(mk, Nmos, 1);
if g ~=-1 then nom = nom+1; mopick[c]=mk;c=c+1; end
end
Progress.SetCurrentPos("Progress1", i);
end
-------rep---
ggg=""; flags = {}; mopick2 = mopick ;
for i=1,table.getn(mopick) do if not flags[mopick[i]] then
io.write(' ' .. mopick[i]) ; flags[mopick[i]] = true
ggg=ggg.." - "..mopick[i] ;end end
----cal rep-----
function tally(t)
local freq = {} ; for _, v in ipairs(t) do freq[v] = (freq[v] or 0) + 1 ; end return freq end
function dump(t)
gc=""; for k,v in pairs(t) do gc=gc.."- ".." ("..k.."-"..v..") ".."\r\n"; end end
dump(tally(mopick2))
----------------------
if nom ~= 0 then
Grid.SetCellText("Grid1", gh, 1 ,gh);
Grid.SetCellText("Grid1", gh, 2 ,ordre[sels]);
Grid.SetCellText("Grid1", gh, 3, sels);
Grid.SetCellText("Grid1", gh, 4, nom);
Grid.SetCellText("Grid1", gh, 5, ggg);
Grid.SetCellText("Grid1", gh, 6, gc);

tot=tot+nom ; Label.SetText("Label1", tot) ;
Grid.SetCellText("Grid1", 0, 4, " كلمة "..Nmos.." : "..tot);
gh=gh+1;
end
end
------------------------

بالتوفيق

عبد الهادي بهاب
07-05-2020, 03:31 AM
اخر التحديثات

https://www.mediafire.com/file/ryaip4hxud5mp6k/serch_coran___stas_ayyetees.apz/file

سنشرح لاحقا

عبد الهادي بهاب
17-05-2020, 11:31 PM
السلام عليكم ورحمة الله وبركاته
كيف حال الاخوة المتابعين ؟
اكبر تحد هو ايجاد تفاسير بصيغة csv او db
لادامجها في المشروع
ما افعله الان هو تحميل كل البرامج التي صممت في مجال القران
و محاولة الحصول على افكار منها
و من يملك قواعد بيانات للتفاسير يضعه في الموضوع
شكرا

عبد الهادي بهاب
18-05-2020, 12:08 AM
السلام عليكم ورحمة الله وبركاته

اليوم ساضع ملف مستقل عن المشروع ثم سندمجه لاحقا بالكل
------------
الخاصية هي البحث السريع عن كلمة معينة و عرض كل الايات
لتحقيق ذلك يجب ان نوجد قاعدة بيانات فيها كل كلمات القران و قاعدة بياناات للمصحف الشريف
الملف بصيغة CSV وهو موجود في النت
https://www.mediafire.com/file/mmnrjfoys5t6khy/Quran_Words.xls/file
حولناها الى قاعدة بيانات DB


الان عندنا صفحة واحدة نضع فيها انبوت كلما كتبا حرف سيبحث مباشرة في الكلمات التي تبدا باحرف و كلما زدت حرفا اظهر نتائج و حددنا المجموع ب 15 للسرعة و ممكن تعدل فيها
ازرع الكود التالي في ONCHAR في الانوبت
dbw = SQLite.Open("AutoPlay\\Docs\\coranWo.db");
sw= SQLite.QueryToTable(dbw, "select * from coran");
ListBox.DeleteItem("ListBox1", LB_ALLITEMS)
d=1;
txt = Input.GetText("Input1")
Htchkil(txt) ; txt=moth;
if txt ~= " " then
for i,v in pairs(sw.Data) do
m = sw.Data[i]["Mot"]; Htchkil(m) ; m=moth;
if String.Mid(m,1, #txt) == txt then
if d<15 then ListBox.AddItem("ListBox1", m, ""); d=d+1 ;end
end
end
end




الان سيقوم الانبوت بعرض النتائج في ليسبوكس
في الليسبوكس سيقوم بالبحث و وضع النتائج ضمن عنصر ويب


tol=1;
db = SQLite.Open("AutoPlay\\Docs\\coranAR.db");
s= SQLite.QueryToTable(db, "select * from coran");

---------------N
asma = ListBox.GetSelected(this)
if (asma) then
ass = ListBox.GetItemText(this, asma[1]);
Name = "ÇáÈÍË Úä ßáãÉ ".. " _ "..ass ;
------------------
strielhadi="";
lien ="file:///C:/1.jpg"
lien2 ="file:///C:/2.png"
------------------
for i,v in pairs(s.Data) do
mas = s.Data[i]["Aya_text"];
Htchkil(mas); ms = moth;
---------------------------------------------------------
g = String.Find(ms,ass, 1, false);
if g~= -1 then
-----------------------------------------------------------
Raya = String.ToNumber(s.Data[i]["Aya_Num"]);
Tsora = s.Data[i]["Sora_text"];
txtz = s.Data[i]["Num_Joz"] ;
txth = s.Data[i]["Num_Hiz"] ;
txtr = s.Data[i]["Num_rob"] ;
----------
strielhadi = strielhadi.."<img src="..lien2.." width=600 height=40>";
strielhadi = strielhadi.."<p>&nbsp;</p>"

-----------

strT = " [ ".. mas .." ]".."<p>&nbsp;</p>"
txtjhr = " ÓæÑÉ "..Tsora.."--".." ÇáÂíÉ ÑÞã "..Raya.."(-***-)".." ÇáÌÒÁ "..txtz.."--".." ÇáÍÒÈ "..txth.."--".." ÇáÑÈÚ "..txtr;
strText ="<p><font color="..Mycolor2.." size ="..FonteZ2.." face="..fontSc2.."><strong>"..txtjhr.."</strong></font></p>"
strT = strT ..strText
strText ="<p style=text-align=right ><font color="..Mycolor.." size ="..FonteZ.." face="..fontSc..">"..strT.."</font></p>"
strielhadi = strielhadi..strText;

---------------------- ----------------------
tol=tol+1;
end
end
-------------------------------------------


----------------------------------------
tol = tol-1
img = "<BODY BACKGROUND="..lien.."></BODY>"
local strHTMLData = "<html><head></head>"..img.."<body style=text-align=center ><h1 style=text-align=center style=background-color=yellow ><font size=15 face="..fontSc2.." >"..Name.."</font></h1>"
--------------------
strHTMLData = strHTMLData.."<p><font color="..Mycolor3.." size ="..FonteZ3.." face="..fontSc3.." ><strong>".."ÇáäÊíÌÉ "..": "..tol.."</strong></font></p>"

strHTMLData = strHTMLData..strielhadi;
strHTMLData = strHTMLData.."</html></body>";

--Save the file...
local strFN = _TempFolder.."\\test.htm";
TextFile.WriteFromString(strFN,strHTMLData);
Web.LoadURL("Web1",strFN);
TextFile.WriteFromString(_TempFolder.."\\"..Name..".doc",strHTMLData);
end

----------------------------
سيظهر النتائج في عنصر ويب

وجب الاشارة يجب ان تقوم بوضوع الصور في C/
و سيمها 1
https://i.top4top.io/p_1598qyzrf1.jpg

و الوصرة الثانية
https://h.top4top.io/p_159880lsy2.png
و سيمها 2

وجب تثبيت الخط "Al-QuranAlKareem"

------------------------------
https://d.top4top.io/p_15989osot1.gif

الان مع الملف المفتوح للبحث السريع في القران

https://www.mediafire.com/file/iy0e5flyc7c20kw/qURAN_EXPRESS.apz/file

بالتوفيق

عبد الهادي بهاب
21-05-2020, 11:47 AM
السلام عليكم ورحمة الله وبركاته

تم اضافة تفسير البغوي للمجموعة

ضع الملف التالي في ملف docs
https://www.mediafire.com/file/3z92iqsyjsr8djr/coranBag.db/file

الان في صفحة البحث المتقدم

اذهب الى الكومبوكس الخاص بالتفاسير
اضف عنصرا جديدا سميه ( تفسير البغوي ) و في data اكتب (coranBag)
https://j.top4top.io/p_16024yoqh1.png
الان في كود الكومبوكس في onselect
في السطر 15
نضيف شرطا جديد وهو اذا تعامل مع السطر الرابع وهو تفسير البغوي فالتفسير موجود في العمود (Tafsir)
يصبح الكود الكلي لسكريبت الكومبوكس التفسير

elhadi="";
mop = ComboBox.GetSelected(this)
TfsirDb = ComboBox.GetItemData(this, mop);
---------------
--------
db = SQLite.Open("AutoPlay\\Docs\\"..TfsirDb..".db");
s= SQLite.QueryToTable(db, "select * from coran");
------------------
MonNumS = Grid.GetCellText("Grid1", AudioAya, 3, Rsora);
MonNumA = Grid.GetCellText("Grid1", AudioAya, 6, Raya);
for r,vr in pairs(s.Data) do
if MonNumS == s.Data[r]["Sora_Num"] then
if MonNumA == s.Data[r]["Aya_Num"] then
------------------------------
if mop == 1 or mop == 4 then
txte = s.Data[r]["Tafsir"] ;

elseif mop == 2 then
txte = s.Data[r]["Aya_Tafsir"] ;

elseif mop == 3 then
elhadi = elhadi .. s.Data[r]["Aya_mot"].." : " ..s.Data[r]["Aya_tafsir"] .."\r\n";
txte = elhadi;
end
end
end
end


Input.SetText("Input_Info_Display", txte)

عبد الهادي بهاب
23-05-2020, 03:33 AM
السلام عليكم ورحمة الله وبركاته

مواصلة للمشروع نضيف خاصية جديدة و هي
البحث في موضوعات معينة
وجدت موقعا جميلا و منه انطلقنا احتصارا للجهد
http://quranbysubject.com/categories.php

لكن ساضع للاخوة مثالا فقط و الباقي عليكم
وهو نجمع الايات في ملف تكست بحيث نضع فيه رقم السورة - مسافة - رقم الاية
وان اكنت مجموعة ايات فنضع رقم السورة - مسافة - رقم الاية الاولى _رقم الاية الاخيرة
مثال : موضوع القصاص سنجد البقرة 179 ------------نكتب في التكست 2 179
النساء من 13 الى 18 فنكتب في ملف التكست 4 13_15
وهكذا سيظهر على هذاالشكل
https://k.top4top.io/p_1603rmjop1.png

الان في الصفحة نضع كومبوكس و سنكتب فيه المواضيع مثلا عندنا ثلاثة مواضيع
العدل
طاعة الله
القصاص
https://d.top4top.io/p_1603kdfgi1.png
لكل موضوع ترتيبه في الكومبوكس وهو نفسه اسمه في مجلد نسميه مثلا Maodoat
بهذا الشكل
https://k.top4top.io/p_16034f4b01.png

الان عندنا صفحة جديدة فيه غريد و فيها كومبوكس
نزرع فيه الكود التالي
for i=1,k do
for p=1,9 do
Grid.SetCellText("Grid1", i, p, "");
end end

Nth = ComboBox.GetSelected("ComboBox1");
titre = ComboBox.GetItemText("ComboBox1", Nth)

txt = "آيات تتعلق بـ" .." " ..titre ;
Paragraph.SetText("Paragraph1", txt) ;

sajda = TextFile.ReadToTable("AutoPlay\\Maodoat\\"..Nth..".txt");
ghSora={}; ghAya={};q=1; k=1;
for c,v in pairs (sajda) do
x=1;gh={};
for w in string.gmatch(v,"[%S^]+") do gh[x] = w ; x=x+1; end
-----------
ghSora[q] = gh[1];
aya = gh[2];
find = String.Find(aya,"_",1);
if find ~= -1 then
a1 = tonumber(String.Mid(aya,1,find-1));
a2 = tonumber(String.Mid(aya,find+1,#aya-find));
for omi=a1,a2 do
ghSora[q] = gh[1];
ghAya[q] = omi;
q=q+1
end

else
ghAya[q] = aya; q=q+1
end
end


k=1;

db = SQLite.Open("AutoPlay\\Docs\\coranAR.db");
s= SQLite.QueryToTable(db, "select * from coran");


for i,v in pairs(s.Data) do
-----------------------------------------------
for rr =1, #ghSora do
---repeat
if s.Data[i]["Sora_Num"] == "".. ghSora[rr] then
if s.Data[i]["Aya_Num"] == "".. ghAya[rr] then
m = s.Data[i]["Aya_text"];
sora = s.Data[i]["Sora_text"];
Grid.SetRowCount("Grid1", k+2)
Grid.Refresh("Grid1")
Grid.SetCellText("Grid1", k, 1, k);
Grid.SetCellText("Grid1", k, 2 ,sora);
Grid.SetCellText("Grid1", k, 3, ghSora[rr]);
Grid.SetCellText("Grid1", k, 4, ghAya[rr]);
Grid.SetCellText("Grid1", k, 5, m);
k=k+1
end end end
----rr=rr+1;
---until rr > #ghSora
------------------
end

Grid.SetSelectedRange("Grid1", 1, 1, 1, 9, true)


سيقوم بمقارنة رقم السطر من الكومبوكس ويستدعي محتوى التكست الذي يحمل نفس الرقم
سيفكك كل سطر فيه الى سورة و رقم الاية و اذا وجد علامة ( _ ) يعني ان فيه اكثر من اية فيقوم باستدعاء كل الايات التي تبدا من اول رقم الى اخر رقم
ثم يظهر النتائج بكل سرعة في الغريد

مثال عندما نبحث في موضوع العدل
https://f.top4top.io/p_1603gxzyj1.png

لاحظ جيدا استدعاء الايات اما فريدة او ضمن مجال معين

------------------
ما العمل : انت تبحث و تصنع قاعدة خاصة بك
يعني مثلا ابحث في موضوع ميقات الساعة : ضع ملف سميه 4 و في السكر 4 في الكومبوكس اضف تسمية جديدة ( ميقات الساعة )
انشئ ملف تكست سميه 4 و فيه : الاعراف من 186 الى 187 اي تضع رقم سورة الاعرف وهو 7 ثم مسافة ثم 186_187
الشورى الاية 18 اي نكتب في التكست 42 18
------------------
خاصية جديدة البحث في كلمات موضوع معين

الان فيه طريقة اخرى للموضوعات وهو ان بعض الموضوعات كالاعداد و المعارك و الفواكه تحتوي على الكثير من الجزئيات
العمل هو التالي :
نضيف كومبوكس جديد نضغ فيه الموضوعات هذه
ارقام - الاسماء الحسنى - الفاوكه +- معارك .................الخ
مثال :
https://j.top4top.io/p_16036rc2w1.png

الان سنش مجلد ذاخل docs و نسميه theme نضع فيه ملفات تكست دائما مرقمة حسب ترتيبها في الكومبوكس اي ارقام ......ملف رقم واحد نضع فيه كل الكلمات التي تناولها القران عن الارقام والاعداد وهذا يسير ببحث في الانترنت ستجد مواضيع و احصائيات حول ذلك
مثال العنصر الاول من كومبوكس هو الارقام سيذهب الى مجلد theme و سيبحث عن ملف رقمه 1
https://f.top4top.io/p_16038gkp81.png

الان داخل الكوموكس نضع كود يستدعي محتوى التكست في ليسبوكس
Paragraph.SetText("time","")

Ntheme = ComboBox.GetSelected("ComboBox5");
titre = ComboBox.GetItemText("ComboBox5", Ntheme)

txt = "آيات تتعلق بـ " .." " ..titre ;
Paragraph.SetText("Paragraph1", txt) ;
liste = TextFile.ReadToTable("AutoPlay\\Docs\\theme\\"..Ntheme..".txt")
ListBox.DeleteItem("ListBox1", LB_ALLITEMS)
for i,v in pairs(liste) do
ListBox.AddItem("ListBox1", v, "")
end


الان ستظهر كلمات اي محتوى التكست في اليسبوكس سنبحث عنها في القران و نظهر النتائج في الغريد
اذن نزرع في اليسبوكس الكود التالي :
for i=1,k do
for p=1,9 do
Grid.SetCellText("Grid1", i, p, "");
end end


sel = ListBox.GetSelected("ListBox1");
word = ListBox.GetItemText("ListBox1", sel[1]);
Htchkil(word) ;Wword = moth ;

db = SQLite.Open("AutoPlay\\Docs\\coranAR.db");
s= SQLite.QueryToTable(db, "select * from coran");
k=1;
for i,v in pairs(s.Data) do
m = s.Data[i]["Aya_text"];
---------------------------------------------------------
Htchkil(m) ;mp = moth ;
----------------------------------------------------------
g = String.Find(mp,Wword, 1, false);
if g~= -1 then
Raya = s.Data[i]["Aya_Num"];
Rsora = s.Data[i]["Sora_Num"];
txtSor = s.Data[i]["Sora_text"] ;
Grid.SetRowCount("Grid1", k+2)
Grid.Refresh("Grid1")
----------
Grid.SetCellText("Grid1", k, 1, k);
Grid.SetCellText("Grid1", k, 2 ,txtSor);
Grid.SetCellText("Grid1", k, 3, Rsora);
Grid.SetCellText("Grid1", k, 4, Raya);
Grid.SetCellText("Grid1", k, 5, m);
---------------------- ----------------------
k=k+1;
end
end


مثال سنختار موضوع الارقام وهو سيظخر لائحة اسماء في اليسبوكس سنختار منها ( اربع ) و النتيجة في الشكل الاتي
https://d.top4top.io/p_1603cpcof1.png

-------------
ملاحظة : الكود سيبحث عن الجذر اي ممكن اربع تكون ضمن اربعة او اربعون او الاربعاء ............اذا اردت ان يختارها مستقلة ما عليك الى ان تضيف مسافة في الكود
في اليسبوكس في السطر رقم 19

g = String.Find(mp,Wword, 1, false);


يصبح


g = String.Find(mp," "..Wword.." ", 1, false);



تمام ........
بالتوفيق لكم واي ملاحظة مرحبا

عبد الهادي بهاب
27-05-2020, 09:34 PM
السلام عليكم ورحمة الله وبركاته
عيد مبارك للجميع
يتم الان تحويل المصحف برواية ورش و حفص الى ملف تمست txt
من اجل اضافة خاصية المقارنة و عرض الاية بالروايتين
مثال عن ذلك

https://j.top4top.io/p_160807q311.gif

وليد عبدالوهاب احمد
29-05-2020, 04:35 AM
السلام عليكم ورحمة الله وبركاته

اولا يجب ان ننوه ان فيه الكثير من المحاولات و الملفات في المنتدى حول كيفية انشاء برامج و تصميم موسوعة للقران الكريم
ونحن هنا من اجل محاولة جديدة باستعمال ملفات تكست txt

اولا يجب ان ننشا قاعدة البيانات التي نعمل عليها


هذا هو ملف المصحف الشريف كاملا بصيغة txt

https://top4top.io/downloadf-1534kfhsg1-rar.html

الان اريد تقسيمه الى ملفات تكست txt لكل سورة على حدى


https://i.top4top.io/p_15346vlvy2.png


---------------------------------
اولا نضع قائمة السور القرانية في قائمة تكست
https://top4top.io/downloadf-153412mqf1-rar.html


الان مع الكود
نزرع في زر معين هذا الكود



sora = TextFile.ReadToTable("AutoPlay\\Docs\\ListeSoar.txt");

txt = TextFile.ReadToString("AutoPlay\\Docs\\TouCoran.txt");

for i,v in pairs(sora)do
if i<#sora then
find = String.Find(txt, v, 1);
find2 = String.Find(txt, sora[i+1], find);
nas = String.Mid(txt, find, find2-find);
TextFile.WriteFromString("AutoPlay\\Docs\\"..v..".txt", nas)
elseif i==114 then
find = String.Find(txt, v, 1);
find2 = String.Find(txt,"6)", find);
nas = String.Mid(txt, find, find2-find);
TextFile.WriteFromString("AutoPlay\\Docs\\"..v..".txt", nas)

end
end



ابحث في ملف Docs ستجد كل سورة وحدها باسمها

https://h.top4top.io/p_1534fb4cb1.png










https://www.youtube.com/watch?v=tSmXygdCQvU&feature=youtu.be

الملف المفتوح :
http://www.mediafire.com/file/p3bho80w6olgbb7/coran_serch.rar/file

-----------------
بعد التعديلات الاخيرة
http://www.mediafire.com/file/in8m132tnbw1qq9/Coran_Serch.apz/file

طبعا لكم اضافة مقدمة و شكل البحث و و و
ممكن اضافة خصائص البحث
او استعراض الاية في richtext بكشل ملون
بالتوفيق
gooooooooooooooooooooooooood

عبد الهادي بهاب
30-05-2020, 09:02 PM
gooooooooooooooooooooooooood

شكرا على المتابعة
لقد تم الكثير من التحديثات في المشروع ارجو ان تتابع التطور ثم تعمل على اخر ملف مفتوح
و ننتظر اقتراحاتكم

عبد الهادي بهاب
26-06-2020, 10:08 PM
السلام عليكم ورحمة الله وبركاته
في انتظار افكار جديدة
اخر العنقود من المشروع
http://www.mediafire.com/file/8jgv768n6uqgrgg/Search_in_Quran_v3.apz/file

:abc_052::abc_052:

حروف الزخرفة
17-12-2020, 07:18 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .