اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

أبو عاصم المصري

03 عضو مميز
  • Posts

    165
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    2

كل منشورات العضو أبو عاصم المصري

  1. حبيبنا الغالي الأستاذ شحادة، حفظك الله... عندي بعض الاقتراحات بخصوص الجداول: 1- نريد أمرا لحذف المسافات الموجودة في أول الصفوف. 2- نريد تحديد الكلمة الأولى -مثلا- في الجدول لتلوينها، لإجراء بعض العمليات عليها. 3- نريد في فهرس الشعر الموجود في جدول تحديد الكلمة الأخيرة من الشطر الثاني المحتوية على القافية، ثم قلب حروفها، يعني مثلا: كلمة (خبير) تصبح (ريبخ) والغرض من هذا ترتيب الجدول على القافية. مع تجاهل (ا ، و ، ى، وا) إذا جاءت في أول الكلمة بعد قلبها. يعني كلمة (يسيروا) مكانها قافية (الراء) وعند قلبها ستصبح (اوريسي) ولو رتبنا الجدول هذكذا ستكون هذه الكلمة في حرف الألف، والصواب أن تكون في قافية (الراء) لذا يجب حذف (او). وهذه ميزة في غاية الأهمية، ستوفر وقتا وجهدا كبيرا، فضلا عن دقتها.
  2. فكرة الماكرو: 1- إخفاء الرموز (؟ ، ! ، )، (، ») لأنها تحدث مشكلة للماكرو. 2- الذهاب إلى آخر الشطر الثاني. 3- نسخ آخر كلمة في الشطر الثاني. 4- لصقها قبل أول كلمة في الشطر الأول. 5- تغيير تنسيق هذه الكلمة إلى مسطَّرة. 6- الإبقاء على ثلاثة حروف من الكلمة. 7- نقل الحرف الثالث مكان الأول، والأول مكان الثالث. 8- إذا كان الحرف الأول من الكلمة (ا أو و أو ى) حذفت هذه الحروف الثلاثة من أولها. 9- بهذا نكون قد وضعنا آخر ثلاثة حروف من الكلمة الأخيرة من البيت بعد عكس ترتيبها لتصلح للترتيب، ثم نعطي أمر الترتيب، وبهذا يكون جدول الشعر قد ترتب ترتيبا هجائيا حسب القافية. 10- نحذف كل الكلمات المسطرة من الجدول. 11- إظهار الرموز المخفية. وبهذه يكون الترتيب قريبا جدا من المطلوب، وعلى الباحث أن يتدارك بعض الفوات. بارك الله فيكم، وفي جهدكم، ونفع بكم.
  3. حبيبنا الأستاذ شحادة، أنار الله قلبك.. لا يخفى عليكم صعوبة ترتيب الشعر، ولما كان هذا الأمر كذلك، أعددت ماكرو يقرب المسألة بشكل كبير جدا، فيرتب الأبيات على الحرف الأخير وعلى ما قبله أيضا، وراعيت فيه عدم اعتبار (ا ، و ، ى) في ترتيب القواف، فكانت النتيجة مرضية إلى حد كبير. لذا رأيت أن أعرض عليك الماكرو، لما لك من خبرة في هذا المجال، ويمكن أن تضيف خاصية ترتيب الشعر إلى الإضافة، والشرط في هذا الماكرو: 1- أن يكون الشطران موجودين. 2- عدم وجود أي شيء إلا الجدول. 3- عدم وجود مسافة قبل الشطر الأول. 4- يكون الشطر الأول والثاني في حقلين متصلين، يعني لا يكون بينهما فاصل. وهذا هو الماكرو: Sub شعر3() ' ' شعر3 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 .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With For i = 1 To 1000 Selection.Find.Execute replace:=wdReplaceAll Selection.MoveRight Unit:=wdCell Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend Selection.Copy Selection.HomeKey Unit:=wdRow, Extend:=True Selection.MoveLeft Unit:=wdCharacter, Count:=1 Selection.TypeText Text:="××" Selection.PasteAndFormat (wdPasteDefault) Selection.MoveLeft Unit:=wdWord, Count:=1 Selection.TypeBackspace Selection.HomeKey Unit:=wdLine Selection.MoveRight Unit:=wdWord, Count:=2, Extend:=wdExtend Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend If Selection.Font.Underline = wdUnderlineNone Then Selection.Font.Underline = wdUnderlineSingle Else Selection.Font.Underline = wdUnderlineNone End If Selection.Find.ClearFormatting Selection.Find.Font.Underline = wdUnderlineSingle Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "[ًٌٍَُِّْ]" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = True .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute replace:=wdReplaceAll Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.MoveLeft Unit:=wdCharacter, Count:=3 Selection.HomeKey Unit:=wdLine, Extend:=wdExtend Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend Selection.Cut Selection.MoveRight Unit:=wdWord, Count:=1 Selection.MoveLeft Unit:=wdCharacter, Count:=1 Selection.PasteAndFormat (wdPasteDefault) Selection.MoveLeft Unit:=wdCharacter, Count:=1 Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend Selection.Cut Selection.HomeKey Unit:=wdLine Selection.PasteAndFormat (wdPasteDefault) Selection.GoTo What:=wdGoToLine, Which:=wdGoToNext, Count:=1, name:="" Selection.Find.ClearFormatting Selection.Find.Font.Underline = wdUnderlineSingle With Selection.Find .Text = "[ًٌٍَُِّْ]" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = True .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With If Selection.EndKey = fals Then Exit For End If Next i Selection.Tables(1).Select Selection.Rows.ConvertToText Separator:=wdSeparateByTabs, NestedTables:= _ True Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^pا" .Replacement.Text = "^p" .Forward = True .Wrap = wdFindContinue .Format = False .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 Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^pو" .Replacement.Text = "^p" .Forward = True .Wrap = wdFindContinue .Format = False .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 Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^pى" .Replacement.Text = "^p" .Forward = True .Wrap = wdFindContinue .Format = False .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 Selection.WholeStory Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend WordBasic.TextToTable ConvertFrom:=1, NumColumns:=4, NumRows:=27, _ InitialColWidth:=wdAutoPosition, Format:=0, Apply:=1184, AutoFit:=1, _ SetDefault:=0, Word8:=0, Style:="شبكة جدول" Selection.HomeKey Unit:=wdStory Selection.Sort ExcludeHeader:=False, FieldNumber:="عمود 1", SortFieldType _ :=wdSortFieldAlphanumeric, SortOrder:=wdSortOrderAscending, FieldNumber2 _ :="", SortFieldType2:=wdSortFieldAlphanumeric, SortOrder2:= _ wdSortOrderAscending, FieldNumber3:="", SortFieldType3:= _ wdSortFieldAlphanumeric, SortOrder3:=wdSortOrderAscending, Separator:= _ wdSortSeparateByTabs, SortColumn:=False, CaseSensitive:=False, LanguageID _ :=wdArabic, SubFieldNumber:="فقرات", SubFieldNumber2:="فقرات", _ SubFieldNumber3:="فقرات" Selection.Sort BidiSort:=False, IgnoreThe:=True, IgnoreKashida:=True, _ IgnoreDiacritics:=False, IgnoreHe:=False Selection.HomeKey Unit:=wdStory Selection.RtlPara Selection.Find.ClearFormatting Selection.Find.Font.Underline = wdUnderlineSingle Selection.Find.Replacement.ClearFormatting 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 Selection.Find.ClearFormatting Selection.Find.Font.Hidden = True Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Font.Hidden = False 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 Selection.WholeStory Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend With Selection.Borders(wdBorderTop) .LineStyle = Options.DefaultBorderLineStyle .LineWidth = Options.DefaultBorderLineWidth .Color = Options.DefaultBorderColor End With With Selection.Borders(wdBorderLeft) .LineStyle = Options.DefaultBorderLineStyle .LineWidth = Options.DefaultBorderLineWidth .Color = Options.DefaultBorderColor End With With Selection.Borders(wdBorderBottom) .LineStyle = Options.DefaultBorderLineStyle .LineWidth = Options.DefaultBorderLineWidth .Color = Options.DefaultBorderColor End With With Selection.Borders(wdBorderRight) .LineStyle = Options.DefaultBorderLineStyle .LineWidth = Options.DefaultBorderLineWidth .Color = Options.DefaultBorderColor End With With Selection.Borders(wdBorderHorizontal) .LineStyle = Options.DefaultBorderLineStyle .LineWidth = Options.DefaultBorderLineWidth .Color = Options.DefaultBorderColor End With With Selection.Borders(wdBorderVertical) .LineStyle = Options.DefaultBorderLineStyle .LineWidth = Options.DefaultBorderLineWidth .Color = Options.DefaultBorderColor End With Selection.Tables(1).AutoFitBehavior (wdAutoFitContent) Selection.Tables(1).AutoFitBehavior (wdAutoFitContent) Selection.MoveUp Unit:=wdLine, Count:=1 MsgBox " تم ترتيب الجدول يا عم الشيخ، تحياتي لفضيلتك" End Sub
  4. أخانا العزيز/ الأستاذ شحادة... قابلتني مشكلة في الترقيم، فلاحت لي فكرة إضافة ميزة جديدة على إضافتك الرائعة: المشكلة كانت في ترقيم مقلوب، حيث جاء مرتبا من الأكبر إلى الأصغر، وهذا ناتج عن الكتابة في وضع اللغة الإنجليزية، مع عدم وجود فاصلة بين الأرقام، فحللتها بعمل ماكرو ليأخذ أرقام المجموعة في ملف آخر، ثم جعلت كل رقم في فقرة، ثم رتبت الأرقام من الأصغر للأكبر، ثم حذفت الفقرات، ونسخت مجموعة الأرقام بعد ترتيبها، ولصقتها مكان غير المرتبة. والمطلوب: إيجاد آلية لترقيم مجموعة أرقام متتالية، سواء كان بينها فاصلة، أو غير ذلك، أو كانت بين قوسين، أو بلا أقواس. وهذه صورة الأرقام بعد ترتيبها: تبين الحقائق شرح الکنز: 1/ 76، 89، 93، 99، 107، 117، 119، 124، 130128، 135، 137، 140، 141، 143، 144، 148، 154، 162، 175، 178، 185، 188، 189، 192، 196، 197، 218، 230، 231، 233، 241، 244، 250، 251، 252، 255، 256، 257، 260، 261، 262، 263، 264، 271، 274، 277، 279، 280، 281، 285، 287، 289، 293، 299، 304، 306، 309، 312، 313، 325، 326، 335، 338، 342، 346، 347، 348، 362، 369، 370، 371، 372، 373، 375، 376، 377، 379، 380، 383، 386، 389، 396، 397، 398، 401، 437، 449، 454، 466، 467، 490، 494 - 2/ 7، 8، 10، 21، 33، 35، 36، 39، 41، 46، 50، 52، 54، 55، 56، 58، 59، 60، 61، 62، 66، 74، 75، 77، 81، 82، 87، 89، 91، 94، 95، 96، 97، 101، 103، 102، 104، 110، 111، 113، 114، 116، 117، 121، 125، 126، 134، 143، 144، 149، 152، 162، 164، 166، 168، 169، 172، 174، 175، 188، 189، 193، 196، 197، 199، 201، 204، 205، 206، 207، 209، 212، 213، 214، 217، 219، 222، 225، 226، 227، 228، 235، 238، 239، 240، 241، 242، 249، 250، 251، 252، 253، 254، 256، 259، 261، 262، 264، 265، 266، 270، 276، 282، 305، 306، 308، 341، 366، 367، 410، 432، 440، 442، 444، 529، 535
  5. ما شاء الله، استعملت الطريقة، وهي مفيدة للغاية، فبارك الله فيك أخي الكريم، وجعل ذلك كله في ميزان حسناتك.
  6. الفكرة كالتالي: 1- إضافة عبارة (أخرجه البخاري: كتاب كذا، باب كذا، رقم (كذا)) تحت كل حديث من أحاديث البخاري، ويؤخذ هذا من (الكتاب) و(الباب) اللذين يندرج تحتهما الحديث. 2- يتم هذا مع كل أحاديث البخاري، وكذا مسلم، وبقية الكتب الستة. 3- بعد ذلك تجمع ملفات الكتب الستة في ملف واحد، وسيكون عددها حوالي (30000) حديث. 4- عمل مقارنة بنسبة 50% مثلا بين حديث رقم (1) في البخاري مع مجموع الأحاديث. 5- بهذا سيجد البرنامج الأحاديث التي تتشابه مع نص حديث رقم (1) من بقية الكتب. 6- جمع كل الأحاديث المتشابهة في ملف مستقل مثلا. 7- يحدث هذا مع الحديث (2، 3، 4، ....) إلى آخر ال(30000) حديث. 8- سينتج عن هذا مثلا (3000) مجموعة، كل مجموعة فيها الأحاديث المتشابهة. 9- وبالتالي عندما أبحث عن حديث سينبهني البرنامج أن هذا الحديث ضمن مجموعة (كذا)، وهذا هو تخريج الحديث. 10- سيقابلنا عبارة (نحوه) أو (بنحوه)، أو (مثله)، أو (بمثله) التي يشير بها المصنف إلى الحديث السابق، فهذه تلحق بالحديث السابق، بمعنى أنها تضاف لمجموعة الحديث السابق. 11- دائما نجعل أطول حديث في أول المجموعة. 12- يمكن لأي باحث أن ينظر في هذه المجموعة للتأكد من سلامة الربط داخل المجموعات، وأن الأحاديث بالفعل مرتبطة من حيث المتن. 13- وهناك ميزة رائعة ستتظهر أمامنا من خلال هذه المقارنات، وهي ظهور الأحاديث التي تفرد بها كل مصنف، فستظهر الأحاديث التي تفرد بها البخاري أو مسلم، وهكذا. 14- لا بد من تحديد الطبعات التي ستعتمد في هذا، وهذا ميسور، يمكن أن أعطيك قائمة بهذا. * ملحوظة: أعلم أن هذا سيحتاج مجهودا كبيرا، لكن بإتمامه سيكون -من وجهة نظري- سبقًا، علما بأن تخريج الحديث كان قديما يستغرق وقتا طويلا، وربما يخطئ الباحث في التخريج، فيعزو الحديث مثلا لابن ماجه، وهو في صحيح البخاري، ونحو هذا، وهذا يعتبر من الكوارث. والحمد لله جاءت الموسوعات فساعدت بصورة كبيرة جدا في موضوع التخريج، لكن هذه الفكرة لو طبقت بصورة صحيحة ستكون نقلة كبيرة في مسألة تخريج الحديث.
  7. حبيبنا الأساذ شحادة، أريد أن أقترح عليك فكرة (تخريج الحديث) من خلال الكتب الستة فقط، على أن يكون مرحلة أولى، لتكون نواة لتخريج موسع للحديث. وتكون طريقة التخريج حسب الاختيار: (الكتاب، الباب، رقم الحديث) أو (رقم الحديث) فقط، وكل من الصورتين مطلوب.
  8. تمام، فتح الله لك، وإن شاء الله ممكن مع التجربة يكون هناك اقتراح للتطوير. الأيام التاريخية.docx
  9. مع ملاحظة أن الألفاظ التاريخية كثيرا ما تتفق مع الأماكن، فكلمة (بدر) مثلا أحيانا يراد بها (المكان)، وأحيانا يراد بها (الغزوة) وكلمة (تبوك)، (خيبر)، (الجعرانة) كذلك، لذا قد توضع الكلمة الواحدة في فهرسين مثلا، فتوضع في (الأماكن)، و(الأيام التاريخية). فمن المستحسن جدا أن نمر على هذه المواضع موضعا موضعا للتمييز. * ثم إنه لا بد من مراجعة الباحث هذه المواضع، مع عدم الاعتماد بالشكل الكامل على الفهرسة الآلية. ومميزات هذه المرحلة الآلية: 1- تحديد كل كلمات القائمة ضمن الفهرس. 2- سرعة التنفيذ. 3- تنبيه الباحث إلى ما قد يفوته من عناصر الفهرسة. 4- إمكانية إضافة كلمات على القائمة، أو حذفها عند الحاجة، وهذا يعطي مرونة كبيرة للباحث.
  10. من الممكن أن نحدد من القائمة الكلمات المشتركة، بحيث يتم إدراجها في الفهرس (موضعا موضعا) ويكون هناك خيار (إدراج كل الكلمات) أو (المرور على المواضع) واحدا تلو الآخر، أما بقية الكلمات غير المشتركة -وهي الأكثر- فيتم إدراجها دفعة واحدة للفهرس. * ملحوظة: يا حبذا لو كانت هذه القائمة قابلة (للزيادة، والتعديل، والحذف).
  11. قبائل.docxأماكن.docx هاتان قائمتان: (للقبائل والفرق والجماعات) و(الأماكن والبقاع)، يمكن أن تستخدما للفهرسة، بحيث يتم تحديد كل هذه الكلمات في الملف: الأماكن بلون، والقبائل بلون آخر، على أن يراجع المفهرس المواضع المحددة للتأكد من عدم اشتراكها مع كلمات أخرى لا تدخل في باب الفهرسة، مثل كلمة (أحد)، حيث إنها تحدد على أنها (مكان)، وتحدد أيضا على أنها (غزوة)، وقد لا تدخل في أي من الفهرسين، فالمفهرس يمر عليها في الملف للتأكد من دخولها في الفهرسة، ثم تقوم أداة البيان بعمل الفهرس بالطريقة المعتادة، وبهذا نكون قد فهرسنا الأماكن والقبائل، فإن لقي هذا القبول، فمن الممكن أن أجمع لك أيضا قائمة (بالغزوات والوقائع التاريخية) لإدراجها ضمن الفهارس. وللعلم: إضافة البحث في ملفات الورد أفادتني كثيرا، فجزاك الله عنا خير الجزاء.
  12. ما شاء الله، سلمت يمينك أخانا الحبيب👍
  13. ما شاء الله، اطلعت على الإضافة الجديدة، وهي جميلة ومفيدة، بارك الله فيك أساذ شحادة.
  14. وهنا نقوم بطريقة يدوية بنقل البيت الذي آخره (برهانا) إلى موضعه في حرف النون، و(ناهيا) إلى موضعه في حرف الياء، وهكذا.
  15. هذه صورة الجدول قبل الترتيب: رُبَّ مَنْ أنضَجتُ غيظًا قلبَهُ قد تمنَّى لي موتًا لم يُطَعْ رُبَّما تَكْرَهُ النُّفُوسُ من الأمْر ما لَهُ فَرْجةٌ كَحَلِّ العِقالِ سَراةُ بَني أبي بَكْرٍ تَسامَوْا عَلَى كانَ المُسَوَّمةِ العِرابِ عُمَيرةَ ودِّعْ إنْ تَجَهَّزْتَ غادِيا كَفَي الشّيْبُ والإسْلامُ لِلْمَرْءِ ناهِيا قلّدوها تمائمًا خوفَ عينٍ وحاسِدِ كُلُوا في بعضِ بطنِكمُ تَعِفُّوا فإنّ زمانَكمْ زمنٌ خميصُ لا تَحْظُرِ العَفْوَ إنْ كنتَ امْرَءًا حَرِجًا فإنّ حَظْرَكهُ للدِّينِ إزْراءُ لا يَسْألُونَ أخاهُمْ حِينَ يَنْدُبُهُمْ للنّائِباتِ عَلَى ما قالَ بُرْهانا لِسانُ الفَتى نِصْفٌ ونِصفٌ فُؤادُه فَلَمْ يَبْقَ إلّا صُورةُ اللّحمِ والدّمِ مَساميحُ الفِعالِ ذَوُو أناةٍ مراجيحٌ وأوجُهُهُمْ وِضاءُ مَنطِق صائب وتلحَن أحْيانًا وخيْرُ الكَلامِ ما كانَ لحنَا وإنْ تَسْألونِي بالنِّساءِ فإنَّني خبيرٌ بأدْواءِ النِّساءِ طَبِيبُ وإنّ لسانَ المرءِ ما لم تكنْ له حصاةٌ على عَوراتهِ لَدَليلُ وإنّ لِسانَ المَرْء ما لَمْ يَكُنْ لَه حَصاةٌ عَلى عَوْراتِه لَدَلِيلُ وإنِّي وإن أوْعَدْتُه أو وعَدْتُهُ لمنجزُ إيعادي ومُخْلِفُ مَوْعِدي وهذه صورته بعد الترتيب: لا تَحْظُرِ العَفْوَ إنْ كنتَ امْرَءًا حَرِجًا فإنّ حَظْرَكهُ للدِّينِ إزْراءُ مَساميحُ الفِعالِ ذَوُو أناةٍ مراجيحٌ وأوجُهُهُمْ وِضاءُ لا يَسْألُونَ أخاهُمْ حِينَ يَنْدُبُهُمْ للنّائِباتِ عَلَى ما قالَ بُرْهانا مَنطِق صائب وتلحَن أحْيانًا وخيْرُ الكَلامِ ما كانَ لحنَا عُمَيرةَ ودِّعْ إنْ تَجَهَّزْتَ غادِيا كَفَي الشّيْبُ والإسْلامُ لِلْمَرْءِ ناهِيا سَراةُ بَني أبي بَكْرٍ تَسامَوْا عَلَى كانَ المُسَوَّمةِ العِرابِ وإنْ تَسْألونِي بالنِّساءِ فإنَّني خبيرٌ بأدْواءِ النِّساءِ طَبِيبُ قلّدوها تمائمًا خوفَ عينٍ وحاسِدِ كُلُوا في بعضِ بطنِكمُ تَعِفُّوا فإنّ زمانَكمْ زمنٌ خميصُ رُبَّ مَنْ أنضَجتُ غيظًا قلبَهُ قد تمنَّى لي موتًا لم يُطَعْ رُبَّما تَكْرَهُ النُّفُوسُ من الأمْر ما لَهُ فَرْجةٌ كَحَلِّ العِقالِ وإنّ لسانَ المرءِ ما لم تكنْ له حصاةٌ على عَوراتهِ لَدَليلُ وإنّ لِسانَ المَرْء ما لَمْ يَكُنْ لَه حَصاةٌ عَلى عَوْراتِه لَدَلِيلُ لِسانُ الفَتى نِصْفٌ ونِصفٌ فُؤادُه فَلَمْ يَبْقَ إلّا صُورةُ اللّحمِ والدّمِ وإنِّي وإن أوْعَدْتُه أو وعَدْتُهُ لمنجزُ إيعادي ومُخْلِفُ مَوْعِدي
  16. أحبائي الكرام، كنت أعمل في ملف فيه مئات من الأبيات الشعرية المأخوذة من الملف بغرض فهرستها، ومن المعلوم أن ترتيب الشعر يكون حسب القافية، فيكون الترتيب على حسب الحرف الأخير (القافية) من الكلمة التي تحتوي على القافية، وكان هذا الأمر يحتاج وقتا وجهدا كبيرين، لأن الفرز (الترتيب) في الورد ليس فيه هذه الخاصية، فأعددت ماكرو بصورة بسيطة يقوم بترتيب الأبيات الشعرية على الحرفين الأخيرين من القافية، بغض النظر عن (الألف والواو والياء والهاء) لأنها ربما تكون في في آخر الكلمة وليست هي القافية، فتركتها كما هي، وعلى الباحث أن يضعها في ترتيبها بطريقة يدوية، وهذه المواضع غالبا ما تكون قليلة، علما بأني من الهواة، لكن لما نفعت الفكرة وساعدتني كثيرا أحببت مشاركة إخواني، عسى أن يعم نفعها. * ويشترط أن تكون الأبيات ضمن جدول، وأن يوجد الشطران، وألا يكون في الصفحة إلا جدول الشعر فقط، بمعنى أنه لا يوجد عنوان مثلا قبل الفهرس، مثل: فهرس الشعر، ويمكن أن تضيفة بعد الترتيب الآلي واليدوي: وهذا هو الماكرو: ' ' شعرعماد Macro 'ماكرو ترتيب أبيات شعرية في جدول، ولا بد أن يكون هناك جدول فقط 'ويشترط وجود الشطرين Selection.Tables(1).Select Selection.Font.Color = wdColorAutomatic Selection.HomeKey Unit:=wdStory Selection.MoveRight Unit:=wdCell Selection.MoveRight Unit:=wdCell Selection.SelectColumn Selection.Font.Color = wdColorRed Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting Selection.Find.Font.Color = wdColorRed Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "<[! ]@>[! :.،؛\؟\!]" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With For i = 1 To 1000 Selection.Find.Execute Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend Selection.Copy If Selection.Find.Found = False Then Selection.HomeKey Unit:=wdStory Exit For MsgBox "لا توجد كلمات حمراء" End If Selection.Font.Color = wdColorAutomatic Selection.HomeKey Unit:=wdRow, Extend:=True Selection.MoveLeft Unit:=wdCharacter, Count:=1 Selection.PasteAndFormat (wdPasteDefault) Selection.MoveLeft Unit:=wdCharacter, Count:=1 Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend Selection.Font.Color = 12611584 Selection.HomeKey Unit:=wdLine Selection.GoTo What:=wdGoToLine, Which:=wdGoToNext, Count:=1, name:="" Selection.Find.ClearFormatting Selection.Find.Font.Color = wdColorRed With Selection.Find .Text = "<[! ]@>[! :.،؛\؟\!]" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Next i Selection.Find.ClearFormatting Selection.Find.Font.Color = 12611584 Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "[ًٌٍَُِّْ]" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute replace:=wdReplaceAll Selection.Find.ClearFormatting Selection.Find.Font.Color = 12611584 Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "[ًٌٍَُِّْ]" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.ClearFormatting Selection.Find.Font.Color = 12611584 Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "<[! ]@>" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With For i = 1 To 1000 Selection.Find.Execute If Selection.Find.Found = False Then Selection.HomeKey Unit:=wdStory Exit For MsgBox "لا توجد كلمات زرقاء" End If Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.MoveLeft Unit:=wdCharacter, Count:=2 Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend Selection.Cut Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.PasteAndFormat (wdPasteDefault) Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend Selection.Font.Color = 5287936 Next i Selection.HomeKey Unit:=wdLine 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 Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting Selection.Find.Font.Color = 5287936 Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "<[! ]@>" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute replace:=wdReplaceAll Selection.Tables(1).Select Selection.Font.Color = wdColorAutomatic Selection.HomeKey Unit:=wdStory End Sub
  17. في رأيي: أن تيسير إجراء العملية من الأشياء المفيدة، وخصوصا إذا كان الباحث يحتاجها كثيرا. صحيح أن هناك كثيرا من العمليات يقوم بها الورد، لكنها تأخذ وقتا، وربما تأخذ أكثر من مرحلة، مما قد ينتج عنه خطأ، إضافة إلى الجهد والوقت. فمن المفيد جدا تيسير هذه العمليات إذا تمت إضافتها للإضافة بالطريقة الجميلة المعهودة. خصوصا أن الخطأ في الترقيم يعد من الأخطاء الشنيعة، لذا فمن المستحسن أن يكون بطريقة آلية. ولا يخفى عليكم أن العمل في الأرقام -على وجه التحديد- لفترة طويلة لا بد أن يؤدي إلى خطأ. فلا ملامة عليك أخي الحبيب في إضافة هذه الخاصية بطريقتك الجميلة البسيطة. * وهذا يأخذنا إلى فكرة أخرى يمكن أن تضاف (للإضافة)، وهي عملية (اختبارات) ويمكن أن يشمل التالي: 1- اختيارات الإملاء. 2- اختبارات الضبط (التشكيل). 3- اختبارات الترقيم. ومن الممكن أن يكون هناك اختبارات أخرى يمكن أن تجرى على الملف.
  18. أستاذنا هذا نموذج لما أريده: يوجد كتاب - باب - حديث، وكل منها أمامه رمز مختلف عن الآخر. وهذه المواضع تحتاج ترقيما، وكل ترقيم منفصل عن الآخر، فهناك ترقيم خاص بالكتب، وآخر خاص بالأبواب، وترقيم خاص بالأحاديث. والفكرة هي: إضافة زر الترقيم على [= $ * @ %] مثلا، بحيث يختار الباحث الرمز الذي يرقم عليه. فإذا اختار [=] مثلا، فهذا يعني أنه يريد ترقيم الأحاديث إلى آخر الكتاب. وإذا كان الكتاب مقسما إلى عدة ملفات، فيمكن أن نضيف بداية الترقيم. @كتاب السنة الْحَمْدُ لِلَّهِ وَصَلَوَاتُهُ عَلَى سَيِّدِنَا مُحَمَّدٍ وَآلِهِ قُرِئَ عَلَى الشَّيْخِ الصَّالِحِ أَبِى زُرْعَةَ طَاهِرِ بْنِ مُحَمَّدِ بْنِ طَاهِرٍ الْمَقْدِسِىِّ وَأَنَا أَسْمَعُ قِيلَ لَهُ أَخْبَرَكُمُ الشَّيْخُ الْعَالِمُ أَبُو مَنْصُورٍ مُحَمَّدُ بْنُ الْحُسَيْنِ بْنِ أَحْمَدَ بْنِ الْهَيْثَمِ الْمُقَوِّمِىُّ الْقَزْوِينِىُّ إِجَازَةً إِنْ لَمْ يَكُنْ سَمَاعًا قَالَ أَخْبَرَنَا أَبُو طَلْحَةَ الْقَاسِمُ بْنُ أَبِى الْمُنْذِرِ الْخَطِيبُ قَالَ أَخْبَرَنَا أَبُو الْحَسَنِ عَلِىُّ بْنُ إِبْرَاهِيمَ بْنِ سَلَمَةَ بْنِ بَحْرٍ الْقَطَّانُ قَالَ أَخْبَرَنَا أَبُو عَبْدِ اللَّهِ مُحَمَّدُ بْنُ يَزِيدَ بْنِ مَاجَهْ قَالَ : $ باب اتِّبَاعِ سُنَّةِ رَسُولِ اللَّهِ صلى الله عليه وسلم = حَدَّثَنَا أَبُو بَكْرِ بْنُ أَبِى شَيْبَةَ حَدَّثَنَا شَرِيكٌ عَنِ الأَعْمَشِ عَنْ أَبِى صَالِحٍ عَنْ أَبِى هُرَيْرَةَ قَالَ قَالَ رَسُولُ اللَّهِ صلى الله عليه وسلم « مَا أَمَرْتُكُمْ بِهِ فَخُذُوهُ وَمَا نَهَيْتُكُمْ عَنْهُ فَانْتَهُوا » . = حَدَّثَنَا مُحَمَّدُ بْنُ الصَّبَّاحِ أَخْبَرَنَا جَرِيرٌ عَنِ الأَعْمَشِ عَنْ أَبِى صَالِحٍ عَنْ أَبِى هُرَيْرَةَ قَالَ قَالَ رَسُولُ اللَّهِ صلى الله عليه وسلم « ذَرُونِى مَا تَرَكْتُكُمْ فَإِنَّمَا هَلَكَ مَنْ كَانَ قَبْلَكُمْ بِسُؤَالِهِمْ وَاخْتِلاَفِهِمْ عَلَى أَنْبِيَائِهِمْ فَإِذَا أَمَرْتُكُمْ بِشَىْءٍ فَخُذُوا مِنْهُ مَا اسْتَطَعْتُمْ وَإِذَا نَهَيْتُكُمْ عَنْ شَىْءٍ فَانْتَهُوا » . = حَدَّثَنَا أَبُو بَكْرِ بْنُ أَبِى شَيْبَةَ حَدَّثَنَا أَبُو مُعَاوِيَةَ وَوَكِيعٌ عَنِ الأَعْمَشِ عَنْ أَبِى صَالِحٍ عَنْ أَبِى هُرَيْرَةَ قَالَ قَالَ رَسُولُ اللَّهِ صلى الله عليه وسلم « مَنْ أَطَاعَنِى فَقَدْ أَطَاعَ اللَّهَ وَمَنْ عَصَانِى فَقَدْ عَصَى اللَّهَ عَزَّ وَجَلَّ » .
  19. أعلم أن هذه الإمكانية موجودة في الورد، لكن طريقتها غير مباشرة، وتحتاج بعض الخبرة في الورد. لكن إضافتها للإضافة بشكل مباشر، مثل: اختر العلامة التي ترقم عليها، يكون أيسر. - أما كتابة رقم في موضع معين، فهذا يكون عند نسخ المخطوطات مثلا، فأحتاج عند كلمة معينة -التي هي بداية صفحة في المخطوط- كتابة رقم صفحة المخطوط، ويكون بين معقوفين بهذه الصورة [10 س/أ] ثم [10 س/ب]، ثم [11 س/أ] ثم [11 س/ب] وهكذا. س : رمز المخطوط، ويمكن أن تكون رمزا آخر، ويمكن أن يكون هناك أكثر من مخطوط، فيكون هناك أكثر من رمز. 10، 11 : رقم اللوحة. أ ، ب : يمين اللوحة وشمالها، أو الوجه والظهر. عند كتابة الرقم بشكل يدوي أحيانا يحدث خطأ، لكن لو كتب بطريقة آلية يكون أضبط. والصورة: يكون هناك زر لإضافة رقم مثلا بين معقوفين بهذه الصورة [1 س/أ] ويتلوه بشكل آلي [ا س/ب]، ثم [2 س/أ] ثم [2 س/ب]، وهكذا، فيتغير الرقم [1، 2، 3، 4] وهكذا، ويتغير الرمز [س/أ] مرة، [س /ب] مرة، هكذا. مع إمكانية كتابة الرقم بشكل يدوي إذا تطلب الأمر، مع إمكانية تغيير الرموز. وهذا مفيد جدا للباحثين، خصواصا عند العزو إلى أرقام صفحات المخطوط، وأحيانا المطبوع، خصوصا أن الطبعات القديمة لم يكن فيها ترقيم إلا أرقام الصفحات فقط.
  20. رأيتها الآن، ما شاء الله، لا قوة إلا بالله، ممتاز، بارك الله فيك. وعندي اقتراح آخر: وهو ترقيم الكتب والأبواب والأحاديث، أو الفقرات، أو ما إلى ذلك. والطريقة هي: - يجعل الباحث علامة أمام الكتاب، ولتكن مثلا * - وكذلك علامة أمام الباب، ولتكن مثلا @ - وعلامة أما الحديث، ولتكن مثلا = أو أي علامة يختارها، بحيث لا تتكرر في الملف إلا في المواضع المطلوب ترقيمها. - يقوم البرنامج بالترقيم على هذه المواضع المحددة. - كما يضاف إلى البرنامج شكل الرقم، بحيث يوضع مثلا بين []، أو {}، أو ()، أو يترك بلا أقواس، ويوضع بعده شرطة - أو لا يوضع. - ويستحسن إضافة خاصية التلوين للأرقام، فهذه تساعد في حالة المراجعة. ويا حبذا لو أضفت خاصية كتابة رقم في موضع معين، كأرقام المخطوطات مثلا، فنضغط على زر معين فيضيف رقم [1/1]، ثم [1/2]، ثم [1/3]، وهكذا، مع إمكانية إضافة رمز للترقيم، مثل [10 أ]، أو [10 ب]، أو [10 ج]. مع إمكانية إعادة بدء الترقيم، بحيث لو سقط رقم من المخطوط يتم تداركه يدويا.
  21. أحيانا يكون عندي جدول للشعر جاهز يحتاج ترتيب، فإضافة هذه الخاصية تكون مفيدة.
  22. حبيبنا الأستاذ شحادة.. نظرت في الإصدار الجديد من الإضافة، ما شاء الله، جميل. عندي اقتراح: ممكن مع خاصية ترتيب الأعلام، تضيف خاصية ترتيب الشعر، ولا يخفى عليك أنه يرتب على القافية. وهناك صورة جدول فيه البيت كامل، مثل: ما نَوالُ الغَمامِ وَقْتَ رَبِيعٍ كنَوالِ الأمِيرِ يَومَ سَخاءِ 291 أَأُحِبُّهُ وَأُحِبُّ فِيهِ مَلامةً؟ إنّ المَلامةَ فِيهِ مِن أعْدائِهِ 350 ومثل: القافية البحر الشاعر الصفحة داءُ الوافر الجَعْدُ بن مِهْجَع أبو المُسْهر 131 كَدَاءُ الوافر حسّان بن ثابت 700 سَوْداءُ الكامل أبو أبو الطيب المتنبي 699
×
×
  • اضف...

Important Information