• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

البحث في المنتدى

Showing results for tags 'filter'.

  • البحث بالتاقات

    اكتب الكلمات المفتاحيه بينها علامه الفاصله
  • البحث بكاتب الموضوع

تم إيجاد 3 نتيجة

  1. شرح map filter reduce

    هي ثلاث وضائف مهمة جدا و توفر الكثير من الوقت في كتابة الأكواد تستعمل ثلاثتها مع القوائم   أولا أشرح الكلمة المحجوزة : lambda تستعمل لتعريف الدوال على الشكل التالي lambda input arguments:output equations lambda x:x**2 lambda x:-x lambda a,b,c:a+b-c**2   1 map تستعمل هذه الوظيفة لتطبيق وظيفة معينة على كامل عناصل القائمة واحدا واحدا  تحويلهم ل str T=[1,2,3,4,5] T=map(str,T) أو حساب التربيع T=map(lambda x:x**2,T) 2 reduce لدينا قائمة معينة نريد تطبيق دالة معينة: حساب أصغر قيمة، أكبر قيمة، المضاعف المشترك الأصغر، القاسم المشترك الأكبر إلخ لكن الدالة لها 2 باراماتر فقط,,,,,,, تستعمل هنا الدالة reduce بحيث تقوم بتطبيق الدالة على أول عنصرين، و بعدها يتم تطبيق الدالة على النتيجة مع العنصر الثالث، و النتيجة مع العنصر الرابع و هكذا لغاية آخر عنصر مثال عملي: list=[1,2,3,4,5,6,7] نستعمل مثال بسيط جدا فقط لفهم كيفية العمل: مثلا نريد حساب ناتج ضرب جميع العناصر ببعضها البعض و نستعمل الدالة lambda x,y:x*y الكود : S=reduce(lambda x,y:x+y,list)) شرح كيف يعمل الكود أولا يحسب الجداء 1*2      الناتج 2 ثم يحسب الجداء 2 *3      الناتج 6 ثم يحسب الجداء 6*4       الناتج 24 ثم يحسب الجداء 24*7     الناتج 168   3 filer   كما هو واضح من اسمها فهي تستعمل للفلترة (إختيار مجموعة عناصر من قائمة باستعمال شرط معين) باستعمال دالة ترجع True   أو False ملاحضة هامة: جميع الأعداد الموجبة و السالبة تعتبر :True الصفر يعتبر :False أي سلسلة حرفية لدينا طولها أكبر من أو يساوي  الواحد تعتبر: True سلسلة حرفية طولها أكبر من أو يساوي الواحد يعني لا تساوي "" سلسلة فارغة السلسلة الفارغة "" تعتبر :False دالة تقوم بتحديد إن كان العنصر موجبا lambda x:x<0 دالة تقوم بتحديد إن كان العدد زوجي (مضاف ل 2) lambda x:x%2==0   مثلا ليدنا قائمة و نريد إختيار العناصر المضاع ل 2 ، أو مثلا إختيار العناصر الموجبة أو السالبة   h=[-1,3 5,11, 14, -6 , 0, -15] الكود : h=filter(lambda x:x>=0,h)  
  2. السلام عليكم ورحمة الله وبركاته كيفكم أساتذتي وإخواني ...   عندي داتا قريد فيو ... أريد عمل فلترة للبيانات التي فيها .. بعيداً عن الداتاسيت ( مصدر القريد ) .. هل يمكن ذلك ... وإذا لم يمكن هذا ... فهذا كود تعبئة القريد لمساعدتي في عمل فلتر للداتاسيت ... مع العلم أن الفلترة ستكون لأكثر من عمود ( ثلاثة أو أربعة ) وكلها عبارة عن حقول بوليون (( 0 / 1 ) - نعم - لا ) أريد في الفلترة أن تكون ثلاث خطوات ( نعم - لا - الإثنين معاً )   هذا كود تعبة القريد Dim LSQL As String = "SELECT Req.* where req_name like '%" & TextBox2.Text.Trim & "%' and req_no like '%" & TextBox4.Text.Trim & "%' " Dim LAdapter As New SqlDataAdapter(LSQL, Con) LDataSet = New DataSet Dim RowsCount As Integer Dim i As Integer ' مسح الداتاقريدفيو من قيم سابقة محتملة DataGridView1.Rows.Clear() LAdapter.Fill(LDataSet, "LoadingData") RowsCount = LDataSet.Tables("LoadingData").Rows.Count If RowsCount = 0 Then ' يتم فحص السجلات المسترجعة من جمل اس كيو ال، فإن كان عددها صفرا ' معناها لا يوجد سجلات والجدول فارغ ' فيتم إغلاق الاتصال وعدم عرض اي شيء DataGridView1.Rows.Clear() LDataSet.Reset() Con.Close() Exit Sub Else DataGridView1.Rows.Add(RowsCount) ' هذه هي عملية تعبئة البيانات من الداتاسيت إلى الداتاقريد فيو For i = 0 To RowsCount - 1 With DataGridView1 .Rows(i).Cells(0).Value = LDataSet.Tables("LoadingData").Rows(i).Item("req_no") .Rows(i).Cells(1).Value = LDataSet.Tables("LoadingData").Rows(i).Item("req_name") .Rows(i).Cells(2).Value = LDataSet.Tables("LoadingData").Rows(i).Item("req_name2") .Rows(i).Cells(3).Value = LDataSet.Tables("LoadingData").Rows(i).Item("Typ_name") .Rows(i).Cells(4).Value = LDataSet.Tables("LoadingData").Rows(i).Item("Rejected") .Rows(i).Cells(5).Value = LDataSet.Tables("LoadingData").Rows(i).Item("Waiting") .Rows(i).Cells(6).Value = LDataSet.Tables("LoadingData").Rows(i).Item("accepted") End With Next LDataSet.Reset() Con.Close() End If
  3. الساده / مشرفي المنتدى سؤالي هو : كيف يمكنني عمل نموذج للبحث عن طريق اكثر من مربع نص ؟ الشرح : لدينا نموذج يعتمد على استعلام يتكون من ( المنطقة _ القطعة _ الشارع .... الخ ) ويوجد برأس النموذج مجموعة من text box مرتبه كما بالنموذج . المطلوب : عند ادخال رقم المنطقة يظهر لي كافة السجلات المطابقة للمنطقة و عند الانتقال الى القطعة يتم تصفية السجلات التى تطابق المنطقة و القطعة و بالانتقال الى الشارع يتم تصفية السجلات التى تطابق المنطقة و القطعة و الشارع .. الخ  وذلك بدون استخدام زر امر Me.Requery  يعنى بمجرد الضغط على مفتاح Tap و انتقال التركيز إلى مربع النص الذى يليه تتم الفلترة تلقائيا   ولكم جزيل الشكر ،،،   مرفق قاعدة البيانات My Data 1.rar