منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[vb6.0] كيفية قلب نص TextBox من اليمين إلى اليسار - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم أسئلة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=28)
+---- الموضوع : [vb6.0] كيفية قلب نص TextBox من اليمين إلى اليسار (/showthread.php?tid=40302)



كيفية قلب نص TextBox من اليمين إلى اليسار - أبو خالد الشكري - 22-12-21

السلام عليكم يا عالم المبرمجين


لو سمحتم أريد كود يمكنه أن يعكس النص من اليمين إلى اليسار 

مثال مرفق :

أريد الكود أن يعكس النص التالي :
12,13,14,20,30,40

ليصبح بعد عكسه إلى التص التالي :
40,30,20,14,13,12

مرفق لكم مشروع مبسط لتسهيل الموضوع !

ولكم خالص الشكر والتقدير .


RE: كيفية قلب نص TextBox من اليمين إلى اليسار - Taha Okla - 22-12-21

وعليكم السلام ورحمة الله وبركاته

قم باضافة Listbox للنافذة واعمل لها اخفاء

واستخدم الكود التالي :
كود :
Private Sub Comman1_Click()
  Dim sStr1 As String, sStr2 As String, sStr3 As String
  Dim p, i, i1
 
  sStr1 = Text1.Text
  sStr2 = sStr1
 
  List1.Clear
 
  For p = 1 To Len(sStr1)
      For i = 1 To Len(sStr2)
          If Mid$(sStr2, i, 1) = "," Then
              sStr3 = Mid$(sStr2, 1, i - 1)
              List1.AddItem sStr3
              sStr2 = Right$(sStr2, Len(sStr2) - Len(sStr3) - 1)
              Me.Caption = sStr2
              i = 1
              Exit For
          End If
          If Len(sStr1) - p <= 0 Then
              List1.AddItem sStr2
              p = Len(sStr1)
              Exit For
          End If
      Next i
  Next p
 
  sStr1 = ""
 
  i1 = List1.ListCount - 1
  sStr1 = List1.List(i1)
  For i = -(i1 - 1) To 0
      sStr1 = sStr1 & "," & List1.List(-i)
  Next i
  Text2.Text = sStr1
End Sub



RE: كيفية قلب نص TextBox من اليمين إلى اليسار - سعود - 22-12-21

PHP كود :
txt.Text ""
Dim lb As Integer
Dim ub 
As Integer
lb 
LBound(Split(TextBox1.Text","))
ub UBound(Split(TextBox1.Text","))
For 
ub To lb Step -1
txt
.Text txt.Text Split(TextBox1.Text",")(i)
If 
0 Then
txt
.Text txt.Text ","
End If
Next 
مشاركة لكم كتبت هذا المثال البسيط.


RE: كيفية قلب نص TextBox من اليمين إلى اليسار - أبو خالد الشكري - 22-12-21

(22-12-21, 03:58 PM)Taha Okla كتب : وعليكم السلام ورحمة الله وبركاته

قم باضافة Listbox للنافذة واعمل لها اخفاء

واستخدم الكود التالي :

كود :
Private Sub Comman1_Click()
   Dim sStr1 As String, sStr2 As String, sStr3 As String
   Dim p, i, i1
   
   sStr1 = TextBox1.Text
   
   sStr2 = sStr1
   
   List1.Clear
   
   For p = 1 To Len(sStr1)
       For i = 1 To Len(sStr2)
           If Mid$(sStr1, i, 1) = "," Then
               sStr3 = Mid$(sStr2, 1, i - 1)
               List1.AddItem sStr3
               sStr2 = Right$(sStr2, Len(sStr2) - Len(sStr3) - 1)
               Me.Caption = sStr2
               i = 1
               Exit For
           End If
           If Len(sStr1) - p <= 1 Then
               List1.AddItem sStr2
               p = Len(sStr1)
               Exit For

           End If
       Next i
   Next p
   
   sStr1 = ""
   
   i1 = List1.ListCount - 1
   sStr1 = List1.List(i1)
   For i = -(i1 - 1) To 0
       sStr1 = sStr1 & "'" & List1.List(-i)
   Next i
   txt.Text = sStr1
