• 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
Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4764
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 518 time

Chỉ lấy path hay file name

Gửi bàigửi bởi truongphu » T.Ba 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

Mã: Chọn hết

  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
Sửa lần cuối bởi QuanGL vào ngày T.Ba 01/04/2008 12:52 pm với 1 lần sửa.
Lý do: Không ghi nội dung vào bên trong tag [end][/end]


o0o--truongphu--o0o

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

Hình đại diện của người dùng
anhtuyenbk
Guru
Guru
Bài viết: 1311
Ngày tham gia: T.Năm 22/09/2005 4:12 pm
Đến từ: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy
Been thanked: 38 time

Re: Chỉ lấy path hay file name

Gửi bàigửi bởi anhtuyenbk » T.Ba 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.

Mã: Chọn hết

  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
Sửa lần cuối bởi anhtuyenbk vào ngày T.Ba 01/04/2008 9:56 am với 1 lần sửa.
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ự
Bài viết: 109
Ngày tham gia: CN 27/12/2009 6:37 pm
Đến từ: Tam Kỳ
Has thanked: 3 time
Been thanked: 9 time

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

Gửi bàigửi bởi baohiep » T.Hai 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:

Hình đại diện của người dùng
VuVanHoanh
Thành viên danh dự
Thành viên danh dự
Bài viết: 1259
Ngày tham gia: T.Năm 03/06/2010 9:23 pm
Đến từ: Kim Sơn - Đông Triều - Quảng Ninh
Has thanked: 22 time
Been thanked: 138 time
Liên hệ:

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

Gửi bàigửi bởi VuVanHoanh » T.Hai 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ự
Bài viết: 109
Ngày tham gia: CN 27/12/2009 6:37 pm
Đến từ: Tam Kỳ
Has thanked: 3 time
Been thanked: 9 time

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

Gửi bàigửi bởi baohiep » T.Sáu 25/03/2011 7:13 pm

Cảm ơn bạn nghe!


Quay về “[VB] Chuỗi và Thời gian”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.0 khách