اذهب الي المحتوي
أوفيسنا

ماكرو لترتيب (فرز) أعلام أو قبائل في جدول مع عدم اعتبار كلمة (أبو، ابن، أم، بنو)


إذهب إلى أفضل إجابة Solved by شحادة بشير,

الردود الموصى بها

هذا ماكرو لترتيب (فرز) أعلام أو قبائل في جدول مع عدم اعتبار كلمة (أبو، ابن، أم، بنو) بحيث يكون (ابن عباس) في حرف العين، (أبو بكر) في حرف الباء، (أم سلمة) في جرف السين، فهذا هو المنهج المتبع في ترتيب الأعلام في الفهارس:

Sub ترتيبجدول()
'
' ترتيبجدول Macro
'ماكرو لترتيب الأعلام والقبائل مع عدم اعتبار كلمة أبو، أم، ابن، بنو في الترتيب
'
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Replacement.Font.Hidden = True
    With Selection.Find
        .Text = "أبو "
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        
        .MatchAlefHamza = True
        
    End With
    Selection.Find.Execute replace:=wdReplaceAll
    With Selection.Find
        .Text = "ابن "
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        
        .MatchAlefHamza = True
        
    End With
    Selection.Find.Execute replace:=wdReplaceAll
    With Selection.Find
        .Text = "أم "
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchAlefHamza = True
        
    End With
    Selection.Find.Execute replace:=wdReplaceAll
    With Selection.Find
        .Text = "بنو "
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchAlefHamza = True
        End With
    Selection.Find.Execute replace:=wdReplaceAll
    Selection.WholeStory
    Selection.MoveLeft Unit:=wdCharacter, Count:=2, Extend:=wdExtend
    Selection.Sort ExcludeHeader:=False, FieldNumber:="عمود 1", SortFieldType _
        :=wdSortFieldAlphanumeric, SortOrder:=wdSortOrderAscending, FieldNumber2 _
        :="", SortFieldType2:=wdSortFieldAlphanumeric, SortOrder2:= _
        wdSortOrderAscending, FieldNumber3:="", SortFieldType3:= _
        wdSortFieldAlphanumeric, SortOrder3:=wdSortOrderAscending, Separator:= _
        wdSortSeparateByCommas, SortColumn:=False, CaseSensitive:=False, _
        LanguageID:=wdArabic, SubFieldNumber:="فقرات", SubFieldNumber2:="فقرات", _
        SubFieldNumber3:="فقرات"
    Selection.Sort BidiSort:=False, IgnoreThe:=True, IgnoreKashida:=False, _
        IgnoreDiacritics:=False, IgnoreHe:=False
    With Selection.Font
        .name = "AAA GoldenLotus"
        .Size = 16
        .Italic = False
        .Underline = wdUnderlineNone
        .UnderlineColor = wdColorAutomatic
        .StrikeThrough = False
        .DoubleStrikeThrough = False
        .Outline = False
        .Emboss = False
        .Shadow = False
        .Hidden = False
        .SmallCaps = False
        .AllCaps = False
        .Color = wdColorAutomatic
        .Engrave = False
        .Superscript = False
        .Subscript = False
        .Spacing = 0
        .Scaling = 100
        .Position = 0
        .Kerning = 0
        .Animation = wdAnimationNone
        .SizeBi = 16
        .NameBi = "AAA GoldenLotus"
        .BoldBi = False
        .ItalicBi = False
    End With
    Selection.MoveUp Unit:=wdLine, Count:=1
End Sub
 

رابط هذا التعليق
شارك

  • أفضل إجابة

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

ألف شكر لك على المشاركة المميزة أخي الحبيب أبو عاصم، وبعد:

1- هل لك أن تضع لنا ملف Word نطبق عليه الماكرو؟

2- ماذا لو كان في الفهرس (أحمد بن محمد أبو القاسم القرطبي) أو (عبد الله بن أم مكتوم)؟

3-من وجهة نظري الحل الأسلم يكون كالتالي: في إدخال الحقول أضف حقلين هكذا:

{  XE ابن عباس - عباس - \f person  }

