2017-04-18 1 views
-2

Also ich bin ein Programm in Visual Basic Codierung, die den Benutzer zur Eingabe von Buchdetails (ISBN-Nummer, Autor ........) und druckt dann die Details in eine Datei. Ich habe den folgenden Code, der das Formular und alle Eingabefelder anzeigt, aber ich bin ratlos, wo ich den Code zum Drucken in eine Datei platzieren muss.Drucken in eine Datei in einer Windows-Formularanwendung --- Visual Basic

Der Code in die Datei zu drucken, ist als

FileOpen(1, "C:\test\testbook.txt", OpenMode.Append) 
PrintLine(1, ISBN & " " & Author & " " & Title & " " & PageCount) 
FileClose() 

folgt versuchte ich es in der Unter für das Formular platzieren, aber das hat nicht funktioniert. Meine Frage ist, wo muss ich diesen Code in Ordnung bringen für ihn in eine Datei

Voll Code zu drucken:

Public Class createBookform 
    Public ISBN, Author, Title As String 
    Public PageCount As Integer 

    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
     FileOpen(1, "C:\test\testbook.txt", OpenMode.Append) 
     PrintLine(1, ISBN & " " & Author & " " & Title & " " & PageCount) 
     FileClose() 
    End Sub 

    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged 
     ISBN = TextBox1.Text 
    End Sub 

    Private Sub TextBox3_TextChanged(sender As Object, e As EventArgs) Handles TextBox3.TextChanged 
     Author = TextBox3.Text 
    End Sub 

    Private Sub TextBox4_TextChanged(sender As Object, e As EventArgs) Handles TextBox4.TextChanged 
     Title = TextBox4.Text 
    End Sub 

    Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged 
     PageCount = TextBox2.Text 
    End Sub 

    Private Sub OKbUTTON_Click(sender As Object, e As EventArgs) Handles OKbUTTON.Click 
     MessageBox.Show("New book entered successfully", "Book confirmation") 
     Close() 
    End Sub 
End Class 

windows form that opens when code is executed

+0

"Drucken in Datei" ist traditionell, wenn Sie ein Dokument ausdrucken und das Häkchen "Zu Datei" setzen, um eine 'prn' Datei für den Spooler zu erstellen. Was Sie versuchen, ist "in Datei speichern". Fragen Sie sich, wann das passieren soll. Sie versuchen es gerade, bevor das Formular angezeigt wird. – GSerg

Antwort

1

Es sei denn, wenn ich etwas fehle, tun Sie einfach zu tun:

Public Class createBookform 
    Public ISBN, Author, Title As String 
    Public PageCount As Integer 

    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged 
     ISBN = TextBox1.Text 
    End Sub 

    Private Sub TextBox3_TextChanged(sender As Object, e As EventArgs) Handles TextBox3.TextChanged 
     Author = TextBox3.Text 
    End Sub 

    Private Sub TextBox4_TextChanged(sender As Object, e As EventArgs) Handles TextBox4.TextChanged 
     Title = TextBox4.Text 
    End Sub 

    Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged 
     PageCount = TextBox2.Text 
    End Sub 

    Private Sub OKbUTTON_Click(sender As Object, e As EventArgs) Handles OKbUTTON.Click 
     FileOpen(1, "C:\test\testbook.txt", OpenMode.Append) 
     PrintLine(1, ISBN & " " & Author & " " & Title & " " & PageCount) 
     FileClose() 
     MessageBox.Show("New book entered successfully", "Book confirmation") 
     Close() 
    End Sub 
End Class 

?

Normalerweise würden Sie nicht mit den Variablen oder die TextChanged Ereignisse überhaupt die Mühe, und Sie würden diese nur verwenden:

Public Class createBookform  
    Private Sub OKbUTTON_Click(sender As Object, e As EventArgs) Handles OKbUTTON.Click 
     FileOpen(1, "C:\test\testbook.txt", OpenMode.Append) 
     PrintLine(1, TextBox1.Text & " " & TextBox3.Text & " " & TextBox4.Text & " " & TextBox2.Text) 
     FileClose() 
     MessageBox.Show("New book entered successfully", "Book confirmation") 
     Close() 
    End Sub 
End Class 

Und es klarer zu machen, würden Sie Ihren Textfelder etwas umbenennen, das macht Sinn (z. B. txbISBN für die ISBN-Textfeld).

+0

Und sie brauchen auch keine 'TextChanged' Handler. – GSerg

+0

@GSerg wahr! Ergänzt den OP um ein bisschen mehr. – Sturgus

+0

danke mann das ist was ich brauchte –