我正在开发一个项目,我在Visual Basic中完成了一个简单的传送带程序。我在网站上有一个按钮,当按下时,通过简单的PHP服务器程序将“1”写入文本文件。 VB输送机系统监控文本文件,如果输出值为“1”,则输送机停止。然后我在VB程序上有一个复位按钮,按下时应该在文本文件中写一个“0”并允许传送带重新启动。我能够让VB程序监视文本文件,并且它可以正常工作,但我无法通过重置按钮将“0”写入文本文件。
读取文件的代码是:
Dim remoteStatus As New WebClient()
Dim data = remoteStatus.DownloadString("http://www.users.wfleitz.com/fleitzwc/example.txt")
Console.WriteLine(data)
Console.Read()
Dim remoteEnable As Boolean
If data.Trim = "0" Then
remoteEnable = True
ElseIf data.Trim = "1" Then
remoteEnable = False
Else
remoteEnable = False
End If
我一直试图用来写入文本文件的代码是:
Private Sub PushButton1_Load(sender As Object, e As EventArgs) Handles PushButton1.Click
Dim resetEvent As New WebClient()
Dim textAddress As String = "http://www.users.miamioh.edu/fleitzwc/example.txt"
Dim resetCommand As String = "0"
Dim resetArray As Byte() = Encoding.ASCII.GetBytes(resetCommand)
Dim resetStream As Stream = resetEvent.OpenWrite(textAddress, resetCommand)
resetStream.Write(resetArray, 0, resetArray.Length)
resetStream.Close()
End Sub
我正在考虑的另一件事是,不是让VB程序写入文本文件,让它与包含网站代码的PHP文件对话,并让它发送“0”值。我不知道那是否更清洁。
如果有人能指出我正确的方向,我们将不胜感激。
提前谢谢你, Wfleitz
答案 0 :(得分:0)
在你的情况下我会做的就是使用PHP,就像你说的那样。
<?php
/*
Upload this to http://www.users.miamioh.edu/fleitzwc/script.php or something like that.
Do either
http://www.users.miamioh.edu/fleitzwc/script.php?bar=get or
http://www.users.miamioh.edu/fleitzwc/script.php?bar=reset
*/
$foo = $_GET['bar'];
if ($foo=="get"){
echo file_get_contents("example.txt");
}
if ($foo=="reset"){
file_put_contents("example.txt","0");
}
这对你正在做的事情应该很好。这有些不完整,但因为我没有完全关注问题的细节,但我认为你可以修改它以满足你的需求。如果没有,我可以更新它。