为了保持这个简短,我正在制作一个简单的游戏,与世界上任何对它感兴趣的人一起玩,并且因为我正在创造所述游戏,我决定在一个简单的游戏发射器上工作一个ping网站一个版本,检查该版本与已安装游戏的存储文本文件,看看它是否有版本差异。如果它的版本不同,启动器会下载游戏。如果此人尚未安装游戏,则会为其下载游戏。
现在我的问题为什么我在这里发帖,我试图从AppData目录中获取已经存储在计算机上的文本文件,以便由启动器读取并将其用作与网站上版本的比较。这就是我在发布时所拥有的:
发布时:
Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim wc As New Net.WebClient
Text = wc.DownloadString("https://dl.dropboxusercontent.com/u/47132467/version.txt")
If My.Computer.FileSystem.FileExists("C:\Program Files\SC\SC.exe") Then
StartBtn.Enabled = True
StartBtn.Visible = True
Else
StartBtn.Enabled = False
StartBtn.Visible = False
End If
If My.Computer.FileSystem.FileExists("C:\Program Files\SC\Readme.txt") Then
ReadMeBtn.Visible = True
Else
ReadMeBtn.Visible = False
End If
End Sub
总之,我试图找出如何从Environ("AppData") & "\SC\version.txt"
下的AppData中存储的计算机本身创建一个文本文件。试图找出如何让程序读取本地存储的文本文件并将其放入作为变量,程序将其与在线文本文件进行比较。提前致谢!对不起,如果我混淆了任何人,我的大脑处于derp模式,试图解决这个问题一段时间了。
答案 0 :(得分:1)
以下是2个功能读取&写:
Public Function GetFileContents(ByVal FullPath As String, _
Optional ByRef ErrInfo As String = "") As String
Dim strContents As String
Dim objReader As StreamReader
Try
objReader = New StreamReader(FullPath)
strContents = objReader.ReadToEnd()
objReader.Close()
Return strContents
Catch Ex As Exception
ErrInfo = Ex.Message
End Try
End Function
Public Function SaveTextToFile(ByVal strData As String, _
ByVal FullPath As String, _
Optional ByVal ErrInfo As String = "") As Boolean
Dim Contents As String
Dim bAns As Boolean = False
Dim objReader As StreamWriter
Try
objReader = New StreamWriter(FullPath)
objReader.Write(strData)
objReader.Close()
bAns = True
Catch Ex As Exception
ErrInfo = Ex.Message
End Try
Return bAns
End Function
呼叫:
Dim File_Path as string = Environ("AppData") & "\SC\version.txt"
Dim versionStr as String = GetFileContents("File_Path")
Label1.text = versionStr
Label1.text.refresh ''// Sometimes this may be required depending on what you are doing!
答案 1 :(得分:0)
如果你想直接阅读版本而不是文本文件,请查看以下代码:
If My.Computer.FileSystem.FileExists(fn) Then
Dim fv As FileVersionInfo = FileVersionInfo.GetVersionInfo(fn)
If fv Is Nothing Then Return -1 'file has no version info
Return fv.FileMajorPart * 100000 + fv.FileMinorPart * 1000 + fv.FileBuildPart
Else
Return 0 'file does not exist
End If