PDA

View Full Version : سوال: مشکل با بدست آوردن قسمت آخر یک رشته



m2011kh
چهارشنبه 25 بهمن 1391, 00:25 صبح
سلام دوستان من.

اولین چیزی که خواهید گفت اینکه چرا جستجو نکردی.باید بگم که جستجو کردم و چیزی پیدا نکردم.
سوالمم حتی از نظر خودمم خیلی خنده دار هست و اعتراف میکنم چند روزیه مغزم کار نمیکنه.
من یه فانکشن کوچیک برای بدست آوردن قسمت آخر یک رشته نوشتم.
برای مثال از این رشته:
C:\01\02\03
میخوام 03 رو استخراج کنم و این فانکشن هست:
Public Function GetFileName(strAdress As String) As String
If strAdress = Empty Then
GetFileName = Empty
Exit Function
End If
Dim i As Integer
For i = Len(strAdress) To 0
If Asc(Mid(strAdress, i, 1)) = 92 Then
GetFileName = Right(strAdress, i - 1)
End If
Next i
End Function


ولی نمیدونم چرا در هر صورتی تابع مقدار Empty رو برمیگردونه.یه راهنمایی کوچیک خالی از لطف نیست ممنون.
MMD

mehran901
چهارشنبه 25 بهمن 1391, 01:07 صبح
خب چ کاریه ! با strreverse رشته رو برعکس کن و تا اولین / سرچ بزن ... با instr ، حالا با mid$ جدا کن و دوباره رشته رو عکس کن!

mehran901
چهارشنبه 25 بهمن 1391, 01:09 صبح
حلقه For استپش کو پس ؟! استپ رو -1 بذار

اصلا به سادگی با ی متغیر FSO هم متونی اینکارو انجام بدی ..! یادم نیس چه متدی بود ولی اسمش ضایعست... اسم فایل رو از آدرس برمیگردوند... ی سرچ بزنی تو نت فراوونه

m2011kh
چهارشنبه 25 بهمن 1391, 14:19 عصر
خب من که سرچ کردم چیزی پیدا نکردم میشه در مورد FSO کمی بیشتر راهنمایی کنید.

mehran901
چهارشنبه 25 بهمن 1391, 18:15 عصر
Dim fso As New FileSystemObject
MsgBox fso.GetFileName("c:\as\a.jpg")


رفرنس microsoft scripting runtime اضافه شود

موفق باشی

m2011kh
چهارشنبه 25 بهمن 1391, 18:29 عصر
در مورد این رفرنس یه سوال دارم.من قبلا تو هیچ پروژه ای از این رفرنس استفاده نکردم.میدونیم که این رفرنس یا کتابخانه برگرفته از فایل scrrun.dll در system32 هست.
در پروژه ای که این کتابخانه رو استفاده میکنیم لازمه که این DLL رو هم در ستاپ بزاریم؟؟؟

mehran901
چهارشنبه 25 بهمن 1391, 18:35 عصر
بله لازمه ... البته خب خیلی از رفرنس ها در داخل سیستم وجود دارند و این از اون دسته فک کنم بود که داخل ویندوز های 98 به بالا هست ، ولی خب درهرصورت موقع لود ، برنامه بهش احتیاج داره

موفق باشین