إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

إستخلاص الأسطر العربية من الكائن RichText بواسطة الأوتوبلاى فقط

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • إستخلاص الأسطر العربية من الكائن RichText بواسطة الأوتوبلاى فقط

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

    كلنا نعلم أن الكائن RichText يسمح لنا بسحب أى سطر من داخله بواسطة الأمر RichText.GetLine
    لكن هذا الأمر لا يصلح لإستخلاص المحارف العربية

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

    إصنع مشروع جديد و ضع به RichText و أكتب به عدد من الأسطر العربية
    ضع أيضا زر

    ضع فى الجلوبال
    كود:
    function Mohager_Arab_Rich_text(line)
    arabic_chars={"","","","","","","","","	","","","","","","","","","","","","","","","","","","","","","",""," ","!","","\#","$","\%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\"","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","","€","پ","‚","ƒ","„","…","†","‡","ˆ","‰","ٹ","‹","Œ","چ","ژ","ڈ","گ","‘","’","“","”","•","–","—","ک","™","ڑ","›","œ","‌","‍","ں"," ","،","¢","£","¤","¥","¦","§","¨","©","ھ","«","¬","­","®","¯","°","±","²","³","´","µ","¶","·","¸","¹","؛","»","¼","½","¾","؟"," ","ء","آ","أ","ؤ","إ","ئ","ا","ب","ة","ت","ث","ج","ح","خ","د","ذ","ر","ز","س","ش","ص","ض","ط","ظ","ع","غ","ف","ف","ف","ف","ف","و","ف","ق","ك","ل","م","ن","ه","و","ى","ي","é","ê","ë","ى","ي","î","ï","ً","ٌ","ٍ","َ","ô","ُ","ِ","÷","ّ","ù","ْ","û","ü","‎","‏","ے"}
    len = String.Length(line);
    text = ""
    for i = 1,len do
    char = String.Mid(line, i, 1);
    asc = (String.Asc(char))+160
    text = text..arabic_chars[asc]
    end
    end
    ضع فى الزر
    كود:
    line = RichText.GetLine("RichText1", 1);
    Mohager_Arab_Rich_text(line)
    Dialog.Message("Notice", text, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
    لاحظ السطر الأول
    غير رقم السطرالمطلوب إستخلاصه من 1 لما تشاء
    غير إسم الكائن "RichText1" لما يناسب مشروعك
    نفذ المشروع و عاين الإستخلاص فى الرسالة

    الملف المفتوح بالمرفقات
    تحديث
    و توجد اضافة اكشن مع مثال لتسهيل العمل
    مع خالص تحياتى
    التعديل الأخير تم بواسطة المـهاجر; الساعة 29-02-2016, 05:05 PM.

  • #2
    جزاك الله خيرا

    طبعا الحل لا يعطى نتائج صحيحة 100% لذلك أميل إلى حل الأخ أبوبلقيس فهو أفضل ودقيق

    فهل جربت مسافة تطويل للحرف أو عدة مسافات تطويل لحرف ؟

    جيد جدا من حيث المحاولة والمجهود المبذول فهو مجهود مبرمج محترف حقا .


    التعديل الأخير تم بواسطة عبود عبود; الساعة 27-10-2014, 08:59 AM.

    تعليق


    • #3
      يسهل جدا حل ذلك

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


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

      غير مقتنع ؟؟
      حاول بنفسك إضافة مسافة تطويل الحرف التى ذكرتها للمصفوفة arabic_chars و ستقتنع

      و إلا لكانت الشركة المنتجة للبرنامج indigorose وفرته من البداية
      لكن الشركة لن تكون قادرة أبدا على الوفاء بكافة الترميزات الخاصة بكل المحارف لكل دول العالم
      خصوصا ان منتجى البرنامج ليس بينهم عرب

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

      فقط احاول اكمال ما عجزت (أو تقاعست) عنه الشركة المنتجة
      التعديل الأخير تم بواسطة المـهاجر; الساعة 27-10-2014, 11:03 AM.

      تعليق


      • #4
        ليت وقت الفراغ الكبير الذى مضى يعود ........ لكنت حاولت معك أخى

        تحياتى وتقديرى

        تعليق


        • #5
          مبدع أخي الكريم ودعني أشارك معكم هذا التنوع و إثراء للأفكار الجادة
          بحل آخر قد يقبل و قد يرفض المهم محاولة استخلصت فيها السطر الاول
          في هذا المثال ثم غيرت اللغة لما وجدته يخدمني ثم أرجع اللغة الأصلية

          كود PHP:
          RichText.SetSelection("RichText1"1, -1);
          RichText.GetSelectionFormat("RichText1"true);
          undo ={FaceName=c.FaceName};
          RichText.SetSelection("RichText1"1, -1);
          belkiss={FaceName="Wingdings 3"};
          RichText.SetSelectionFormat("RichText1"belkisstrue)
          strText RichText.GetLine("RichText1"1); 
          Dialog.Message("Notice",strText);
          RichText.SetSelection("RichText1"1, -1);
          RichText.SetSelectionFormat("RichText1"undotrue
          لعلها ستوفر قليلا من الجهد

          تعليق


          • #6
            قد تحذف ماجاء من أكواد في global functions
            موفق

            تعليق


            • #7
              وهذا تعديل كي لا تهرب كلمات لأسطر موالية بسبب حجم الخط
              كود PHP:
              RichText.SetSelection("RichText1"1, -1);
              RichText.GetSelectionFormat("RichText1"true);
              undo ={FaceName=c.FaceName,Height=c.Height};
              RichText.SetSelection("RichText1"1, -1);
              belkiss={FaceName="Wingdings 3"Height=0};
              RichText.SetSelectionFormat("RichText1"belkisstrue)
              strText RichText.GetLine("RichText1"1); 
              Dialog.Message("Notice",strText);
              RichText.SetSelection("RichText1"1, -1);
              RichText.SetSelectionFormat("RichText1"undotrue
              بالتوفيق للجميع

              تعليق


              • #8
                جزاك الله خيرا أخى أبوبلقيس فعلا تغيير الخط ثم الحصول على النص يعطى نتيجة صحيحة
                ويختصر أيضا الكثير من الأكواد السابقة


                تحياتى لك أخى

                تعليق


                • #9
                  شكرا اخوانى على تفاعلكم
                  سيتم مراجعة كافة الردود

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

                  تعليق


                  • #10
                    تم إعتماد الحل المقدم من الزميل أبو بلقيس كأساس لإضافة خاصة

                    تم تحديث مرفقات المشاركة الأولى بملف مفتوح به الطريقتين + الإضافة الخاصة بالإستخلاص



                    شكرا لكل من شارك
                    شكر خاص للزميل ابو بلقيس لمشاركاته الفعالة
                    و السلام عليكم ورحمة الله وبركاته

                    تعليق


                    • #11
                      ما شاء الله عمل مميز ومفيد
                      جزاك الله خيرا
                      و جعله في ميزان حسناتك إن شاء الله

                      تعليق


                      • #12
                        شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

                        تعليق


                        • #13
                          موفق بإذن الله ... لك مني أجمل تحية .

                          تعليق


                          • #14
                            مشكوررررررررررررررر

                            تعليق

                            مواضيع تهمك

                            تقليص

                            المنتدى: القسم العام نشرت بواسطة: Reem2Rabeh الوقت: 04-23-2025 الساعة 04:27 PM
                            المنتدى: ضبط وتوكيد الجودة نشرت بواسطة: HeaD Master الوقت: 04-15-2025 الساعة 09:30 AM
                            المنتدى: التصنيع والانتاج نشرت بواسطة: HeaD Master الوقت: 04-11-2025 الساعة 01:08 PM
                            المنتدى: القسم العام نشرت بواسطة: نوال الخطيب الوقت: 03-19-2025 الساعة 03:07 AM
                            المنتدى: الكمبيوتر والإنترنت نشرت بواسطة: عوض السوداني الوقت: 03-18-2025 الساعة 07:22 AM
                            يعمل...
                            X