منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : جلب الملفات بالأسم فقط
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم اخوتى
معايا كود يجلب الملفات الصوتية من الجهاز بألاأسماء فقط لكن يكون بمسار محدد داخل 
التكست بوكس لكنى اريده يجلبها بالأسماء لما أجلبها بأداه OpenFileDialog
وجربت هذا الكود ولم يفلح

كود :
 Dim ofb As New OpenFileDialog
       ofb.InitialDirectory = ""
       ofb.Multiselect = True
       ofb.ShowDialog()
       For i As Integer = 0 To ofb.FileNames.Count - 1
           ListBox1.Items.Add(ofb.FileNames(i))
           lst.Add(i)
       Next

اريدها تأتى هكذا دون المسار لكن بأداه OpenFileDialog

وعليكم السلام

الكود ما فية أي شيء شغال تمام معي ما غيرت ولا حرف :
[attachment=19690]
(29-09-18, 09:49 AM)عبدالله الدوسري كتب : [ -> ]وعليكم السلام

الكود ما فية أي شيء شغال تمام معي ما غيرت ولا حرف :

نعم هو يعمل أخى لكن بيجلب المسار جانب اسم الملف قمثلا يجلبه هذا
D:\فيديوهات\القارئ  رعد محمد الكردي\النازعات.mp3
وانا اريد يخفى المسار ويجلبه هكذا  "النازعات"   فقط استاذ عبدلله
النازعات
الآن فهمت عليك : هكذا تقصد
[attachment=19692]


هذا الكود :
كود :
       Using ofb As New OpenFileDialog
           ofb.InitialDirectory = ""
           ofb.Multiselect = True
           If ofb.ShowDialog() = DialogResult.OK Then
               For i As Integer = 0 To ofb.FileNames.Count - 1

                   Dim FullName As String = ofb.FileNames(i)
                   Dim OnlyFileName As String = IO.Path.GetFileNameWithoutExtension(FullName)

                   ListBox1.Items.Add(OnlyFileName)
               Next
           End If
       End Using


IO.Path.GetFileNameWithoutExtension
هذة الوظيفة تعطيها اسم الملف بالكامل مع المسار 
ترجع لك اسم الملف فقط بدون الثلاث أحرف المرافقة للملف ( امتداد الملف )
استخدم اداة ال FileListbox اضفها من قائمة ال ChooseToolboxItems 
 هي شبيهه List Box تحتوي على خصائص جميله حدد المسار باستخدام خاصيه Path  وبئمكانك تحديد فلتر لهذه الملفات
(29-09-18, 10:20 AM)عبدالله الدوسري كتب : [ -> ]الآن فهمت عليك : هكذا تقصد



هذا الكود :
كود :
       Using ofb As New OpenFileDialog
           ofb.InitialDirectory = ""
           ofb.Multiselect = True
           If ofb.ShowDialog() = DialogResult.OK Then
               For i As Integer = 0 To ofb.FileNames.Count - 1

                   Dim FullName As String = ofb.FileNames(i)
                   Dim OnlyFileName As String = IO.Path.GetFileNameWithoutExtension(FullName)

                   ListBox1.Items.Add(OnlyFileName)
               Next
           End If
       End Using


IO.Path.GetFileNameWithoutExtension
هذة الوظيفة تعطيها اسم الملف بالكامل مع المسار 
ترجع لك اسم الملف فقط بدون الثلاث أحرف المرافقة للملف ( امتداد الملف )

فعلا جلبتهم بألأسماء فقط استاذى بارك الله فيك....
لكن لم يشتغلو وكأنهم اسماء فقط دون المسار
يعنى حينما اضغط على اى ملف من الليست بوكس لا يعمل داخل المشغل
وهذا كود التشغيل الذى استعمله
        Player.URL = ListBox1.SelectedItem

