[VB.NET] Druckproblem

Hi at all,

mit folgendem Code Drucke ich etwas über den Printdialog aus, soweit funktioniert jetzt alles. Mein Problem besteht darin das ich das Programm so schreiben möchte das es aus einer externen Datei den Inhalt auslese ( Zeile für Zeile ) und für jede Zeile ein Druckauftrag generiert wird( die Variablen WarenNRvar, APKNRvar, LokationNRvar sollen aus dem Inhalt der externen Datei bestehen ). Das Auslesen der Datei ist kein Problem aber wie kann ich es umsetzen das daraus immer ein Druckauftrag generiert wird ? ... Habt Ihr eventuell Ideen, Denkanstösse oder Sonstiges ?

Code:
Public Class Form1

    Private WithEvents docToPrint As New Printing.PrintDocument
    Private Ausrichtung As Boolean

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        PrintDialog1.AllowSomePages = True

        Dim Anzahl As Integer

        For Anzahl = 1 To 2
            'Dim result As DialogResult = PrintDialog1.ShowDialog()

            'If (result = Windows.Forms.DialogResult.OK) Then
            Ausrichtung = PrintDialog1.PrinterSettings.DefaultPageSettings.Landscape
            docToPrint.Print()
            'End If
        Next
    End Sub

    Private Sub docToPrint_QueryPageSettings(ByVal sender As Object, ByVal e As System.Drawing.Printing.QueryPageSettingsEventArgs) Handles docToPrint.QueryPageSettings
        e.PageSettings.Landscape = True
    End Sub

    Public Sub document_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) _
           Handles docToPrint.PrintPage

        ' Inhalt

        ' definierte Felder
        Dim WarenNR As String = "Warennummer: "
        Dim APKNR As String = "APK: "
        Dim LokationNR As String = "Lokation: "

        ' variable Felder
        Dim WarenNRvar As String = "125896-00001"      
        Dim APKNRvar As String = "12"
        Dim LokationNRvar As String = "12588 13"

        Dim printFont As New System.Drawing.Font("Arial", 20, System.Drawing.FontStyle.Regular)
        Dim printFontBold As New System.Drawing.Font("Arial", 26, System.Drawing.FontStyle.Bold)
        Dim printFontBold2 As New System.Drawing.Font("Arial", 36, System.Drawing.FontStyle.Bold)

        Dim printFontBoldLok As New System.Drawing.Font("Arial", 75, System.Drawing.FontStyle.Bold)

        ' Zeichnen des Rahmens
        ' Links
        e.Graphics.DrawLine(Pens.Black, 10, 10, 10, 770)
        ' Rechts
        e.Graphics.DrawLine(Pens.Black, 1120, 10, 1120, 770)
        ' Unten
        e.Graphics.DrawLine(Pens.Black, 10, 770, 1120, 770)
        ' Oben
        e.Graphics.DrawLine(Pens.Black, 10, 10, 1120, 10)

        ' Trennlinien
        e.Graphics.DrawLine(Pens.Black, 10, 130, 1120, 130)
        e.Graphics.DrawLine(Pens.Black, 10, 600, 1120, 600)

        ' Ausgabe des Strings.
        e.Graphics.DrawString(WarenNR, printFontBold, System.Drawing.Brushes.Black, 50, 50)
        e.Graphics.DrawString(APKNR, printFontBold, System.Drawing.Brushes.Black, 800, 50)
        e.Graphics.DrawString(LokationNR, printFontBold2, System.Drawing.Brushes.Black, 50, 650)

        ' Ausgabe des variablen Strings.
        e.Graphics.DrawString(WarenNRvar, printFontBold, System.Drawing.Brushes.Black, 400, 50)
        e.Graphics.DrawString(APKNRvar, printFontBold, System.Drawing.Brushes.Black, 900, 50)
        e.Graphics.DrawString(LokationNRvar, printFontBoldLok, System.Drawing.Brushes.Black, 330, 600)
    End Sub

    Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click
        Close()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        PrintPreviewDialog1.Document = docToPrint

        PrintPreviewDialog1.ShowDialog()
    End Sub
End Class

mfg Marc
 
Zurück