End Sub


مساء الخير أستاذ Taha Okla

أشكرك جزيلا على تفضلك بعمل الكود للمطلوب وهو يعمل على الوضع الحالي بنسبة 100%
ولكن أستاذي كما تعلم بأن الأرقام المدخلة في TextBox ليست ثابتة فهي متغيرة حسب الحاجة
فأحيانا تكون أعداد مفردة من رقم واحد مثل ( 1 ، 2 ، 3 ) ، أو أرقام عشرية من رقمين مثل ( 11 ، 86 ، 25 ) أو أرقام مئوية مثل ( 837 ، 192 ، 200 ) 

ولكن للأسف الكود أخفق ولم يعمل بالشكل المطلوب عند تغيير بعضها إلى آحاد ، ومئات .
أنا أدخلت في TextBox  الأرقام التالية : 40,816,20,7,13,12  وللأسف الكود لم يعمل بالشكل المطلوب .

ولكن لك مني خالص الشكر والتقدير على الكود ، وما قصرت بارك الله فيك  .

(22-12-21, 05:00 PM)سعود كتب :
PHP كود :
txt.Text ""
Dim lb As Integer
Dim ub 
As Integer
lb 
LBound(Split(TextBox1.Text","))
ub UBound(Split(TextBox1.Text","))
For 
ub To lb Step -1
txt
.Text txt.Text Split(TextBox1.Text",")(i)
If 
0 Then
txt
.Text txt.Text ","
End If
Next 
مشاركة لكم كتبت هذا المثال البسيط.


مساك الله بالخير أستاذ سعود


ما شاء الله عليك الكود الذي تفضلت به رائع جدًا جدًا ما شاء الله

اشتغل الكود بنسبة 100% على كل الأرقم المدخلة سواء آحاد أو عشرات أو مئات

يعجز لساني وكذلك لوحة مفاتيح الكمبيوتر عن شكرك أستاذي .

بارك الله فيك ، ورحم الله والديك .


RE: كيفية قلب نص TextBox من اليمين إلى اليسار - سعود - 22-12-21

(22-12-21, 05:07 PM)أبو خالد الشكري كتب :
مساك الله بالخير أستاذ سعود


ما شاء الله عليك الكود الذي تفضلت به رائع جدًا جدًا ما شاء الله

اشتغل الكود بنسبة 100% على كل الأرقم المدخلة سواء آحاد أو عشرات أو مئات

يعجز لساني وكذلك لوحة مفاتيح الكمبيوتر عن شكرك أستاذي .

بارك الله فيك ، ورحم الله والديك .

الله يبشرك بالخير و الحمدلله اني قدمت فائدة هذا اليوم في منتدانا الطيب.


RE: كيفية قلب نص TextBox من اليمين إلى اليسار - Taha Okla - 23-12-21

تم تصحيح الكود وهو يعمل بشكل جيد الان ..
أخطأت باسناد قيمة السلسلة المتجددة لمتغير أساسي بدل من ثانوي
نتيجة التسرع بالاجابة دون تجريب ..


RE: كيفية قلب نص TextBox من اليمين إلى اليسار - أبو خالد الشكري - 25-12-21

(23-12-21, 03:55 AM)Taha Okla كتب : تم تصحيح الكود وهو يعمل بشكل جيد الان ..
أخطأت باسناد قيمة السلسلة المتجددة لمتغير أساسي بدل من ثانوي
نتيجة التسرع بالاجابة دون تجريب ..


نعم ، الآن أصبح الكود يعمل بشكل ممتاز Smile
أشكرك أستاذ Taha على تفضلك بالكود
ما قصرت بارك الله فيك ، ونفعنا الله بعلمك مدى الزمان .