如何在循环中求和值

时间:2013-04-02 13:00:54

标签: loops vbscript

如何对现有vbs循环中的值求和? 我想创建一个求和(加法)值len(sLine)的函数 并输出一行oOutStream.WriteLine mySum

我不知道1)如何编写函数代码和2)是否将其嵌套在现有循环中或创建新循环。

Function MyOp()
Dim nLine, sLine, nCount

nCount = 1
Do Until oInStream.AtEndOfStream
nLine = oInStream.Line
sLine = oInStream.ReadLine

nCount = nCount +1
oOutStream.WriteLine "<p id='" & Pad(nLine, 2, 0) & "'>" & sLine & "</p>"

Loop
MyOp = nCount

End Function

1 个答案:

答案 0 :(得分:0)

如果我做对了那么......

Function MyOp()
    Dim nLine, sLine, nCount, nLen

    nCount = 1
    Do Until oInStream.AtEndOfStream
        nLine = oInStream.Line
        sLine = oInStream.ReadLine
        nLen  = nLen + Len(sLine)

        nCount = nCount +1
        oOutStream.WriteLine "<p id='" & Pad(nLine, 2, 0) & "'>" & sLine & "</p>"
    Loop
    oOutStream.WriteLine nLen
    MyOp = nCount
End Function

但是您可以使用File.Size属性获得相同的结果,而无需计算。

Set fso = CreateObject("Scripting.FileSystemObject")
fLen    = fso.GetFile("file.ext").Size

PS 自我修正:ReadLine删除尾随的换行符(Chr(13)&amp; Chr(10)),因此你得到{{1}的总和}将小于Len(string)属性。

至于函数,我用文本文件测试它,并且不知道如何在没有保存文件的情况下获得Size对象形式的EditPlus。你怎么做,如果不是秘密?