بعد أن تنتهي من إضافة الحقول بهذا الشكل، تقوم بإدراج الفهرس، ثم تحول النص إلى جدول، ومن بند (فصل النص عند) تكتب (-)، سيصنع لك جدولاً قريباً من هذا الشكل:

ابن عباس - عباس - رقم الصفحة

الآن تقوم من فرز بترتيب الجدول حسب العمود الثاني، بعد ذلك تقوم بحذف العمود الثاني، وبذلك تنجح الطريقة دون ثغرات ومشاكل.

  • Like 2
رابط هذا التعليق
شارك

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

مشاركة طيبة أخي أبو عاصم، وفقكم الله

يوجد استثناء آخر بالترتيب الهجائي (ابن أبي) في بعض المصادر يُكتب (ابن أبي سعيد) يتم اعتماد حرف السين بالترتيب، وكذلك كلمة (أبي).

هل يمكن إضافتهم للماكروا لطفاً؟

أشكر لكم جهودكم الطيبة

  • Like 1
رابط هذا التعليق
شارك

حبيبنا الأستاذ شحادة.. أولا تحياتي لشخصكم الكريم..

ثانيا: لو كانت إحدى الكلمات المستثناة من الترتيب في وسط الاسم، لن يضر هذا، وسيبقى الترتيب صحيحا، وهذه صورة تجريبية للجدول:

إبراهيم النخعي

80

أحمد بن محمد أبو علي

99

إسماعيل بن علية

79

أبو أسيد ابن أبي أدهم

55

داود بن علي أبو الفضل

99

ابن أبي الدم

44

زكريا بن إياس

100

أم سلمة

66

سيف الله خالد ابن الوليد

88

ابنة شاهين

77

صاحب الحق

101

بنو ضبة

102

ابنة أبي عامر

78

عبد الله بن عباس

22

ابن عمر

33

فاضل بن محمد

103

محمد بن مسلم أبو الزبير

55

رابط هذا التعليق
شارك

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

وبالفعل ملحوظتك بخصوص زيادة (ابن أبي) صحيحة، وقد زدتها مع (ابنة) ، (ابنة أبي)، وهذا الماكرو بعد هذه الإضافات:

Sub ترتيبفيجدول()
'
' ترتيبفيجدول Macro
'ماكرو لترتيب قائمة أعلام أو قبائل في جدول مع عدم اعتبار أبو، ابن، أم، بنو في الترتيب
'
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Replacement.Font.Hidden = True
    With Selection.Find
        .Text = "ابن أبي"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchKashida = False
        .MatchDiacritics = False
        .MatchAlefHamza = True
        .MatchControl = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "ابنة أبي"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchAlefHamza = True
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "ابن "
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchAlefHamza = True
        End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "ابنة "
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchAlefHamza = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    
    With Selection.Find
        .Text = "أبو "
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchAlefHamza = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    
    With Selection.Find
        .Text = "أم "
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchAlefHamza = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Replacement.Font.Hidden = True
    With Selection.Find
        .Text = "بنو "
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchAlefHamza = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Sort ExcludeHeader:=False, FieldNumber:="عمود 1", SortFieldType _
        :=wdSortFieldAlphanumeric, SortOrder:=wdSortOrderAscending, FieldNumber2 _
        :="", SortFieldType2:=wdSortFieldAlphanumeric, SortOrder2:= _
        wdSortOrderAscending, FieldNumber3:="", SortFieldType3:= _
        wdSortFieldAlphanumeric, SortOrder3:=wdSortOrderAscending, Separator:= _
        wdSortSeparateByCommas, SortColumn:=False, CaseSensitive:=False, _
        LanguageID:=wdArabicEgypt, SubFieldNumber:="فقرات", SubFieldNumber2:= _
        "فقرات", SubFieldNumber3:="فقرات"
    Selection.Sort BidiSort:=False, IgnoreThe:=True, IgnoreKashida:=False, _
        IgnoreDiacritics:=False, IgnoreHe:=False
    With Selection.Font
        .Name = "AAA GoldenLotus"
        .Size = 16
        .Bold = False
        .Italic = False
        .Underline = wdUnderlineNone
        .UnderlineColor = wdColorAutomatic
        .StrikeThrough = False
        .DoubleStrikeThrough = False
        .Outline = False
        .Emboss = False
        .Shadow = False
        .Hidden = False
        .SmallCaps = False
        .AllCaps = False
        .Color = wdColorAutomatic
        .Engrave = False
        .Superscript = False
        .Subscript = False
        .Spacing = 0
        .Scaling = 100
        .Position = 0
        .Kerning = 0
        .Animation = wdAnimationNone
        .SizeBi = 16
        .NameBi = "AAA GoldenLotus"
        .BoldBi = False
        .ItalicBi = False
        .Ligatures = wdLigaturesNone
        .NumberSpacing = wdNumberSpacingDefault
        .NumberForm = wdNumberFormDefault
        .StylisticSet = wdStylisticSetDefault
        .ContextualAlternates = 0
    End With
    Selection.MoveUp Unit:=wdLine, Count:=1
