Murls Murls
 
   برمجة الدوال البديلة(اسلوب تحويل الحروف)

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

 



ord
('a');//تعيد رقم الحرف الوسيط المعطى

ch r('62');//تحويل الوسيط الى مايقبله من حروف

substr('ee',0,1);//تعيد سلسلة نصية من الوسيط الاول تكون بديتها الوسيط الثاني ونهايتها الوسيط الثالث

ereg('[a-z]','string');//دالة التعابر النظامي وتعيد الدالة true او false اذا طابق معاير الوسيط الاول السلسلة النصية للنص الثاني 






نبد بالدالة
كيف نستطيع الحصول على الفارق العددي بين الاحرف نستخدم الدالة

 

للحصول على رقم الحرف a



ord
('a')




وللحصول على رقم الحرف A
ord('A');
نجد ان الحرفA=65
الحرف a=97
لمعرفة الفرق نجري العملية الحسابية التالي
97-65=32 الفرق مابين الاحرف
فلتحويل الحروف من كبيرة الى صغيرة نطرح من قيمة رقم الحرف 32
وللتحويل الى من صغيرة الى كبيرة نجمع قيمة الحرف مع 32
فيصبح لدينا الدالة التالية

 



function Str_ToUpper($str){

    
$count=strlen($str);#عدد الاحرف

    
$return=null;

    for (
$i=0;$i<$count;$i++){

        

        
$singl_strsubstr($str,$i,1);

        

        IF(!
ereg('[a-z]',$singl_str)){

            
$return.= $singl_str;

            continue;

        }

        else {

            
$upper=ord($singl_str);

            
$return.= c hr($upper-32);



        }

    }

    return 
$return;






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

 

        
IF(!ereg('[a-z]',$singl_str)){

            
$return.= $singl_str;

            continue;

        } 

        



tفي الشرط التالي نتحقق من ان الحرف يساوي نفس النوع الذي نريد تحويله اي حروف انكليزية بالاظافة الى انها نوعها صغير كي لانيتنزف الذاكرة والموارد

 

        
else {

            
$upper=ord($singl_str);

            
$return.= c hr($upper-32);



        } 

        



هنا نقوم بالعملية الحسابية التي شرحناهخا من قبل ناخذ رقم الحرف ومن ثم نطرح منه 32
ثم نقوم بتحويل الرقم الى حرف ومن ثم نعينه الى المتغير المراد ارجعاه من الدالة وهكذا حتى نصل الى الاخر
الدالة نعيد قيمة المتغير
$return من الدالة وبذلك نكون انهينا العنمليه وبالتوفيق ان شاء الله
واخص بالشكر الاخ العبدلي بارك الله فيك
ولكم خالص الشكر وبالتوفق اجمعين
طبعا للتحويل من كبرة الى صغيرة نجمع 32 ونعطي
ونتحقق بواسطة erge الوسيط الاول[A-Z]
تنبيه يرجى ازالة الفراغ من دالة C HR لان المنتدى بيحظرها
حرر في تاريخ 2009/07/04 الساعة 10:10:44