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

مشاهدة النسخة كاملة : كود لتخفيف نص مشكل و مزخرف


عبد الهادي بهاب
09-04-2017, 07:12 PM
السلام عليكم ورحمة الله وبركاته

لحاجة في كتابة مذكرة تخرج و التي يشترط عدم تشكيل النصوص كانت هناك حاجة لحذف التشجيل و الحركات عن نص باكمله فوجدت هذا الموقع


http://etlaq.co/go/1919.html

شرح لوظيفة هذا الموقع منقول للامانة :

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


هل يمكن وضع كود لذلك باستخدام الاوتوبلاي



نحن نحاول و حتى ذلكم الحين ننتظر عونكم

ثامر أبو بلقيس
09-04-2017, 08:27 PM
حـــاول و موفق إن شاء الله

ثامر أبو بلقيس
10-04-2017, 05:56 PM
صعبـــــــــــــــــــ:abc_0 05:ـة

حجزنا بالرد إمكانية قراءة الحلول

المـهاجر
11-04-2017, 04:46 PM
وعليكم السلام ورحمة الله وبركاته

عبد الهادي بهاب
14-04-2017, 11:41 PM
مررت فقط اتعتذر عن عدم المتابعة لانعدام الجهإز للتجربة اسف استاذ ثامر سنوافيكم فور حصول الظروف

ثامر أبو بلقيس
15-04-2017, 12:00 AM
مررت فقط اتعتذر عن عدم المتابعة لانعدام الجهإز للتجربة اسف استاذ ثامر سنوافيكم فور حصول الظروف


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

موفق :abc_138:

المـهاجر
15-04-2017, 05:19 PM
طريقة الاستبدال جيدة و لا غبار عليها
و هى الطريقة المعتادة فى مثل هذه الظروف

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

ثامر أبو بلقيس
15-04-2017, 05:21 PM
طريقة الاستبعاد لا أعرفها ممكن تلميح نظري بسيط إن أمكن :abc_138:

المـهاجر
15-04-2017, 05:26 PM
طريقة الاستبعاد لا أعرفها ممكن تلميح نظري بسيط إن أمكن :abc_138:

و لماذا تلميح نظرى بسيط فقط ؟؟
تستحق كود مكتمل
طالما لا تبخل على اخوانك بمعلوماتك فلن يبخل عليك احد

Str = "قُل لَّوْ كَانَ الْبَحْرُ مِدَادًا لِّكَلِمَاتِ رَبِّي لَنَفِدَ الْبَحْرُ قَبْلَ أَن تَنفَدَ كَلِمَاتُ رَبِّي وَلَوْ جِئْنَا بِمِثْلِهِ مَدَدًا "
Dialog.Message("Notice", Str);
NewStr = ""
for i = 1,#Str do
char = String.Mid(Str, i, 1);
asc = String.Asc(char);
if asc<240 then
NewStr = NewStr..char
end
end
Dialog.Message("Notice", NewStr);

بإختصار
نستبعد الكود أسكى الأكبر من 240
يمكنك البحث عن القيمة المناوئة فى اى لغة اخرى
لعمل نفس الدالة لأى لغة تعجبك
موفق
:abc_152::abc_152:
:abc_152:

ثامر أبو بلقيس
15-04-2017, 05:31 PM
قمة التميز و الإبداع

اشتقنا لقراءة مثل هاته الاحترافية أجدت :abc_139:

المـهاجر
15-04-2017, 05:36 PM
قمة التميز و الإبداع

اشتقنا لقراءة مثل هاته الاحترافية أجدت :abc_139:

:abc_145::abc_145::abc_145:
أخجلتنى بذوقك و ادبك

شكرا على دالة الاستبدال
وشكرا جزيلا للتعليق المشجع
:abc_114::abc_114:

المـهاجر
15-04-2017, 05:44 PM
بالمناسبة
احتاج فعليا للمعاونة فى حذف المحرف الثانى للحرف المشكل

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

ضع جريد فى المشروع و ضع هذا الكود فى زر و نفذه لتعرف قصدى

Str = "قُل لَّوْ كَانَ الْبَحْرُ مِدَادًا لِّكَلِمَاتِ رَبِّي لَنَفِدَ الْبَحْرُ قَبْلَ أَن تَنفَدَ كَلِمَاتُ رَبِّي وَلَوْ جِئْنَا بِمِثْلِهِ مَدَدًا "
for i = 1,#Str do
char = String.Mid(Str, i, 1);
asc = String.Asc(char);
Grid.SetCellText("Grid1", i, 0, char, true);
Grid.SetCellText("Grid1", i, 1, asc, true);
end

تحديث
تجاهل التساؤل بالمشاركة
اكتشفت ان التشكيل محرف مستقل

ثامر أبو بلقيس
16-04-2017, 08:56 PM
صعب جدا التحديد بين مفهوم الحرف و التشكيل

