ورود

View Full Version : حذف چند حرف از یک عبارت



Mehr@ban
شنبه 29 اردیبهشت 1397, 17:44 عصر
سلام

من میخوام برای نمایش تصاویر، از آدرسی که فایل بکاند قرار گرفته به صورت نسبی استفاده کنم!
آدرس فایل رو تونستم برگردونم ولی به صورت کامل، یعنی نام فایل هم در آدرس موجود هست. مثلا عبارت زیر:
Z:\MyApp\Server-DB.app

خب نام فایل بکاند که Server-DB.app هست و من میخوام فقط آدرس بکاند رو بدست بیارم.

البته دوتا نکته قابل ذکر هست:

آدرس فایل بکاند قابل تغییر هست.
نام فایل بکاند هم قابل تغییر هست.


چیزی که به ذهن خودم رسید اینه که از سمت چپ آدرس، آخرین \ رو انتخاب کنه و تا آخر مسیر رو حذف کنه! ولی نتونستم اجراش کنم
اساتید یه دستی میرسونن؟

mazoolagh
یک شنبه 30 اردیبهشت 1397, 06:13 صبح
خوشبختانه اکسس خودش تابع جستجوی برعکس رو هم داره. بنابراین خیلی ساده:

Left(FullPath,InStrRev(FullPath,"\"))

و فرم کاملتر که از یک FullPath همه مقادیر رو استخراج میکنه : مسیر ، اسم فایل ، نوع فایل (ext)
Option Compare Database
Option Explicit
Type FileInfo
Path As String
FileName As String
FileType As String
End Type
Public Function GetInfo(FullPath As String) As FileInfo
Dim i As Integer
i = InStrRev(FullPath, "\")
GetInfo.Path = Left(FullPath, i)
Dim x As String
x = Right(FullPath, Len(FullPath) - i)
GetInfo.FileName = Left(x, InStrRev(x, ".") - 1)
i = InStrRev(x, ".")
GetInfo.FileType = Right(x, Len(x) - i)
End Function

نمونه خروجی:
148218