c#中format函数功能之一的VB实现——参数替换rFormat()
来源:互联网 发布:返利和淘宝联盟哪个高 编辑:程序博客网 时间:2024/06/05 04:09
前几天参加C#培训,发现其中的FORMAT参数替换功能实在是实用,尤其是在写SQL语句的时候,比如一个SQL 语句
insert into (f1,f2,f3) values (v1,v2,v3)
如果要用VB来写,要加一串的 "" 和 & 连字符,实在是难写又难看。基本上只要参数一多,几乎100%要写错。如果用C#来写,就是这样
str sql="insert into (f1,f2,f3) values ('{0}','{1}','{2}')"
sql=sql.string.format(sql,v1,v2,v3)
语法写的可能不对,才培训几天,还没太熟悉C#的语法。这样写些来实在是方便,各个参数的位置一目了然。今天想了想 ,终于还是决定自己写一个VB的函数,花了一个多小时,终于搞定,加入了各种错误检查,应该是没什么问题了。
VB最多只能继行25行,所以就写这么多了,应该是够用了,实在不够用就去几个换行加参数就是了。
- Public Function rFormat(str As String, _
- ByVal v0 As Variant, _
- Optional ByVal v1 As Variant = "{E}", _
- Optional ByVal v2 As Variant = "{E}", _
- Optional ByVal v3 As Variant = "{E}", _
- Optional ByVal v4 As Variant = "{E}", _
- Optional ByVal v5 As Variant = "{E}", _
- Optional ByVal v6 As Variant = "{E}", _
- Optional ByVal v7 As Variant = "{E}", _
- Optional ByVal v8 As Variant = "{E}", _
- Optional ByVal v9 As Variant = "{E}", _
- Optional ByVal v10 As Variant = "{E}", _
- Optional ByVal v11 As Variant = "{E}", _
- Optional ByVal v12 As Variant = "{E}", _
- Optional ByVal v13 As Variant = "{E}", _
- Optional ByVal v14 As Variant = "{E}", _
- Optional ByVal v15 As Variant = "{E}", _
- Optional ByVal v16 As Variant = "{E}", _
- Optional ByVal v17 As Variant = "{E}", _
- Optional ByVal v18 As Variant = "{E}", _
- Optional ByVal v19 As Variant = "{E}", _
- Optional ByVal v20 As Variant = "{E}", _
- Optional ByVal v21 As Variant = "{E}", _
- Optional ByVal v22 As Variant = "{E}" _
- )
- Dim Ret, i As Integer, n As Integer, ocErr As Boolean
- Dim isLast As Boolean, ci As Integer, p1, plen
- ''检查参数
- isLast = False
- For i = 0 To 22
- p1 = InStr(str, "{" & i & "}")
- plen = Len("{" & i & "}")
- If p1 > 0 Then
- ci = Val(Mid(str, p1 + 1, plen - 2))
- If ci <> i Then
- Err.Raise 1, "rFormat", "提供的参数化字符串顺序不匹配!!"
- End If
- If isLast Then
- Err.Raise 2, "rFormat", "提供的参数化字符串可能有缺失!!"
- End If
- n = i + 1
- Else
- isLast = True
- End If
- Next
- i = 0
- Ret = str
- ocErr = False
- If i >= n And v0 <> "{E}" Then ocErr = True
- i = i + 1
- If i >= n And v1 <> "{E}" Then ocErr = True
- i = i + 1
- If i >= n And v2 <> "{E}" Then ocErr = True
- i = i + 1
- If i >= n And v3 <> "{E}" Then ocErr = True
- i = i + 1
- If i >= n And v4 <> "{E}" Then ocErr = True
- i = i + 1
- If ocErr Then
- Err.Raise 1, "rFormat", "提供参数的数量太多!"
- End If
- i = 0
- Ret = Replace(Ret, "{" & i & "}", v0 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v1 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v2 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v3 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v4 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v5 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v6 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v7 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v8 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v9 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v10 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v11 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v12 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v13 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v14 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v15 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v16 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v17 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v18 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v19 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v20 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v21 & ""): i = i + 1
- Ret = Replace(Ret, "{" & i & "}", v22 & ""): i = i + 1
- If InStr(Ret, "{E}") > 0 Then
- Err.Raise 1, "rFormat", "提供参数的数量太少!"
- End If
- rFormat = Ret
- End Function
- c#中format函数功能之一的VB实现——参数替换rFormat()
- 利用VB.NET Format函数实现四舍五入功能
- VB应用程序中实现查找和替换功能
- VB应用程序中实现“查找和替换”功能
- AS3 中字符串的format功能实现
- AS3 中字符串的format功能实现
- javascript 中实现 .net的format功能
- 替换js中函数的参数
- VB中Ping功能的实现
- C#中string.Format的格式参数问题
- C#中string.Format的格式参数问题
- VB中的mid函数的功能及参数
- Visual Studio 2010——C#中函数的参数
- VB格式输出函数Format的使用
- C#中实现VB.NET中IsNumeric函数!!
- 在VB中实现向函数传递不定个数参数
- 在VB中实现向函数传递不定个数参数
- C#中一个关于format函数问题的解决方法
- process-->thread-->coroutine
- 要想35岁以前成功 必备9大好习惯
- Vmware与主机间共享文件的七种方法(附图+详解)
- 10大最佳古怪网站
- 一本介绍JAVA基础不错的本
- c#中format函数功能之一的VB实现——参数替换rFormat()
- c语言的main的所有写法
- Draw an egg
- ALTERA ip核
- 《〈XNova/OGame〉源码笔记》(3-4)
- VS2005之virtual继承对象模型
- 30个经典源码网站
- 关于服务器存储方面的解释
- Killua 的Linux文章集合