温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - Replace string into define variable in VB6
vb6

其他 - 将字符串替换为VB6中的define变量

发布于 2020-04-08 00:10:08

我有代码来替换预定变量的字符串,但是看来我的代码效率不高,因为如果要替换的字符串越多,替换函数就越多,该如何处理?

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

感谢帮助

查看更多

提问者
Abu Ayyub
被浏览
19
Abu Ayyub 2020-02-01 04:46

我回答我的问题

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

希望这对其他情况有帮助