如何通过作为其他程序输入的vb.net程序(自动)创建文件?

时间:2013-09-27 20:56:12

标签: vb.net vb.net-2010 qbasic

我有一个程序,它使用一些用户输入来自动创建上传过程所需的文件。这些文件是.bas(qbasic程序)和.lot(voxco自动机文件)。文件创建完美,语法完美无瑕。当我尝试运行启动基本程序和批处理文件的批处理文件时,它会崩溃。程序(voxco和basic)似乎不知道如何读取文件。我不知所措。我不认为这是编码。我认为我的VB.net程序正在创建一个带有“.lot”和“.bas”扩展名的文本文件,而另外两个程序不知道如何处理它。但我不知道如何创建正确的文件,而不是命名.lot和.bas。有人有这方面的经验吗?

以下是创建.LOT文件的一些代码:

'Create a copy of the old lot file
        My.Computer.FileSystem.CopyFile(LotFilePath & OldStudy & ".LOT", LotFilePath & "BackEnd\" & OldStudy & ".LOT")
        System.IO.File.Create(LotFilePath & "BackEnd\" & StudyID & ".LOT").Dispose()



        Dim LotText As String
        LotText = Text to put into LOT file
        Dim QuLines As String = Nothing
        Dim Reader As New StreamReader(LotFilePath & OldStudy & ".LOT")
        Dim SLine As String = Nothing
        While Not Reader.EndOfStream
            SLine = Reader.ReadLine()
            If SLine.StartsWith("*QU") Then
                QuLines = QuLines & SLine & vbCrLf
            End If
        End While
        LotText = LotText & QuLines

        Dim TempPath As String
        TempPath = LotFilePath & "BackEnd\" & StudyID & ".LOT"
        My.Computer.FileSystem.WriteAllText(TempPath, LotText, 0)

这是创建BAS文件的代码:

Dim BasText As String = Nothing
        BasText = Text to input into BAS file
        TempPath = BasFilePath & StudyID & ".BAS"
        My.Computer.FileSystem.WriteAllText(TempPath, BasText, 0)

1 个答案:

答案 0 :(得分:2)

以下是一些尝试:

  1. 确保Basic程序在每行末尾都有vbCrLf。
  2. qBasic是否需要行号? (我不记得了)
  3. 尝试进入qBasic并手动加载应用程序生成的基本文件。你有正确的上市吗?当你尝试执行它时会发生什么?
  4. 在qBasic中输入基本程序的前几行,然后保存。使用十六进制编辑器(例如hexedit)将此文件与应用程序生成的基本文件进行比较。如果存在差异,您可以修复它。
  5. 如果基本文件手动运行,则问题可能出在批处理文件中。您是否可以手动创建基本文件和voxco文件并让它们与批处理文件一起使用?