2012-11-16 20 views
0

我正在尋找在下面的程序結尾處生成的表格可以選擇將其保存到.txt文件中,以便它可以回溯到以後的日子,但我正在努力實現這一目標。將VisualBasic 2010中的表保存爲.txt文件

Module Module1 
    Dim kTick As Integer 
    Dim kName(64) As String 
    Dim kHours(64) As Integer 
    Dim kHoursPay(64) As Integer 
    Dim kGross(64) As Integer 
    Dim kTax As Integer = 20 
    Dim kNet(64) As Integer 
    Dim kTotal As Integer 
    Dim kAverage As Integer 
    Sub Main() 
     'Assigning kTick (Number of employee's) 
     Assign() 
     'Imputting the data 
     Entry() 
     'Calculating kGross, kTax, kNet and kTotal 
     Print() 
    End Sub 
    Sub Assign() 
     Console.ForegroundColor = ConsoleColor.Gray 
     Console.WriteLine("Please enter the total amount of employee's:") 
     Console.ForegroundColor = ConsoleColor.White 
     kTick = Console.ReadLine() 
     Console.Clear() 
    End Sub 
    Sub Entry() 
     For kCounter = 1 To kTick 
      Console.ForegroundColor = ConsoleColor.DarkGray 
      Console.WriteLine("Employee " & kCounter) 
      Console.ForegroundColor = ConsoleColor.Gray 
      Console.WriteLine("Please enter the employee name below:") 
      Console.ForegroundColor = ConsoleColor.White 
      kName(kCounter) = Console.ReadLine() 
      Do 
       Console.ForegroundColor = ConsoleColor.Gray 
       Console.WriteLine("Please enter the employees total hours worked below:") 
       Console.ForegroundColor = ConsoleColor.White 
       kHours(kCounter) = Console.ReadLine() 
      Loop Until kHours(kCounter) >= 0 And kHours(kCounter) <= 60 
      Do 
       Console.ForegroundColor = ConsoleColor.Gray 
       Console.WriteLine("Please enter the employees Hourly Pay below:") 
       Console.ForegroundColor = ConsoleColor.White 
       kHoursPay(kCounter) = Console.ReadLine() 
      Loop Until kHoursPay(kCounter) >= 6 And kHoursPay(kCounter) <= 250 
      Console.Clear() 
     Next 
    End Sub 
    Sub Print() 
     For kCounter = 1 To kTick 
      kGross(kCounter) = kHours(kCounter) * kHoursPay(kCounter) 
     Next 
     For kCounter = 1 To kTick 
      kNet(kCounter) = (kGross(kCounter)/10) * 8 
     Next 
     For kCounter = 1 To kTick 
      kTotal = kTotal + kHours(kCounter) 
     Next 
     kAverage = kTotal/kTick 
     Console.ForegroundColor = ConsoleColor.Gray 
     Console.WriteLine("Name" & vbTab & "Hours" & vbTab & "Hourly Rate" & vbTab & "Gross Pay" & vbTab & "Tax" & vbTab & "Net Pay") 
     Console.ForegroundColor = ConsoleColor.White 
     For kCounter = 1 To kTick 
      Console.WriteLine(kName(kCounter) & vbTab & kHours(kCounter) & vbTab & "£" & kHoursPay(kCounter) & vbTab & vbTab & "£" & kGross(kCounter) & vbTab & vbTab & kTax & "%" & vbTab & "£" & kNet(kCounter)) 
     Next 
     Console.ForegroundColor = ConsoleColor.Gray 
     Console.WriteLine("Total hours worked: " & kTotal) 
     Console.WriteLine("Total average hours worked: " & kAverage) 
     Console.WriteLine("Total number of employees: " & kTick) 
     Console.ReadLine() 
     Save() 
    End Sub 
    Sub Save() 

    End Sub 
End Module 

我想要保存子程序中的代碼任何幫助將不勝感激!

感謝凱

回答

0

您正在尋找StreamWriter類。它有WriteWriteLine方法可以幫助你。它的工作方式與您正在使用的Console.WriteLine相同。

1

一注意:你不應該從PrintSave,因爲兩者都是天生不相關的。因此,您可能希望在不保存的情況下進行打印,或者不進行打印保存至控制檯

一個簡單的方法是使用File類,例如通過使用File.WriteAllText(path)File.WriteAllLines(path)。因此,您需要在某處存儲要輸出的文本(到控制檯和文件)。例如在List(Of String)變量中。

相關問題