Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.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
Vb.net 从文本文件中获取变量,然后设置新变量_Vb.net_Visual Studio - Fatal编程技术网

Vb.net 从文本文件中获取变量,然后设置新变量

Vb.net 从文本文件中获取变量,然后设置新变量,vb.net,visual-studio,Vb.net,Visual Studio,我正在为工作中的计算机创建一个代码。我必须做一个“安装”程序。我不知道如何正确地做,但我找到了一种方法 当我在另一台计算机上“安装”程序时,我有我的U盘,并将其复制到计算机的本地磁盘上 现在我第一次在他们的电脑上启动这个程序,这个代码正在运行 然后我在这里得到了一个错误,因为程序还没有被预言: Dim LMaterialCertificaat为String=System.IO.File.ReadAllText(程序和“Materialen&Certificaten.txt”) 因为当form2_

我正在为工作中的计算机创建一个代码。我必须做一个“安装”程序。我不知道如何正确地做,但我找到了一种方法

当我在另一台计算机上“安装”程序时,我有我的U盘,并将其复制到计算机的本地磁盘上

现在我第一次在他们的电脑上启动这个程序,这个代码正在运行

然后我在这里得到了一个错误,因为程序还没有被预言:

Dim LMaterialCertificaat为String=System.IO.File.ReadAllText(程序和“Materialen&Certificaten.txt”)

因为当form2_加载时,我会这样做,然后我就不想预测那个字符串了

Public Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim Locatie_05Kuipers As String
        If System.IO.File.ReadAllText(Pathfile) = "" Then
            'If System.IO.File.ReadAllText("C:\testing1\testing2\testing7\testing1\testing1\text.txt") = "" Then

            Locatie_05Kuipers = InputBox("Vul hier de Locatie waar je start bestanden moeten staan. Bijvoorbeeld: K:\Inventor\Instalprogram\ ")

            If System.IO.File.Exists(Pathfile) Then
                System.IO.File.Delete(Pathfile)
            End If

            Dim objStreamWriter As StreamWriter
            objStreamWriter = New StreamWriter(Pathfile)
            objStreamWriter.WriteLine(Locatie_05Kuipers & "\03 - Locaties")
            objStreamWriter.Close()

            ButtonInstal.Visible = True
            Exit Sub
        Else
        End If

因此,我需要如何或在何处放置字符串?

您可以在设置中保存路径,每次需要时,您都可以创建文件并将数据放入其中

例如:


您是否尝试过在调试器中单步执行?第一个代码块显示正在定义的
程序。在
Dim Program=System.IO.File.ReadAllText(PathFile)
行之后,
Program
包含什么?如果这些文件位于可执行文件的同一位置,请使用
Application.StartupPath
获取该位置<代码>bin\Debug
与项目的文件夹结构相关。这个路径在代码中的任何地方都不会被显式使用、引用或以其他方式提及,永远:那个路径不存在。使用,例如,
dim filePath=Path.Combine(Application.StartupPath,“Bibliotheek.txt”)
--
程序
(坏名称)变量中的路径错误--如果在
程序文件
中安装程序,您可能没有写入权限。我的意思是,当Form2_加载时,我会看到textfile
“Bestanden\Locatie.txt”
是否包含某些内容。如果没有,那么我需要在文本文件中放置一个位置,如
“C:\Installation map”
。但是这里出现了错误,因为我在其中没有位置,所以另一个
System.IO.File.ReadAllText
还没有正确的路径。
Public Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim Locatie_05Kuipers As String
        If System.IO.File.ReadAllText(Pathfile) = "" Then
            'If System.IO.File.ReadAllText("C:\testing1\testing2\testing7\testing1\testing1\text.txt") = "" Then

            Locatie_05Kuipers = InputBox("Vul hier de Locatie waar je start bestanden moeten staan. Bijvoorbeeld: K:\Inventor\Instalprogram\ ")

            If System.IO.File.Exists(Pathfile) Then
                System.IO.File.Delete(Pathfile)
            End If

            Dim objStreamWriter As StreamWriter
            objStreamWriter = New StreamWriter(Pathfile)
            objStreamWriter.WriteLine(Locatie_05Kuipers & "\03 - Locaties")
            objStreamWriter.Close()

            ButtonInstal.Visible = True
            Exit Sub
        Else
        End If
    Dim pathString As String = My.Settings.filePath
    Dim fullPath = Path.Combine(pathString, "Locatie.txt")
    If Not Directory.Exists(pathString) Then
        Directory.CreateDirectory(pathString)
        File.Create(fullPath)
    Else
        If Not File.Exists(pathString) Then
            File.Create(fullPath)
        Else
            Console.WriteLine($"File {fullPath}already exists.")
        End If
    End If