End Sub
 

تم تعديل بواسطه أبو عاصم المصري
  • Like 1
رابط هذا التعليق
شارك

في ١٣‏/١٠‏/٢٠٢٠ at 01:32, مصطفى شاهين said:

يوجد استثناء آخر بالترتيب الهجائي (ابن أبي) في بعض المصادر يُكتب (ابن أبي سعيد) يتم اعتماد حرف السين بالترتيب، وكذلك كلمة (أبي).

عند تنفيذ الماكرو وجدت أنه يقوم بحذف تنسيق المراجع، من تغميق لعناوين المراجع أو الكلمات الموجود أسفلها خط

 

بارك الله فيكم أخي أبو عاصم على الاهتمام

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

ولكم جزيل الشكر

رابط هذا التعليق
شارك

في ١٣‏/١٠‏/٢٠٢٠ at 23:23, مصطفى شاهين said:

عند تنفيذ الماكرو وجدت أنه يقوم بحذف تنسيق المراجع، من تغميق لعناوين المراجع أو الكلمات الموجود أسفلها خط

هذا للعلم لطفاً

في نهاية الكود، احذف كل شيء واترك هذا فقط:

   

With Selection.Font
        .Hidden = False
End With
Selection.MoveUp Unit:=wdLine, Count:=1

ألف شكر لك أخي العزيز أبو عاصم على العمل المميز، ولكن حتى يتم عمل الكود يجب تعطيل خيار (نص مخفي)، هذا ما لاحظته:

HideSting.png.d488a3b8b5566f5fec510cfe2e77c614.png

ما هي الكلمات التي يجب تجاهلها بداية الاسم؟
سأذكر بعض الكلمات، وأرجو ذكر كلمات أخرى إن وُجِد؛ حتى نحصيها وبعد ذلك نبحث عن حل برمجي متكامل للمشكلة، الكلمات التي تخطر ببالي هي:

  1. ابن؛ مثلاً: ابن عباس.
  2. ابن أبي؛ مثلاً: ابن أبي حازم.
  3. ابن أم؛ مثلاً: ابن أم مكتوم.
  4. ابنة؛ مثلاً: ابنة عبد المطلب.
  5. ابنة أبي؛ مثلاً: ابنة أبي أمية.
  6. أبو؛ مثلاً: أبو هريرة.
  7. أم؛ مثلاً: أم سلمة.
  8. بنو؛ مثلاً: بنو قينقاع.
  9. (ال) التعريف؛ مثلاً: الوليد، كذلك من العبارات التي تم معالجتها؛ مثلاً: ابن أبي ال (ابن أبي الدنيا)، بنو ال (بنو النضير)، أم ال (أم البنين).
تم تعديل بواسطه شحادة بشير
  • Like 1
رابط هذا التعليق
شارك

الان, أبو عاصم المصري said:

تمام، بارك الله فيك أخانا شحادة

