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

مثال واضح جدا وشرح لكيفية فصل النصوص - مبتدء + متوسط

بدأه ZaiDriX في 2 يناير 2009 · 2 رد · 845 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هذا شرح بسيط و كامل في الفيجوال بيسك دوت نت + السورس كود لكيفية فصل النص اعتمادا على احرف فاصلة او كلمات فاصلة او رموز فاصلة (البرنامج مكتوب في الفيجوال ستوديو 2008 )

التفاصيل:عند كتابة النص داخل التيكست سورس وبعد الضغط على "سبلت" يقوم بوضع النص في التيكست مكسر وتجاهل الرموز الفاصلة المكتوبة في السورس كود , وهناك قائمة ايضا فكرتها هي فصل النصوص على شكل اسطر بما يعني كل رمز فاصل او كلمة فاصلة جديدة يتم الفصل على اساسها الى سطر جديد.

splitzm1.jpg

الكود


Public Class Form1
'تعريف مصفوفة كـ نص
Dim STR() As String
'تعريف مصفوف من الاحرف الفاصلة كـ أحرف
Dim SPLITchar() As Char = {" ", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "-", "_", "+", "="}
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'تفريغ محتوى التكسيت ميكسر
TextBox2.Text = ""
' اخذ القيمة من التكست سورس بعد فصلها اعتمادا على مصفوفة الرموز وادخالها الى مصفوفة جديدة
STR = TextBox1.Text.Split(SPLITchar)
' البدء في طباعة المصفوفة الجديدة في التيكست ميكسر عن طريق الدوران
'تعريف "i" على انه حرف صحيح
'يبدأ من الصفر لانه الرقم الافتراضي الذي تبدأ منه المصفوفة
'وينتهي بأنتهاء الاحرف داخل المصفوفة ولانه بدأ من الصفر فنقوم بتنقيص طول المصفوفة الناتجة قيمة واحدة
'لان حساب الطول يبدأ من الـ 1 وليس الصفر
For i As Integer = 0 To STR.Length - 1

'الادخال الى التيكست مكسر
'الان نضيف كل جزء الى التيكست ميكسر في كل دورة حسب طول المصفوفة وهذا ينتج دمج الاحرف ماعدا الرموز
TextBox2.Text = TextBox2.Text + STR(i)

'الادخال الى القائمة
'الان نضيف هذا الشرط لان الايعاز الادخال الى القائمة لايعرف ماهو الشي المدخل
'ممايؤدي الى اضافة السطور الفارغة في حال كانت القيمة "لاشيء" وهذا يحدث
'عندما يكون هنالك رمزان متلاصقين او اكثر فبأستمرار الدوران تضاف قيمة فارغة
If STR(i) <> Nothing Then
ListBox1.Items.Add(STR(i))
End If
Next
End Sub
End Class

السورس كود مرفق

split_text.zip

TELL IF YOU KNOW , ASK IF YOU DON'T !

Website: http://www.zaidrix.com

#2

مرحباً اخي الكريم .

أولاً - مشكور

ثانياً - لماذا لاتختصر عملية إدراج المقاطع بـ

ListBox1.Items.AdRange( TextBox1.Text.Split(SPLITchar) )

طيعاً يمكنك الأن الإستغناء عن المصفوفة ( STR ) .

_____________________________________

حسناً لست بحاجة لأن تجيب سؤالي ( السبب : للقيمة الفارغة ) ز

يمكنك الاستعانة بـ For Each و إستغناء عن STR .

 

[color= #b1b100;]For [color= #990000;]Each SText [color= #b1b100;]As String In TextBox1[color= #339933;].Text[color= #339933;].[color= #990000;]Split[color= #009900;](SPLITchar[color= #009900;])

[color= #b1b100;]If Not SText [color= #339933;]= String[color= #339933;].[color= #990000;]Empty Then ListBox1[color= #339933;].Items[color= #339933;].Add[color= #009900;]( SText [color= #009900;]) 

[color= #990000;]Next SText

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 2 يناير 2009 في 15:54

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#3

السلام عليكم - شكرا اخي على الملاحظات

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

تحياتي

Bashar Rabat كتب:
مرحباً اخي الكريم .

أولاً - مشكور

ثانياً - لماذا لاتختصر عملية إدراج المقاطع بـ

ListBox1.Items.AdRange( TextBox1.Text.Split(SPLITchar) )

طيعاً يمكنك الأن الإستغناء عن المصفوفة ( STR ) .

_____________________________________

حسناً لست بحاجة لأن تجيب سؤالي ( السبب : للقيمة الفارغة ) ز

يمكنك الاستعانة بـ For Each و إستغناء عن STR .

  1. For Each SText As String In TextBox1.Text.Split(SPLITchar) If Not SText = String.Empty Then L
    istBox1.Items.Add( SText ) Next SText
  2.  

TELL IF YOU KNOW , ASK IF YOU DON'T !

Website: http://www.zaidrix.com

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

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

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

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

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