(29-09-18, 10:22 AM)معاذ_ابراهيم كتب : [ -> ]استخدم اداة ال FileListbox اضفها من قائمة ال ChooseToolboxItems 
 هي شبيهه List Box تحتوي على خصائص جميله حدد المسار باستخدام خاصيه Path  وبئمكانك تحديد فلتر لهذه الملفات

حقيقة اول مرة اسمع عنها هابحث عنها حاضر الله يكرمك
ههههههههههههههه
جيت المسار قلت أبي أسماء
جبت أسماء الحين تبي مسار 

كذا تحتاج تحفظ المسار + اسم الملف
Big Grin

إذا راح تستخدم كنترول من من صندوق الأدوات يقبل إضافة العناصر 
مثل الكمبوبكس أو اليست بوكس 
أعمل كلاس صغير يخدمك في حفظ المسار مع اسم الملف :
هذة الطريقة أستخدمها كثير :
انسخ هذا الكلاس ( سميتة على اسمك ابو روضة )  : ضعة في مكان خارج كلاس النافذة 
كود :
Public Class AbuRowdah
   Public FileName As String
   Public FilePath As String
   Public Sub New(ByVal FileName As String, FilePath As String)
       Me.FileName = FileName
       Me.FilePath = FilePath
   End Sub
   Public Overrides Function ToString() As String
       Return Me.FileName
   End Function
End Class





واسخدمة بهذة الطريقة :
عند الإضافة :
كود :
       Using ofb As New OpenFileDialog
           ofb.InitialDirectory = ""
           ofb.Multiselect = True
           If ofb.ShowDialog() = DialogResult.OK Then
               For i As Integer = 0 To ofb.FileNames.Count - 1

                   Dim FullName As String = ofb.FileNames(i)
                   Dim OnlyFileName As String = IO.Path.GetFileNameWithoutExtension(FullName)

                   ' هذا الكلاس تلقائياً راح يعرض اسم الملف فقط داخل الليست بوكس وليس المسار
                   Me.ListBox1.Items.Add(New AbuRowdah(OnlyFileName, FullName))

               Next
           End If
       End Using




وعند الضغط دبل كلك مثلاً : استخدم الكود بهذة الطريقة
كود :
   Private Sub ListBox1_DoubleClick(sender As Object, e As EventArgs) Handles ListBox1.DoubleClick

       ' اسم الملف فقط من العنصر المحدد
       Dim FileName As String = CType(Me.ListBox1.SelectedItem, AbuRowdah).FileName

       ' مسار الملف من العنصر المحدد
       Dim FilePath As String = CType(Me.ListBox1.SelectedItem, AbuRowdah).FilePath

       ' استخدمهم الآن بشكل طبيعي


   End Sub



Idea
(29-09-18, 11:02 AM)عبدالله الدوسري كتب : [ -> ]ههههههههههههههه
جيت المسار قلت أبي أسماء
جبت أسماء الحين تبي مسار 

كذا تحتاج تحفظ المسار + اسم الملف
Big Grin

إذا راح تستخدم كنترول من من صندوق الأدوات يقبل إضافة العناصر 
مثل الكمبوبكس أو اليست بوكس 
أعمل كلاس صغير يخدمك في حفظ المسار مع اسم الملف :
هذة الطريقة أستخدمها كثير :
انسخ هذا الكلاس ( سميتة على اسمك ابو روضة )  : ضعة في مكان خارج كلاس النافذة 
كود :
Public Class AbuRowdah
   Public FileName As String
   Public FilePath As String
   Public Sub New(ByVal FileName As String, FilePath As String)
       Me.FileName = FileName
       Me.FilePath = FilePath
   End Sub
   Public Overrides Function ToString() As String
       Return Me.FileName
   End Function
End Class