أفكر بحل برمجي كالتالي:
1- نطلب من المستخدم أن يُدْخِل الكلمات التي يريد تجاهلها من بداية الاسم، وافتراضياً نضع مجموعة كلمات، ونترك للمستحدم خياراً لإضافة كلمات أخرى أو حذف الكلمات أو تعديلها.
2- نطلب من المستخدم أن يقوم بتحديد الجدول الذي يريد إجراء العملية عليه، ثم نسأله: الأسماء التي تريد معالجتها هي في أي عمود من الجدول المحدد؟ مثلاً يختار الرقم 1؛ أي أن الأسماء في العمود الأول.
3- نبدأ الآن بالمعالجة والتي ستكون بأخذ الاسم وفحص بدايته، فإن وجد بداية الاسم أي كلمة من الكلمات المدخلة مسبقاً، عندها يقوم بحذف هذه الكلمات ويترك ما بعدها، ويضعها في عمود جديد، بعد الانتهاء يقوم البرنامج بالترتيب حسب العمود الجديد، وأخيراً يحذف العمود الجديد، ما رأيكم؟

رابط هذا التعليق
شارك

8 ساعات مضت, شحادة بشير said:

ما هي الكلمات التي يجب تجاهلها بداية الاسم؟

كلمة (أبي) لوحدها، حتى وإن كانت في بداية الكلمة خطأ نحوياً

7 ساعات مضت, شحادة بشير said:

أفكر بحل برمجي كالتالي:
1- نطلب من المستخدم أن يُدْخِل الكلمات التي يريد تجاهلها من بداية الاسم، وافتراضياً نضع مجموعة كلمات، ونترك للمستحدم خياراً لإضافة كلمات أخرى أو حذف الكلمات أو تعديلها.
2- نطلب من المستخدم أن يقوم بتحديد الجدول الذي يريد إجراء العملية عليه، ثم نسأله: الأسماء التي تريد معالجتها هي في أي عمود من الجدول المحدد؟ مثلاً يختار الرقم 1؛ أي أن الأسماء في العمود الأول.
3- نبدأ الآن بالمعالجة والتي ستكون بأخذ الاسم وفحص بدايته، فإن وجد بداية الاسم أي كلمة من الكلمات المدخلة مسبقاً، عندها يقوم بحذف هذه الكلمات ويترك ما بعدها، ويضعها في عمود جديد، بعد الانتهاء يقوم البرنامج بالترتيب حسب العمود الجديد، وأخيراً يحذف العمود الجديد، ما رأيكم؟

الحل البرمجي وحسب ما أشار إليه الأخ شحادة يؤدي الغرض، وكذلك ترك مساحة للباحث أن يختار ويضيف ما يريد من استثناءات في البحث يعتبر من الميزات الهامة في ترتيب المراجع

وفقكم الله

رابط هذا التعليق
شارك

شكراً لك أخي العزيز مصطفى

بخصوص كلمة (أبي) هي خطأ نحوي كما تفضلت، ورغم ذلك قد توقعنا في مشكلة أخرى مع أسماء مثل (أُبَي بن كعب)، في هذه الحالة سيتم وضع (أُبَي بن كعب) في الحرف (ب) أو (ك) وهذا خطأ؛ إذ المفروض أن يوضع في الحرف (أ)، فما الحل برأيكم؟

أنا أفكر أن نضيف قائمة استثناءات، بحيث لو كانت الكلمة في هذه القائمة فلا يقوم بالمرور عليها ولا تعديلها، وضمن هذه القائمة نضيف الكلمات التي من الممكن أن تكون بدايتها اسماً لعلم وليست كنية أو لقب.

أفيدونا بآرائكم وأفكاركم

رابط هذا التعليق
شارك

1 ساعه مضت, شحادة بشير said:

بخصوص كلمة (أبي) هي خطأ نحوي كما تفضلت، ورغم ذلك قد توقعنا في مشكلة أخرى مع أسماء مثل (أُبَي بن كعب)، في هذه الحالة سيتم وضع (أُبَي بن كعب) في الحرف (ب) أو (ك) وهذا خطأ؛ إذ المفروض أن يوضع في الحرف (أ)، فما الحل برأيكم؟

أنا أفكر أن نضيف قائمة استثناءات، بحيث لو كانت الكلمة في هذه القائمة فلا يقوم بالمرور عليها ولا تعديلها، وضمن هذه القائمة نضيف الكلمات التي من الممكن أن تكون بدايتها اسماً لعلم وليست كنية أو لقب.