على كل إثراء للمكان و تنويعا للحلول هذا بالاستبدال :
TEXT ="بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيمِ "
istibdalate={["َ"] = "",["ً"] = "",["ُ"] = "",["ِ"] = "",["ْ"] = "",["ّ"] = "",["ِ"] = "",["ٌ"] = ""}
result = string.gsub (TEXT, ".",istibdalate)
Dialog.Message("Notice", result );

ثامر أبو بلقيس
16-04-2017, 08:59 PM
وهذا ما أحاول فيه لكن يعتري محاولتي الفشل اذ تعلق الأمر بالتنوين بالفتح أو الكسر أو الضم

ممكن تعديل على الكود إن أمكن :

c=""
name = "قُل لَّوْ كَانَ الْبَحْرُ مِدَادًا لِّكَلِمَاتِ رَبِّي لَنَفِدَ الْبَحْرُ قَبْلَ أَن تَنفَدَ كَلِمَاتُ رَبِّي وَلَوْ جِئْنَا بِمِثْلِهِ مَدَدًا "
for strChar in string.gmatch(name, "([%a\1-\127\194-\242][\128-\191]*)") do
c=c..strChar
end
Dialog.Message("Notice",c );

المـهاجر
18-04-2017, 06:53 PM
وهذا ما أحاول فيه لكن يعتري محاولتي الفشل اذ تعلق الأمر بالتنوين بالفتح أو الكسر أو الضم

ممكن تعديل على الكود إن أمكن :

c=""
name = "قُل لَّوْ كَانَ الْبَحْرُ مِدَادًا لِّكَلِمَاتِ رَبِّي لَنَفِدَ الْبَحْرُ قَبْلَ أَن تَنفَدَ كَلِمَاتُ رَبِّي وَلَوْ جِئْنَا بِمِثْلِهِ مَدَدًا "
for strChar in string.gmatch(name, "([%a\1-\127\194-\242][\128-\191]*)") do
c=c..strChar
end
Dialog.Message("Notice",c );


إليك التفسير و التعديل
الكود المطروح يستخدم النطاق 194 إلى 242 لإنتقاء الحروف و اهمال حركات التشكيل
و حيث ان الثلاثة حركات الخاصة بالتنوين هى 240 و 241 و 242
يكون النطاق الصحيح هو 194 إلى 239

لاحظ الشرط فى مشاركتى الخاصة بدالة الخصم

if asc<240 then

الكود المعدل كاملا
c=""
name = "قُل لَّوْ كَانَ الْبَحْرُ مِدَادًا لِّكَلِمَاتِ رَبِّي لَنَفِدَ الْبَحْرُ قَبْلَ أَن تَنفَدَ كَلِمَاتُ رَبِّي وَلَوْ جِئْنَا بِمِثْلِهِ مَدَدًا "
for strChar in string.gmatch(name, "([%a\1-\127\194-\239][\128-\191]*)") do
c=c..strChar
end
Dialog.Message("Notice",c );

ملحوظة اخيرة
اعتقد ان النطاق يجب ان يبدأ من 193 و ليس 194
حتى لا يهمل الهمزة على السطر كما فى " ماء النهر يصلح للوضوء "

مشكور على مشاركة دالة الجى ماتش
موفق

ثامر أبو بلقيس
19-04-2017, 12:36 AM
السلام عليكم ورحمة الله وبركاته

في البدء اعتذر كثيرا على التأخر في الرد بسبب خلل في جهاز الكومبيوتر منعني من التواصل

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

و تعليقات جد مفيدة شكرا أستاذ :sm1:

ثامر أبو بلقيس
19-04-2017, 09:57 PM
http://etlaq.co/go/1919.html





مشكور جدا على الموقع الجميل :abc_050:

عبد الهادي بهاب
13-05-2017, 08:34 PM
إليك التفسير و التعديل
الكود المطروح يستخدم النطاق 194 إلى 242 لإنتقاء الحروف و اهمال حركات التشكيل
و حيث ان الثلاثة حركات الخاصة بالتنوين هى 240 و 241 و 242
يكون النطاق الصحيح هو 194 إلى 239

لاحظ الشرط فى مشاركتى الخاصة بدالة الخصم

if asc<240 then

الكود المعدل كاملا
c=""
name = "قُل لَّوْ كَانَ الْبَحْرُ مِدَادًا لِّكَلِمَاتِ رَبِّي لَنَفِدَ الْبَحْرُ قَبْلَ أَن تَنفَدَ كَلِمَاتُ رَبِّي وَلَوْ جِئْنَا بِمِثْلِهِ مَدَدًا "
for strchar in string.gmatch(name, "([%a\1-\127\194-\239][\128-\191]*)") do
c=c..strchar
end
dialog.message("notice",c );

ملحوظة اخيرة
اعتقد ان النطاق يجب ان يبدأ من 193 و ليس 194
حتى لا يهمل الهمزة على السطر كما فى " ماء النهر يصلح للوضوء "

مشكور على مشاركة دالة الجى ماتش
موفق

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

في البدء اعتذر كثيرا على التأخر في الرد بسبب خلل في جهاز الكومبيوتر منعني من التواصل

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

و تعليقات جد مفيدة شكرا أستاذ :sm1:

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