الإصلاح التربوي العام
<script type="text/javascript" src="http://widgets.amung.us/tab.js"></script><script type="text/javascript">WAU_tab('6ocfj484yzd8', 'left-middle')</script>
center][/center]
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا
ادارة المنتدي

الإصلاح التربوي العام


 
الرئيسيةاليوميةس .و .جبحـثالتسجيلدخول

شاطر | 
 

 البحث في القرآن الكريم بالتشكيل أو بدونه

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
حمادي 100



عدد الرسائل : 250
العمر : 41
نقاط : 7496
تاريخ التسجيل : 22/08/2014

مُساهمةموضوع: البحث في القرآن الكريم بالتشكيل أو بدونه   الثلاثاء يوليو 07, 2015 6:50 am

 البحث في القرآن الكريم بالتشكيل أو بدونه



السلام عليكم ورحمة الله وبركاته
تريد صناعة أداة بحث عن مفردة في القرآن الكريم
أو آية كريمة و معرفة رقم الاية و السورة
جيد
1- حمل الملف الموجود في الرابط ادناه
http://www.gulfup.com/?5XQtyb

ضعه في مجلد Docs
ضف في ساحة العمل Input1 لتكتب فيها المفردة المراد البحث عنها و تكون بالتشكيل
02 - فعل الاضافة SQLite
03 - ضف زرا و ازرع فيه


الكود:
 كود PHP:
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 و لاحظ النتائج
حيث ستظهر الاية الكريمة المتضمنة للمفردة و في نافذة الرسالة الحوارية ستجد رقم الاية و السورة

----------------------------------------------------------------------------------------------------------------
لكن اذا لم تقم بتشكيل المفردة و لتكن " التواب " لن تظهر النتائج كون أننا نبحث في قاعدة بيانات فيها الكلمات
بالتشكيل
--------------------------------------------------------------------------------------------------------------------
ما الحل ؟
نقوم بكتابة الكلمة أو الاية بغير تشكيل في الانبوت عند البحث في الايات
نحذف علامات التشكيل حيث نستبدل كل علامة بلاشيء
أي نقوم بالاستبدال كود الاستبدال العادي لن يعطي نتائج لأننا نحتاج الى جملة من الاستبدالات
دفعة واحدة
راجع الدرس التالي




الاستبدالات في الاوتوبلاي

السلام عليكم ورحمة الله وبركاته

من السهل جدا اذ كان عندك
أثر كتابي و تريد استبدال في مفردة
أن تستعمل الكود التالي لتغير في كلمة timer الحرف i بـ a
لتصبح tamer


الكود:
 كود PHP:
Dialog.Message("Notice",  String.Replace("timer", "i", "a", false));



لكن لو كنت أريد القيام بمجموعة استبدالات في آن واحد
كأن أغير في timer مايلي :
t ب C
i ب l
m ب e
e ب a
----------------------
ما الحل ؟؟


الكود:
كود بلغة HTML:

        sostituzioni ={["t"] = "C",["i"] = "l",["m"] = "e",["e"] = "a"}s = "timer"r


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

نستغله في الكود السابق ليصبح الكود كالتالي :


الكود:
 كود PHP:
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  


طيب ... نجرب الان و نكتب " التواب " بدون تشكيل
ستظهر النتائج
اذن لدينا طريقتي بحث وفق الكود السابق

ياإما تكون كل الحروف بالتشكيل
أو لا تشكل أي حرف

بالتوفيق
-----------------------------------------------------------------------------------
نواصل

قلنا الكود الاول سيتعامل مع المفردات اذا كانت بالتشكيل

أما الكود الثاني فسيتعامل بحالتين
- إما كل الحروف بالتشكيل
- أو الحروف كلها ليست بالتشكيل

لكن ماذا لو المستعمل قام بتشكيل حروف و ترك حروف بدون تشكيل

إليك الحل :


الكود:
 كود PHP:
db = SQLite.Open("AutoPlay\\Docs\\belkiss.db");
s=SQLite.QueryToTable(db, "select * from rabie");
gg = Input.GetText("Input1");
istibdalate2={["َ"] = "",["ً"] = "",["ُ"] = "",["ِ"] = "",["ْ"] = "",["ّ"] = "",["ِ"] = "",["ٌ"] = ""}

result4 = string.gsub (gg, ".",istibdalate2)
-----------------------------------------------------------
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);
if g~= -1  then
 Dialog.Message(s.Data[i]["soura"].."   ".."الاية".."   "..s.Data[i]["naya"], s.Data[i]["alaya"]);
end
end
end
end  


تقديري للجميع

ماذا لو اردنا استبدال اليست بوكس ب كومبوبوكس
السلام عليكم ورحمة الله وبركاته
سأبدأ من آخر مشاركة لك و هي تتعلق بإجراءات تعديل
حيث تريد حذف
ListBox2 المعبر عن " من "
ListBox3 المعبر عن " إلى"
Input1 المعبر عن مرات التكرار

