[原创]VB程序 - 处理字符和文件名称的代码模块
来源:互联网 发布:阿里云自动化测试 编辑:程序博客网 时间:2024/05/16 05:12
'*************************************************************************
'名称:GetRowNum()
'说明:获取指定字符串中内容有多少列
'调用格式:GetRowNum("Source String"[,"Mark char"])
'参数: SStr - 源字串
' [MarkS] - 字符型,可选,默认为",",长度不可超过1字符
'返回值类型:整型
'返回值:字串被某一分隔符分隔成的列数
'-------------------------------------------------------------------------
'程序:任晓垒 日期:05/09/2005
'*************************************************************************
Function GetRowNum(ByVal SStr As String, Optional MarkS As String = ",") As Integer
Dim I, N As Integer
For I = 1 To Len(SStr)
If Mid(SStr, I, 1) = MarkS Then N = N + 1
Next I
GetRowNum = N + 1
End Function
'*************************************************************************
'名称:GetRowValue()
'说明:获取指定列中字符内容的函数
'调用格式:GetRowValue("Source String",RowNumber [,"Mark char"])
'参数: SStr - 字符型,源字串
' LocalNum - 数值型,被选取的列数
' [MarkS] - 字符型,可选,默认为",",长度不可超过1字符
'返回值类型:字符串型
'返回值:源字串中指定列的字符内容,处于分隔符之间部分,不包括分隔符
' 任何原因导致的失败都会返回空串
'-------------------------------------------------------------------------
'程序:任晓垒 日期:04/27/2005
'*************************************************************************
Function GetRowValue(ByVal SStr As String, ByVal LocalNum As Integer, Optional MarkS As String = ",") As String
'只允许用一个字符做为分隔符
If Len(MarkS) > 1 Then
GetRowValue = vbNullString
Exit Function
End If
'检查列位置会不会超出字符串末尾
If LocalNum > GetRowNum(SStr, MarkS) Then
GetRowValue = vbNullString
Exit Function
End If
'定位起始点
Dim Ts As String
Dim N, Begin, EndMove As Integer
N = LocalNum: Begin = 1
While N > 1
Ts = Mid(SStr, Begin, 1)
If Ts = MarkS Then N = N - 1
Begin = Begin + 1
Wend
'定位结束点
Dim I As Integer
Ts = ""
Do While Ts <> MarkS
Ts = Mid(SStr, Begin + I, 1)
I = I + 1
If Begin + I > Len(SStr) Then Exit Do
Loop
If LocalNum = GetRowNum(SStr, MarkS) Then
EndMove = I '取最末列
Else
EndMove = I - 1 '取中间列,回滚1个字符
End If
'分隔符之间没有内容
If EndMove = 0 Then
GetRowValue = vbNullString
Exit Function
End If
'函数返回值
GetRowValue = Mid(SStr, Begin, EndMove)
End Function
'***************************************************************************************
'名称:RowReplaceEx()
'说明:替换一字串中指定某一列的内容
'调用格式:RowReplace("Source String",RowNumber,"Source String" [,"Mark char"])
'参数: SStr - 字符型,源字串
' LocalNum - 数值型,被选取的列数
' RStr - 字符型,替换字串
' [MarkS] - 字符型,可选,默认为",",长度不可超过1字符'
'返回值:修改过后的字串
'返回值类型:字符型
'---------------------------------------------------------------------------------------
'
'***************************************************************************************
Public Function RowReplaceEx(ByVal SStr As String, ByVal LocalNum As Integer, ByVal RStr As String, Optional MarkS As String = ",") As String
Dim ReplStr, Ts As String
Dim L, C As Integer
ReplStr = GetRowValue(SStr, LocalNum)
C = Len(ReplStr)
'检索长度变化(不足原长度补以对应数量空格)
If C > Len(RStr) Then RStr = RStr & Space(C - Len(RStr))
'All same string will be replaced
RowReplaceEx = Replace(SStr, ReplStr, RStr)
End Function
'***************************************************************************************
'名称:RowReplace()
'说明:替换一字串中指定某一列的内容
'调用格式:RowReplace("Source String",RowNumber,"Source String" [,"Mark char"])
'参数: SStr - 字符型,源字串
' LocalNum - 数值型,被选取的列数
' RStr - 字符型,替换字串
' [MarkS] - 字符型,可选,默认为",",长度不可超过1字符'
'返回值:修改过后的字串
'返回值类型:字符型
'---------------------------------------------------------------------------------------
'
'***************************************************************************************
Public Function RowReplace(ByVal SStr As String, ByVal LocalNum As Integer, ByVal RStr As String, Optional MarkS As String = ",") As String
Dim ReplStr, Ts As String
Dim L, C As Integer
ReplStr = GetRowValue(SStr, LocalNum)
C = Len(ReplStr)
'检索长度变化(不足原长度补以对应数量空格)
If C > Len(RStr) Then RStr = RStr & Space(C - Len(RStr))
Dim S, f As Integer
S = InStr(1, SStr, ReplStr) - 1
f = S + Len(ReplStr) + 1
'替换串
RowReplace = Mid(SStr, 1, S) & RStr & Mid(SStr, f, Len(SStr))
End Function
'文件,文件名,扩展名,及文件路径 函数功能索引
'************************************************************************
'例如路径文名为:“C:/full/path/Filename.ext”
'
'GetFileName() 取得 文件名 返回 Filename.ext
'GetPath() 取得 文件路径 返回 C:/full/path
'NameOfFile() 取得 文件名称部分 返回 filename
'ExtOfFile() 取得 文件扩展名部分 返回 ext
'************************************************************************
'-------------------------------------------------------
'功能:返回一个完整路径中的文件名部分。
'名称:GetFileName()
'参数:一个完整的全路径
'类型:字符型
'返回值类型:字符型
'-------------------------------------------------------
'程序:任晓垒 日期:2005-7-8 修改:-
'-------------------------------------------------------
Public Function GetFileName(ByVal FullPath As String) As String
If FullPath = "" Then GetFileName = "": Exit Function
Dim N As Integer
N = GetRowNum(FullPath, "/")
GetFileName = GetRowValue(FullPath, N, "/")
End Function
'-------------------------------------------------------
'功能:返回一个完整路径中的路径部分。
'名称:GetPath()
'参数:一个完整的全路径
'类型:字符型
'返回值类型:字符型
'-------------------------------------------------------
'程序:任晓垒 日期:2005-7-8 修改:-
'-------------------------------------------------------
Public Function GetPath(ByVal FullPath As String) As String
If FullPath = "" Then GetPath = "": Exit Function
Dim FN As String
Dim Sit1 As Integer
FN = GetFileName(FullPath)
Sit1 = InStr(1, FullPath, FN)
GetPath = Mid(FullPath, 1, Sit1 - 2)
End Function
'--------------------------------------------------------------------
'功能:返回一个完整“文件名+扩展名”中的文件名部分。
'名称:NameOfFile()
'参数:一个字符型完整的全路径
'类型:字符型
'返回值类型:字符型
'--------------------------------------------------------------------
'程序:任晓垒 日期:2005-7-8 修改:-
'--------------------------------------------------------------------
Public Function NameOfFile(ByVal FullPath As String) As String
If FullPath = "" Then NameOfFile = "": Exit Function
Dim FN As String
Dim Sit1 As Integer
FN = GetFileName(FullPath)
Sit1 = InStr(1, FN, ".")
If Sit1 = 0 Then
NameOfFile = FN
Else
NameOfFile = Mid(FN, 1, Sit1 - 1)
End If
End Function
'--------------------------------------------------------------------
'功能:返回一个完整“文件名+扩展名”中的扩展名部分。
'名称:ExtOfFile()
'参数:一个字符型完整的全路径
'类型:字符型
'返回值类型:字符型
'--------------------------------------------------------------------
'程序:任晓垒 日期:2005-7-8 修改:-
'--------------------------------------------------------------------
Public Function ExtOfFile(ByVal FullPath As String) As String
If FullPath = "" Then ExtOfFile = "": Exit Function
Dim FN As String
Dim Sit1 As Integer
FN = GetFileName(FullPath)
Sit1 = InStr(1, FN, ".")
If Sit1 = 0 Then
ExtOfFile = ""
Else
ExtOfFile = Mid(FN, Sit1 + 1, Len(FN))
End If
End Function
- [原创]VB程序 - 处理字符和文件名称的代码模块
- 处理生成文件名称时含有的特殊字符
- 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。
- 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。
- [原创]VB的注册表处理函数
- VB程序的代码调试及错误处理
- [原创]TEA算法的VB实现代码
- 记一次VB Windows程序的启动和退出处理
- VB 枚举窗口和关闭程序窗口的代码
- 【python图像处理】python的图像处理模块Image【原创】
- VB 系统托盘模块 代码
- VB代码 VB小程序
- 怎么自定义MFC程序的保存文件名称?
- HTTP 处理程序和 HTTP 模块概述
- 一个在DOS下处理中文和长名字目录和文件的程序(原创)
- 使用vb.net 获取文件夹下选中文件的文件名称
- 华为2015机试--记录出错的代码所在的文件名称和行号
- vb连接sql模块代码
- .net操作xml
- Mysql受权问题
- 关于考研
- ASP.NET2005新变革:My的使用——读章立民新书有感
- 随遇而安,知足而追求理想
- [原创]VB程序 - 处理字符和文件名称的代码模块
- WEB"超频"年代
- 《.NET框架程序设计》第一章 Microsoft .NET框架开发平台体系结构
- 《.NET框架程序设计》第四章 类型基础
- 《.NET框架程序设计》第五章 基元类型、引用类型与值类型
- 徐小平:不做人生规划,你离挨饿只有三天
- 《.NET框架程序设计》第六章 通用对象操作
- 《.NET框架程序设计》第七章 类型成员及其访问限定
- 《.NET框架程序设计》第八章 常数与字段