![]() |
|
دوال التعامل مع النصوص - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (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=5026) الصفحات:
1
2
|
دوال التعامل مع النصوص - RaggiTech - 03-10-12 كاتب الموضوع : احمد نبيل احمد
السلام عليكم ورحمه الله
len
تستخدم لمعرفة طول النص (عدد الاحرف) وتستخدم كالتالى كود : Len("النص المراد معرفة طوله")كود : Dim s As Stringبعد ذلك ظهرنا نتيجة داله len فى message box وهتكون النتيجة 23 وهو عدد احرف النص الموجود فى المتغير او نستخدم هذا الكود كود : MessageBox.Show(s.Length)--------------------------------------------------------------------------------------------------
Trim
وهى تقوم بحذف الفراغات (المسافات ) الموجودة على يمين ويسار النص مثال كود : Dim s As Stringعند تنفيذ الكود ستلاحظ ان النص ظهر بدون المسافات وهذا بسبب الداله Trim فهى حذفت المسافات الموجودة على يمين ويسار النص . -----------------------------------------------------------------------------------------------------
RTrim
هذه الداله تقوم ايضا بحذف الفراغات ولكن تحذف الفراغات الموجودة على يمين النص فقط مثال كود : Dim s As String-----------------------------------------------------------------------------------------------------
Ltrim
وهى عكس Rtrim فهى تقوم بحذف الفراغات الموجودة على يسار النص وطبعا مش محتاج مثال اعتقد انك فهمتها -----------------------------------------------------------------------------------------------------
UCase
تقوم هذه الداله بتحويل حروف النص المرر لها الى حروف كبيرة Capital مثال كود : Dim s As Stringلكن عند تنفيذ الكود واظهار نتيجة الداله UCase هنلاحظ ان الحروف كلها تحولت الى احرف كبيرة Capital وممكن نعملها بهذه الطريقة كود : MessageBox.Show(s.ToUpper)--------------------------------------------------------------------------------------------------
LCase
وهى عكس الداله السابقة فهذه الداله تقوم بتحويل حروف النص المرر لها الى حروف صغيره وهى اختصار Lower case فاذا اردنا جعل جملتنا السابقة I Love Visual Basic.Net الى حروف صغيرة نكتب كود : MessageBox.Show(LCase(s))كود : MessageBox.Show(LCase(s.ToLower))---------------------------------------------------------------------------------------------------
LSet
تستخدم هذه الداله لااخذ جزء من الجهه اليسرى من النص ونمرر لها وسيطين الاول وهو source وهو النص الاصلى الثانى وهو length وبيكن طول النص الى عايز تأخذه من النص الاصلى مثال كود : Dim s As Stringللنص s وعند تنفيذ الكود هتلقى كتبلك I Love وهما اول 6 حروف موجدين فى النص -----------------------------------------------------------------------------------------------------
RSet
وهى عكس السابقة فهى تستخدم لااخذ جزء من النص ولكن من اليمين مثال كود : Dim s As Stringيعنى النتيجة ان هيظهرلك جملة Visual Basic.Net فى messagebox ----------------------------------------------------------------------------------------------------
MId
عن طريق هذه الداله ممكن تأخد نص من البداية التى تحددها والطول الذى تحدده من النص الاصلى احس ان الكلام غير مفهوم ولذلك نضوف مثال علشان نفهم اكثر كود : Dim s As Stringانظر الى هذا السطر كود : MessageBox.Show(Mid(s, 8, 6))وياخذ 6 حروف من بداية الحرف الثامن انظر الى الجملة I Love Visual Basic.Net هتلقى ان الحرف الثامن هو حرف v والمرر الثانى الى هو 6 دا طول السلسلة الى هيخدها وهى 6 يعنى النتيجة هتكون ظهور كلمة visual ---------------------------------------------------------------------------------------------------
ياريت لو فى حد مش فاهم حاجة من الحاجات دىيٍسأل عن الى مش فاهمو وان شاء الله اجاوبه يتنبع بأذن الله >>>>>>>>>>>> دوال التعامل مع النصوص - RaggiTech - 03-10-12 الداله StrReverse فمثل عن تمرير نص مثل كلمة ahmed تقوم هذه الداله بعكسه ليصبح demha مثال كود : Dim s As String-----------------------------------------------------------------------------------------------
تقوم هذه الدال بوضع فراغات حسبب العدد المرر لهاالداله Space مثال لو افترضنا اننا حجزنا متغيرين string واسندنا للمتغير الاول كلمة visual الثانى basic بهذا الشكل كود : Dim a As String = "visual"كود : MessageBox.Show(a & b)علشان انا ماقولتلوش يعمل مسافة هنا بقا ممكن نستخدم الداله space انظر الى هذا الكود كود : MessageBox.Show(a & Space(2) & b)وممكن تعمل اى عدد مسافات انت عايزه يتبع >>>>>>>>>>. دوال التعامل مع النصوص - RaggiTech - 03-10-12 الداله Split بناء على رمز معين او مسافات توضع فى مصفوفة افتراضية مثلا نفترض ان لدينا هذه الجملة ahmed nabil ahmed@I love VIsual Basic@vb4arab ونريد ان نقطع هذه الجملة الى اجزاء متفرقة بناء على رمز @ الموجود بالجملة انظر هذا الكود كود : Dim test_split() As Stringالسطر الثانى حجزنا متغير string ووضعنا فى جملتنا الى احنا عايزين نقسمها السطر الرابع وهو اهم سطر قولتلو ان test_split هتساوى تقسيم الجملة s بناء على الرمز @ بالشكل دا هيقسم النص s ويحط كل جزء فى عنصر من عناصر المثفوفة test_split الثلاث اسطر الاخيرة علشان اعرض كل عنصر لوحده دا مجرد مثال صغير علشان تفهم بى الداله لو حد مش فاهمها ومحتاج مثال تانى يقول يتبع بأذن الله >>>>>>>>>>> دوال التعامل مع النصوص - RaggiTech - 03-10-12 الداله Strcomp وتعيد صفر اذا كانو متساوين و واحد اذا كانو غير متساوين كود : MsgBox(StrComp("vb4arab", "vb4arab", CompareMethod.Text))كود : MsgBox(StrComp("vb4arab", "vb4arab.com", CompareMethod.Text))كود : MsgBox(StrComp("vb4arab.com", "vb4arab", CompareMethod.Text))يتبع >>>>>>>>>>>>>> دوال التعامل مع النصوص - RaggiTech - 03-10-12 داله StrDup كود : MsgBox(StrDup(20, "A"))كود : MsgBox(StrDup(10, "b"))-------------------------------------------------------------
تقوم باستبدال نص معين فى جملة بنص اخر انظر الكود التالىداله Replace كود : Dim s As String = "I love Visual Basic 6"ثم عن طريق الداله Replace استبدلنا 6 بى .net فهتظهر رساله مكتوب فيها I Love visual BAsic .net كما يمكنك استخدمه بهذا الشكل كود : Dim s As String = "I love Visual Basic 6"دوال التعامل مع النصوص - RaggiTech - 03-10-12 الداله Instr بمعنى اننا لو عننا نصنا الحبوب I Love visual basic وعندنا نص ثانى وهو love حلو الكلام عن طريق الداله Instr نقدر نعرف موقع النص الثانى الى هو Love موجود فين فى النص الاول وتعيد هذه الداله قيمة من النوع Integer وفى مثالنا السابق هتعطى رقم 3 لان النص الثانى موجود فى النص الاول بداية من الحرف الثالث ممكن تطبق هذا الكود علشان تفهم اكثر كود : Dim s As String = "I Love visual basic"الاول : وهو النص الى هتبحث فى وفى مثالنا هذا النص الاول الثانى : النص الى هتبحث عنه الثالث : طريقة البحث وهناك نوعين الاول text والثانى binary ولو اختارنا binary هيفرق فى البحث بين الحروف الكبيرة والصغيرة يعنى مثلا كلمة love غير LOVE اما لو اختارنا text مش هيفرق بين الحروف الكبيرة والحروف الصغيرة -----------------------------------------------------------------------
تطبيق على الدالهالان هنعمل تطبيق صغير علشان تفهم اكثر هنستخدم الداله دى فى البحث فى صندوق نص عن النص الى احنا عايزينه طيب افتح مشروع جديد وضع فيه button و2 text box اجعل خاصية text للا button تساوى find واجعل خاصية Multiline للا textbox2 تساوى TRUE واكتب هذا الكود فى زر الامر كود : Dim i As Integerفى textbox2 واضغط على زر الامر اذا كانت موجودة هيعلملك على الكلمة الى انت بتبحث عنها ولو مالقاش حاجة هيطلعلك رساله مكتوب فيها لم يتم العثور على شى شرح الكود : فى السطر الاول حجزنا متغير من النوع integer علشان نحط فى نتيجة الداله Instr فى السطر الثانى اسندنا نتيجة الاله Instr الى هتبحث قى TextBox2 عن النص الموجود فى TextBox1 فى السطر الثالث بنختبر اذا كان المتغير i يحتوى على قيمة اكبر من 0 اذا تحقق الشرط هيختار من TextBox2 النص بداية من قيمة i ناقص واحد وطول النص الموجود فى TextBox1 واذا لم يتحقق الشرط هيطلع رساله فيها لم يتم العثور على شى يتبع >>>>>>>>>>>>>>>> دوال التعامل مع النصوص - RaggiTech - 03-10-12 الداله Asc ترجع كود الرمز المدخل (ascii code) فمثلا الحرف A كوده 65 و الحرف a كوده 97 نلاحظ ان حرف A يختلف عن a كود : MessageBox.Show(Asc("A"))كود : MessageBox.Show(Asc("a"))----------------------------------------------------------------------------------------------------
وهى عكس الداله Asc فهذه الداله ترجع كود الرمز المدخل الى ترميز unicodeالداله Ascw كود : MsgBox(AscW("ب"))كود : MsgBox(AscW("ت"))-------------------------------------------------------------------------------------------------
تاخذ قيمة بين 0 و 255 وتعيد الحرف المقابل للقيمة فى جدول الرموز asciiالداله chr مثلا الرقم 13 خاص بال Enter والرقم 35 خاص بالرمز # والرقم 37 خاص بالرمز % وهكذا كل رقم امامه رمز بما ان الرقم 13 خاص بال Enter ايه رايكم لو نظهر رساله تحتوى على اكثر من سطر انظر هذا الكود كود : MsgBox("vb4arab" & Chr(13) & "vb.net" & Chr(13) & "ahmed nabil")ثم كتب ahmed nabil فى سطر ثالث. طيب نفترض لو عايزين نظهر فى رساله كلمة #vb4arab# بنفس الشكل دا واحنا قولنا فوق ان الرقم 35 خاص بهذا الرمز # يعنى الكود هيبقى بهذا الشكل كود : MsgBox(Chr(35) & "vb4arab" & Chr(35))-----------------------------------------------------------------------------------------------
وهى عكس الداله chr فهى تعيد الحرف الممثل لهذه القيمة فى الترميز unicodeالداله chrw كود : MsgBox(ChrW(1576))كود : MsgBox(ChrW(1578))يتبع >>>>>>>>>>>> دوال التعامل مع النصوص - RaggiTech - 03-10-12 الداله Join وتعمل هذه الداله على تجميع نص مقسم على سبيل المثال لو كان لدينا مصفوفة من 3 عناصر واسندنا لكل عنصر قيمة وعايزين نظهر كل عناصرها فى Messagebox اى نريد تجميع هذه العناصر لاظهارها فى رساله او لوضعها فى متغير انظر هذا الكود كود : Dim s(2) As Stringمقسمة وكل جزء منها فى عنصر فى المصفوفة الا ان الداله join جمعت هذه العناصر مع بعض يتبع >>>>>>>>> دوال التعامل مع النصوص - RaggiTech - 03-10-12 الداله GetChar وهى تعود بقيمة من النوع char حرف وليها 2 مررات الاول هو النص الذى تريد معرفة الحرف منه الثانى وهو رقم index للحرف الذى تريده كود : Dim s As String = "I Love Visual basic"كود : MsgBox(GetChar(s, 8))يتبع >>>>>>>>>>>>>>>>> دوال التعامل مع النصوص - RaggiTech - 03-10-12 ايضا يمكنك عمل المزيد من العمليات المختلفة فى المتغيرات النصية لو لدينا مثلا متغير واسندنا اليه جمله I Love Visual Basic كود : Dim s As String = "i Love visual basic"كود : MsgBox(s.Remove(7, 6))الرقم 6 يمثل عدد الحروف الذى تريد مسحها يعنى بالشكل دا هيمسح 6 حروف من بداية الحرف السابع ----------------------------------------------------------------------
يمكن ايضا عمل Insert انظر الى هذا الكودكود : Dim s As String = "ahmed ahmed"-----------------------------------------------------------------------
يمكنك معرفة موضع حرف معين اوكلمة فى نص مثل داله Instrكود : Dim s As String = "I Love Visual basic"-------------------------------------------------------------------------
يتبع>>>>>>>>>> |