将字符串替换为VB6中的定义变量

问题描述 投票:0回答:1

我具有替换预定变量的字符串的代码,但是似乎我的代码效率不高,因为如果要替换的字符串越多,替换功能越多,该如何处理?

Dim appName As String
Dim appVer As String
Dim desc As String
appName = "MyProject"
appVer = App.Major & "." & App.Minor & "." & App.Revision
desc = "{appName} {appVer} is free program"
desc = Replace(desc, "{appName}", appName)
desc = Replace(desc, "{appVer}", appVer)
Label1.Caption = desc

感谢您的帮助

vb6
1个回答
0
投票

我回答了我的问题

Public Function ReplaceString(sString As String) As String
Const Tag1 = "{"
Const Tag2 = "}"
Dim sItem() As String, i As Long

sString = Replace(sString, "\n", vbNewLine) 'Replace new line

sItem = Split(sString, Tag1)
For i = 1 To UBound(sItem)
   sItem(i - 1) = Split(sItem(i), Tag2, 2)(0)
Next

ReDim Preserve sItem(UBound(sItem) - 1)
   For i = 0 To UBound(sItem)
      sString = Replace(sString, "{" & sItem(i) & "}", CallByName(Me, sItem(i), VbGet))
   Next
ReplaceString = sString
End Function

希望这会在相同情况下对其他人有帮助

© www.soinside.com 2019 - 2024. All rights reserved.