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

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

بدأه محمد غريب في 27 سبتمبر 2008 · 7 رد · 1,092 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ,,,

اخواني الكرام اقدم لكم سورس برنامج يقوم بتجميع سطور الليست بوكس في تكست بوكس واحد ومهما كان عدد هذه السطور ما اسميه بضغط النصوص , ويمكن ارجاع بيانات هذه السطور مرة اخري بعكس عملية الضغط

ويمكن ان نستفيد من هذه العملية في قواعد البيانات , مثلا اذا كنا نريد اضافة عميل ولهذا العميل اكثر من تليفون ونريد ان نحفظهم جميها مع السجل الخاص بالعميل في قاعدة البيانات , فيمكن تجميع ارقام هذه التليفونات جميعها في حقل واحد فقط وعند استعراضهم مرة اخري نقوم بفك ضغطهم وتوزيعهم في قائمة بأرقام التليفونات او في مصفوفة من التكستات

ارجو ان تفيدكم الفكرة وان تضيفو تعليقكم عليها :happy:

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

__________.rar

It does not matter what they know about you, but what you can do, so let your work speak of you

mmghv VB6 Programmer

#2

تشكر أخي محمد مصطفي غريب على مجهودك

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

ولكن لو تم تبديل العلامة ":" برمز غير مستخدم كثيراً مثل "|" فهو أفضل

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

وأستتعمال دالة البحث Split أفضل لهذه الطريقة.

والله الموفق ..

#3

اشكرك اخي عبد العزيز اليوسفي علي الاهتمام , فأنا لا اري غيرك قد اهتم بالموضوع

اما بخصوص تبديل الرمز ":" برمز غير مستخدم كثير فهذا اخي العزيز لا يهم لانه لا دخل بما سيدخله المستخدم من رموز او كلمات , فمهما كتب من جمل ورموز فستظل كما هي ولن تخطلت بما سيضيفه الكود من رموز وارقام

اما بالنسبه لما تفضلت وقلت عن الليست بوكس فكلامك صحيح اخي العزيز , فيمكننا استبدالها بمصفوفة ديناميكية وستعمل بنفس الطريقة

وبالنسبة للدالة Split فكما قلت كانت ستكون اسهل من الدالة instr لكن اخوك فضل دالة instr لاني ليس لدي خبرة كبيرة بدالة Split وقد تعودت علي دالة instr

وانا افكر ان اقوم بعمل مكتبة dll لاستخدام هذه الطريقة في ضغط النصوص ولكني منتظر الفكرة لعملها فقط وبأذن الله ستكون جاهزة في خلال ايام

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

It does not matter what they know about you, but what you can do, so let your work speak of you

mmghv VB6 Programmer

#4

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

مثال يستخدم الدالة Split في تقطيع الجملة :

Dim Str() As String, i As Integer

Str = Split(Text1, "|")

	For i = 0 To UBound(Str)
		MsgBox Str(i)
	Next

برأيي لا حاجة لمكتبة DLL لهذا الكود البسيط

وأنا قصدت أستبدال الرمز "-" أو الذي قمت بأستخدمته في كودك للفصل بين الجمل

#5

اولا اشكرا علي المثال الذي ضربته للدالة split فهو يوضح لي ما تفعله هذه الدالة بالضبط وكيفية التعامل معها

ثانيا اخي الكريم لو تلاحظ فإن الكود الذي قمت بإستخدامه لا يعتمد علي طريقة الفصل بين الجمل

والصورة التالية توضح فكرة عمله

post-170888-1222657135_thumb.png

وبهذه الطريقة مهما ادخل المستخدم من رموز وبيانات لن تحدث خطأ او اختلاط مثل ما سوف يحدث عند استخدام الدالة split لو ادخلنا الرمز الذي فصلنا به بين الجمل

تم تعديل هذه المشاركة بواسطة محمد مصطفي غريب في 29 سبتمبر 2008 في 06:08

It does not matter what they know about you, but what you can do, so let your work speak of you

mmghv VB6 Programmer

#6

أي أنك أختصرت فقط الفراغات من بين الأسماء ولكنك بالحقيقة لم تختصر لأنك عند أختصار الفراغات زدت عدد الأحرف والأقواس ورجعت النتيجة كما هي وأكثر

مثال:

اقتباس
5-15-5-4-4-8-:محمد مصطفى غريبمحمود احمدكريمسعد الله

هي أطول من هذه

اقتباس
محمد مصطفى غريب:محمود:احمد:كريم:سعد الله

تم تعديل هذه المشاركة بواسطة عبد العزيز اليوسفي في 30 سبتمبر 2008 في 05:19

#7

اولا اسف لتأخير الرد لكني لم الحظ ردك

اما بالنسبة للكود:

فكلامك صحيح اخي العزيز , فهذا الكود ليست وظيفته اختصار المسافات او تقليل الحروف , انما وظيفته وما يجعله يختلف عن الدالة split هو انه بعدم اعتماده علي الفصل بين الجمل يجعل المستخدم حرا فيما يدخل من رموز وعلامات , اما بالنسبة للدالة split فلو فصلنا بين الجمل بالعلامة ":" او اي علامة اخري فعندها يجب ان نمنع المستخدم من ادخال هذه العلامة لانه لو ادخلها في وسط جملة فستجعل الدالة منها جملتين منفصلتين

وكما قلت اخي فإنه يمكن استخدام الدالة split وادخال رمز غير مستخدم كثيرا للفصل بين الجمل ومنع المستخدم من ادخال هذا الرمز

فهي تعمل لكن بشرط معين وهو عدم ادخال الرمز الذي تم الفصل به بين الجمل

انما هذا الكود يعمل بدون اي شروط ويمكن ادخال اي رموز في وسط الجمل ولن يتم الفصل بينهم

في استخدامتنا العادية يفضل استخدام الدالة split ستكون اسهل

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

تم تعديل هذه المشاركة بواسطة محمد مصطفي غريب في 1 أكتوبر 2008 في 07:40

It does not matter what they know about you, but what you can do, so let your work speak of you

mmghv VB6 Programmer

#8

شكرا لكم جميعا

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…