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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] سؤال عن اداة ProgressBar منادي الشوق 1 73 22-04-17, 01:29 AM
آخر رد: A-R
  [VB.NET] سؤال عن استخدام e.HasMorePages = True ssayed111 1 46 18-04-17, 04:26 PM
آخر رد: عبـدالله
  [VB.NET] سؤال بخصوص InstallShield 2015 dubai.eig 0 24 16-04-17, 08:23 PM
آخر رد: dubai.eig
  [اقتراح] سؤال في الاكسيل زينا 0 31 16-04-17, 02:33 PM
آخر رد: زينا
  سؤال عن مسح بيانات ComboBox بعد عملية الحفظ أو الحذف أبووسم 9 171 08-04-17, 05:47 AM
آخر رد: أبووسم
  سؤال مازن صطيف 3 82 08-04-17, 02:34 AM
آخر رد: abdualla
  سؤال بعيد عن الفيجوال المبرمج العبقري 2 67 05-04-17, 10:45 AM
آخر رد: المبرمج العبقري
  سؤال سيف القاضي 3 106 29-03-17, 05:33 PM
آخر رد: سيف القاضي
  سؤال عن عرض بيانات جدولين مرتبطين KH_Alaswad 3 145 29-03-17, 05:13 PM
آخر رد: KH_Alaswad
  [سؤال] سؤال بخصوص BackGround worker khalid475 1 88 22-03-17, 08:47 AM
آخر رد: abdualla

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


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