أفيدونا بآرائكم وأفكاركم

من وجهة نظري: الثوابت الدائمة بالاستثناءات واضحة كما أشرت إليها بالمشاركة أعلاه (ابن، ابن أبي، ابنة، ابنة أبي، أبي، أبّي بن، أبو، أم، بنو، ال "التعريف"....)، ويُضاف خانة للاستثناءات، يُترك للباحث بوضع ما يشاء حسب وجهة نظره، وبذلك يكون المجال واسعاً ومتاحاً له، ولا مجال للتخمين في مثل هذه الحالات.

  • Like 1
رابط هذا التعليق
شارك

جزاكم الله خيرا، فخير الناس أنفعهم للناس، كما أخبرنا بذلك الصادق المصدوق، صلوات ربي وتسليماته عليه.

أحب أن أشارككم الفكرة ببساطة:

الموضوع أنني أريد أن أنشئ فهارس علمية لكتاب معين، كفهرس الآيات، والأحاديث، والآثار، والأعلام، وغير ذلك.

لكن هناك مشكلة في ترتيب الورد، حيث يدخل (أبو ، ابن ، أم) في الترتيب، وهذا خطأ.

حيث يجعل مثلا: (أبو بكر) في حرف الألف، والصواب في حرف الباء، ويجعل (أم سلمة) كذلك في حرف الألف، والصواب في حرف السين، وهذا ما جرى عليه علماؤنا القدامى.

وكثيرا ما تكون قائمة الأعلام كبيرة، فيحصل مجهود كبير لضبط الترتيب.

فهداني الله لفكرة استفدتها من أحد إخواني، وهو يعمل في مجال البرمجة، ونفذت الماكرو بالشكل التالي:

1- قائمة الأعلام موجودة في جدول له عمودان: الأول للعلم، والثاني لرقم الصفحة مرتبة حسب ورودها في الكتاب المفهرس.

2- أخفيت كل الكلمات المراد عدم اعتبارها في الترتيب، وهي (ابن أبي ، ابن أم، ابن ، أبو، أم ، ابنة أبي ابنة) من قائمة تنسيق عن طريق البحث والاستبدال.

3- رتبت القائمة على العمود الأول (طبعا مع إخفاء الكلمات المقصودة).

4- رتب الورد القائمة اعتمادا على الظاهر، ولم يعتمد الكلمات المخفية سواء في أول الاسم أو في وسطه أو آخره.

5- ظللت الجدول، ومن قائمة تنسيق حولت كل المخفي إلى ظاهر، وبهذا تم المراد، وجاء الترتيب حسب المطلوب.

* ومعذرة على تأخري في الرد، فلم أقرأ رسائلكم إلا صباح الجمعة، صبحكم الله بكل خير. 

تم تعديل بواسطه أبو عاصم المصري
  • Like 1
رابط هذا التعليق
شارك

جزاكم الله خيراً على الإفادة.
بإذن الله تعالى سأعمل على هذا الأمر، وسأضيف هذه الميزة لإضافة البيان البحثية: معالجة أسماء الأعلام في فهرس الأعلام.
وسيكون في النافذة ثلاث علامات تبويب:
1- العلامة الأولى:
العبارات المعالَجة: تضاف فيها العبارات التي يود الباحث تجاهلها وعدم اعتبارها في الترتيب؛ مثل: ابن، ابن أبي، وغير ذلك مما يريد إضافته، مع إضافة خيار: تجاهل (ال) التعريف: عند تحديد هذا الخيار سيتم تجاهل (ال) التعريف من بداية الأسماء الموجودة والأسماء المعالجة؛ مثلاً: (الوليد) يوضع في الواو، و(ابن أبي الدنيا) يوضع في حرف الدال.
2- العلامة الثانية:
العبارات المستثناة: تضاف فيها العبارات المستثناة من المعالجة، والتي لا يريد الباحث معالجتها؛ مثل: أُبَي بن كعب؛ حيث سيبقى هذا العلم ضمن حرف الهمزة، ولن يتم وضعه في حرف (ب) أو (ك).
وفي العبارات المعالَجة والمستثناة يُسمح بإضافة عبارات جديدة، كما يسمح بتعديل أي عبارة، وحذف أي عبارة.
3-العلامة الثالثة:
الترتيب والمعالجة:
فيها مربع سرد يحدد من خلاله الباحث في أي عمود توجد الأسماء، فمن الممكن أن الأسماء في العمود الثاني وليس الأول، فقد يكون العمود الأول وضع فيها أرقاماً تسلسلية، وبذلك يكون مرونة في الخاصية أكثر.
وفيه زر بدء الترتيب والمعالجة: عند النقر عليه سيتم المعالجة وترتيب الأعلام بعد استثناء الكلمات التي تم معالجتها.

