منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : أري المساعدة فى المشروع المرفق
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3
اخى الوليد هل اتضحت الفكرة

السلام عليكم ورحمة الله

الحمد لله، وجدت لك طريقة من أحد مشاريع الأخوة مختلفة تماما عما سبق، ولا تحتاج أي تعديلات من جهتك

جرب التالي
PHP كود :
Public Class Form1

    
Private Sub Button1_Click(sender As System.ObjectAs System.EventArgsHandles Button1.Click

        Dim AbNormal 
"N"
        
Dim SN 1500
        Dim Gender 
"Male"
        
Dim PValue 11

        Dim condition 
As String "(AbNormal = 'N' ( [1500] ) And Gender = 'Male') Or (AbNormal = 'N' And PValue >= 11)"

        
Dim result As Object f(AbNormalSNGenderPValuecondition)

        If 
result IsNot Nothing Then
            
If result Then
                MsgBox
("Valid")
            Else
                
MsgBox("Invalid")
            
End If
        Else
            
MsgBox("Error")
        
End If

    
End Sub

    
Public Function f(ByVal AbNormal As CharByVal SN As IntegerByVal Gender As StringByVal PValue As IntegerByVal condition As String) As Object
        
Try
            
Dim code As String _
            
"Dim AbNormal As Char=""" AbNormal """,Gender As String=""" Gender """,SN As Integer=" SN ",PValue As Integer=" PValue vbCr _
            
"If " condition " Then Return True Else Return False"
            
code "Class c" vbCr "Function f() As Boolean" vbCr code vbCr "End Function" vbCr "End Class"
            
code Replace(code"'""""") : code Replace(code"( ["" And SN=") : code Replace(code"] )"" ")
            
code Replace(code"(["" And  SN=") : code Replace(code"])"" ")
            
Dim res As System.CodeDom.Compiler.CompilerResults = New VBCodeProvider().CompileAssemblyFromSource(New CodeDom.Compiler.CompilerParameterscode)
            
Dim ins As Object res.CompiledAssembly.CreateInstance("c")
            
Dim methodInfo As Reflection.MethodInfo ins.GetType.GetMethod("f")
            Return 
methodInfo.Invoke(insNothing)
        Catch 
ex As Exception
        End 
Try
        Return 
Nothing
    End 
Function

End Class 

لا اعرف كيف اشكرك سيتم التجربة الان وساخبرك بالنتيجة

هناك خطأ فى
PValue
إذا تم تغيير الرقم إلى
Dim PValue = 2
يعطنى Valid
المفترض يعطنى
Invalid

هل من الممكن شرح مختصر للكود

بارك الله فيك وتقبل منك زكاه علمك

تم إيجاد مشكله تغير قيمة ال PValue

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

سؤال
كيف يكون الحال إذا كان موجود أكثر من SN
فى نفس الكود مع العلم أنى لا اعرف عدد تكرارها

السلام عليكم ورحمة الله

جرب وأخبرني بالنتيجة

(13-11-14, 11:58 PM)الوليد ☺ كتب : [ -> ]
السلام عليكم ورحمة الله

جرب وأخبرني بالنتيجة


النتيجة ممتازة جزاك الله كل خير 

الان سأستخدم  هذا الكود ولكن
1- عند وضع أكثر من SN وأكثر من PValue
2- أو إذا لم يكن هناك Gender 
فكيف يتم حلها 
اقصد تكرار ال SN ولكن بأكثر من معطى
بمعنى المعطيات
Dim SN = 1500
إحتمالية وجود أكثر من معطى ولا اعرف العدد
Dim SN = 1500
Dim SN = 2500

السلام عليكم ورحمة الله

حسب بداية الموضوع فإن الجدول الأول يحتوي على قيمة واحدة لكل معامل

إذا كنت تقصد التكرار داخل هذا النص مع اختلاف القيم فالمسئلة هي نفسها، مع ملاحظة PValue تكتب في الحالتي => و=<
PHP كود :
Dim condition As String "AbNormal = 'N' ( [2500] ) And Gender = 'Male' Or AbNormal = 'N' And PValue >= 11 and PValue <= 20 And AbNormal = 'N' ( [1500] )" 

الحمد لله بدأت تفهمنى
حسب بداية الموضوع فإن الجدول الأول يحتوي على قيمة واحدة لكل معامل

كلام صحيح فعلا
نفترض ان الصف الاول رقم المعاملة 1500 و ال gender = Male وال PValue = 11
نفترض ان الصف الثانى رقم المعاملة 2500 و ال gender = Female وال PValue = 15

الان
سأقوم بإجبار المستخدم بكتابة رقم المعاملة بعد كل شرط
مثلا
AbNormal = 'N' ( [1500] ) And Gender = 'Male' ( [1500] )
ليتم تغيير قيم ال 1500 بقسمة الصف
ما رئيك فى ذلك
هل من طريقة اسهل

السلام عليكم ورحمة الله

سامحني إذا كنت أتدخل في عملك،

من بداية الموضوع أنا غير مقتنع من وضع SN داخل المعادلة لاعتبار (حسب ظني) أنه رقم عملية لا يتكرر في بقية الأسطر،
يعني أشبه برقم تسلسلي للسجلات

ولكن وضعك للمثال التالي أربكني
PHP كود :
AbNormal 'N' ( [2500] ) And Gender 'Male' Or AbNormal 'N' And PValue >= 11 and PValue <= 20 And AbNormal 'N' ( [1500] ) 

لا أعرف ما ردك

(14-11-14, 12:57 AM)الوليد ☺ كتب : [ -> ]
السلام عليكم ورحمة الله

سامحني إذا كنت أتدخل في عملك،

من بداية الموضوع أنا غير مقتنع من وضع SN داخل المعادلة لاعتبار (حسب ظني) أنه رقم عملية لا يتكرر في بقية الأسطر،
يعني أشبه برقم تسلسلي للسجلات

ولكن وضعك للمثال التالي أربكني

PHP كود :
AbNormal 'N' ( [2500] ) And Gender 'Male' Or AbNormal 'N' And PValue >= 11 and PValue <= 20 And AbNormal 'N' ( [1500] ) 


لا أعرف ما ردك


فعلا انت محق وانا اعتزر عن عدم قدرتي علي توصيل المعلومه
انا لدي فكره ولكن لا اعرف مدي تطبيقها
يمكنني التحكم في طريقه كتابه المعادله
بمعني اني ساقوم بوضع رقم السجل بعد كل شرط وسوف نقوم باستبدال رقم السجل بقيمته 
نفترض ان السجل رقم 1500 
قيمه ال gender Female
وقيمه ال Abnormal N
داخل الداتا جريد
ستكون طريقه كتابه المعادله كالتالي
Abnormal ='N' (1500) and Gender ='Female'
بعد كل شرط اكتب رقم السجل ليتم استبداله بقيمته داخل الداتا جريد
ما رئيك في هذا الحل وما مدي صحته وتنفيذه

تستحق لقب المميز
الصفحات : 1 2 3