الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أريد كود عدم التكرار ب listBox

مغلق
بدأه PaceDove في 20 فبراير 2007 · 11 رد · 1,590 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

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

أخوانى حياكم الله جميعاً

نظراً لعدم خبرتى الجيدة بالفيجوال بيسيك وما زلت مبتدأ

فإنى أريد كود يعمل الآتى

بعد تعبئتى لــListBox من حقل بجدول بقاعدة بيانات

أريده بعد التعبئة يحذف لى القيم أو الأسماء المتشابهة بالــ ListBox فقط وليس بالداتا بيس

أتمنى أن أجد طلبى عندكم ولكم أجمل تحية

#2
اقتباس
بعد تعبئتى لــListBox من حقل بجدول بقاعدة بيانات

أريده بعد التعبئة يحذف لى القيم أو الأسماء المتشابهة بالــ ListBox فقط

لماذا لا تقوم بحدفها قبل ماتعبيها في الListBox

أي عند تعبئتها في اللاست بوكس يمكنك مقارنتها مع الداتا بيس

وإذا كنت مصر على ذلك فهذه الطريقة تبحث لك عن الاسماء المتشابهة في اللاست بوكس وتحذفها:

Private Sub Form_Load()
List1.AddItem "ffffff"
List1.AddItem "hhhhhh"
List1.AddItem "jjjj"
List1.AddItem "llllllll"
List1.AddItem "ffghfhhhh"
List1.AddItem "wwewewww"
List1.AddItem "llllllll"
List1.AddItem "jjjj"
List1.AddItem "wer"
List1.AddItem "llllllll"
End Sub


Private Sub Command1_Click()
Dim con As Long, i As Long, m As Long
Dim c(500) 'As Variant

For i = 0 To List1.ListCount - 1
List1.ListIndex = i
	For m = 0 To con
	If List1.Text = c(m) Then Exit For
		If m = con Then
		c(con) = List1.Text
		con = con + 1
		End If
	Next
Next

List1.Clear
For i = 0 To con - 1
List1.AddItem c(i)
Next

End Sub
'مع تحيات عبد العزيز اليوسفي - منتديات الفريق العربي للبرمجة

الكود يظهر بطريقة غير صحيحة ننتظر إصلاحه من الإدارة

اقتباس
أرجو من الأخوة الخبراء التعليق على الكود السابق وخاصة طريقة إنشاء المتحول "Dim d(500) As Variant" وتحديده ب 500

هل إذا أستخدم لاست بوكس أفضل أم التصريح السابق أفضل

مع أنني لا أعتقد أنه سيتم الرد على هذا الطلب لأن المنتدى جامد من فترة

#3

جزيت خيرا اخى الكريم

والكود يعمل بشكل جيد بحمد الله

بارك الله فيك وسلمت الانامل

#4

بسم الله الرحمن الرحيم

عبد العزيز اليوسفي كتب:
أرجو من الأخوة الخبراء التعليق على الكود السابق وخاصة طريقة إنشاء المتحول "Dim d(500) As Variant" وتحديده ب 500

هل إذا أستخدم لاست بوكس أفضل أم التصريح السابق أفضل

مع أنني لا أعتقد أنه سيتم الرد على هذا الطلب لأن المنتدى جامد من فترة

أود أن أعلق علما أنني لست من الخبراء اذا ممكن :

الأفضل أن تستخدم المصفوفات الديناميكيه كالتالي :

ReDim c(List1.ListCount - 1)

بدلا من

Dim c(500) As Variant

ولا أعرف لما لم تعرف المتغير String

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

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

تم تعديل هذه المشاركة بواسطة البريشي في 20 فبراير 2007 في 17:32

********************* ******************** *********************

(( أشــهد أن لا اله الا الله ..... وأشهد أن محمد رسول الله ))

********************* ******************** *********************

لا تقـل من أيـن أبدأ

طـاعـة الله الـبدايـة

***

لا تقـل أين طـريـقي

شــرع الله الهـدايـة

***

لا تـقـل أيـن نعـيمي

جـنـة الله كـفـايـــــة

***

لا تقـل في الغـد أبدأ

ربمـــا تأتـي النهـايـــة

**************** **************** ****************

#5

السلام عليكم

ممكن ان تسهل على نفسك لو كنت تستخدم جملة sql للبحث في قاعدة البيانات عن الحقل الذي تملأ به ال list

في جملة البحث استخدم كلمة DISTINCT

مثلا

select DISTINCT area from telefone

والناتج حطه على طول في ال list

وانت مطمئن لأنه مافهوش اي تكرار

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

تم تعديل هذه المشاركة بواسطة egypt_man في 20 فبراير 2007 في 18:02

zsO56863.jpg
#6

العفو أخ PaceDove

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

اقتباس
ولا أعرف لما لم تعرف المتغير String

صحيح

تم تعديل هذه المشاركة بواسطة عبد العزيز اليوسفي في 20 فبراير 2007 في 23:34

#8

ماشاء الله عليك أخي msayed2004 دائماً تحط روابطك في المكان الصحيح

#9

بسم الله الرحمن الرحيم

بالنسبة للرابط الذي وضعه الأخ msayed2004

البرنامج رائع وعمله منطقي بالنسبة للقيم الرقمية لكن كيف يعمل على فلترة النصوص فهو يعمل جيدا ولكني لم أفهم كيف قام بفلترتها فيفترض به أن يحول القيم النصية الى رقمية فتصبح صفر ولكنه لا يفعل ذلك .

وما هو نوع البيانات بالنسبة للبرميتر KEY للكولكشن C

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

********************* ******************** *********************

(( أشــهد أن لا اله الا الله ..... وأشهد أن محمد رسول الله ))

********************* ******************** *********************

لا تقـل من أيـن أبدأ

طـاعـة الله الـبدايـة

***

لا تقـل أين طـريـقي

شــرع الله الهـدايـة

***

لا تـقـل أيـن نعـيمي

جـنـة الله كـفـايـــــة

***

لا تقـل في الغـد أبدأ

ربمـــا تأتـي النهـايـــة

**************** **************** ****************

#10
اقتباس
لكن كيف يعمل على فلترة النصوص فهو يعمل جيدا ولكني لم أفهم كيف قام بفلترتها فيفترض به أن يحول القيم النصية الى رقمية فتصبح صفر ولكنه لا يفعل ذلك .

طبيعة الـ Collections أنها لا تقبل بيانات مكرره و الله أعلم.

#11
البريشي كتب:
وما هو نوع البيانات بالنسبة للبرميتر KEY للكولكشن C

********************* ******************** *********************

(( أشــهد أن لا اله الا الله ..... وأشهد أن محمد رسول الله ))

********************* ******************** *********************

لا تقـل من أيـن أبدأ

طـاعـة الله الـبدايـة

***

لا تقـل أين طـريـقي

شــرع الله الهـدايـة

***

لا تـقـل أيـن نعـيمي

جـنـة الله كـفـايـــــة

***

لا تقـل في الغـد أبدأ

ربمـــا تأتـي النهـايـــة

**************** **************** ****************

#12
  • Item is the item being added. This argument is required.
  • Key is an optional string that identifies the item. Key must be unique within the collection.
  • Before is an optional number that specifies the position of the new item in the collection as the index of the existing item before which the new item is to be placed.
  • After is an optional number that specifies the position of the new item in the collection as the index of the existing item after which the new item is to be placed.

هذا الموضوع مغلق.

مواضيع مشابهة