Imports System.Windows.Forms Imports System.Text Imports DevExpress.XtraReports.UI Public Class frmPrintOptions Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click Me.DialogResult = System.Windows.Forms.DialogResult.Cancel Me.Close() End Sub Private Sub frmPrintNVE_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown If e.KeyCode = Keys.F1 Then Prepare_Print() End If End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Prepare_Print() End Sub Sub Prepare_Print() Try Dim SQL = "SELECT * FROM TBKOMMCOLLI_SENDUNGEN where GUID = " & CURRENT_SENDUNG Dim DTSENDUNG As DataTable = ClassDatabase.Return_Datatable(SQL) If DTSENDUNG.Rows.Count = 1 Then SQL = "SELECT * FROM TBKOMMCOLLI_SDGPOSITIONEN where SENDUNGNR = " & CURRENT_SENDUNG Dim DTPOS As DataTable = ClassDatabase.Return_Datatable(SQL) If DTPOS.Rows.Count > 0 Then For Each row As DataRow In DTPOS.Rows Dim NAME1 = DTSENDUNG.Rows(0).Item("NAME1").ToString.Trim Dim STRASSE = DTSENDUNG.Rows(0).Item("STRASSE").ToString.Trim Dim PLZ = DTSENDUNG.Rows(0).Item("PLZ").ToString.Trim Dim LKZ = DTSENDUNG.Rows(0).Item("LKZ").ToString.Trim Dim ORT = DTSENDUNG.Rows(0).Item("ORT").ToString.Trim Dim NVE = row.Item("NVE") If IsDBNull(NVE) Then MsgBox("Es wurden noch keine NVE's erzeugt. Schliessen Sie die Sendung ab!") Dim result As MsgBoxResult = MsgBox("Wollen Sie ein Beispieletikett drucken?", MsgBoxStyle.YesNo, "Bitte bestätigen") ' wenn das Profil gelöscht werden soll If result = MsgBoxResult.Yes Then PrintViaIP(CURR_IP_PRINTER, NAME1, STRASSE, PLZ, LKZ, ORT, "123456789101112", 1) End If Else PrintViaIP(CURR_IP_PRINTER, NAME1, STRASSE, PLZ, LKZ, ORT, NVE, Me.txtAnzahl.Text) End If Next End If Else MsgBox("Achtung: mehr als eine Sendung für ID: " & CURRENT_SENDUNG, MsgBoxStyle.Critical) End If Catch ex As Exception MsgBox("Unbehandelte Ausnahme in Prepare Print: " & ex.Message, MsgBoxStyle.Critical) End Try End Sub Sub PrintViaIP(IP As String, empname As String, empStrasse As String, empPLZ As String, empLKZ As String, empOrt As String, _NVE As String, Optional Anz As Integer = 1) Try Dim ipAddress As String = IP Dim port As Integer = 9100 Dim pText As New StringBuilder pText.AppendLine("^XA") 'Every Format must start with this command pText.AppendLine("^CI28") 'Barcode pText.AppendLine("^BY4^FO650,50^BCR,160,N,N,N,A^FD00" & _NVE & "^FS") pText.AppendLine("^CFA,30^FWr^FO620,60^FDNVE 00" & _NVE & "^FS") pText.AppendLine("^AU^FO750,700^FDS.T.a.R.^FS") pText.AppendLine("^CF0,22^FWr^FO720,700^FDSYSTEM-TRANSPORT auf RÄDERN^FS") pText.AppendLine("^AQ^FO680,700^FD35 - Giessen^FS") pText.AppendLine("^AQ^FO650,700^FDHellmold & Plank^FS") pText.AppendLine("^AQ^FO560,50^FDS.T.a.R. GmbH, Werner von Siemens-Str. 1, 34576 Homberg-Efze Telefon: 05681/988823^FS") pText.AppendLine("^AQ^FO480,50^FDHinweise:^FS") pText.AppendLine("^AQ^FO430,50^CI27^FDFixtermin! Nicht früher oder später - ^FS") pText.AppendLine("^FO540,50^GB1,1050,3^FS") 'Breite Linie pText.AppendLine("^FO50,600^GB490,1,3^FS") 'Senkrechte Linie pText.AppendLine("^AR^FO510,610^FDVersender:^FS") pText.AppendLine("^AR^FO510,780^FDReinhard Schaum^FS") pText.AppendLine("^AR^FO460,780^FDRheinstrasse 8^FS") pText.AppendLine("^AR^FO420,780^CI27^^FDDE - 35625 Hüttenberg^FS") pText.AppendLine("^FO405,600^GB1,500,3^FS") pText.AppendLine("^AT^^FO360,610^CI27^^FDAnzahl Packstücke:^FS") pText.AppendLine("^AT^^FO360,950^FD99^FS") 'Anzahl Packstücke Linie pText.AppendLine("^FO330,600^GB1,500,3^FS") pText.AppendLine("^AT^FO290,610^CI27^^FDEmpfänger:^FS") pText.AppendLine("^AU^FO230,610^CI27^^FD" & empname & "^FS") pText.AppendLine("^AU^FO150,610^CI27^^FD" & empStrasse & "^FS") pText.AppendLine("^AU^FO80,610^CI27^^FDDE-" & empPLZ & " " & empOrt & "^FS") pText.AppendLine("^XZ") 'Every Format must end with this command Try 'Open Connection Dim client As New System.Net.Sockets.TcpClient client.Connect(ipAddress, port) For i = 1 To Anz 'Write ZPL String to Connection Dim writer As New System.IO.StreamWriter(client.GetStream()) writer.Write(pText) writer.Flush() 'Close Connection writer.Close() client.Close() Next Catch ex As Exception 'Catch Exception Here End Try RawPrinter.SendToPrinter("NVE-Etikett", pText.ToString, IP) Catch ex As Exception End Try End Sub Private Sub frmPrintOptions_Load(sender As Object, e As EventArgs) Handles MyBase.Load 'TODO: Diese Codezeile lädt Daten in die Tabelle "MyDataset.VWHUP_REPORT1". Sie können sie bei Bedarf verschieben oder entfernen. End Sub Private Sub btnUebernahme_Click(sender As Object, e As EventArgs) Handles btnUebernahme.Click Try Me.VWHUP_REPORT1TableAdapter.Connection.ConnectionString = My.Settings.ConfigConnectionString Me.VWHUP_REPORT1TableAdapter.Fill(Me.MyDataset.VWHUP_REPORT1, True) Catch ex As System.Exception System.Windows.Forms.MessageBox.Show(ex.Message) End Try Dim report As New reportUebergabe() report.CreateDocument(False) DocumentViewerEx1.Source = report End Sub End Class