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

نسخة كاملة : اسم المجلد
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم

ما هو الكود الذي يعطي اسم المجلد من مسار ما

يعني اذا :
كود :
c:\1\14\16\25\30\47\1.txt

موجود في تكست بوكس و هو ما اسميه بالمسار

و اذا ضغط زر كوماند

يطلع لي الناتج : 47 أي آخر مجلد في هذا المسار
السلام عليكم

- إستخدم هذه الدالة :-

كود :
Private Function GetLastFolder(zPath As String) As String
Dim LastFolder As String
IF Trim(zPath) = "" Or InStr(1,Trim(zPath),"\") = 0 Then
GetLastFolder = ""
Exit Function
End IF
LastFolder = StrReverse(zPath)
LastFolder = Mid(LastFolder,InStr(1,LastFolder,"\") + 1)
IF InStr(1,LastFolder,"\") > 0 Then
LastFolder = Left(LastFolder,InStr(1,LastFolder,"\") - 1)
End IF
LastFolder = StrReverse(LastFolder)
GetLastFolder = Trim(LastFolder)
End Function

- وقم بإستدعائها بهذا الشكل :-

كود :
Msgbox GetLastFolder("C:\A\B\C\D\File.txt")

- تحياتي .
VB_Coder كتب :السلام عليكم

- إستخدم هذه الدالة :-

كود :
Private Function GetLastFolder(zPath As String) As String
Dim LastFolder As String
IF Trim(zPath) = "" Or InStr(1,Trim(zPath),"\") = 0 Then
GetLastFolder = ""
Exit Function
End IF
LastFolder = StrReverse(zPath)
LastFolder = Mid(LastFolder,InStr(1,LastFolder,"\") + 1)
IF InStr(1,LastFolder,"\") > 0 Then
LastFolder = Left(LastFolder,InStr(1,LastFolder,"\") - 1)
End IF
LastFolder = StrReverse(LastFolder)
GetLastFolder = Trim(LastFolder)
End Function

- وقم بإستدعائها بهذا الشكل :-

كود :
Msgbox GetLastFolder("C:\A\B\C\D\File.txt")

- تحياتي .

هل zpath = text1.text مثلا

يعني التكست 1 يحوي المسار

و سؤال آخر ال a,b,c,d,e لستة مجلدات يعني اذا كانوا سبعة يكون لدينا a,b,c,d,e,f

طيب في هذه الحالة كيف احسب عدد تلك المجلدات ليتم الاستدعاء بشكل صحيح

يعني اذا مجلد واحد اكتب كود استدعاء فيه فقط a

و اذا مجلدين اكتب كود استدعاء فيه فقط a,b
السلام عليكم

- نعم تستطيع وضع التكست في الإستدعاء بما أن المسار سيكون في التكست . بهذا الشكل :-

كود :
Msgbox GetLastFolder(Text1.Text)

- بالنسبة لعدد المجلدات الموجود في المسار ، فمهما كان عددها ستأتي لك الدالة بآخر مجلد فقط ، والمجلدات التي وضعتها في الرد السابق فقط للتوضيح . جرب الكود .

- تحياتي .
VB_Coder كتب :السلام عليكم

- نعم تستطيع وضع التكست في الإستدعاء بما أن المسار سيكون في التكست . بهذا الشكل :-

كود :
Msgbox GetLastFolder(Text1.Text)

- بالنسبة لعدد المجلدات الموجود في المسار ، فمهما كان عددها ستأتي لك الدالة بآخر مجلد فقط ، والمجلدات التي وضعتها في الرد السابق فقط للتوضيح . جرب الكود .

- تحياتي .

مشكور جداً