بإذن الله تعالى عندما أنتهي من إضافة هذه الخاصية الجديدة، سأقوم بنشرها هنا ضمن هذا الموضوع، مع فيديو أشرح من خلاله هذه الخاصية الجديدة.

  • Like 1
رابط هذا التعليق
شارك

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

Sort1.png.20be29816e54f145eea1bae6796807e2.png

Sort2.png.a3765aeee42bcb36c300a93e531776f2.png

Sort3.png.79c0b71a32d5852c444aa3e368445538.png
 

رابط الفيديو الذي يشرح الخاصية بشكل مفصل:

رابط مباشرة لتحميل آخر إصدار من إضافة البيان البحثية:
https://www.shhada.net/contents/downloadsm/4MAEgubYzqynkm6y.zip

ما رأيكم الآن أيها الأحباب؟

  • Like 1
رابط هذا التعليق
شارك

ما شاء الله تبارك الرحمن أخي الحبيب شحادة، ربنا يحفظك من كل سوء

جزاء الله عنا خير الجزاء، بوركت الأنامل الطيبة لإنجاز هذا العمل القيِّم، والذي يسهل على الباحثين هذه الجزئية في ترتيب المصادر والمراجع.

وفقكم الله يا طيب، أدعو الله في عليائه أن يُكتب هذا العمل الطيب في ميزان حسناتكم إلى يوم الدين

دمتم بخير

  • Thanks 1
رابط هذا التعليق
شارك

بارك الله فيك أخانا العزيز، وزادك من فضله، فعلا إضافة ممتازة، وعندي رأي يخص الأقواس المستخدمة في القرآن الكريم:

- لاحظت أن الإضافة تستخدم أقواسا معينة على الباحث أن يختار أحدها أثناء إجراء العملية، وهذه المشكلة تظهر مع القوس المزهر، لأن هناك أشكالا كثيرة مرتبطة بنوع الخط المستخدم، فهل يمكن إتاحة خانة أخرى لنسخ القوس المستخدم؟

- وهناك أمر آخر يخص الاستبدال المتعدد:

هل يمكن استخراج قائمة الكلمات التي أدخلت في ملف، مع إمكانية إدراج قائمة على هيئة جدول -مثلا- فيه خانتان: إحداهما للخطأ والأخرى للصواب؟

لأني أعتبر هذه الميزة من أجمل الميزات المستخدمة في الإضافة، وكثير من الباحثين عندهم قوائم بهذه الأخطاء، فلو جمعت في ملف قابل للزيادة والحذف والتعديل، ثم تدرج مرة واحدة للإضافة، كان هذا أيسر على الباحث.

جزاكم الله عنا خير الجزاء

تم تعديل بواسطه أبو عاصم المصري
  • Like 1
رابط هذا التعليق
شارك

11 ساعات مضت, مصطفى شاهين said:

ما شاء الله تبارك الرحمن أخي الحبيب شحادة، ربنا يحفظك من كل سوء

جزاء الله عنا خير الجزاء، بوركت الأنامل الطيبة لإنجاز هذا العمل القيِّم، والذي يسهل على الباحثين هذه الجزئية في ترتيب المصادر والمراجع.

وفقكم الله يا طيب، أدعو الله في عليائه أن يُكتب هذا العمل الطيب في ميزان حسناتكم إلى يوم الدين

دمتم بخير