واسخدمة بهذة الطريقة :
عند الإضافة :
كود :
       Using ofb As New OpenFileDialog
           ofb.InitialDirectory = ""
           ofb.Multiselect = True
           If ofb.ShowDialog() = DialogResult.OK Then
               For i As Integer = 0 To ofb.FileNames.Count - 1

                   Dim FullName As String = ofb.FileNames(i)
                   Dim OnlyFileName As String = IO.Path.GetFileNameWithoutExtension(FullName)

                   ' هذا الكلاس تلقائياً راح يعرض اسم الملف فقط داخل الليست بوكس وليس المسار
                   Me.ListBox1.Items.Add(New AbuRowdah(OnlyFileName, FullName))

               Next
           End If
       End Using




وعند الضغط دبل كلك مثلاً : استخدم الكود بهذة الطريقة
كود :
   Private Sub ListBox1_DoubleClick(sender As Object, e As EventArgs) Handles ListBox1.DoubleClick

       ' اسم الملف فقط من العنصر المحدد
       Dim FileName As String = CType(Me.ListBox1.SelectedItem, AbuRowdah).FileName

       ' مسار الملف من العنصر المحدد
       Dim FilePath As String = CType(Me.ListBox1.SelectedItem, AbuRowdah).FilePath

       ' استخدمهم الآن بشكل طبيعي


   End Sub



Idea

ههههههههه خليها عليك استاذ عبدلله دائما حمال أسية معانا تعمل ايه بقى  Big Grin
مرحباً اخى ابو روضة

فقط كل ما عليك فعله فى السطر التالى
كود :
ListBox1.Items.Add(ofb.FileNames(i))

استبدله ليصبح بهذا الشكل
كود :
ListBox1.Items.Add(IO.Path.GetFileName(ofb.FileNames(i)).Split(".")(0))

أو يمكنك استخدامه بهذه الطريقة
كود :
ListBox1.Items.Add(IO.Path.GetFileName(ofb.FileNames(i)).Replace(IO.Path.GetExtension(ofb.FileNames(i)), ""))

وبكده سيتم عرض الاسم فقط بدون المسار او الصيغة

ولاستخدام الصيغة للملف استخدم التالى
كود :
IO.Path.GetExtension(ofb.FileNames(i))

ولتحديد مسار المجلد كل ما عليك فقط استخدام الكود التالى
كود :
IO.Path.GetDirectoryName(ofb.FileNames(i))

تيحاتى لك
وتمنياتى لك التوفيق
(29-09-18, 02:38 PM)elgokr كتب : [ -> ]مرحباً اخى ابو روضة

فقط كل ما عليك فعله فى السطر التالى
كود :
ListBox1.Items.Add(ofb.FileNames(i))

استبدله ليصبح بهذا الشكل
كود :
ListBox1.Items.Add(IO.Path.GetFileName(ofb.FileNames(i)).Split(".")(0))

أو يمكنك استخدامه بهذه الطريقة
كود :
ListBox1.Items.Add(IO.Path.GetFileName(ofb.FileNames(i)).Replace(IO.Path.GetExtension(ofb.FileNames(i)), ""))

وبكده سيتم عرض الاسم فقط بدون المسار او الصيغة

ولاستخدام الصيغة للملف استخدم التالى
كود :
IO.Path.GetExtension(ofb.FileNames(i))

ولتحديد مسار المجلد كل ما عليك فقط استخدام الكود التالى
كود :
IO.Path.GetDirectoryName(ofb.FileNames(i))

تيحاتى لك
وتمنياتى لك التوفيق

جزاك الله كل خير اخى الجوكر ماشاء الله فعلت ما اريده بسطر واحد... لكن لما باجى أشغل الملف لم يعمل وكأنه لا يوجد له مسار.. مثلا انا لدى هذا الكود وهو ما أريده بالظبط لكن باداة OpenFileDialog 

كود :
Dim sss As String = Application.StartupPath & "\files"
       For Each fil In System.IO.Directory.GetFiles(sss)
           ListBox1.Items.Add(System.IO.Path.GetFileNameWithoutExtension(fil))
           lst.Add(fil)
       Next

الصفحات : 1 2