تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيف أقلب النص في تكست بوكس
#1
مثلا الإسم التالي 

الجواليقي ، موهوب بن احمد بن محمد

ليصبح 

موهوب بن احمد بن محمد الجواليقي 

حيث أن لدي عمود في قاعدة بيانات كل البيانات بهذا الشكل 
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم ورحمة الله وبركاته
اخي الكريم مسألة قلب النص سهلة ولكن اين ستضع النص ؟ ومن اين ستأخذه هل تجلب النص الى مربع نص  وتريد قلبه 
الشيء الاخر جرى تقطيع النص بوساطة المسافة الفارغة بين الكلمات
اليك هذا الكود جيث انني افترضت انك جلبت النص الموجود في العمود الذي تقصده الى مربع نص
ضع الكود في بوتون 
كود :
 Dim txt() As String = TextBox1.Text.Split(" ")
       TextBox1.Text = ""
       For i As Integer = txt.Length - 1 To 0 Step -1
           TextBox1.Text &= txt(i) & " "
       Next
 وهذا كود أخر يعتمد على الدالة Reverse  اي عكس المصفوفة
كود :
  Dim txt() As String = TextBox1.Text.Split(" ")
       TextBox1.Text = ""
       For Each t As String In txt.Reverse()
           TextBox1.Text &= t & " "
       Next
يمكنك التقطيع بناء على الفاصلة انا لم انتبه الى ماتريد ظننت انك تريد قلب الكل
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: WaeLx , ابو روضة , المهنا , المهنا
#3
ألف شكر استاذ ابراهيم مجهود يذكر فيشكر 
صحيح انا اجلب أسماء المؤلفين من حقل من قاعدة البيانات فيه اكثر من 15 الف اسم 
واقوم باستخراج حروف التصنيف المتقطعة للكتاب منه 

فمثلا حروف التصنيف هي عبارة عن 3 حروف 
الحرف الأول هو الحرف الاول من  الاسم الاخير من المؤلف بدون ال
الحرف الثاني هو الحرف الاول من  الاسم الأول من المؤلف بدون ال
الحرف الثالث هو الحرف الأول من عنوان الكتاب بدون ال

فمثلا كتاب البرمجة لمؤلف ابراهيم الايبو يكون 
ا ا ب

ولهذا طلبت قلب الاسم كي استطيع استخراج الحروف استخدم هذا الكود لكن المشكلة الاسماء في القاعدة مقلوبة
وهو نظام عالمي للمكتبات تقوم بقلب الاسم بوضع الاسم الاخير في البداية ثم فاصلة 


إقتباس : Dim t1, t2, t3 As Char

        Dim s() As String = Me.Txtadd2.Text.Split
        t1 = If(s(s.Length - 1).StartsWith("ال"), s(s.Length - 1)(2), s(s.Length - 1)(0))
        t2 = If(Me.Txtadd2.Text.StartsWith("ال"), Me.Txtadd2.Text(2), Me.Txtadd2.Text(0))
        t3 = If(Me.Txtadd1.Text.StartsWith("ال"), Me.Txtadd1.Text(2), Me.Txtadd1.Text(0))

        Me.Txtadd7.Text = t1 & " " & t2 & " " & t3

 حصلت مشكلة في بعض الاسماء المركبة مثل 

المعبري المليباري ، عبدالعزيز بن زين الدين

يقلبه للشكل التالي 

المليباري ، عبدالعزيز بن زين الدين المعبري 
 
والمفروض يكون 

عبدالعزيز بن زين الدين المعبري المليباري
الرد }}}
تم الشكر بواسطة:
#4
السلام عليكم اخي الكريم 
اخي انتبه الى مكان الفاصلة التي ستقطع النص
ومن ناحية حذف ال التعريف من كلمتي البداية( المعبري المليباري)
اليك هذا الكود حيث هذه الجملة (المعبري المليباري , عبد العزيز بن احمد)
تصبح هكذا ( عبد العزيز بن احمد معبري مليباري  )
كود :
' هذا الكود يحذف ال التعريف  من المعبري المليباري
       Dim txt() As String = TextBox1.Text.Split(",")
       TextBox1.Text = ""
       Dim frst() As String = txt(0).Trim.Split(" ")
       Dim Lakab As String = ""
       For Each str As String In frst
           Lakab &= str.Substring(2, str.Length - 2) & " "
       Next
       txt(0) = Lakab
       For Each t As String In txt.Reverse()
           TextBox1.Text &= t & " "
       Next

اما الكود التالي كما ذكرت لك التقطيع بالفاصلة
كود :
 '  هذا الكود لايحذف ال التعريف
       Dim txt() As String = TextBox1.Text.Split(",")
       TextBox1.Text = ""
       For Each t As String In txt.Reverse()
           TextBox1.Text &= t & " "
       Next
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: WaeLx , WaeLx , المهنا



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


يقوم بقرائة الموضوع: