<< بسم الله الرحمن الرحيم >>
أبدأ أول درس من دروسي حصرياً لمنتدى فيجوال بسيسك لكل العرب فقط داعيا له و للإدارة و لي التوفيق أما بعد , كل مبرمجي الفيجوال بيسيك دوت نت يعلمون أنه لا توجد دالة برمجية مباشرة لحساب عدد الأسطر و لتلافي هذا النقص أقدم لكم شرحا مبسطاً لكود يحسب هذا المقدار
مبدئياً ليكن ما نحتاجه فورم واحد Form1 و أداة زر Button1 و أداة نص Textbox1
فكرة الكود :
الكود بسيط جدا يعتمد على دراسة كل حرف من النص حرفا حرفا و من المعلوم أن البدء بسطر جديد هو حرف بحد ذاته يقابله الضغط على الزر Enter من لوحة المفاتيح .
و الدليل على ذلك ابدأ سطر جديد بدون اي نص ستجد أنه سطر على الرغم من عدم وجود قيم نصية فيه إذا الانتقال لسطر جديد هو حرف -إن صح التعبير-
قيمة الأسكي لهذا الزر هي 13 كما هو معرف دولياْ فببساطة بدراسة كل حرف نقوم مقارنة قيمته مع هذه القيمة فإذا ساوتها فنحن بصدد سطر جديد من صندوق النص
سنعرف في كود الحساب إذاً متغير يحفظ بها عدد الأسطر نعدل عليه كلما وجدنا سطرا جديدا
الكود مع شرحه :
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
العملية إذا بسيطة جداً أتمنى أن يكون الموضوع سلس و الشرح مفهوم
تم بقلم المبرمج الطموح vb6
تحياتي للجميع ^___^
حصريا للمنتدى :
درس: كيفية حساب عدد الأسطر في نص
-- إذا لم تزد على الحياة شيئاً فأنت زائد عليها --
-- المبرمج الطموح vb6 --