الأخ العزيز مصطفى شاهين:
أسأل الله تعالى أن يستجيب دعواتك الطيبة، ولك مثل ذلك.
أذكر أنك منذ مدة اقترحت أن نضيف هذه الخاصية لإضافة البيان البحثية، ويومها أخبرتني أنها متبعة في أكثر من جامعة، وأرسلت لي رابطاً لأحد مواضيع الأخ (أبو عاصم المصري)، لكن لم أفكر بشكل عملي في ذلك، حتى صادف أن وضع الأخ (أبو عاصم) أكثر من موضوع حول هذه المشكلة وتفاعلنا معه، وصادف في نفس اليوم أن أحد الأشخاص طلب مني بحثاً على خمسات، وكان من شروط فهرس الأعلام الالتزام بهذه المنهجية في الترتيب، فسبحان الله جاءت كل هذه الأمور مع بعضها، مما دفعني لإضافة هذه الخاصية، وأنا مسرور أنها لاقت إحسانك، وألف شكر لك على اقتراحاتك التي كان لها أثر كبير في تطوير إضافة البيان البحثية.

47 دقائق مضت, أبو عاصم المصري said:

بارك الله فيك أخانا العزيز، وزادك من فضله، فعلا إضافة ممتازة، وعندي رأي يخص الأقواس المستخدمة في القرآن الكريم:

- لاحظت أن الإضافة تستخدم أقواسا معينة على الباحث أن يختار أحدها أثناء إجراء العملية، وهذه المشكلة تظهر مع القوس المزهر، لأن هناك أشكالا كثيرة مرتبطة بنوع الخط المستخدم، فهل يمكن إتاحة خانة أخرى لنسخ القوس المستخدم؟

- وهناك أمر آخر يخص الاستبدال المتعدد:

هل يمكن استخراج قائمة الكلمات التي أدخلت في ملف، مع إمكانية إدراج قائمة على هيئة جدول -مثلا- فيه خانتان: إحداهما للخطأ والأخرى للصواب؟

لأني أعتبر هذه الميزة من أجمل الميزات المستخدمة في الإضافة، وكثير من الباحثين عندهم قوائم بهذه الأخطاء، فلو جمعت في ملف قابل للزيادة والحذف والتعديل، ثم تدرج مرة واحدة للإضافة، كان هذا أيسر على الباحث.

جزاكم الله عنا خير الجزاء

الأخ الفاضل أبو عاصم المصري:
أعتز بشهادتك، وأنا سعيد بدعواتك المباركة، ولك مثل ذلك.

بخصوص أقواس القرآن الكريم:
لقد شرحت في الفيديو المتعلق بخاصية القرآن الكريم من أين أتيت بها، وذكرت أنها من رموز خط Traditional Arabic:

لذا قمت باستخدامها في خاصية القرآن الكريم، وكذلك في فهرسة الآيات القرآنية، وخاصة وأن هنالك عشرات الأقواس المزخرفة الخاصة بالآيات القرآنة، وأنا أردت اعتماد شكل واحد، فما هي الإشكالية عندك؟ ليتك توضح لي؛ لأن الفكرة غير واضحة بالنسبة لي.

بخصوص الاستبدال المتعدد:
لماذا الملف؟ كل ما تقوم بإدخاله يتم حفظه ضمن قاعدة البيانات، كما شرحت في فيديو الاستبدال المتعدد:

ويمكنك إنشاء عدة مجموعات أو قوائم، فمثلاً يمكنك إنشاء قائمة أو مجموعة للحديث النبوي، ويمكنك إنشاء قائمة أو مجموعة للتدقيق اللغوي، وهكذا... وكل هذا يتم حفظه ضمن قاعدة البيانات كما هو مشروح في الفيديو السابق.
أما إذا كان عندك قائمة موجودة في ملف فيمكنك نسخها ولصقها ضمن قاعدة البيانات في الجدول TMultiReplace.
على كلٍ: أبشر سأفكر بهذا الأمر، ولكن أريد منك قائمة حقيقية في ملف، فيها عبارة البحث (الخطأ) وعبارة الاستبدال (الصواب)؛ حتى أتعرف على آلية الملف، وبعد ذلك إن شاء الله تعالى نضيف خاصية لاستيراد الكلمات من ملف نصي، وخاصية لتصدير الكلمات إلى ملف نصي.

