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

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184)
+--- الموضوع : درس: كيفية حساب عدد الأسطر في نص (/showthread.php?tid=5424)



درس: كيفية حساب عدد الأسطر في نص - المبرمج الطموح vb6 - 09-10-12

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


أبدأ أول درس من دروسي حصرياً لمنتدى فيجوال بسيسك لكل العرب فقط داعيا له و للإدارة و لي التوفيق Smile
أما بعد , كل مبرمجي الفيجوال بيسيك دوت نت يعلمون أنه لا توجد دالة برمجية مباشرة لحساب عدد الأسطر و لتلافي هذا النقص أقدم لكم شرحا مبسطاً لكود يحسب هذا المقدار
مبدئياً ليكن ما نحتاجه فورم واحد Form1 و أداة زر Button1 و أداة نص Textbox1

فكرة الكود :

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

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

قيمة الأسكي لهذا الزر هي 13 كما هو معرف دولياْ فببساطة بدراسة كل حرف نقوم مقارنة قيمته مع هذه القيمة فإذا ساوتها فنحن بصدد سطر جديد من صندوق النص
سنعرف في كود الحساب إذاً متغير يحفظ بها عدد الأسطر نعدل عليه كلما وجدنا سطرا جديدا Smile

الكود مع شرحه :


   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

       ' تعريف متغيرات لازمة للعملية
       Dim Lines As Integer = 0
       Dim I As Integer = 0
       Dim S As String = ""

       'حلقة تكرارية تبدأ من أول حرف في صندوق النص و حتى آخر حرف
       For I = 0 To TextBox1.Text.Length - 1

           'تعيين قيمة للمتغير الذي عرفناه أعلاه تساوي حرف واحد مقتطع من النص
           S = TextBox1.Text.Substring(I, 1)

           'إزا كانت النص المقتطع مساويا لقيمة الضغط على
           'Enter من لوحة المفاتيح
           'نعلم مسبقا أن قيمة الزر تساوي 13
           If S = Chr(13) Then

               'تزداد قيمة متغير عدد الأسطر بمقدار واحد
               Lines += 1

           End If
       Next

       'رسالة نصية بعدد الأسطر طبعا أضفنا القيمة 1 لأنه السطر الأول قيمته 0
       'و لتجاوز هذه المشكلة يصبح السطر الأول قيمته واحد و هكذا
       MsgBox(Lines + 1)
   End Sub

لا تنسوا المثال في المرفقات Smile
العملية إذا بسيطة جداً أتمنى أن يكون الموضوع سلس و الشرح مفهوم Smile
تم بقلم المبرمج الطموح vb6
تحياتي للجميع ^___^



درس: كيفية حساب عدد الأسطر في نص - Mostafa Dahab - 10-10-12

ايجاد عدد السطور
TextBox1.Lines.Length
textbox لا يقبل انتر اذا جعلتة ملتي لاين جرب انتر لن تعمل الحل استخدام
richTextBox
ايجاد عدد السطور
richTextBox1.Lines.Length
ايضا يمكنك التعديل على سطر معين
درس رائع بارك الله فيك


درس: كيفية حساب عدد الأسطر في نص - mostafa zaki - 10-10-12

[b]شكرا على مجهودك اخي الكريم[/b]


درس: كيفية حساب عدد الأسطر في نص - المبرمج الطموح vb6 - 10-10-12

أخي Mostafa Dahab كلامك صحيح بالتكست بوكس الافتراضي لا يقبل تعدد الأسطر و لكن انا أتكلم عن تكست بوكس عُدلت فيه خاصية MultiLine لتصبح فعالة بالإضافة لأشرطة التمرير Scrolls .... شكرا على التنبيه Smile
أخي mostafa zaki شكرا على مرورك الطيب Smile


RE: درس: كيفية حساب عدد الأسطر في نص - العواد الصغير - 04-08-15

شكرا لك وجعلها في ميزان حسناتك


RE: درس: كيفية حساب عدد الأسطر في نص - abo.alaa315 - 26-12-17

بارك الله فيك ...