تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[مقال] دوال التعامل مع النصوص Strings - VB.NET
#6
 

دوال خاصة للتعامل مع النصوص




توجد بعض الدوال الخاصة للتعامل مع النصوص سنقوم بالمرور على بعضها.

الدالة Cstr :
تقوم هذه الدالة بتحويل القيم الى الحالة النصية لها و هي تعالج انواع مثل (Integer,Boolen,Char)
مثال1:
PHP كود :
Dim str As String CStr(5)
 
str CStr(True)
 
str CStr("m"c

دالة بسيطة و لها فوائد.
 


 
الدالتان LSet-RSet
و الدالتان PadLeft-PadRight
نستخدمها لإضافة هوامش(مسافات فارغة)الى يسار النص او الى يمينه
مثال1:
PHP كود :
MsgBox(LSet("Example"10))
MsgBox(RSet("Example"16)) 

هما مشابهتان للدالتان PadLeft-PadRight تقريباً.
مثال2:باستخدام PadLeft
PHP كود :
Dim SomeWords() As String = {"Cat""Samer""Vb4"}
For 
Each word As String In SomeWords
MsgBox
(word.PadLeft(5))
Next 

كذلك أيضا تمكنك الدالتان PadLeft-PadRight من اضافة محارف ليسار و يمين النص.
مثال3:
PHP كود :
txt1.Text = ("One".PadLeft(6"."c))
txt1.Text = ("PassWord".PadRight(12"*"c)) 

تلاحظ وجود وسيطتين , الاولى عبارة عن رقم يعبر عن الطول الكلي للنص وهو 6 , و الثانية عبارة عن الرمز (.) كمحرف و الاضافة الى يسار النص
و عليه نكتشف ان الرمز (.) سيضاف 3 مرات الى يسار النص ليصبح طول النص = 6
نفس الكلام ينطبق على السطر الثاني فقط الاضافة تأتي الى يمين النص (اكتشف كم مرة سنضيف الرمز *)





اضافة سطر جديد لنص ما عبر الطريقة
Environment.NewLine
نستخدمها لإضافة سطر جديد لنص ما و ذلك لتقسيم النص الى عدة اسطر و هي سهلة الاستخدام و مشابهة تماما للطريقة التقليدية التي تستخدم (VbCrlF).
مثال1:
PHP كود :
Dim Msg As String "Hello.." Environment.NewLine " My Friends..."
Dim Msg2 As String "Hello.." vbCrLf " My Friends..."
MsgBox(Msg
 


تخزين النصوص في المصفوفات
او تحويل النصوص الى مصفوفات
مر معنا سابقا تحويل النص الى مصفوفة من المحارف.
الان حديثنا يختلف نوعا ما في بعض المواضع.
Convert String To Byte Array
تحويل النص الى مصفوفة من النوع بايت يسير و فعال عبر الدوال التي توفرها اللغة.
توفر اللغة الدالة ()ASCII.GetBytes
و هي تستقبل وسيطة من النوع النصي و تعيد لنا مصفوفة من النوع Byte.
مثال1:
PHP كود :
Dim Nmae As String "AboLayla"
Dim array() As Byte System.Text.Encoding.ASCII.GetBytes(Nmae)
 
For 
Each bt As Byte In array
 
  txt1.AppendText(bt.ToString " = " ChrW(bt) + Environment.NewLine)
Next 

الناتج من الكود السابق

65 = A
98 = b
111 = o
76 = L
97 = a
121 = y
108 = l
97 = a


كما ترى في المثال تم ترميز كل حرف في المصفوفة و بناءً عليه يمكننا تخزين البيانات الى ملف Binary عبر الطريقة BinaryWriter
و بطريقة عكسية يمكننا الحصول الى ما بداخل المصفوفة السابقة اذا عرفنا رموزها .. كما ترى في الاعلى و لنجرب باستخدام الدالة ()ASCII.GetString
مثال2:
PHP كود :
Dim array() As Byte = {6598111769712110897}
 
Dim Name As String System.Text.ASCIIEncoding.ASCII.GetString(array)
txt1.Text Name 

كما يمكنك جلب المحارف من المصفوفة السابقة ByteArray  وفق الدالة ASCII.GetChars
مثال3:
PHP كود :
Dim Chr() As Char System.Text.Encoding.ASCII.GetChars(array)
For 
Each ch As Char In Chr
      MsgBox
(ch)
Next 
 

 

تحويل النص الى قائمة
Convert String To List
اذا احتجت في يوم من الايام لتحويل النص الى قائمة فالعملية سهلة ان شاء الله.
مثال1:
PHP كود :
Dim Words As String "Vb,For,Arabs"
 
Dim arry() As String Words.Split(",")
 
Dim vals As List(Of String) = arry.ToList()
 
For 
Each val As String In vals
     MsgBox
(val)
Next 

في هذا المثال افترضت ان لدي نص و يوجد بها فاصل بين الكلمات و استخدمت الدالة Split للتخلص من الفواصل وخزنت الكلمات في المصفوفة array ومن ثم استخدمت الطريقة ()Arry.Tolist لتخزينهم في القائمة vals  .
ثم قمت بعرضهم وفق حلقة For للتأكد منهم.
 



توليد نصوص عشوائية

Random String
من باب ذكر المعلومة فقط احببت اضافتها
تحتاج احيانا الى توليد نصوص عشوائية بطرق بسيطة للاستفادة منها في مجالات شتى ,على سبيل المثال لتخزنها كمفاتيح للبيانات
و من احدى الطرق البسيطة استخدام الدالة
Path.GetRandomFileName تولد هذه الطريقة نص بطول 11 محرف  8 احرف صغيرة فقط مع لاحقة عشوائية لاسم الملف و يمكننا ازالة اللاحقة و الحصول على 4 محارف الاضافية ليصبح طول النص المولد 11 محرف وهو عدد مناسب نوعا ما
مثال1:
PHP كود :
Dim value As String ""
Dim px As String ""
 
For 0 To 15
   px 
Path.GetRandomFileName()
 
  px px.Replace(".""")
 
  value px
   MsgBox
(value)
Next 



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

(12-12-16, 01:18 AM)جميل علي كتب : بارك الله فيك استاذي ابوليلى
موضوع مفيد جدا جدا جدا ( السهل الممتنع )

ارجو من مشرف القسم تثبيت الموضوع

زادك الله من علمه ورزقك من حيث لا تحتسب
جزالك الله خيراً اخي جميل و زادك رزقا وعلما
(12-12-16, 10:19 AM)tryold كتب : استفدنا من طرحك المفيد
بارك الله فيك وفي عملك اخي ابو ليلى
و بك بارك الله اخي مشعل جزاك الله خيراً
(12-12-16, 12:21 PM)ali.alfoly كتب : موضوع روعه ومنظم جدا احييك علي ذلك
بارك الله فيك
شكراً اخي علي و بارك الله بك ايضاً وجزاك خيراً
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}


الردود في هذا الموضوع
RE: دوال التعامل مع النصوص Strings - VB.NET - بواسطة ابو ليلى - 12-12-16, 10:32 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  نظرة على DropBox SDK و التعامل معها +برنامج رفع و تحميل ملفات ابو ليلى 4 4,920 08-09-22, 11:54 AM
آخر رد: saif2023
  تحويل Interface الي دوال API silverlight 1 3,439 24-11-21, 04:15 PM
آخر رد: yassoo1985
  التعامل مع الصور Images في بيئة الدوت نت باستخدام +GDI - مقدمة RaggiTech 3 5,894 30-07-21, 05:14 PM
آخر رد: kebboud
Lightbulb [مقال] التعامل مع ملفات اوفيس من خلال مكتبة NPOI ابو ليلى 2 4,228 01-07-21, 11:42 AM
آخر رد: kebboud
Lightbulb [مقال] التعامل مع اختصارات الملفات Shortcuts Magic Sword 2 4,436 01-10-20, 11:36 AM
آخر رد: abomo3ath
  ترجمة النصوص من الإنجليزية الي العربية بين الواقع و الخيال silverlight 2 5,421 28-05-20, 05:05 AM
آخر رد: محمد ايمن
Exclamation [VB.NET] التعامل مع ال CMD عن طريق ال TextBox YousefOkasha 5 5,046 02-06-18, 09:34 PM
آخر رد: YousefOkasha
  التعامل مع الملفات الصوتية ........دردشة برمجية RaggiTech 8 10,395 28-11-17, 11:23 PM
آخر رد: ahmed4240
  الجمع بين النصوص vb.net Basil Abdallah 0 2,249 14-01-17, 01:40 PM
آخر رد: Basil Abdallah
  التعامل مع جهاز الكمبيوتر من Command Prompt silverlight 7 4,203 22-12-16, 06:07 PM
آخر رد: silverlight

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم