Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vbscript 动态加载列表框会产生重复的条目_Vbscript_Hta - Fatal编程技术网

Vbscript 动态加载列表框会产生重复的条目

Vbscript 动态加载列表框会产生重复的条目,vbscript,hta,Vbscript,Hta,Onload,此HTA列出FolderX中包含的文件,并在列表框中显示它们的名称。当我选择一个文件时,第二个列表框应该列出文件记录(简单的文本项-例如itemA、itemB)。相反,它在第一组和第二组之间用空格列出两次记录。msgbox似乎显示我正在通过FLFLBox_onChange进行两次旅行。为什么会这样? 我不想取消选择该文件,因为它显示了我查看记录的文件(是的,我可以将其放入另一个框中,但这是问题所在)? 谢谢 <HTA:APPLICATION ID="Filelist

Onload,此HTA列出FolderX中包含的文件,并在列表框中显示它们的名称。当我选择一个文件时,第二个列表框应该列出文件记录(简单的文本项-例如itemA、itemB)。相反,它在第一组和第二组之间用空格列出两次记录。msgbox似乎显示我正在通过FLFLBox_onChange进行两次旅行。为什么会这样? 我不想取消选择该文件,因为它显示了我查看记录的文件(是的,我可以将其放入另一个框中,但这是问题所在)? 谢谢

    <HTA:APPLICATION ID="FilelistBuilder" BORDER="thin" BORDERSTYLE="complex" maximizeButton="yes" minimizeButton="yes" />

    <script language=vbscript>

    option explicit
    dim forReading, forWriting
    forReading = 1
    forWriting = 2
    dim strNewFile, objFSO, objFile, objFiles, strLine, objOption, oFile, colFiles, objFolder
    dim objShell, oExec, strWD,intFileCount
    dim strTargetFLFL
    strTargetFLFL = "C:\FolderX"

    Sub Window_Onload
    'Creates an on-the-fly listbox of files 
            Set objFSO = CreateObject("Scripting.FileSystemObject")
            Set objFolder = objFSO.getFolder(strTargetFLFL)
            set colFiles = objFolder.files
            intFileCount = 0
                    For Each oFile in colFiles
                        strLine = ofile.name
                    Set objOption = Document.createElement("OPTION")
                    objOption.Text = strLine
                    objOption.Value = strLine
                    FLFLBox.Add(objOption)
                    intFileCount = intFileCount +1
                Next

    End Sub


    Sub FLFLBox_onChange
    'Creates an on-the-fly list of file contents for selected file
        dim strTargetFL, strContents, arrContents, ContentRecord
        strTargetFL = strTargetFLFL & "\" & FLFLBox.value
        msgbox "File Name: " & strTargetFL 
            Set objFile = objFSO.OpenTextFile(strTargetFL,forReading)
            strContents = objFile.ReadAll
            arrContents = split(strContents,vbnewline)
            For Each ContentRecord in arrContents
            Set objOption = Document.createElement("OPTION")
            objOption.Text = ContentRecord
            objOption.Value = ContentRecord
                FLBox.Add(objOption)
            Next
    End Sub




    sub Close_onclick
    msgbox "The application will exit and any unsaved data will be lost"
    window.close
    end sub

    </script>

    </head>
    <body>
    <h1> ARPA </h1>

    <h2> File List Builder</h2>
    <BR>

    <input type="button" name=Close value="Close">
    <br>
    <p>
    </p>
    </div>

    <div id="Action style="position:absolute;top:10%;left:30%">
    </div>

    <div style="position:absolute;top:5%;left:60%">
    List of Files - Click to List Contents;
    </div>

    <div id="FileListFileList" style="position:absolute;top:10%;left:60%;right:100%">
    <select listbox name="FLFLBox" size="5" onChange="FLFLBox_OnChange">
    </select>
    </div>

    <div style="position:absolute;top:30%;left:60%">
    List File Contents
    </div>

    <div id="OneFileList" style="position:absolute;top:35%;left:60%;right:100%">
    <select listbox name="FLBox" size="10">
    </select>
    </div>

    <div id="FileEdit" style="position:absolute;left:60%">
    </div>

    </form>
    </body>
    </html>

选项显式
我喜欢读书,喜欢写作
forReading=1
forWriting=2
dim strNewFile、objFSO、objFile、objFiles、strLine、objOption、oFile、colFiles、objFolder
dim objShell、oExec、strWD、intFileCount
dim标准目标FLFLFL
strTargetFLFLFL=“C:\FolderX”
子窗口加载
'创建文件的动态列表框
设置objFSO=CreateObject(“Scripting.FileSystemObject”)
设置objFolder=objFSO.getFolder(strTargetFLFLFL)
设置colFiles=objFolder.files
intFileCount=0
对于colFiles中的每个文件
strLine=ofile.name
Set objOption=Document.createElement(“选项”)
objOption.Text=strLine
objOption.Value=strLine
flbox.Add(对象选项)
intFileCount=intFileCount+1
下一个
端接头
子接线盒更换
'为所选文件创建文件内容的动态列表
dim strTargetFL、strContents、arrContents、ContentRecord
strTargetFL=strTargetFLFL&“\”&FLFLBox.value
msgbox“文件名:”&strTargetFL
设置objFile=objFSO.OpenTextFile(strTargetFL,forReading)
strContents=objFile.ReadAll
arrContents=split(strContents,vbnewline)
对于arrContents中的每个ContentRecord
Set objOption=Document.createElement(“选项”)
objOption.Text=ContentRecord
objOption.Value=ContentRecord
FLBox.Add(对象选项)
下一个
端接头
次关闭按钮
msgbox“应用程序将退出,任何未保存的数据都将丢失”
窗户关上
端接头
阿帕
文件列表生成器


    <HTA:APPLICATION ID="FilelistBuilder" BORDER="thin" BORDERSTYLE="complex" maximizeButton="yes" minimizeButton="yes" />

    <script language=vbscript>

    option explicit
    dim forReading, forWriting
    forReading = 1
    forWriting = 2
    dim strNewFile, objFSO, objFile, objFiles, strLine, objOption, oFile, colFiles, objFolder
    dim objShell, oExec, strWD,intFileCount
    dim strTargetFLFL
    strTargetFLFL = "C:\FolderX"

    Sub Window_Onload
    'Creates an on-the-fly listbox of files 
            Set objFSO = CreateObject("Scripting.FileSystemObject")
            Set objFolder = objFSO.getFolder(strTargetFLFL)
            set colFiles = objFolder.files
            intFileCount = 0
                    For Each oFile in colFiles
                        strLine = ofile.name
                    Set objOption = Document.createElement("OPTION")
                    objOption.Text = strLine
                    objOption.Value = strLine
                    FLFLBox.Add(objOption)
                    intFileCount = intFileCount +1
                Next

    End Sub


    Sub FLFLBox_onChange
    'Creates an on-the-fly list of file contents for selected file
        dim strTargetFL, strContents, arrContents, ContentRecord
        strTargetFL = strTargetFLFL & "\" & FLFLBox.value
        msgbox "File Name: " & strTargetFL 
            Set objFile = objFSO.OpenTextFile(strTargetFL,forReading)
            strContents = objFile.ReadAll
            arrContents = split(strContents,vbnewline)
            For Each ContentRecord in arrContents
            Set objOption = Document.createElement("OPTION")
            objOption.Text = ContentRecord
            objOption.Value = ContentRecord
                FLBox.Add(objOption)
            Next
    End Sub




    sub Close_onclick
    msgbox "The application will exit and any unsaved data will be lost"
    window.close
    end sub

    </script>

    </head>
    <body>
    <h1> ARPA </h1>

    <h2> File List Builder</h2>
    <BR>

    <input type="button" name=Close value="Close">
    <br>
    <p>
    </p>
    </div>

    <div id="Action style="position:absolute;top:10%;left:30%">
    </div>

    <div style="position:absolute;top:5%;left:60%">
    List of Files - Click to List Contents;
    </div>

    <div id="FileListFileList" style="position:absolute;top:10%;left:60%;right:100%">
    <select listbox name="FLFLBox" size="5" onChange="FLFLBox_OnChange">
    </select>
    </div>

    <div style="position:absolute;top:30%;left:60%">
    List File Contents
    </div>

    <div id="OneFileList" style="position:absolute;top:35%;left:60%;right:100%">
    <select listbox name="FLBox" size="10">
    </select>
    </div>

    <div id="FileEdit" style="position:absolute;left:60%">
    </div>

    </form>
    </body>
    </html>

您不需要在select标记中使用
onChange=“flflflbox\u onChange”
,因为函数FLFLBox\u onChange运行时没有它,因为您为它指定了名称。将其置于select标记中会导致它运行两次

    <HTA:APPLICATION ID="FilelistBuilder" BORDER="thin" BORDERSTYLE="complex" maximizeButton="yes" minimizeButton="yes" />

    <script language=vbscript>

    option explicit
    dim forReading, forWriting
    forReading = 1
    forWriting = 2
    dim strNewFile, objFSO, objFile, objFiles, strLine, objOption, oFile, colFiles, objFolder
    dim objShell, oExec, strWD,intFileCount
    dim strTargetFLFL
    strTargetFLFL = "C:\FolderX"

    Sub Window_Onload
    'Creates an on-the-fly listbox of files 
            Set objFSO = CreateObject("Scripting.FileSystemObject")
            Set objFolder = objFSO.getFolder(strTargetFLFL)
            set colFiles = objFolder.files
            intFileCount = 0
                    For Each oFile in colFiles
                        strLine = ofile.name
                    Set objOption = Document.createElement("OPTION")
                    objOption.Text = strLine
                    objOption.Value = strLine
                    FLFLBox.Add(objOption)
                    intFileCount = intFileCount +1
                Next

    End Sub


    Sub FLFLBox_onChange
    'Creates an on-the-fly list of file contents for selected file
        dim strTargetFL, strContents, arrContents, ContentRecord
        strTargetFL = strTargetFLFL & "\" & FLFLBox.value
        msgbox "File Name: " & strTargetFL 
            Set objFile = objFSO.OpenTextFile(strTargetFL,forReading)
            strContents = objFile.ReadAll
            arrContents = split(strContents,vbnewline)
            For Each ContentRecord in arrContents
            Set objOption = Document.createElement("OPTION")
            objOption.Text = ContentRecord
            objOption.Value = ContentRecord
                FLBox.Add(objOption)
            Next
    End Sub




    sub Close_onclick
    msgbox "The application will exit and any unsaved data will be lost"
    window.close
    end sub

    </script>

    </head>
    <body>
    <h1> ARPA </h1>

    <h2> File List Builder</h2>
    <BR>

    <input type="button" name=Close value="Close">
    <br>
    <p>
    </p>
    </div>

    <div id="Action style="position:absolute;top:10%;left:30%">
    </div>

    <div style="position:absolute;top:5%;left:60%">
    List of Files - Click to List Contents;
    </div>

    <div id="FileListFileList" style="position:absolute;top:10%;left:60%;right:100%">
    <select listbox name="FLFLBox" size="5" onChange="FLFLBox_OnChange">
    </select>
    </div>

    <div style="position:absolute;top:30%;left:60%">
    List File Contents
    </div>

    <div id="OneFileList" style="position:absolute;top:35%;left:60%;right:100%">
    <select listbox name="FLBox" size="10">
    </select>
    </div>

    <div id="FileEdit" style="position:absolute;left:60%">
    </div>

    </form>
    </body>
    </html>
改变

    <HTA:APPLICATION ID="FilelistBuilder" BORDER="thin" BORDERSTYLE="complex" maximizeButton="yes" minimizeButton="yes" />

    <script language=vbscript>

    option explicit
    dim forReading, forWriting
    forReading = 1
    forWriting = 2
    dim strNewFile, objFSO, objFile, objFiles, strLine, objOption, oFile, colFiles, objFolder
    dim objShell, oExec, strWD,intFileCount
    dim strTargetFLFL
    strTargetFLFL = "C:\FolderX"

    Sub Window_Onload
    'Creates an on-the-fly listbox of files 
            Set objFSO = CreateObject("Scripting.FileSystemObject")
            Set objFolder = objFSO.getFolder(strTargetFLFL)
            set colFiles = objFolder.files
            intFileCount = 0
                    For Each oFile in colFiles
                        strLine = ofile.name
                    Set objOption = Document.createElement("OPTION")
                    objOption.Text = strLine
                    objOption.Value = strLine
                    FLFLBox.Add(objOption)
                    intFileCount = intFileCount +1
                Next

    End Sub


    Sub FLFLBox_onChange
    'Creates an on-the-fly list of file contents for selected file
        dim strTargetFL, strContents, arrContents, ContentRecord
        strTargetFL = strTargetFLFL & "\" & FLFLBox.value
        msgbox "File Name: " & strTargetFL 
            Set objFile = objFSO.OpenTextFile(strTargetFL,forReading)
            strContents = objFile.ReadAll
            arrContents = split(strContents,vbnewline)
            For Each ContentRecord in arrContents
            Set objOption = Document.createElement("OPTION")
            objOption.Text = ContentRecord
            objOption.Value = ContentRecord
                FLBox.Add(objOption)
            Next
    End Sub




    sub Close_onclick
    msgbox "The application will exit and any unsaved data will be lost"
    window.close
    end sub

    </script>

    </head>
    <body>
    <h1> ARPA </h1>

    <h2> File List Builder</h2>
    <BR>

    <input type="button" name=Close value="Close">
    <br>
    <p>
    </p>
    </div>

    <div id="Action style="position:absolute;top:10%;left:30%">
    </div>

    <div style="position:absolute;top:5%;left:60%">
    List of Files - Click to List Contents;
    </div>

    <div id="FileListFileList" style="position:absolute;top:10%;left:60%;right:100%">
    <select listbox name="FLFLBox" size="5" onChange="FLFLBox_OnChange">
    </select>
    </div>

    <div style="position:absolute;top:30%;left:60%">
    List File Contents
    </div>

    <div id="OneFileList" style="position:absolute;top:35%;left:60%;right:100%">
    <select listbox name="FLBox" size="10">
    </select>
    </div>

    <div id="FileEdit" style="position:absolute;left:60%">
    </div>

    </form>
    </body>
    </html>
<select listbox name="FLFLBox" size="5" onChange="FLFLBox_OnChange">

    <HTA:APPLICATION ID="FilelistBuilder" BORDER="thin" BORDERSTYLE="complex" maximizeButton="yes" minimizeButton="yes" />

    <script language=vbscript>

    option explicit
    dim forReading, forWriting
    forReading = 1
    forWriting = 2
    dim strNewFile, objFSO, objFile, objFiles, strLine, objOption, oFile, colFiles, objFolder
    dim objShell, oExec, strWD,intFileCount
    dim strTargetFLFL
    strTargetFLFL = "C:\FolderX"

    Sub Window_Onload
    'Creates an on-the-fly listbox of files 
            Set objFSO = CreateObject("Scripting.FileSystemObject")
            Set objFolder = objFSO.getFolder(strTargetFLFL)
            set colFiles = objFolder.files
            intFileCount = 0
                    For Each oFile in colFiles
                        strLine = ofile.name
                    Set objOption = Document.createElement("OPTION")
                    objOption.Text = strLine
                    objOption.Value = strLine
                    FLFLBox.Add(objOption)
                    intFileCount = intFileCount +1
                Next

    End Sub


    Sub FLFLBox_onChange
    'Creates an on-the-fly list of file contents for selected file
        dim strTargetFL, strContents, arrContents, ContentRecord
        strTargetFL = strTargetFLFL & "\" & FLFLBox.value
        msgbox "File Name: " & strTargetFL 
            Set objFile = objFSO.OpenTextFile(strTargetFL,forReading)
            strContents = objFile.ReadAll
            arrContents = split(strContents,vbnewline)
            For Each ContentRecord in arrContents
            Set objOption = Document.createElement("OPTION")
            objOption.Text = ContentRecord
            objOption.Value = ContentRecord
                FLBox.Add(objOption)
            Next
    End Sub




    sub Close_onclick
    msgbox "The application will exit and any unsaved data will be lost"
    window.close
    end sub

    </script>

    </head>
    <body>
    <h1> ARPA </h1>

    <h2> File List Builder</h2>
    <BR>

    <input type="button" name=Close value="Close">
    <br>
    <p>
    </p>
    </div>

    <div id="Action style="position:absolute;top:10%;left:30%">
    </div>

    <div style="position:absolute;top:5%;left:60%">
    List of Files - Click to List Contents;
    </div>

    <div id="FileListFileList" style="position:absolute;top:10%;left:60%;right:100%">
    <select listbox name="FLFLBox" size="5" onChange="FLFLBox_OnChange">
    </select>
    </div>

    <div style="position:absolute;top:30%;left:60%">
    List File Contents
    </div>

    <div id="OneFileList" style="position:absolute;top:35%;left:60%;right:100%">
    <select listbox name="FLBox" size="10">
    </select>
    </div>

    <div id="FileEdit" style="position:absolute;left:60%">
    </div>

    </form>
    </body>
    </html>