الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تحويل من السي إلى دلفي

بدأه alouma في 21 فبراير 2012 · 2 رد · 301 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

ترددت أين أضع هذا السؤال

لكن قررت أن أضعه هنا وأرجو أن أكون قد أصبت

أريد تحويل الكود التالي من السي بلس بلس لاستخدامه في الدلفي

مع العلم أم هذه الدالة تقوم بتقسيم جملة اعتمادا على الفراغات الموجودة فيها والمعروفة في السي بلس بلس بـ (Split)

//دالة التقسيم
        public string[] split(string str)
        {
            //جدول مؤقت طوله بعدد الاحرف في الجملة الامدخلة
            string[]resTemp=new string[str.Length];
            //جدول نضع في النتيجة النهائية
            string[] res;
            //متغير حقيقي نحفظ فيه الخانة الموالية 
            int index = 0;
            //متغير حقيقي لحساب طول الجدول النتيجة
            int length = 0;
            // متغير من نوع ستينغ في كل مرة يحوي كلمة من الجملة
            string temp = "";
            //عملية التقسيم
            for (int i = 0; i < str.Length; i++)//من 0 الى عدد احرف الجملة ننظر
            {
                //اذا كان الحرف عبارة عن مسافة يعني ان الكلمة انتهت فنقوم بالاحتفاظ بها
                if (str.Equals(' '))
                {
                    //نحفظ الكلمة في الخانة الموالية
                    resTemp[index] = temp;
                    //نضيف 1 الى الاندكس لتعليم الخانة التالية
                    index++;
                    //نفرغ المتغير تحضيرا للكلمة الموالية
                    temp = "";
                    //نضيف 1 لطول النتيجة لاننا اضفنا كلمة جديدة
                    length++;
                }
                //اذا كان الحرف ليس مسافة يعني انه حرف عادي نضيفه للكلمة التي نعمل على تجميعها في المتغير 
                else
                {
                    temp += str;
                }
            }
            //هذه حالة خاصة
            //الكلمة الاخيرة لا يوجد ما نجرب به بعدها اذا سوف تبقى في المتغير ولن يتم اضافتها
            //لذا نقوم باختبارها اخر الامر
            if (temp!="")
            {
                resTemp[index] = temp;
                length++;
            }

            //ننشي جدول النتيجة بالطول الذي قمنا بعده من قبل
            res = new string[length];
            //نقوم بملي الجدول النتيجة من الجدول المؤقت على حسب الطول الذي عددناه سابقا
            //والذي هو طول الجدول النتيجة
            for (int i = 0; i < length; i++)
            {
                res=resTemp;
            }
            //الان انتهى الامر ونعيد النتيجة
            return res;
        }
−1
#2

عليك بنقل مشاركتك الى قسم الدلفى: هنــــــــــــــــا /index.php?showforum=15

تم تعديل هذه المشاركة بواسطة محمد ابوزايد في 21 فبراير 2012 في 11:38

post-15367-027053900%201340345097.gifpost-15367-087183200%201340344597.gif
post-247365-0-10080400-1379403554_thumb.

مواضيع مشابهة