1

私は仕事で遊ぶチャット HTA ファイルに取り組んでいます...

:)

それはかなりうまくいきますが、誰かが各人のテキストを異なる色に着色するように頼んだのですか?

私はそれを取得しようとしてきましたが、問題が発生しました。可能であれば誰かが私を助けてくれますか?

以下は、私が行ったことの基本的なコードです\

各行を配列に入れるところまで行きましたが、各行に色を割り当てるにはうまくいきません...

また

テキスト ファイルを使用せずにウィンドウに「チャット」を表示できない場合は、そのほうがよいでしょう (不要なテキスト ファイルを削除するためのクリーンアップを節約できます..)

また、コーディングを改善する方法を教えてください...私はこれを長い間行っていません...(数か月)

乾杯パブレ。

' HTA チャット

<HTA:APPLICATION 

     SCROLL="auto"
     SINGLEINSTANCE="yes"
     WINDOWSTATE="normal"
>
</head>

<SCRIPT Language="VBScript">

Sub Window_OnLoad
 Window.ResizeTo 400,300
   iTimerID = window.setInterval("Display", 100)
End Sub

    strPath = "C:\Users\Pavle\Desktop\"
    Set wshShell = CreateObject( "WScript.Shell" )
    strSender = wshShell.ExpandEnvironmentStrings( "%USERNAME%" )


Sub Display
    Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objFile = objFSO.OpenTextFile(StrPath & "Chat.txt", 1)

Do Until objFile.AtEndOfStream
    strCharacters = objFile.ReadAll
Loop

 objFile.Close


     DisplayBox.Value = strCharacters

        DisplayBox.ScrollTop = DisplayBox.ScrollHeight


 ' This splits each line.
' sArray = Split(DisplayBox.Value, vbcrlf)

End Sub

Sub InputBox

With document.parentWindow.event
 If .keycode = 13 then
    Const NORMAL_WINDOW = 1

    Const ForAppending = 8

    Set objFSO = CreateObject("Scripting.FileSystemObject")
     Set objTextFile = objFSO.OpenTextFile(StrPath & "Chat.txt", ForAppending, True)
      objTextFile.WriteLine strSender & ":" & Input.Value
       objTextFile.Close


    Input.Value = ""
Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{BACKSPACE}"


Else
   .cancelbubble = false
     .returnvalue = true
 End If

End With

End Sub


</SCRIPT>
<body>

<textarea name="DisplayBox" rows="6" cols="40"></textarea>
<BR>
<BR>
<BR>
<textarea name="Input" rows="3" onKeydown=InputBox cols="40"></textarea>
</body>
</html>`
4

1 に答える 1

1

タスクのガイドラインを次に示します。

最初textareaはHTMLが持てないので、リッチテキストのパッドとして使えません。この目的には、<pre>またはむしろが必要です。<div>例えば:

<div name="DisplayBox" class="textpad" contenteditable="true"></div>

次に、ファイルの読み取り中に行の書式タグを追加します。このようなもの:

Dim n
n = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(StrPath & "Chat.txt", 1)
Do Until objFile.AtEndOfStream
    n = n * (-1)
    strCharacters = strCharacters & "<p class='line" & n & "'>" & objFile.ReadLine() & "</p>"
Loop
objFile.Close
DisplayBox.innerHTML = strCharacters

<p>することもできます<div>。次に、いくつかのクラスを含むスタイルシートが必要です。

.line1 {
    color: red;
}
.line-1 {
    color: blue;
}
.textpad {
    position: relative;
    width: 400px;
    height: 200px;
    border: 2px inset;
    overflow-y: scroll;
}

これで、 に赤と青の線ができました#DisplayBoxdiv好きなようにスタイリングしてください。

(ところで、これは私の初めての VBScript でした...)

于 2013-01-11T17:34:14.453 に答える