منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
طلب من ذوي الخبرة جزاكم الله كل خير - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم أسئلة واستفسارات الأعضاء - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=94)
+--- قسم : قسم Visual Basic 6 وما قبله (http://vb4arb.com/vb/forumdisplay.php?fid=167)
+--- الموضوع : طلب من ذوي الخبرة جزاكم الله كل خير (/showthread.php?tid=9923)



طلب من ذوي الخبرة جزاكم الله كل خير - أبوسائد - 04-08-13

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

اخواني ذوي الخبرة في البرمجة

محتاج برنامج مقارنة عمله كالتالي

يكون في البرنامج ثلاثة تكست 1 2 3

فمثلا كان موجودا في التكست رقم 1 عدة أسماء مختلفة على سبيل المثال محمد؛ أحمد؛ خليل ؛عمر وهكذا بشكل عمودي

وايضا في نفس الوقت كان موجودا في تكست رقم 2 عدة أسماء مثلا أحمد؛ سليمان؛ خليل أيضا بشكل عمودي

عند الضغط على على الكوماند يخرج في تكست رقم ثلاثة الاسماء الجديدة المختلفة عن تكست رقم 2 وهي محمد ؛ عمر ؛بشكل عمودي

اتمنى من اخواني مساعدتي ولكم جزيل الشكر والامتنان


طلب من ذوي الخبرة جزاكم الله كل خير - VB_Coder - 04-08-13

السلام عليكم

- هذا هو الكود :

كود :
Private Sub Command1_Click()

Dim zNames1() As String
Dim zNames2() As String

zNames1 = Split(Trim$(Text1.Text), vbCrLf)
zNames2 = Split(Trim$(Text2.Text), vbCrLf)

If UBound(zNames1) > -1 And UBound(zNames2) > -1 Then

   Dim I, N As Integer
  
   Text3.Text = ""
  
   For I = LBound(zNames1) To UBound(zNames1)
  
       For N = LBound(zNames2) To UBound(zNames2)
           If Trim$(zNames1(I)) = Trim$(zNames2(N)) Then
              Exit For
           Else
              If N = UBound(zNames2) Then
                 Text3.Text = Text3.Text & Trim$(zNames1(I)) & vbNewLine
              End If
           End If
       Next
      
   Next
      
End If

End Sub

- تحياتي .


طلب من ذوي الخبرة جزاكم الله كل خير - أبوسائد - 04-08-13

بارك الله فيك يا أخي وزادك من علم الدين والدنيا
نعم هو المطلوب


طلب من ذوي الخبرة جزاكم الله كل خير - pcfbs2000 - 04-08-13

كود ممتاز شكرا لكم


طلب من ذوي الخبرة جزاكم الله كل خير - ناجي إبراهيم - 04-08-13

السلام عليكم...

إذا كنت تقوم بهذا الأمر عدة مرات في برنامجك فربما تفيدك الوحدة المرفقة (Class Module) باسم TSet و التي تمثل مجموعة أو فئة (التي يمكن إجراء عمليات التقاطع و الاتحاد و الطرح عليها).

1. أضف الوحدة المسماة TSet.cls (في المرفقات) إلى المشروع (يحتوي الكود على توضيحات للعمليات بالعربي).
2. الكود يكون كالتالي:
كود :
Private Sub Command1_Click()
    Dim MySet1 As New TSet
    Dim MySet2 As New TSet
    
    MySet1.SetItemsByArray Split(Text1.Text, vbCrLf)
    MySet2.SetItemsByArray Split(Text2.Text, vbCrLf)

    Text3.Text = MySet1.Subtract(MySet2).AsString(vbCrLf)
    
    Set MySet1 = Nothing
    Set MySet2 = Nothing
End Sub

نرجو الاستفادة و السلام.


طلب من ذوي الخبرة جزاكم الله كل خير - أبوسائد - 09-08-13

بارك الله فيك أخي ناجي
لقد قام أخي VB_Coder جزاه الله كل خير بالواجب
نسأل الله ان يزيدكم من علمه