ثامر أبو بلقيس
06-07-2015, 11:12 PM
السلام عليكم ورحمة الله وبركاته
تريد صناعة أداة بحث عن مفردة في القرآن الكريم
أو آية كريمة و معرفة رقم الاية و السورة
جيد
01 - حمل الملف الموجود في المشاركة التالية
http://www.abc4web.net/vb/showpost.php?p=285806&postcount=86
ضعه في مجلد Docs
ضف في ساحة العمل Input1 لتكتب فيها المفردة المراد البحث عنها و تكون بالتشكيل
02 - فعل الاضافة SQLite
03 - ضف زرا و ازرع فيه
db = SQLite.Open("AutoPlay\\Docs\\belkiss.db");
s=SQLite.QueryToTable(db, "select * from rabie");
result4 = Input.GetText("Input1");
-----------------------------------------------------------
for i,v in pairs(s.Data) do
for y=1,114 do
if s.Data[i]["nsoura"]==""..y then
g = String.Find(s.Data[i]["alaya"],result4, 1, false);
if g~= -1 then
Dialog.Message(s.Data[i]["soura"].." ".."الآية".." "..s.Data[i]["naya"], s.Data[i]["alaya"]);
end
end
end
end
للتجربة أكتب الان مثلا الكلمة " التَّوَّاب " في الانبوت 1 و لاحظ النتائج
حيث ستظهر الاية الكريمة المتضمنة للمفردة و في نافذة الرسالة الحوارية ستجد رقم الاية و السورة
----------------------------------------------------------------------------------------------------------------
لكن اذا لم تقم بتشكيل المفردة و لتكن " التواب " لن تظهر النتائج كون أننا نبحث في قاعدة بيانات فيها الكلمات
بالتشكيل
--------------------------------------------------------------------------------------------------------------------
ما الحل ؟
نقوم بكتابة الكلمة أو الاية بغير تشكيل في الانبوت عند البحث في الايات
نحذف علامات التشكيل حيث نستبدل كل علامة بلاشيء
أي نقوم بالاستبدال كود الاستبدال العادي لن يعطي نتائج لأننا نحتاج الى جملة من الاستبدالات
دفعة واحدة
راجع الدرس التالي
http://www.abc4web.net/vb/showthread.php?t=31186
نستغله في الكود السابق ليصبح الكود كالتالي :
db = SQLite.Open("AutoPlay\\Docs\\belkiss.db");
s=SQLite.QueryToTable(db, "select * from rabie");
result4 = Input.GetText("Input1");
-----------------------------------------------------------
for i,v in pairs(s.Data) do
for y=1,114 do
if s.Data[i]["nsoura"]==""..y then
istibdalate={["َ"] = "",["ً"] = "",["ُ"] = "",["ِ"] = "",["ْ"] = "",["ّ"] = "",["ِ"] = "",["ٌ"] = ""}
m = s.Data[i]["alaya"]
abou_belkiss = string.gsub (m, ".",istibdalate)
g = String.Find(abou_belkiss,result4, 1, false);
g2 = String.Find(s.Data[i]["alaya"],result4, 1, false);
if g~= -1 or g2~= -1 then
Dialog.Message(s.Data[i]["soura"].." ".."الآية".." "..s.Data[i]["naya"], s.Data[i]["alaya"]);
end
end
end
end
طيب ... نجرب الان و نكتب " التواب " بدون تشكيل
ستظهر النتائج
اذن لدينا طريقتي بحث وفق الكود السابق
ياإما تكون كل الحروف بالتشكيل
أو لا تشكل أي حرف
بالتوفيق :abc_138:
تريد صناعة أداة بحث عن مفردة في القرآن الكريم
أو آية كريمة و معرفة رقم الاية و السورة
جيد
01 - حمل الملف الموجود في المشاركة التالية
http://www.abc4web.net/vb/showpost.php?p=285806&postcount=86
ضعه في مجلد Docs
ضف في ساحة العمل Input1 لتكتب فيها المفردة المراد البحث عنها و تكون بالتشكيل
02 - فعل الاضافة SQLite
03 - ضف زرا و ازرع فيه
db = SQLite.Open("AutoPlay\\Docs\\belkiss.db");
s=SQLite.QueryToTable(db, "select * from rabie");
result4 = Input.GetText("Input1");
-----------------------------------------------------------
for i,v in pairs(s.Data) do
for y=1,114 do
if s.Data[i]["nsoura"]==""..y then
g = String.Find(s.Data[i]["alaya"],result4, 1, false);
if g~= -1 then
Dialog.Message(s.Data[i]["soura"].." ".."الآية".." "..s.Data[i]["naya"], s.Data[i]["alaya"]);
end
end
end
end
للتجربة أكتب الان مثلا الكلمة " التَّوَّاب " في الانبوت 1 و لاحظ النتائج
حيث ستظهر الاية الكريمة المتضمنة للمفردة و في نافذة الرسالة الحوارية ستجد رقم الاية و السورة
----------------------------------------------------------------------------------------------------------------
لكن اذا لم تقم بتشكيل المفردة و لتكن " التواب " لن تظهر النتائج كون أننا نبحث في قاعدة بيانات فيها الكلمات
بالتشكيل
--------------------------------------------------------------------------------------------------------------------
ما الحل ؟
نقوم بكتابة الكلمة أو الاية بغير تشكيل في الانبوت عند البحث في الايات
نحذف علامات التشكيل حيث نستبدل كل علامة بلاشيء
أي نقوم بالاستبدال كود الاستبدال العادي لن يعطي نتائج لأننا نحتاج الى جملة من الاستبدالات
دفعة واحدة
راجع الدرس التالي
http://www.abc4web.net/vb/showthread.php?t=31186
نستغله في الكود السابق ليصبح الكود كالتالي :
db = SQLite.Open("AutoPlay\\Docs\\belkiss.db");
s=SQLite.QueryToTable(db, "select * from rabie");
result4 = Input.GetText("Input1");
-----------------------------------------------------------
for i,v in pairs(s.Data) do
for y=1,114 do
if s.Data[i]["nsoura"]==""..y then
istibdalate={["َ"] = "",["ً"] = "",["ُ"] = "",["ِ"] = "",["ْ"] = "",["ّ"] = "",["ِ"] = "",["ٌ"] = ""}
m = s.Data[i]["alaya"]
abou_belkiss = string.gsub (m, ".",istibdalate)
g = String.Find(abou_belkiss,result4, 1, false);
g2 = String.Find(s.Data[i]["alaya"],result4, 1, false);
if g~= -1 or g2~= -1 then
Dialog.Message(s.Data[i]["soura"].." ".."الآية".." "..s.Data[i]["naya"], s.Data[i]["alaya"]);
end
end
end
end
طيب ... نجرب الان و نكتب " التواب " بدون تشكيل
ستظهر النتائج
اذن لدينا طريقتي بحث وفق الكود السابق
ياإما تكون كل الحروف بالتشكيل
أو لا تشكل أي حرف
بالتوفيق :abc_138: