السلام عليكم
ما هو الكود الذي يعطي اسم المجلد من مسار ما
يعني اذا :
كود :
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)
- بالنسبة لعدد المجلدات الموجود في المسار ، فمهما كان عددها ستأتي لك الدالة بآخر مجلد فقط ، والمجلدات التي وضعتها في الرد السابق فقط للتوضيح . جرب الكود .
- تحياتي .