• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Chỉ lấy path hay file name

Các thủ thuật liên quan đến xử lý chuỗi và thời gian
User avatar
truongphu
VIP
VIP
Posts: 4766
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 519 times

Chỉ lấy path hay file name

Postby truongphu » Tue 01/04/2008 9:05 am

Thủ thuật: Chỉ lấy đường dẫn hoặc lấy tên tập tin
Tác giả: Sparrow và truongphu
Mô tả: hàm lấy đường dẫn hoặc lấy tên tập tin ngắn gọn


1/4/08

Code: Select all

  1.  
  2. Function CutFileName(FilePath As String) As String
  3.  Dim i As Integer
  4.       i = InStrRev(FilePath, "\", , 1)
  5.       CutFileName = Right$(FilePath, Len(FilePath) - i)
  6. End Function
  7. Function CutPath(FilePath As String) As String
  8.    Dim i As Integer
  9.       i = InStrRev(FilePath, "\", , 1)
  10.       CutPath = Left$(FilePath, i)
  11. End Function
  12.  

Hoặc tham khảo bài viết cùng tên trong VBLib
Last edited by QuanGL on Tue 01/04/2008 12:52 pm, edited 1 time in total.
Reason: Không ghi nội dung vào bên trong tag [end][/end]


o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

User avatar
anhtuyenbk
Guru
Guru
Posts: 1311
Joined: Thu 22/09/2005 4:12 pm
Location: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy
Been thanked: 38 times

Re: Chỉ lấy path hay file name

Postby anhtuyenbk » Tue 01/04/2008 9:34 am

Dạo này truongphu thích xử lý chuỗi nhỉ. Mình cũng góp vui.

Code: Select all

  1. 'Lấy file name từ một path
  2. Public Function GetFileNameFromPath(ByVal sPath As String) As String
  3. GetFileNameFromPath = Mid(sPath, InStrRev(sPath, "\") + 1)
  4. End Function
  5. 'Chỉ lấy tên của File name
  6. Public Function GetNameOfFileName(ByVal sFileName As String) As String
  7. GetNameOfFileName = Left(sFileName, InStrRev(sFileName, ".") - 1)
  8. End Function
  9. 'Lấy phần mở rộng của File name
  10. Public Function GetExtOfFileName(ByVal sFileName As String) As String
  11. GetExtOfFileName = Mid(sFileName, InStrRev(sFileName, ".") + 1)
  12. End Function
  13.  
  14. 'Lấy path của thư mục cha từ một path
  15. Public Function GetFolderPathFromPath(ByVal sPath As String) As String
  16. GetFolderPathFromPath = Left(sPath, InStrRev(sPath, "\") - 1)
  17. End Function
  18. 'Lấy tên file từ một link
  19. Public Function GetFileNameFromLink(ByVal sLink As String) As String
  20. GetFileNameFromLink = Mid(sLink, InStrRev(sLink, "/") + 1)
  21. End Function
Last edited by anhtuyenbk on Tue 01/04/2008 9:56 am, edited 1 time in total.
Kiếm cơm cho qua ngày tháng
https://www.facebook.com/pinduphongpisenchinhhang

baohiep
Thành viên danh dự
Thành viên danh dự
Posts: 109
Joined: Sun 27/12/2009 6:37 pm
Location: Tam Kỳ
Has thanked: 3 times
Been thanked: 9 times

Lấy phần mở rộng của file

Postby baohiep » Mon 21/03/2011 9:11 pm

Thủ thuật: Lấy phần mở rộng của file
Tác giả: Lê Bảo HIệp
Mô tả: Lấy phần mở rộng của file



Dựa theo cách lấy tên file từ đường dẫn, mình nghĩ ra cái này.
Khai báo:
  1. Function GetPattern(path As String) As String
  2. Dim s As Integer
  3. Dim temp As String
  4. s = InStr(1, path, ".")
  5. temp = path
  6. Do While s > 0
  7. temp = Mid(temp, s + 1, Len(temp))
  8. s = InStr(1, temp, ".")
  9. Loop
  10. GetPattern = temp
  11. End Function

Sử dụng:
[vb]GetPattern(đường dẫn)[/vb]

User avatar
VuVanHoanh
Thành viên danh dự
Thành viên danh dự
Posts: 1259
Joined: Thu 03/06/2010 9:23 pm
Location: Kim Sơn - Đông Triều - Quảng Ninh
Has thanked: 22 times
Been thanked: 138 times
Contact:

Re: Lấy phần mở rộng của file

Postby VuVanHoanh » Mon 21/03/2011 9:21 pm

Bạn có để ý tới cấu trúc hàm mid không? có phần length được đặt trong ngoặc vuông đó, nếu bạn không nhập thì nó sẽ trả về ký tự từ vị trí bắt đầu tới cuối string.
Lấy phần mở rộng của file thì đơn giản là cái này cũng được:
  1. Public Function GetPattern(sPath As String) As String
  2.     GetPattern = Mid$(sPath, InstrRev(sPath, ".") + 1)
  3. End Function


Sau đó: lấy pattern của "C:\WINDOWS\explorer.exe" sẽ trả về "exe"
Since 2008...
One love! :x

baohiep
Thành viên danh dự
Thành viên danh dự
Posts: 109
Joined: Sun 27/12/2009 6:37 pm
Location: Tam Kỳ
Has thanked: 3 times
Been thanked: 9 times

Re: Lấy phần mở rộng của file

Postby baohiep » Fri 25/03/2011 7:13 pm

Cảm ơn bạn nghe!


Return to “[VB] Chuỗi và Thời gian”

Who is online

Users browsing this forum: No registered users and 0 guests