2016-05-17 4 views
0

こんにちは、私はコンピュータサイエンスには比較的新しいですし、なぜ私のコードが動作していないのだろうかと思っていました。私の先生は私に名刺をデザインしてバイナリファイルに保存するように言いましたが、ファイルをチェックして保存してもそこには何もありません。バイナリファイルを保存する

Imports System.IO 

Module Module1 

    Dim firstname As String 
    Dim secondname As String 
    Dim address As String 
    Dim postcode As String 
    Dim telephone As String 
    Dim email As String 
    Structure Details 
     Dim firstname As String 
     Dim secondname As String 
     Dim address As String 
     Dim postcode As String 
     Dim telephone As String 
     Dim email As String 
    End Structure 
    Sub Main() 
     Console.WriteLine("Do you want to (l)oad, or (c)hose?") 
     Dim decision As String = Console.ReadLine.ToUpper 
     If decision = "L" Then 
      load() 
      Main() 
     End If 
     If decision = "C" Then 
      chose() 
      Console.WriteLine("Saving") 
      save() 
      Main() 
     End If 
     Console.Read() 
    End Sub 
    Private Sub load() 
     Console.WriteLine("File name?") 
     Dim filename As String = Console.ReadLine + ".txt" 
     If (File.Exists(filename)) Then 
      Dim det As Details = New Details() 
      FileOpen(1, filename, OpenMode.Binary) 
      FileGet(1, det) 
      FileClose() 
      firstname = det.firstname 
      secondname = det.secondname 
      address = det.address 
      postcode = det.postcode 
      telephone = det.telephone 
      email = det.email 
      Console.WriteLine("Firstname =" & firstname) 
      Console.WriteLine("secondname =" & secondname) 
      Console.WriteLine("address =" & address) 
      Console.WriteLine("postcode =" & postcode) 
      Console.WriteLine("telephone =" & telephone) 
      Console.WriteLine("email =" & email) 
     End If 
    End Sub 
    Private Sub save() 
     Console.WriteLine("Enter a name for your file") 
     Dim filename As String = Console.ReadLine() + ".txt" 
     Dim det As Details = New Details() 
     det.firstname = firstname 
     det.secondname = secondname 
     det.address = address 
     det.postcode = postcode 
     det.telephone = telephone 
     det.email = email 

     FileOpen(1, filename, OpenMode.Binary) 
     FilePut(1, det) 
     FileClose() 
    End Sub 
    Private Sub chose() 
     Console.WriteLine() 
     Console.WriteLine("Enter your first name") 
     Dim firstname As String = Console.ReadLine 
     Console.WriteLine("Enter your second name") 
     Dim secondname As String = Console.ReadLine 
     Console.WriteLine("Enter your adress ") 
     Dim address As String = Console.ReadLine 
     Console.WriteLine("Enter your postcode") 
     Dim postcode As String = Console.ReadLine 
     Console.WriteLine("Enter your telephone") 
     Dim telephone As String = Console.ReadLine 
     Console.WriteLine("Enter your email") 
     Dim email As String = Console.ReadLine 
    End Sub 
End Module 
+0

は間違いないVBA、私にはVB6またはvb.netのように見える - あなたはタグを編集し、別の観客をしようとする場合があります:) – Dave

+0

うん、それはVB.Netです。あなたはVB.NetタグでVB.Netの魚をもっと買うでしょう。 :) http://checktechno.blogspot.com/2013/04/difference-between-vbnet-and-vba.html – Tim

+0

実際にVB.NETを使用していて、VB6などの古いものではない場合は、.NETクラスファイルを作成する方法について説明します。また、_ "binary file" _を定義してください。多くの種類のバイナリファイルがあります。 –

答えて

1

あなたはまだそれらをディメンションしていないグローバルファーストネーム、secondnameなどの変数を宣言した:私は、ファイルを読み込むときには何も、誰もが

コードを助けることができれば私は思っていた出力されません再びchose Subに入っていれば、それらは異なるローカル変数になります。

それは次のようになります。

Private Sub chose() 
     Console.WriteLine() 
     Console.WriteLine("Enter your first name") 
     firstname = Console.ReadLine 
     Console.WriteLine("Enter your second name") 
     secondname = Console.ReadLine 
     Console.WriteLine("Enter your adress ") 
     address = Console.ReadLine 
     Console.WriteLine("Enter your postcode") 
     postcode = Console.ReadLine 
     Console.WriteLine("Enter your telephone") 
     telephone = Console.ReadLine 
     Console.WriteLine("Enter your email") 
     email = Console.ReadLine 
    End Sub 
+0

ありがとうございます! –

関連する問題