جيد ..... أحذفهم
--------------------------------------------------------------
ضف في تجميعيتك
01 - ComboBox وسيكون اسمه ComboBox2 و هومعبر عن " من "
في الحدث on select لهذا العنصر
أكتب :


الكود:
 كود PHP:
b1= ComboBox.GetSelected(this);
b1 = String.ToNumber(b1);
bidaya = String.ToNumber(ComboBox.GetItemText(this, b1));
index_1=ComboBox.GetItemData(this, b1);  


02 - ComboBox وسيكون اسمه ComboBox3 و هومعبر عن " إلى"
في الحدث on select لهذا العنصر
أكتب :

الكود:
 كود PHP:
n1= ComboBox.GetSelected(this);
n1 = String.ToNumber(n1);
nihaya = String.ToNumber(ComboBox.GetItemText(this,n1));
index_2=ComboBox.GetItemData(this, n1);  


03 - ComboBox وسيكون اسمه ComboBox4 و هومعبر عن " مرات التكرار"
في هذا العنصر و في جهة item text أكتب أرقاما بدء من 1 إلى غاية 10 أو أكثر كما تريد

04 - لدينا في التجميعية عنصر ListBox1 سيطرأ تعديل في بعض الأكواد
في الحدث on select لهذا العنصر امسح المكتوب و عوضه بـ

الكود:
 كود PHP:
ComboBox.ResetContent("ComboBox2");
ComboBox.ResetContent("ComboBox3");
ListBox.DeleteItem("ListBox4", LB_ALLITEMS);
MediaPlayer.Stop("Plugin1");
f=ListBox.GetCount(this);
n= ListBox.GetSelected(this);
tt= ListBox.GetItemText(this,  n[1]);
if n ~= nil and chiek ~= nil then
v = ListBox.GetItemData(this, n[1]);
hh = File.Find(_SourceFolder.."\\AutoPlay\\Docs\"..v.."\"..chiek.."\", "*.mp3", false, false, nil, nil);
for total=1,#hh do
ComboBox.AddItem("ComboBox2", total, _SourceFolder.."\\AutoPlay\\Docs\"..v.."\"..chiek.."\"..total..".mp3");
ComboBox.AddItem("ComboBox3", total, _SourceFolder.."\\AutoPlay\\Docs\"..v.."\"..chiek.."\"..total..".mp3");
end
end
ComboBox.SetSelected("ComboBox2", 1);
ComboBox.SetSelected("ComboBox3", 1);  


05 - نأتي الان لزر التشغيل أو الاستماع أي Hotspot2

امسح المكتوب وعوضه بـ

الكود:
 كود PHP:
ListBox.DeleteItem("ListBox4", LB_ALLITEMS);
MediaPlayer.Stop("Plugin1");
if index_1~= nil and index_2~= nil then
for i = 1,rept do
if index_1 == index_2 then
result = ListBox.AddItem("ListBox4", index_1, "");
elseif index_1 ~=  index_2  then
for j=bidaya,nihaya do
result = ListBox.AddItem("ListBox4",ComboBox.GetItemData("ComboBox3", j), "");
end
end
end
end
--------------------------------------
my_table = {};
----------
for n =1,ListBox.GetCount("ListBox4")do
vv=ListBox.GetItemText("ListBox4", n);
path_parts = String.SplitPath(vv);
p=path_parts.Drive
b=path_parts.Folder
c=path_parts.Extension
Table.Insert(my_table, 1, String.ToNumber(path_parts.Filename));
end
 ListBox.DeleteItem("ListBox4", LB_ALLITEMS);
selectionsort(my_table)
for bb = 1, table.getn(my_table) do
result = ListBox.AddItem("ListBox4", p..b..my_table[bb]..c, "");
end
k = ListBox.GetItemText("ListBox4", 1);
if k~= nil then
MediaPlayer.Load("Plugin1", k);
MediaPlayer.Play("Plugin1");
end  

05 - ما كتبناه في global functions يبقى نفسه أي


الكود:
 كود PHP:
function ScrollInputText(sObject)

                    strText = Input.GetText(sObject);

                    strText = String.Right(strText, String.Length(strText)-1)..String.Left(strText, 1)

                    Input.SetText(sObject, strText);

end

function selectionsort(a)
for pos = 1, table.getn(a) do
local min = pos
for i = pos + 1, table.getn(a) do
if a[i] < a[min] then
min = i
end -- if
end -- for
if min ~= pos then
a[pos], a[min] = a[min], a[pos]
end  
end  
end  

لاتنسو الدعاء للاخ صاحب الموضوع الاستاذ ثامر أبوبلقيس

Basketball



الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
البحث في القرآن الكريم بالتشكيل أو بدونه
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

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