تقييم الموضوع :
  • 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



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


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