تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
إمكانية إختصار هذا الكود بدالة
#6
بالإضافة للكود الذي كتبه لك الأخوة الأفاضل
هذا حل أخر ......

PHP كود :
   Private Function CalculateTone(key As Integerindex As Integer) As Double
        
' لو ان البيانات المراد قرائتها مهمة
        ' 
من الأفضل قراءة هذه البيانات من ملف
        
' بحيث أن الأرقام لا تظهر داخل الكود الخاص بك
        Dim bucket As Dictionary(Of Integer, Integer()) = New Dictionary(Of Integer, Integer())() From {
            {1, {1500, 1520, 1540, 0, 0}},
            {2, {1560, 1580, 1600, 0, 0}},
            {3, {1620, 1640, 1660, 0, 0}},
            {4, {1680, 1700, 1745, 0, 0}},
            {5, {1790, 1850, 1910, 0, 0}},
            {6, {1970, 2040, 2100, 0, 0}},
            {7, {2170, 2240, 2300, 0, 0}},
            {8, {2380, 2460, 2530, 0, 0}},
            {9, {2610, 2700, 2780, 0, 0}},
            {10, {2850, 2920, 2990, 3060, 0}},
            {11, {3070, 3130, 3190, 3250, 0}},
            {12, {3320, 3380, 3450, 3530, 0}},
            {13, {3540, 3640, 3730, 3830, 0}},
            {14, {3920, 4000, 4080, 4160, 4240}},
            {15, {4340, 4430, 4520, 4620, 4720}},
            {16, {4820, 4920, 5020, 5120, 5220}},
            {17, {5340, 5450, 5560, 5690, 5810}},
            {18, {5930, 6060, 6190, 6320, 6450}},
            {19, {6580, 6720, 6860, 7000, 7140}},
            {20, {7300, 7460, 7620, 7780, 7940}}}

        Dim tones As Integer() = Nothing
        bucket.TryGetValue(CInt(Math.Truncate(If(key > 20, 20, (If(key < 1, 1, key))))), tones)
        Dim tone As Integer = tones(CInt(Math.Truncate(If(index > 4, 4, (If(index < 0, 0, index))))))
        Return tone * 35 / 100

    End Function 

الاستخدام
ملحوظة الدالة سوف تعود بقيمة مهما كانت المدخلات لأنني قمت بعمل Clamp لكل من Key و Index
PHP كود :
Dim tone As Double CalculateTone(20
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
RE: إمكانية إختصار هذا الكود بدالة - بواسطة silverlight - 17-04-17, 11:38 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Information ما هو الخطاء في الكود ProgressBar1 Mostafa201255411 1 191 26-11-25, 08:19 PM
آخر رد: asmarsou
  [VB.NET] مساعدة تعديل على الكود ZEEN4ZEEN 2 210 08-10-25, 02:20 PM
آخر رد: salamandal
Rainbow [كود] تصحيح الخطاء في الكود محمد مسافر 2 1,051 28-08-25, 09:13 AM
آخر رد: محمد مسافر
Rainbow [كود] تصحيح الخطاء في الكود محمد مسافر 0 842 27-08-25, 04:05 PM
آخر رد: محمد مسافر
  ما هو الخطأ فى هذا الكود خالد كامل1 10 1,141 28-05-25, 09:16 PM
آخر رد: خالد كامل1
  ارجو تعديل الكود بواستطة الاجراء المخزن new_programer 3 677 03-04-25, 02:44 PM
آخر رد: princelovelorn
  مساعدة في تحويل الكود من فيجوال بسيك 6 الى فيجوال دوت نت سيد أحمد 5 820 23-03-25, 10:54 PM
آخر رد: سيد أحمد
  ارجو تعديل الكود جلب البيانات عن طريق اجراء مخزن - مرفق مثال new_programer 0 620 05-02-25, 01:51 AM
آخر رد: new_programer
  ارجو تقيم الكود المرفق - جلب اعلي رقم لتسلسل نصي للباركود new_programer 4 604 30-01-25, 08:26 AM
آخر رد: new_programer
  هذا الكود لا يعمل بشكل صحيح لماذا ؟ PeterGhattas082460 3 448 21-12-24, 02:55 PM
آخر رد: aljzazy

التنقل السريع :


يقوم بقرائة الموضوع: