تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
جلب الارقام بالترتيب فى الليست بوكس
#1
السلام عليكم ورحمة الله وبركاته..
لدى آيات من القرءان بمجلد بأسماء (من رقم  00.6 الى 00.280) ولكن حين جلبهم 
داخل الليست بوكس تكون هذه
الأرقام غير مُرتبة فيأتى مثلا رقم 30 قبل رقم 10 وهكذا كما بالصورة


فكيف أجلبهم بترتيب الأرقام ؟
وهذا هو الكود الذى استخدمه

كود :
Dim lst As New List(Of String)
       Dim dir As String = Application.StartupPath & "\sami\"
       For Each fil In System.IO.Directory.GetFiles(dir)
           ListBox1.Items.Add(System.IO.Path.GetFileNameWithoutExtension(fil))
 lst.Add(fil)
ListBox1.Sorted = True
       Next

وجزاكم الله كل الخير.
الرد
تم الشكر بواسطة:
#2
السلام عليكم اخي ابو روضة
اذا كانت النتائج مصل ماهو في الصورةفالتسلسل صحيح 
لانه حسب عدد الخانات اما ان اردت تسلسلهم فعليك جعلهم هكذا
مثلا الرقم  00.1 يجب ان يكون 00.001 حتى يتم الترتيب 
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد
تم الشكر بواسطة: ابو روضة , ابو روضة
#3
(15-04-20, 03:00 AM)ابراهيم ايبو كتب :
السلام عليكم اخي ابو روضة
اذا كانت النتائج مصل ماهو في الصورةفالتسلسل صحيح 
لانه حسب عدد الخانات اما ان اردت تسلسلهم فعليك جعلهم هكذا
مثلا الرقم  00.1 يجب ان يكون 00.001 حتى يتم الترتيب 

عليكم السلام ورحمة الله وبركاته أخى ابراهيم...
جعلتهم بالرقم العادى
6 , 7 , 8 , 9 ,,, وهكذا الى أخر الرقم هكذا لكنها لم تنجح ايضا.

الرد
تم الشكر بواسطة:
#4
السلام عليكم اخي ابو روضة
التسلسل هنا في هذه الاداة مثل التسلسل الابجدي اولا يسلسل الخانة الاولى من الشمال ثم الثانية ثم الثالثة
اخي ابو روضة اجعل الارقام بهذه الطريقة
003
005
012
055
023
123
009
202
045
076
لانها ليست ارقام بل نصوص

السلام عليكم اخي ابو روضة 
من اول كود مشي الحال
يقوم باضافة اصفار الى يسار الرقم حسب النواقص هنا اعتبرت 3 خانات
اليك الكود
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       For i As Integer = 0 To ListBox1.Items.Count - 1
           If ListBox1.Items(i).ToString.Length = 1 Then
               ListBox1.Items(i) = "00" & ListBox1.Items(i).ToString
           ElseIf ListBox1.Items(i).ToString.Length = 2 Then
               ListBox1.Items(i) = "0" & ListBox1.Items(i).ToString
           End If
       Next
   End Sub
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد
تم الشكر بواسطة: ابو روضة
#5
(15-04-20, 03:10 AM)ابراهيم ايبو كتب : السلام عليكم اخي ابو روضة
التسلسل هنا في هذه الاداة مثل التسلسل الابجدي اولا يسلسل الخانة الاولى من الشمال ثم الثانية ثم الثالثة
اخي ابو روضة اجعل الارقام بهذه الطريقة
003
005
012
055
023
123
009
202
045
076
لانها ليست ارقام بل نصوص

السلام عليكم اخي ابو روضة 
من اول كود مشي الحال
يقوم باضافة اصفار الى يسار الرقم حسب النواقص هنا اعتبرت 3 خانات
اليك الكود
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       For i As Integer = 0 To ListBox1.Items.Count - 1
           If ListBox1.Items(i).ToString.Length = 1 Then
               ListBox1.Items(i) = "00" & ListBox1.Items(i).ToString
           ElseIf ListBox1.Items(i).ToString.Length = 2 Then
               ListBox1.Items(i) = "0" & ListBox1.Items(i).ToString
           End If
       Next
   End Sub

الله يكرمك أخى ابراهيم ويبارك بعمرك.
الرد
تم الشكر بواسطة: ابراهيم ايبو
#6
الحمد لله والشكر لله
ويبارك فيك اخي ابو روضة
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد
تم الشكر بواسطة: ابو روضة , ابو روضة



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


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