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

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

مغلق
بدأه المهنا في 24 أكتوبر 2006 · 8 رد · 706 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هل من الممكن بيان الطريقة

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

31d7b64755.jpg

وسؤال بخصوص كيف أجعل المستخدم يضيف كل العناصر التي يختارها من اللست بعد تفعيل خاصية الاستايل في اللست بوكس

CheckBox

63d62a1581.jpg

يعني كيف أجعل قيمة التكست بوكس = كل ما يختارة المستخدم عند الضغط على الشيك بوكس في اللست بوكس عن طريق زر كوماند

تم تعديل هذه المشاركة بواسطة المهنا في 24 أكتوبر 2006 في 19:09

#2

بالنسبة للسؤال الأول ما عرفت الطريقة ، لكن إن شاء الله أول ما أعرفها راح أخبرك على طول

أما السؤال الثاني فاستخدم هذا الكود :

On Error Resume Next
For x = 0 To List1.ListCount
	List1.Selected(x) = True
Next

أما ليش On Error Resume Next فالله أعلم !

يا نفسُ إن لم تصلحي

فتشبهي بالصالحينا

[ أبو العتاهية ]

#3

بالنسبة للسؤال الأول أخوي جرب هذا الكود :

Private Sub Command4_Click()
On Error Resume Next
For x = 0 To List1.ListCount
	If List1.Selected(x) = True Then
		Print List1.List(x)
	End If
Next x
End Sub

وإن شاء الله موفق

يا نفسُ إن لم تصلحي

فتشبهي بالصالحينا

[ أبو العتاهية ]

#4

اخي الكريم بنسبة للسؤال الاول اذا كان المقصود هو عند الانتهاء من اختيار لا كثر من صف ثم الضغط على كوماند لطباعة الاختيار على الفورم

اذن هذا الكود يفيد :

قم باضافة list1 , command1

Dim x(25) As Byte
Dim pls As Byte

Private Sub Command1_Click()
For i = 0 To pls - 1
Print List1.List(x(i))
Next
End Sub

Private Sub Text1_Change()
pls = 0
End Sub

Private Sub List1_Click()
x(pls) = List1.ListIndex
pls = pls + 1

End Sub

بالتوفيق

مع العلم ان طريقة الاخ "شبة جسم" اجد وافضل من ناحية برمجية وقدوفرت الكثير في موارد الجهاز

مع ملاحظة ان الاخ نسي وضع -1 عند جملة for لتكون جملة الدوران كتالي

For x = 0 To List1.ListCount -1

لعدم طباعة فراغ اضافي خلف النتائج

شبه جسم كتب:
أما ليش On Error Resume Next فالله أعلم !

اذا كان المقصود بهذه الكلمة في تعني عند و جود اي خطأ توجة الى next

يعني انت تخبر الكمبيوتر انه عند وجود اي خطأ تجاهلة و توجه الى Next

:P

اخي المهنا بنسبه للسؤال الثاني و الله ما فهمته

اذا ممكن التوضيح لعلي استطيع المساعدة

تم تعديل هذه المشاركة بواسطة Super_Pro في 25 أكتوبر 2006 في 04:14

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

أستضافة مواقع (Website Hosting) ابتداء من 35دينار اردني (50$) سنوي 962799247524+ أضغط هنا

logo.png

#5

هلا بأخوي Super_Pro

وأشكرك على التعقيب

أنا أدري إن On Error Resume Next نكتبها عند حدوث خطأ ما في البرمجة ، لكن المشكلة إني ما كنت عارف ليش يظهر الخطأ !!

الظاهر إن الخطأ فعلا في For x = 0 To List1.ListCount -1

لكني عندي سؤال أخوي لو تكرمت .. ليش نكتب -1 ؟

عدد الـ List1.ListCount هو نفسه عدد العناصر في القائمة ، فليش ننقص واحد ؟!!

فإذا كان عندي 9 عناصر مثلا في القائمة ، وأنا أريد أحددهم كلهم ، ليش أحدد 8 بدل 9 ؟؟!!

يا نفسُ إن لم تصلحي

فتشبهي بالصالحينا

[ أبو العتاهية ]

#6

صديقي العزيز "شبة جسم"

لاحظ مع هذه الملاحظة ممكن............ :D

عند اضافة 4 عناصر الى الـ list (و من المعروف ان نظام تسمية الـ index في الـ List يبدأ من الصفر الى اخر عنصر)

يعني في حالتنا ستكون كتالي

العنصر الاول ========> 0
العنصر الثاني========> 1
العنصر الثالث =======>  2
العنصر الرابع =======>  3

اذن

listcount = 4

لو كان الدوران كتالي

 for x = 0 to 4

سيكون عدد لفات الدوران 5 (x= 0 ,x = 1 ,x = 2 ,x = 3 , x = 4) (حاول تتبع ذلك)

اذن هناك لفه زيادة وسيتم طباعة الموقع 4 و (كما لاحظنا سابقا اخر عنصر كان رقمه 3 (لا بوجد موقع رقمه 4))لذلك سيطبع الدوران موقع فارغ

و الحل الصحيح هو

for x = 0 to 3

لان المواقع تبدأ من0 الى 3

لاحظنا ان لفرق بين رقم الـ listcount و الـ indexlist هو 1

ولحل لمشكلة سيكون شكل الدوران النهائي

for x = 0 to listcount - 1

اخي الكريم لا اعلم ان كنت قدرت اوصل الفكرة ام لا ......... :lol:

و السلام عليكم

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

أستضافة مواقع (Website Hosting) ابتداء من 35دينار اردني (50$) سنوي 962799247524+ أضغط هنا

logo.png

#7

اخي الكريم اضافة اداة list1 الىform1

و اضف الكود التالي ::::: :lol:

Private Sub Form_Load()
List1.AddItem ("shabeh jesem")
List1.AddItem ("Super_Pro")
List1.AddItem ("Al mhna")
List1.AddItem ("arabteam2000")
Form1.AutoRedraw = True

Print "for x = 0 to List1.ListCount "
For x = 0 To List1.ListCount
Print "x = "; x; "text is = "; List1.List(x)
Next
Print
Print

Print "for x = 0 to List1.ListCount -1"
For x = 0 To List1.ListCount - 1
Print "x = "; x; "text is = "; List1.List(x)
Next
End Sub

وشوف النتيجه اظن هذا المثال بغني عن كل الكلام

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

أستضافة مواقع (Website Hosting) ابتداء من 35دينار اردني (50$) سنوي 962799247524+ أضغط هنا

logo.png

#8

الف ألف ألف شكر أخوي على التوضيح

االكلام كان واضح .. والكود الذكي كان أوضح

ممتاز

يا نفسُ إن لم تصلحي

فتشبهي بالصالحينا

[ أبو العتاهية ]

#9

على الرحب والسعة اخي الكريم "شبة جسم"

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

أستضافة مواقع (Website Hosting) ابتداء من 35دينار اردني (50$) سنوي 962799247524+ أضغط هنا

logo.png

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

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