تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] سؤال حول الFunction
#1
السلام عليكم
كما تعلمون فإن الدالة Function تقوم بإرجاع قيمة محددة /واحدة/ بعد حسابها
انا اريد ان تعطيني قيمتين Confused
مثلا انا لدي
Select Case A
Case 0.283 : N = 1 : D = 6
Case 0.565 : N = 2 : D = 6
Case 0.848 : N = 3 : D = 6
End Select
انا اريد ان يدخل البرنامج في هذا الFunction ويعطيني قيمة N و D معا
ويعود لل Sub الاساسي مع هذه القيمتين
كيف يمكن ان اجعلها تعطيني قيمتين معا ؟!!Huh
او هل هنالك دالة اخرى يمكنها عمل ذلك
وشكراً Smile
الرد
تم الشكر بواسطة:
#2
السلام عليكم...

يمكنك استعمال روتين (Sub) مع تمرير البارامترات التي تريد إرجاع قيم فيها بالمرجع (Pass by reference) و ذلك باستعمال الكلمة المحجوزة ByRef مع اسم البارامتر. مثلاً يمكن أن يكون تعريف الإجراء كالتالي:

كود :
Public Sub MyProcedure(ByVal A As Single, ByRef N As Integer, ByRef D As Integer)
    ' ...
    ' ...
    ' ...
End Sub

و عند استدعائه تقوم بتعريف متغيرين من نوع البارامترين (Integer في هذا المثال) لتمريرهما إلى الإجراء لاستقبال البيانات:

كود :
Dim X, Y As Integer

MyProcedure(0.565, X, Y)

لاحظ أن المتغير X سيأخذ قيمة N من داخل الإجراء، و المتغير Y سيأخذ قيمة D من داخل الإجراء.

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد
تم الشكر بواسطة: Shaban boshi , kslawy , hoob computer
#3
شكرا كتير والله يوفقكBlush
الرد
تم الشكر بواسطة:
#4
السلام عليكم ورحمة الله وبركاتة
ممكن عمل المطلوب في حالة جعل القيم العائدة من الفانكشن مصفوفة
مثال
كود :
Public Function MyProcedure(ByVal A As Single) As String()
        Dim arry(1) As String
        arry(0) = "D"
        arry(1) = "N"
        Return arry
    End Function

وتطبيق الدالة كالتالي
كود :
Dim a(1) As String
        a = MyProcedure(0.255)
        For i As Integer = 0 To a.Length - 1
            MsgBox(a(i))
        Next
بالتوفيق
الرد
تم الشكر بواسطة: ناجي إبراهيم , Shaban boshi , hoob computer


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] سؤال عاجل جدا bahaa_rasool 1 40 أمس, 11:40 PM
آخر رد: elgokr
  سؤال - حول الطباعة المباشرة لتقارير الكريستال lysalh65@gmail.com 7 161 23-09-18, 11:53 AM
آخر رد: elgokr
  سؤال عن حقل primry key في sql server hglogtd 6 135 21-09-18, 05:43 AM
آخر رد: mero5000
  سؤال حول امر الطباعة الفورية Osama Bayoumy 4 193 19-09-18, 06:55 PM
آخر رد: elgokr
  سؤال عن كود التأكد من صلاحيات المستخدم nagoma 10 251 17-09-18, 10:43 PM
آخر رد: حريف برمجة
  سؤال كريستال ريبورتى لولبى lysalh65@gmail.com 4 106 17-09-18, 10:37 PM
آخر رد: lysalh65@gmail.com
  سؤال حول الباركود alipro 5 145 12-09-18, 08:19 AM
آخر رد: elgokr
  سؤال حول جملة for DOX.1 2 89 12-09-18, 07:53 AM
آخر رد: elgokr
  سؤال كيف انفذ امر من لوحة المفاتيح من دون الظغط علي اي زر علي لوحة المفاتيح alipro 1 137 07-09-18, 05:40 PM
آخر رد: DK-x
  [VB.NET] سؤال عن مشاهدات الموقع والويب بروسر محمد اسماعيل 4 127 04-09-18, 01:47 AM
آخر رد: elgokr

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم