المشاركات : 186
المواضيع 67
الإنتساب : Sep 2013
السمعة :
21
الشكر: 280
تم شكره 267 مرات في 103 مشاركات
04-02-14, 05:32 AM
(آخر تعديل لهذه المشاركة : 04-02-14, 05:35 AM {2} بواسطة alims.)
السلام عليكم شبابا
عندى سؤال و هو عندما اقوم بستخدم الـ Split يحصل خطاء الاول هو ده الكود المستخدام
كود :
Dim str As String
Dim strr As String
Dim strArr() As String
Dim count As Integer
str = returnData
strr = returnData
strArr = str.Split("pass")
strArr = strr.Split("name")
For count = 0 To strArr.Length - 1 Or strr.Length - 1
Console.WriteLine(vbNewLine & strArr(count))
Next
شرح الكود
تاتى البيانات عن طريق المتغير returnData و هو متغير نصى
المطلوب هنا هو ان اجيب الاسم لوحد و الباص لوحد و لكن عطول بتلقى كلمة اسم و باص موجودها فى السطر
بمعنى اخر اوريد الاسم فى متغير نصى لوحدو و الباص فى متغير لوحد مع خذف كلمة اسم و باص
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
المشاركات : 60
المواضيع 13
الإنتساب : Sep 2013
السمعة :
8
الشكر: 16
تم شكره 159 مرات في 34 مشاركات
السلام عليكم ورحمة الله وبركاته
هذا مثال يوضح استخدام الدالة السابقة
Dim test_split(), txt As String
txt="100 احمد خالد على"
'يتم فصل السلسة النصية حسب الفراغ
'في السلسة النصية السابقة
test_split = Split(txt, " ")
For i As Int16 = 0 To test_split.LongCount - 1
MsgBox(test_split(i))
Next
==================================================
النتيجة ستكون على النحو التالي
test_split(0)="100"
test_split(1)="احمد"
test_split(2)="خالد"
test_split(3)="علي"
المشاركات : 186
المواضيع 67
الإنتساب : Sep 2013
السمعة :
21
الشكر: 280
تم شكره 267 مرات في 103 مشاركات
شكرا ليك اخى adel2012
لم اقصدك ذلك و لكن سوف اقوم بالشرح بالتفصيل
عندى نص بيجى فى الشكل ده اخى
namewecomepass1234
بدون مسافات كل ما ارويد
ان اجيب كلمة wecome من بين النص لوحدها من غير كلمة name ولا باقى الناص عايزها لوحدها وبس
و ان اجيب 1234 من غير كلمة pass
بشرط ان يجى كلمة wecome فى متغير من نوع نص لوحدها
و ان تجى 1234 فى متغير من نوع نص غير المتغير التانى خالص
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
المشاركات : 372
المواضيع 15
الإنتساب : Sep 2013
السمعة :
28
الشكر: 487
تم شكره 1677 مرات في 187 مشاركات
السلام عليكم...
إذا كان النص دائماً بنفس الصيغة (أي كلمة name يليها الاسم ثم كلمة pass يليها الرقم) فاكتب الإجراء التالي في بداية تعريف الـ Class:
كود :
Private Sub ExtractData(ByRef AText As String, ByRef AName As String, ByRef APass As String)
AText = AText.Trim
If AText = "" Then
AName = ""
APass = ""
Else
Dim PassPos As Integer = AText.ToUpper().IndexOf("PASS")
If PassPos = -1 Then
AName = AText.Substring(4)
APass = ""
Else
AName = AText.Substring(4, PassPos - 4)
APass = AText.Substring(PassPos + 4)
End If
End If
End Sub
ثم قم باستدعاء الإجراء بالشكل التالي (المثال يفترض أن النص الأصلي موجود في TextBox1 و سيضع الاسم في TextBox2 و الرقم في TextBox3):
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MyText As String = TextBox1.Text
Dim TheName, ThePass As String
ExtractData(MyText, TheName, ThePass)
TextBox2.Text = TheName
TextBox3.Text = ThePass
End Sub
نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
المشاركات : 186
المواضيع 67
الإنتساب : Sep 2013
السمعة :
21
الشكر: 280
تم شكره 267 مرات في 103 مشاركات
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
المشاركات : 372
المواضيع 15
الإنتساب : Sep 2013
السمعة :
28
الشكر: 487
تم شكره 1677 مرات في 187 مشاركات
السلام عليكم...
و الشكر الجزيل لك أخي ربيع، ففي الزيادة إفادة، و لولا وجود الأعضاء الذين يتبرعون بوقتهم و جهدهم لطرح المواضيع و تقديم الإجابات لما نهض هذا المنتدى و تقدم. نرجو من الله أن يكون ذلك صدقةً في كتاب حسناتهم عند الله.
سلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