تحياتي لك أخي العزيز

  • Like 1
رابط هذا التعليق
شارك

المشكلة أنني عندي ملف فيه آيات كثيرة، والملف مكتوب مثلا بخط اللوتس، وطبعا يستخدم أقواس هذا الخط، وعند تحديد الآيات تكون النتيجة (لا يوجد آيات) وذلك لاختلاف القوسين، وهذا ما أوحى لي بفكرة (نسخ القوس) الموجود في الملف ولصقه في خانة معينة في إضافة البيان، ليتم البحث عنه بعينه، لا غيره.

أما مسألة الاستبدال المتعدد، فهي بالفعل مهمة، وذلك أننا يتكون عندنا قوائم بكثير من الملحوظات، لكنها متفرقة، يعني مثلا: (فى×في)، (البيهقى×البيهقى)، (الطبرانى× الطبراني)، (أم سلمه×أم سلمة)، ونحو هذا كثير جدا، فمن المستحسن جدا جمع قائمة قابلة للإضافة لهذه الكلمات.

وإن شاء الله أجمع لك ما عندي من كلمات في قائمة، وأرسلها لك.

بارك الله فيك، وفي جهدك.

تم تعديل بواسطه أبو عاصم المصري
  • Like 1
رابط هذا التعليق
شارك

4 دقائق مضت, أبو عاصم المصري said:

المشكلة أنني عندي ملف فيه آيات كثيرة، والملف مكتوب مثلا بخط اللوتس، وطبعا يستخدم أقواس هذا الخط، وعند تحديد الآيات تكون النتيجة (لا يوجد آيات) وذلك لاختلاف القوسين، وهذا ما أوحى لي بفكرة (نسخ القوس) الموجود في الملف ولصقه في خانة معينة في إضافة البيان، ليتم البحث عنه بعينه، لا غيره.

أما مسألة الاستبدال المتعدد، فهي بالفعل مهمة، وذلك أننا يتكون عندنا قوائم بكثير من الملحوظات، لكنها متفرقة، يعني مثلا: (فى×في)، (البيهقى×البيهقى)، (الطبرانى× الطبراني)، (أم سلمه×أم سلمة)، ونحو هذا كثير جدا، فمن المستحسن جدا جمع قائمة قابلة للإضافة لهذه الكلمات.

وإن شاء الله أجمع لك ما عندي من كلمات في قائمة، وأرسلها لك.

بارك الله فيك، وفي جهدك.

بخصوص الأقواس: طيب لماذا لا تقوم باستبدال الأقواس الموجودة عندك إلى مزهرين؟ الأمر بسيط جداً يتم من خلال بحث واستبدال، بحيث تسبدل القوس الأول ثم القوس الثاني، أو من خلال خاصية ما بين قوسين.

بخصوص الاقتباس المتعدد: أنا بانتظار القائمة منك إن شاء الله تعالى...

رابط هذا التعليق
شارك

أما عن القائمة، فسوف أجمع ما عندي إن شاء الله وأرسله لك.

وأما عن الأقواس، فإنها إذا تم استبدالها بأمر عام بالقوسين {} مثلا، فكثيرا ما يحدث خلل في نص الآية نفسه، حيث تتغير أول كلمة في الآية إلى كلمة أخرى.

  • Like 1
رابط هذا التعليق
شارك

3 دقائق مضت, أبو عاصم المصري said:

أما عن القائمة، فسوف أجمع ما عندي إن شاء الله وأرسله لك.

وأما عن الأقواس، فإنها إذا تم استبدالها بأمر عام بالقوسين {} مثلا، فكثيرا ما يحدث خلل في نص الآية نفسه، حيث تتغير أول كلمة في الآية إلى كلمة أخرى.

بخصوص الأقواس: أرجو منك أن ترسل لي ملف Word حقيقي، فيه آيات قرآنية بهذه الأقواس التي تتحدث عنها؛ كي أطلع عليه وأحاول إيجاد حل للمشكلة.

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information