This commit is contained in:
2023-02-28 15:00:45 +01:00
parent cdb39565b4
commit 6cc214083d
7 changed files with 1244 additions and 0 deletions

146
SDL/Classes/cRKSV_POS.vb Normal file
View File

@@ -0,0 +1,146 @@

Imports System.Data.SqlClient
Imports System.Reflection
Public Class cRKSV_POS
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Property pos_Id As Integer
Property pos_aktiv As Object = Nothing
Property pos_kasse As Object = Nothing
Property pos_kassennr As Object = Nothing
Property pos_com As Object = Nothing
Property pos_baudrate As Object = Nothing
Property pos_comspeed As Object = Nothing
Property pos_comstop As Object = Nothing
Property pos_ip As Object = Nothing
Property pos_port As Object = Nothing
Property pos_typ As Object = Nothing
Property pos_lizenz As Object = Nothing
Property pos_kassendruck As Object = Nothing
Property pos_demoausdruck As Object = Nothing
Property pos_demodummyausdruck As Object = Nothing
Property pos_pin As Object = Nothing
Property pos_händerbeleg_drucken As Object = Nothing
Property pos_storno As Object = Nothing
Property pos_wartezeit As Object = Nothing
Public hasEntry = False
Public Sub New(pos_Id)
Me.pos_Id = pos_Id
LOAD()
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_Id", pos_Id,, True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_aktiv", pos_aktiv))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_kasse", pos_kasse))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_kassennr", pos_kassennr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_com", pos_com))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_baudrate", pos_baudrate))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_comspeed", pos_comspeed))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_comstop", pos_comstop))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_ip", pos_ip))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_port", pos_port))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_typ", pos_typ))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_lizenz", pos_lizenz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_kassendruck", pos_kassendruck))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_demoausdruck", pos_demoausdruck))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_demodummyausdruck", pos_demodummyausdruck))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_apos_pinktiv", pos_pin))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_händerbeleg_drucken", pos_händerbeleg_drucken))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_storno", pos_storno))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("pos_wartezeit", pos_wartezeit))
Return list
End Function
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblRKSV_POS WHERE pos_Id=@pos_Id) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblRKSV_POS WHERE pos_Id=@pos_Id ", conn)
cmd.Parameters.AddWithValue("@pos_Id", pos_Id)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(li.Text))
End If
Next
hasEntry = True
End If
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Function getUpdateCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblRKSV_POS] SET " & str & " WHERE pos_Id=@pos_Id ")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblRKSV_POS (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
End Class

View File

@@ -512,6 +512,7 @@
<Compile Include="Classes\cGenWord.vb" />
<Compile Include="Classes\cRKSV.vb" />
<Compile Include="Classes\cRKSV_Kasse.vb" />
<Compile Include="Classes\cRKSV_POS.vb" />
<Compile Include="Classes\cSDL.vb" />
<Compile Include="Classes\cSDLAbholung.vb" />
<Compile Include="Classes\cGeschaeftsjahr.vb" />
@@ -578,6 +579,12 @@
<Compile Include="frmEssensbestellungen.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="kassenbuch\POSTerminal.Designer.vb">
<DependentUpon>POSTerminal.vb</DependentUpon>
</Compile>
<Compile Include="kassenbuch\POSTerminal.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="kunden\frmKundenBesonderheiten_Add.Designer.vb">
<DependentUpon>frmKundenBesonderheiten_Add.vb</DependentUpon>
</Compile>
@@ -2835,6 +2842,9 @@
<EmbeddedResource Include="frmEssensbestellungen.resx">
<DependentUpon>frmEssensbestellungen.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="kassenbuch\POSTerminal.resx">
<DependentUpon>POSTerminal.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="kunden\frmKundenBesonderheiten_Add.resx">
<DependentUpon>frmKundenBesonderheiten_Add.vb</DependentUpon>
</EmbeddedResource>

582
SDL/kassenbuch/POSTerminal.Designer.vb generated Normal file
View File

@@ -0,0 +1,582 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class POSTerminal
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.CheckBoxDummy = New System.Windows.Forms.CheckBox()
Me.CheckBoxAutodruck = New System.Windows.Forms.CheckBox()
Me.Label15 = New System.Windows.Forms.Label()
Me.comboInstalledPrinters = New System.Windows.Forms.ComboBox()
Me.Label12 = New System.Windows.Forms.Label()
Me.TextBox_BelegNr = New System.Windows.Forms.TextBox()
Me.Label14 = New System.Windows.Forms.Label()
Me.StornoBelegNr = New System.Windows.Forms.TextBox()
Me.TextBox_Aktiv = New System.Windows.Forms.TextBox()
Me.Label13 = New System.Windows.Forms.Label()
Me.ComboBox_Typ = New System.Windows.Forms.ComboBox()
Me.Button_Haendlerbeleg_drucken = New System.Windows.Forms.Button()
Me.TextBox_Kassenbon = New System.Windows.Forms.TextBox()
Me.Button_Kundenbeleg_drucken = New System.Windows.Forms.Button()
Me.Button_Gutschrift = New System.Windows.Forms.Button()
Me.Button_Storno = New System.Windows.Forms.Button()
Me.Button_Tagesabschluss = New System.Windows.Forms.Button()
Me.Button_Diagnose = New System.Windows.Forms.Button()
Me.Button_Exit = New System.Windows.Forms.Button()
Me.CheckBox_Kassedruck = New System.Windows.Forms.CheckBox()
Me.Label11 = New System.Windows.Forms.Label()
Me.TextBox_Drucktext2 = New System.Windows.Forms.TextBox()
Me.Label10 = New System.Windows.Forms.Label()
Me.TextBox_Drucktext = New System.Windows.Forms.TextBox()
Me.TextBox_ErgebnisText = New System.Windows.Forms.TextBox()
Me.TextBox_Ergebnis = New System.Windows.Forms.TextBox()
Me.Label9 = New System.Windows.Forms.Label()
Me.Button_Autorisierung = New System.Windows.Forms.Button()
Me.TextBox_Betrag = New System.Windows.Forms.TextBox()
Me.Label8 = New System.Windows.Forms.Label()
Me.TextBox_Lizenz = New System.Windows.Forms.TextBox()
Me.Label7 = New System.Windows.Forms.Label()
Me.ComboBox_ComStop = New System.Windows.Forms.ComboBox()
Me.Label6 = New System.Windows.Forms.Label()
Me.ComboBox_ComSpeed = New System.Windows.Forms.ComboBox()
Me.Label5 = New System.Windows.Forms.Label()
Me.TextBox_Port = New System.Windows.Forms.TextBox()
Me.Label4 = New System.Windows.Forms.Label()
Me.Label3 = New System.Windows.Forms.Label()
Me.TextBox_IP = New System.Windows.Forms.TextBox()
Me.Label2 = New System.Windows.Forms.Label()
Me.ComboBox_COM = New System.Windows.Forms.ComboBox()
Me.TextBox_KasseNr = New System.Windows.Forms.TextBox()
Me.Label1 = New System.Windows.Forms.Label()
Me.lblKasse = New System.Windows.Forms.Label()
Me.SuspendLayout()
'
'CheckBoxDummy
'
Me.CheckBoxDummy.AutoSize = True
Me.CheckBoxDummy.Location = New System.Drawing.Point(669, 26)
Me.CheckBoxDummy.Name = "CheckBoxDummy"
Me.CheckBoxDummy.Size = New System.Drawing.Size(128, 17)
Me.CheckBoxDummy.TabIndex = 90
Me.CheckBoxDummy.Text = "Dummy-Kopf drucken"
Me.CheckBoxDummy.UseVisualStyleBackColor = True
'
'CheckBoxAutodruck
'
Me.CheckBoxAutodruck.AutoSize = True
Me.CheckBoxAutodruck.Location = New System.Drawing.Point(582, 27)
Me.CheckBoxAutodruck.Name = "CheckBoxAutodruck"
Me.CheckBoxAutodruck.Size = New System.Drawing.Size(75, 17)
Me.CheckBoxAutodruck.TabIndex = 89
Me.CheckBoxAutodruck.Text = "Autodruck"
Me.CheckBoxAutodruck.UseVisualStyleBackColor = True
'
'Label15
'
Me.Label15.AutoSize = True
Me.Label15.Location = New System.Drawing.Point(246, 27)
Me.Label15.Name = "Label15"
Me.Label15.Size = New System.Drawing.Size(45, 13)
Me.Label15.TabIndex = 88
Me.Label15.Text = "Drucker"
'
'comboInstalledPrinters
'
Me.comboInstalledPrinters.FormattingEnabled = True
Me.comboInstalledPrinters.Location = New System.Drawing.Point(312, 24)
Me.comboInstalledPrinters.Name = "comboInstalledPrinters"
Me.comboInstalledPrinters.Size = New System.Drawing.Size(229, 21)
Me.comboInstalledPrinters.TabIndex = 87
'
'Label12
'
Me.Label12.AutoSize = True
Me.Label12.Location = New System.Drawing.Point(11, 226)
Me.Label12.Name = "Label12"
Me.Label12.Size = New System.Drawing.Size(45, 13)
Me.Label12.TabIndex = 86
Me.Label12.Text = "BelegNr"
'
'TextBox_BelegNr
'
Me.TextBox_BelegNr.Location = New System.Drawing.Point(108, 223)
Me.TextBox_BelegNr.Name = "TextBox_BelegNr"
Me.TextBox_BelegNr.ReadOnly = True
Me.TextBox_BelegNr.Size = New System.Drawing.Size(44, 20)
Me.TextBox_BelegNr.TabIndex = 85
'
'Label14
'
Me.Label14.AutoSize = True
Me.Label14.Location = New System.Drawing.Point(587, 251)
Me.Label14.Name = "Label14"
Me.Label14.Size = New System.Drawing.Size(76, 13)
Me.Label14.TabIndex = 84
Me.Label14.Text = "StornoBelegNr"
'
'StornoBelegNr
'
Me.StornoBelegNr.Location = New System.Drawing.Point(669, 248)
Me.StornoBelegNr.Name = "StornoBelegNr"
Me.StornoBelegNr.Size = New System.Drawing.Size(78, 20)
Me.StornoBelegNr.TabIndex = 83
'
'TextBox_Aktiv
'
Me.TextBox_Aktiv.BackColor = System.Drawing.Color.Gray
Me.TextBox_Aktiv.Location = New System.Drawing.Point(14, 517)
Me.TextBox_Aktiv.Name = "TextBox_Aktiv"
Me.TextBox_Aktiv.Size = New System.Drawing.Size(123, 20)
Me.TextBox_Aktiv.TabIndex = 82
'
'Label13
'
Me.Label13.AutoSize = True
Me.Label13.Location = New System.Drawing.Point(320, 121)
Me.Label13.Name = "Label13"
Me.Label13.Size = New System.Drawing.Size(25, 13)
Me.Label13.TabIndex = 81
Me.Label13.Text = "Typ"
'
'ComboBox_Typ
'
Me.ComboBox_Typ.FormattingEnabled = True
Me.ComboBox_Typ.Items.AddRange(New Object() {"0: ZVT Standard", "1: ICP mit Shutter", "2: ICT 220 alt", "3: ICP Zelos", "4: Clover", "5: CCV Base seriell", "10: SIX", "11: OPI", "12: myPOS", "13: TIM-Server"})
Me.ComboBox_Typ.Location = New System.Drawing.Point(386, 117)
Me.ComboBox_Typ.MaxDropDownItems = 12
Me.ComboBox_Typ.Name = "ComboBox_Typ"
Me.ComboBox_Typ.Size = New System.Drawing.Size(154, 21)
Me.ComboBox_Typ.TabIndex = 80
Me.ComboBox_Typ.Text = "0: ZVT Standard"
'
'Button_Haendlerbeleg_drucken
'
Me.Button_Haendlerbeleg_drucken.Location = New System.Drawing.Point(314, 488)
Me.Button_Haendlerbeleg_drucken.Name = "Button_Haendlerbeleg_drucken"
Me.Button_Haendlerbeleg_drucken.Size = New System.Drawing.Size(122, 23)
Me.Button_Haendlerbeleg_drucken.TabIndex = 79
Me.Button_Haendlerbeleg_drucken.Text = "Drucken"
Me.Button_Haendlerbeleg_drucken.UseVisualStyleBackColor = True
'
'TextBox_Kassenbon
'
Me.TextBox_Kassenbon.Font = New System.Drawing.Font("Consolas", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.TextBox_Kassenbon.Location = New System.Drawing.Point(581, 57)
Me.TextBox_Kassenbon.Multiline = True
Me.TextBox_Kassenbon.Name = "TextBox_Kassenbon"
Me.TextBox_Kassenbon.ReadOnly = True
Me.TextBox_Kassenbon.Size = New System.Drawing.Size(221, 76)
Me.TextBox_Kassenbon.TabIndex = 78
Me.TextBox_Kassenbon.Text = "Kassenbon"
'
'Button_Kundenbeleg_drucken
'
Me.Button_Kundenbeleg_drucken.Location = New System.Drawing.Point(15, 488)
Me.Button_Kundenbeleg_drucken.Name = "Button_Kundenbeleg_drucken"
Me.Button_Kundenbeleg_drucken.Size = New System.Drawing.Size(122, 23)
Me.Button_Kundenbeleg_drucken.TabIndex = 77
Me.Button_Kundenbeleg_drucken.Text = "Drucken"
Me.Button_Kundenbeleg_drucken.UseVisualStyleBackColor = True
'
'Button_Gutschrift
'
Me.Button_Gutschrift.Location = New System.Drawing.Point(586, 327)
Me.Button_Gutschrift.Name = "Button_Gutschrift"
Me.Button_Gutschrift.Size = New System.Drawing.Size(163, 29)
Me.Button_Gutschrift.TabIndex = 76
Me.Button_Gutschrift.Text = "4 = Gutschrift"
Me.Button_Gutschrift.UseVisualStyleBackColor = True
'
'Button_Storno
'
Me.Button_Storno.Location = New System.Drawing.Point(586, 274)
Me.Button_Storno.Name = "Button_Storno"
Me.Button_Storno.Size = New System.Drawing.Size(163, 34)
Me.Button_Storno.TabIndex = 75
Me.Button_Storno.Text = "3 = Storno"
Me.Button_Storno.UseVisualStyleBackColor = True
'
'Button_Tagesabschluss
'
Me.Button_Tagesabschluss.Location = New System.Drawing.Point(585, 200)
Me.Button_Tagesabschluss.Name = "Button_Tagesabschluss"
Me.Button_Tagesabschluss.Size = New System.Drawing.Size(163, 34)
Me.Button_Tagesabschluss.TabIndex = 74
Me.Button_Tagesabschluss.Text = "2 = Tagesabschluss"
Me.Button_Tagesabschluss.UseVisualStyleBackColor = True
'
'Button_Diagnose
'
Me.Button_Diagnose.Location = New System.Drawing.Point(585, 150)
Me.Button_Diagnose.Name = "Button_Diagnose"
Me.Button_Diagnose.Size = New System.Drawing.Size(164, 33)
Me.Button_Diagnose.TabIndex = 73
Me.Button_Diagnose.Text = "1 = Diagnose"
Me.Button_Diagnose.UseVisualStyleBackColor = True
'
'Button_Exit
'
Me.Button_Exit.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.Button_Exit.Location = New System.Drawing.Point(585, 488)
Me.Button_Exit.Name = "Button_Exit"
Me.Button_Exit.Size = New System.Drawing.Size(162, 23)
Me.Button_Exit.TabIndex = 72
Me.Button_Exit.Text = "Programmende"
Me.Button_Exit.UseVisualStyleBackColor = True
'
'CheckBox_Kassedruck
'
Me.CheckBox_Kassedruck.AutoSize = True
Me.CheckBox_Kassedruck.Location = New System.Drawing.Point(386, 88)
Me.CheckBox_Kassedruck.Name = "CheckBox_Kassedruck"
Me.CheckBox_Kassedruck.Size = New System.Drawing.Size(82, 17)
Me.CheckBox_Kassedruck.TabIndex = 71
Me.CheckBox_Kassedruck.Text = "Kassedruck"
Me.CheckBox_Kassedruck.UseVisualStyleBackColor = True
'
'Label11
'
Me.Label11.AutoSize = True
Me.Label11.Location = New System.Drawing.Point(311, 248)
Me.Label11.Name = "Label11"
Me.Label11.Size = New System.Drawing.Size(131, 13)
Me.Label11.TabIndex = 70
Me.Label11.Text = "Drucktext2 (Händlerbeleg)"
'
'TextBox_Drucktext2
'
Me.TextBox_Drucktext2.Location = New System.Drawing.Point(314, 274)
Me.TextBox_Drucktext2.Multiline = True
Me.TextBox_Drucktext2.Name = "TextBox_Drucktext2"
Me.TextBox_Drucktext2.ReadOnly = True
Me.TextBox_Drucktext2.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
Me.TextBox_Drucktext2.Size = New System.Drawing.Size(226, 208)
Me.TextBox_Drucktext2.TabIndex = 69
'
'Label10
'
Me.Label10.AutoSize = True
Me.Label10.Location = New System.Drawing.Point(12, 248)
Me.Label10.Name = "Label10"
Me.Label10.Size = New System.Drawing.Size(125, 13)
Me.Label10.TabIndex = 68
Me.Label10.Text = "Drucktext (Kundenbeleg)"
'
'TextBox_Drucktext
'
Me.TextBox_Drucktext.Location = New System.Drawing.Point(14, 273)
Me.TextBox_Drucktext.Multiline = True
Me.TextBox_Drucktext.Name = "TextBox_Drucktext"
Me.TextBox_Drucktext.ReadOnly = True
Me.TextBox_Drucktext.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
Me.TextBox_Drucktext.Size = New System.Drawing.Size(223, 209)
Me.TextBox_Drucktext.TabIndex = 67
'
'TextBox_ErgebnisText
'
Me.TextBox_ErgebnisText.Location = New System.Drawing.Point(166, 200)
Me.TextBox_ErgebnisText.Multiline = True
Me.TextBox_ErgebnisText.Name = "TextBox_ErgebnisText"
Me.TextBox_ErgebnisText.ReadOnly = True
Me.TextBox_ErgebnisText.Size = New System.Drawing.Size(375, 43)
Me.TextBox_ErgebnisText.TabIndex = 66
'
'TextBox_Ergebnis
'
Me.TextBox_Ergebnis.Location = New System.Drawing.Point(108, 200)
Me.TextBox_Ergebnis.Name = "TextBox_Ergebnis"
Me.TextBox_Ergebnis.ReadOnly = True
Me.TextBox_Ergebnis.Size = New System.Drawing.Size(44, 20)
Me.TextBox_Ergebnis.TabIndex = 65
'
'Label9
'
Me.Label9.AutoSize = True
Me.Label9.Location = New System.Drawing.Point(12, 203)
Me.Label9.Name = "Label9"
Me.Label9.Size = New System.Drawing.Size(48, 13)
Me.Label9.TabIndex = 64
Me.Label9.Text = "Ergebnis"
'
'Button_Autorisierung
'
Me.Button_Autorisierung.Location = New System.Drawing.Point(166, 164)
Me.Button_Autorisierung.Name = "Button_Autorisierung"
Me.Button_Autorisierung.Size = New System.Drawing.Size(199, 24)
Me.Button_Autorisierung.TabIndex = 49
Me.Button_Autorisierung.Text = "Autorisierung starten"
Me.Button_Autorisierung.UseVisualStyleBackColor = True
'
'TextBox_Betrag
'
Me.TextBox_Betrag.Location = New System.Drawing.Point(106, 167)
Me.TextBox_Betrag.MaxLength = 8
Me.TextBox_Betrag.Name = "TextBox_Betrag"
Me.TextBox_Betrag.Size = New System.Drawing.Size(46, 20)
Me.TextBox_Betrag.TabIndex = 48
Me.TextBox_Betrag.TextAlign = System.Windows.Forms.HorizontalAlignment.Right
'
'Label8
'
Me.Label8.AutoSize = True
Me.Label8.Location = New System.Drawing.Point(12, 170)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(38, 13)
Me.Label8.TabIndex = 63
Me.Label8.Text = "Betrag"
'
'TextBox_Lizenz
'
Me.TextBox_Lizenz.Location = New System.Drawing.Point(106, 114)
Me.TextBox_Lizenz.Name = "TextBox_Lizenz"
Me.TextBox_Lizenz.Size = New System.Drawing.Size(190, 20)
Me.TextBox_Lizenz.TabIndex = 62
'
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.Location = New System.Drawing.Point(12, 117)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(37, 13)
Me.Label7.TabIndex = 61
Me.Label7.Text = "Lizenz"
'
'ComboBox_ComStop
'
Me.ComboBox_ComStop.FormattingEnabled = True
Me.ComboBox_ComStop.Items.AddRange(New Object() {"1", "2"})
Me.ComboBox_ComStop.Location = New System.Drawing.Point(314, 85)
Me.ComboBox_ComStop.Name = "ComboBox_ComStop"
Me.ComboBox_ComStop.Size = New System.Drawing.Size(38, 21)
Me.ComboBox_ComStop.TabIndex = 60
Me.ComboBox_ComStop.Text = "1"
'
'Label6
'
Me.Label6.AutoSize = True
Me.Label6.Location = New System.Drawing.Point(246, 88)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(50, 13)
Me.Label6.TabIndex = 59
Me.Label6.Text = "ComStop"
'
'ComboBox_ComSpeed
'
Me.ComboBox_ComSpeed.FormattingEnabled = True
Me.ComboBox_ComSpeed.Items.AddRange(New Object() {"9600", "115000"})
Me.ComboBox_ComSpeed.Location = New System.Drawing.Point(106, 84)
Me.ComboBox_ComSpeed.Name = "ComboBox_ComSpeed"
Me.ComboBox_ComSpeed.Size = New System.Drawing.Size(121, 21)
Me.ComboBox_ComSpeed.TabIndex = 58
Me.ComboBox_ComSpeed.Text = "9600"
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Location = New System.Drawing.Point(12, 88)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(59, 13)
Me.Label5.TabIndex = 57
Me.Label5.Text = "ComSpeed"
'
'TextBox_Port
'
Me.TextBox_Port.Location = New System.Drawing.Point(483, 58)
Me.TextBox_Port.MaxLength = 5
Me.TextBox_Port.Name = "TextBox_Port"
Me.TextBox_Port.Size = New System.Drawing.Size(58, 20)
Me.TextBox_Port.TabIndex = 56
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Location = New System.Drawing.Point(451, 61)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(26, 13)
Me.Label4.TabIndex = 55
Me.Label4.Text = "Port"
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(246, 61)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(17, 13)
Me.Label3.TabIndex = 54
Me.Label3.Text = "IP"
'
'TextBox_IP
'
Me.TextBox_IP.Location = New System.Drawing.Point(314, 58)
Me.TextBox_IP.MaxLength = 30
Me.TextBox_IP.Name = "TextBox_IP"
Me.TextBox_IP.Size = New System.Drawing.Size(114, 20)
Me.TextBox_IP.TabIndex = 53
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(12, 60)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(31, 13)
Me.Label2.TabIndex = 52
Me.Label2.Text = "COM"
'
'ComboBox_COM
'
Me.ComboBox_COM.FormattingEnabled = True
Me.ComboBox_COM.Items.AddRange(New Object() {"LAN", "COM", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9"})
Me.ComboBox_COM.Location = New System.Drawing.Point(106, 57)
Me.ComboBox_COM.Name = "ComboBox_COM"
Me.ComboBox_COM.Size = New System.Drawing.Size(121, 21)
Me.ComboBox_COM.TabIndex = 51
Me.ComboBox_COM.Text = "LAN"
'
'TextBox_KasseNr
'
Me.TextBox_KasseNr.Location = New System.Drawing.Point(106, 31)
Me.TextBox_KasseNr.MaxLength = 4
Me.TextBox_KasseNr.Name = "TextBox_KasseNr"
Me.TextBox_KasseNr.Size = New System.Drawing.Size(46, 20)
Me.TextBox_KasseNr.TabIndex = 50
Me.TextBox_KasseNr.Text = "1"
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(12, 34)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(47, 13)
Me.Label1.TabIndex = 47
Me.Label1.Text = "KasseNr"
'
'lblKasse
'
Me.lblKasse.AutoSize = True
Me.lblKasse.Location = New System.Drawing.Point(13, 9)
Me.lblKasse.Name = "lblKasse"
Me.lblKasse.Size = New System.Drawing.Size(51, 13)
Me.lblKasse.TabIndex = 91
Me.lblKasse.Text = "Kasse 01"
'
'POSTerminal
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(962, 550)
Me.Controls.Add(Me.lblKasse)
Me.Controls.Add(Me.CheckBoxDummy)
Me.Controls.Add(Me.CheckBoxAutodruck)
Me.Controls.Add(Me.Label15)
Me.Controls.Add(Me.comboInstalledPrinters)
Me.Controls.Add(Me.Label12)
Me.Controls.Add(Me.TextBox_BelegNr)
Me.Controls.Add(Me.Label14)
Me.Controls.Add(Me.StornoBelegNr)
Me.Controls.Add(Me.TextBox_Aktiv)
Me.Controls.Add(Me.Label13)
Me.Controls.Add(Me.ComboBox_Typ)
Me.Controls.Add(Me.Button_Haendlerbeleg_drucken)
Me.Controls.Add(Me.TextBox_Kassenbon)
Me.Controls.Add(Me.Button_Kundenbeleg_drucken)
Me.Controls.Add(Me.Button_Gutschrift)
Me.Controls.Add(Me.Button_Storno)
Me.Controls.Add(Me.Button_Tagesabschluss)
Me.Controls.Add(Me.Button_Diagnose)
Me.Controls.Add(Me.Button_Exit)
Me.Controls.Add(Me.CheckBox_Kassedruck)
Me.Controls.Add(Me.Label11)
Me.Controls.Add(Me.TextBox_Drucktext2)
Me.Controls.Add(Me.Label10)
Me.Controls.Add(Me.TextBox_Drucktext)
Me.Controls.Add(Me.TextBox_ErgebnisText)
Me.Controls.Add(Me.TextBox_Ergebnis)
Me.Controls.Add(Me.Label9)
Me.Controls.Add(Me.Button_Autorisierung)
Me.Controls.Add(Me.TextBox_Betrag)
Me.Controls.Add(Me.Label8)
Me.Controls.Add(Me.TextBox_Lizenz)
Me.Controls.Add(Me.Label7)
Me.Controls.Add(Me.ComboBox_ComStop)
Me.Controls.Add(Me.Label6)
Me.Controls.Add(Me.ComboBox_ComSpeed)
Me.Controls.Add(Me.Label5)
Me.Controls.Add(Me.TextBox_Port)
Me.Controls.Add(Me.Label4)
Me.Controls.Add(Me.Label3)
Me.Controls.Add(Me.TextBox_IP)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.ComboBox_COM)
Me.Controls.Add(Me.TextBox_KasseNr)
Me.Controls.Add(Me.Label1)
Me.Name = "POSTerminal"
Me.Text = "POSTerminal"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents CheckBoxDummy As CheckBox
Friend WithEvents CheckBoxAutodruck As CheckBox
Friend WithEvents Label15 As Label
Friend WithEvents comboInstalledPrinters As ComboBox
Friend WithEvents Label12 As Label
Friend WithEvents TextBox_BelegNr As TextBox
Friend WithEvents Label14 As Label
Friend WithEvents StornoBelegNr As TextBox
Friend WithEvents TextBox_Aktiv As TextBox
Friend WithEvents Label13 As Label
Friend WithEvents ComboBox_Typ As ComboBox
Friend WithEvents Button_Haendlerbeleg_drucken As Button
Friend WithEvents TextBox_Kassenbon As TextBox
Friend WithEvents Button_Kundenbeleg_drucken As Button
Friend WithEvents Button_Gutschrift As Button
Friend WithEvents Button_Storno As Button
Friend WithEvents Button_Tagesabschluss As Button
Friend WithEvents Button_Diagnose As Button
Friend WithEvents Button_Exit As Button
Friend WithEvents CheckBox_Kassedruck As CheckBox
Friend WithEvents Label11 As Label
Friend WithEvents TextBox_Drucktext2 As TextBox
Friend WithEvents Label10 As Label
Friend WithEvents TextBox_Drucktext As TextBox
Friend WithEvents TextBox_ErgebnisText As TextBox
Friend WithEvents TextBox_Ergebnis As TextBox
Friend WithEvents Label9 As Label
Friend WithEvents Button_Autorisierung As Button
Friend WithEvents TextBox_Betrag As TextBox
Friend WithEvents Label8 As Label
Friend WithEvents TextBox_Lizenz As TextBox
Friend WithEvents Label7 As Label
Friend WithEvents ComboBox_ComStop As ComboBox
Friend WithEvents Label6 As Label
Friend WithEvents ComboBox_ComSpeed As ComboBox
Friend WithEvents Label5 As Label
Friend WithEvents TextBox_Port As TextBox
Friend WithEvents Label4 As Label
Friend WithEvents Label3 As Label
Friend WithEvents TextBox_IP As TextBox
Friend WithEvents Label2 As Label
Friend WithEvents ComboBox_COM As ComboBox
Friend WithEvents TextBox_KasseNr As TextBox
Friend WithEvents Label1 As Label
Friend WithEvents lblKasse As Label
End Class

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,359 @@
Imports Microsoft.Win32
Public Class POSTerminal
' Erstellt durch Jan Groetzner, Groetzner Unternehmensberatung, Seevetal
' Version: 02.03.2020
' Kontakt: easyzvt@groetzner.de
' Dieser Quellcode dient als Beispielimplementierung zur Einbindung von EasyZVT in die eigene Kassenanwendung.
' Der Code und auch Teile davon dürfen frei kopiert und in der Kassenanwendung verwendet werden
Private EasyZVT_Worker As System.ComponentModel.BackgroundWorker = New System.ComponentModel.BackgroundWorker()
Private Funktion As Integer
Private Betrag As Integer = 0
Private WithEvents PDoc As Printing.PrintDocument
Private Sub EasyZVT_DemoApp_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' Anwendungsstart
' Worker-Thread wird initialisiert
' Vorherige Werte werden aus der Registry gelesen und in die Oberfläche eingetragen
' Die Werte in der Oberfläche sollten in der echten Anwendung in der Stammdatentabelle der Kasse gespeichert werden und nicht in der Registry. Geht aber natürlich auch hier.
Try
AddHandler EasyZVT_Worker.DoWork, New System.ComponentModel.DoWorkEventHandler(AddressOf EasyZVT_Async)
AddHandler EasyZVT_Worker.RunWorkerCompleted, New System.ComponentModel.RunWorkerCompletedEventHandler(AddressOf EasyZVT_OnCompleted)
Dim ZVTKey As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\GUB\ZVT", True)
TextBox_KasseNr.Text = ZVTKey.GetValue("KasseNr", "1")
ComboBox_COM.Text = ZVTKey.GetValue("COM", "LAN")
TextBox_IP.Text = ZVTKey.GetValue("IP", "192.168.86.122")
TextBox_Port.Text = ZVTKey.GetValue("Port", "20007")
ComboBox_ComSpeed.Text = ZVTKey.GetValue("ComSpeed", "9600")
ComboBox_ComStop.Text = ZVTKey.GetValue("ComStop", "1")
TextBox_Lizenz.Text = ZVTKey.GetValue("Lizenz", "")
If ZVTKey.GetValue("Kassedruck", 0) = 1 Then
CheckBox_Kassedruck.Checked = True
Else
CheckBox_Kassedruck.Checked = False
End If
ComboBox_Typ.SelectedIndex = ComboBox_Typ.FindString(ZVTKey.GetValue("Typ", 0).ToString)
PopulateInstalledPrintersCombo()
comboInstalledPrinters.SelectedIndex = comboInstalledPrinters.FindString(ZVTKey.GetValue("DemoDruckername", ""))
If ZVTKey.GetValue("DemoAutodruck", 0) = 0 Then
CheckBoxAutodruck.Checked = False
Else
CheckBoxAutodruck.Checked = True
End If
If ZVTKey.GetValue("DemoDummydruck", 1) = 0 Then
CheckBoxDummy.Checked = False
Else
CheckBoxDummy.Checked = True
End If
ZVTKey.Close()
Catch ex As Exception
MessageBox.Show("Fehler beim Einlesen der Standardwerte: " & ex.Message)
End Try
End Sub
Private Sub SetRegistryParameter()
'Funktion holt Werte direkt aus der Oberfläche (TextBox_...) und schreibt diese in die Registry als Eingabeparameter für EasyZVT.
'Im wahren Leben stehen diese Werte in Datenbankeinträgen der Stammdatenverwaltung in der Hauptanwendung
Dim ZVTKey As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\GUB\ZVT", True)
Dim TypSelected As String
Dim Typ As Long
Try
ZVTKey.SetValue("Funktion", Funktion, RegistryValueKind.DWord)
TypSelected = Strings.Left(ComboBox_Typ.Text, 2).Replace(":", "")
Typ = TypSelected
ZVTKey.SetValue("Typ", Typ, RegistryValueKind.DWord)
ZVTKey.SetValue("KasseNr", TextBox_KasseNr.Text, RegistryValueKind.String)
ZVTKey.SetValue("COM", ComboBox_COM.Text, RegistryValueKind.String)
ZVTKey.SetValue("IP", TextBox_IP.Text, RegistryValueKind.String)
ZVTKey.SetValue("Port", CInt(TextBox_Port.Text), RegistryValueKind.DWord)
ZVTKey.SetValue("ComSpeed", CInt(ComboBox_ComSpeed.Text), RegistryValueKind.DWord)
ZVTKey.SetValue("ComStop", CInt(ComboBox_ComStop.Text), RegistryValueKind.DWord)
ZVTKey.SetValue("Lizenz", TextBox_Lizenz.Text, RegistryValueKind.String)
If Funktion = 0 Or Funktion = 4 Then
Betrag = CInt("0" & TextBox_Betrag.Text)
ZVTKey.SetValue("Betrag", Betrag, RegistryValueKind.DWord)
End If
If Funktion = 3 Then
ZVTKey.SetValue("StornoBetrag", CInt("0" & TextBox_Betrag.Text), RegistryValueKind.DWord)
ZVTKey.SetValue("StornoBelegNr", CInt("0" & StornoBelegNr.Text), RegistryValueKind.DWord)
End If
If CheckBox_Kassedruck.Checked Then
ZVTKey.SetValue("Kassedruck", 1, RegistryValueKind.DWord)
Else
ZVTKey.SetValue("Kassedruck", 0, RegistryValueKind.DWord)
End If
ZVTKey.SetValue("Ergebnis", 1000, RegistryValueKind.DWord) ' Zur Sicherheit, falls EasyZVT gar nicht installiert ist oder nicht gestartet werden kann
ZVTKey.SetValue("ErgebnisText", "EasyZVT konnte nicht gestartet werden", RegistryValueKind.String)
ZVTKey.SetValue("DemoDruckername", comboInstalledPrinters.Text, RegistryValueKind.String)
If CheckBoxAutodruck.Checked Then
ZVTKey.SetValue("DemoAutodruck", 1, RegistryValueKind.DWord)
Else
ZVTKey.SetValue("DemoAutodruck", 0, RegistryValueKind.DWord)
End If
If CheckBoxDummy.Checked Then
ZVTKey.SetValue("DemoDummydruck", 1, RegistryValueKind.DWord)
Else
ZVTKey.SetValue("DemoDummydruck", 0, RegistryValueKind.DWord)
End If
Button_Autorisierung.Enabled = False
Button_Diagnose.Enabled = False
Button_Tagesabschluss.Enabled = False
Button_Storno.Enabled = False
Button_Gutschrift.Enabled = False
Button_Exit.Enabled = False
TextBox_ErgebnisText.Text = "EasyZVT-Zahlung aktiv"
TextBox_Aktiv.Text = "warte auf Aktiv=0"
Catch ex As Exception
MessageBox.Show("Das Schreiben der Parameter ist fehlgeschlagen: " & ex.Message)
Exit Sub
End Try
ZVTKey.Close()
End Sub
Private Sub Autorisierung()
Funktion = 0
SetRegistryParameter()
EasyZVT_Worker.RunWorkerAsync()
End Sub
Private Sub Button_Autorisierung_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Autorisierung.Click
'Zahlung per Klick auslösen
Autorisierung()
End Sub
Private Sub TextBox_Betrag_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox_Betrag.KeyPress
' Damit die Zahlung auch per Enter-Taste ausgelöst werden kann
If e.KeyChar = Chr(Keys.Enter) Then
e.Handled = True
Autorisierung()
End If
End Sub
Private Sub EasyZVT_Async(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs)
' Programmstart von ZVTStart.exe und warten auf Programmende
Dim ZVTKey As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\GUB\ZVT", True)
Try
Dim ZVTStart As String = ZVTKey.GetValue("Start")
Dim Proc As System.Diagnostics.Process
If (Len(ZVTStart) > 1) Then
ZVTKey.SetValue("Ergebnis", 1000, RegistryValueKind.DWord) ' Wenn das Ergebnis 1000 bleibt konnte EasyZVT nicht gestartet werden
Proc = System.Diagnostics.Process.Start(ZVTStart)
System.Threading.Thread.Sleep(3000) ' Warte drei Sekunden bis Prozess ZVTStart geladen ist, dann erst anfangen Flag Aktiv abzufragen
While ZVTKey.GetValue("Aktiv") = 1
System.Threading.Thread.Sleep(500) ' Warten...
If TextBox_Aktiv.BackColor = Color.Gray Then ' kleine Spielerei :-)
TextBox_Aktiv.BackColor = Color.Red
Else
TextBox_Aktiv.BackColor = Color.Gray
End If
End While
TextBox_Aktiv.BackColor = Color.Gray
Else
MsgBox("EasyZVT ist nicht installiert. Bitte im Internet Explorer über www.easyzvt.de/publish installieren")
End If
Catch ex As Exception
MessageBox.Show("Der Programmstart ist fehlgeschlagen: " & ex.Message)
Exit Sub
End Try
ZVTKey.Close()
End Sub
Private Sub EasyZVT_OnCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs)
' Diese Funktion wird automatisch aufgerufen wenn der Worker-Thread seine Arbeit beendet
' und EasyZVT seine Ausgabewerte in die Registry zurückgeschrieben hat
Dim ZVTKey As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\GUB\ZVT", True)
TextBox_Aktiv.Text = ""
TextBox_Ergebnis.Text = ZVTKey.GetValue("Ergebnis")
TextBox_ErgebnisText.Text = ZVTKey.GetValue("ErgebnisText")
TextBox_Drucktext.Text = Replace(ZVTKey.GetValue("Drucktext"), vbLf, vbCrLf)
TextBox_Drucktext2.Text = Replace(ZVTKey.GetValue("Drucktext2"), vbLf, vbCrLf)
TextBox_BelegNr.Text = ZVTKey.GetValue("BelegNr").ToString
TextBox_Betrag.Text = ""
If CheckBoxAutodruck.Checked Then
If Len(TextBox_Drucktext.Text) > 1 Then
Button_Kundenbeleg_drucken.PerformClick()
End If
If Len(TextBox_Drucktext2.Text) > 1 Then
Button_Haendlerbeleg_drucken.PerformClick()
End If
End If
TextBox_Betrag.Focus()
Button_Autorisierung.Enabled = True
Button_Diagnose.Enabled = True
Button_Tagesabschluss.Enabled = True
Button_Storno.Enabled = True
Button_Gutschrift.Enabled = True
Button_Exit.Enabled = True
ZVTKey.Close()
End Sub
Private Sub Button_Diagnose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Diagnose.Click
Funktion = 1
SetRegistryParameter()
EasyZVT_Worker.RunWorkerAsync()
End Sub
Private Sub Button_Exit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Exit.Click
Application.Exit()
End Sub
Private Sub Button_Tagesabschluss_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Tagesabschluss.Click
Funktion = 2
SetRegistryParameter()
EasyZVT_Worker.RunWorkerAsync()
End Sub
Private Sub Button_Storno_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Storno.Click
Funktion = 3
SetRegistryParameter()
EasyZVT_Worker.RunWorkerAsync()
End Sub
Private Sub Button_Gutschrift_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Gutschrift.Click
Funktion = 4
SetRegistryParameter()
EasyZVT_Worker.RunWorkerAsync()
End Sub
Private Sub PDoc_SeiteDrucken(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PDoc.PrintPage
Dim Textfont As Font = TextBox_Kassenbon.Font
Dim Hoehe, Breite As Integer
Dim Links, Oben As Integer
With PDoc.DefaultPageSettings
'Hoehe = .PaperSize.Height - .Margins.Top - .Margins.Bottom
'Breite = .PaperSize.Width - .Margins.Left - .Margins.Right
Hoehe = 500 ' 5,00 Zoll
Breite = 270 ' = 2,70 zoll
'Links = PDoc.DefaultPageSettings.Margins.Left
'Oben = PDoc.DefaultPageSettings.Margins.Top
Links = 10
Oben = 10
End With
' Einen Rahmen zeichnen
Dim Rahmen As New Rectangle(Links, Oben, Breite, Hoehe)
e.Graphics.DrawRectangle(Pens.Blue, Rahmen)
' In den Rahmen den Kassenbontext zeichnen
Dim StrFormat As StringFormat
StrFormat = New StringFormat(StringFormatFlags.LineLimit)
e.Graphics.DrawString(TextBox_Kassenbon.Text, Textfont, Brushes.Black, Rahmen, StrFormat)
e.HasMorePages = False
End Sub
Private Sub Button_Kundenbeleg_drucken_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Kundenbeleg_drucken.Click
Dim PDlg As PrintDialog = New PrintDialog()
PDlg.UseEXDialog = True ' Notwendig für x64
PDoc = New Printing.PrintDocument()
AddHandler PDoc.PrintPage, AddressOf PDoc_SeiteDrucken
If CheckBoxDummy.Checked Then
TextBox_Kassenbon.Text = "Kassenbon EasyZVT DemoApp" & vbCrLf
TextBox_Kassenbon.Text &= "KasseNr: " & TextBox_KasseNr.Text & vbCrLf & vbCrLf
If Betrag > 0 And Funktion = 0 Then
TextBox_Kassenbon.Text &= "Testartikel Menge 1 Betrag " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
TextBox_Kassenbon.Text &= "Gesamtbetrag " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
TextBox_Kassenbon.Text &= "Kartenzahlung " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
End If
TextBox_Kassenbon.Text &= TextBox_Drucktext.Text ' Hier den Kundenbeleg hinzufügen
Else
TextBox_Kassenbon.Text = TextBox_Drucktext.Text
End If
If comboInstalledPrinters.SelectedIndex <> -1 Then
PDoc.PrinterSettings.PrinterName = comboInstalledPrinters.Text
PDoc.Print()
Else
PDlg.Document = PDoc
If PDlg.ShowDialog() = Windows.Forms.DialogResult.OK Then
PDoc.Print()
End If
End If
End Sub
Private Sub Button_Haendlerbeleg_drucken_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Haendlerbeleg_drucken.Click
Dim PDlg As PrintDialog = New PrintDialog()
PDlg.UseEXDialog = True ' Notwendig für x64
PDoc = New Printing.PrintDocument()
AddHandler PDoc.PrintPage, AddressOf PDoc_SeiteDrucken
If CheckBoxDummy.Checked Then
TextBox_Kassenbon.Text = "Kassenbon EasyZVT DemoApp" & vbCrLf
TextBox_Kassenbon.Text &= "KasseNr: " & TextBox_KasseNr.Text & vbCrLf & vbCrLf
If Betrag > 0 And Funktion = 0 Then
TextBox_Kassenbon.Text &= "Testartikel Menge 1 Betrag " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
TextBox_Kassenbon.Text &= "Gesamtbetrag " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
TextBox_Kassenbon.Text &= "Kartenzahlung " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
End If
TextBox_Kassenbon.Text &= TextBox_Drucktext2.Text ' Hier den Händlerbeleg hinzufügen
Else
TextBox_Kassenbon.Text &= TextBox_Drucktext.Text
End If
If comboInstalledPrinters.SelectedIndex <> -1 Then
PDoc.PrinterSettings.PrinterName = comboInstalledPrinters.Text
PDoc.Print()
Else
PDlg.Document = PDoc
If PDlg.ShowDialog() = Windows.Forms.DialogResult.OK Then
PDoc.Print()
End If
End If
End Sub
Private Sub PopulateInstalledPrintersCombo()
' Add list of installed printers found to the combo box.
' The pkInstalledPrinters string will be used to provide the display string.
Dim i As Integer
Dim pkInstalledPrinters As String
For i = 0 To PrinterSettings.InstalledPrinters.Count - 1
pkInstalledPrinters = PrinterSettings.InstalledPrinters.Item(i)
comboInstalledPrinters.Items.Add(pkInstalledPrinters)
Next
End Sub
Private Sub comboInstalledPrinters_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles comboInstalledPrinters.SelectedIndexChanged
' Set the printer to a printer in the combo box when the selection changes.
If comboInstalledPrinters.SelectedIndex <> -1 Then
' The combo box's Text property returns the selected item's text, which is the printer name.
' printDoc.PrinterSettings.PrinterName = comboInstalledPrinters.Text
End If
End Sub
End Class

View File

@@ -78,6 +78,7 @@ Partial Class frmKassenbuch
Me.btnBelegLeihgeld = New System.Windows.Forms.Button()
Me.UsrCntlTestsystem1 = New VERAG_PROG_ALLGEMEIN.usrCntlTestsystem()
Me.Button1 = New System.Windows.Forms.Button()
Me.Button11 = New System.Windows.Forms.Button()
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DataGridView2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.pnlTop.SuspendLayout()
@@ -659,6 +660,7 @@ Partial Class frmKassenbuch
'
'pnl
'
Me.pnl.Controls.Add(Me.Button11)
Me.pnl.Controls.Add(Me.Button7)
Me.pnl.Controls.Add(Me.Label11)
Me.pnl.Controls.Add(Me.Label12)
@@ -792,6 +794,19 @@ Partial Class frmKassenbuch
Me.Button1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button1.UseVisualStyleBackColor = True
'
'Button11
'
Me.Button11.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button11.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!)
Me.Button11.ForeColor = System.Drawing.Color.Black
Me.Button11.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button11.Location = New System.Drawing.Point(147, 193)
Me.Button11.Name = "Button11"
Me.Button11.Size = New System.Drawing.Size(129, 30)
Me.Button11.TabIndex = 430
Me.Button11.Text = "POS Terminal"
Me.Button11.UseVisualStyleBackColor = True
'
'frmKassenbuch
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -875,4 +890,5 @@ Partial Class frmKassenbuch
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents Button7 As System.Windows.Forms.Button
Friend WithEvents Button10 As Button
Friend WithEvents Button11 As Button
End Class

View File

@@ -1274,4 +1274,15 @@ Public Class frmKassenbuch
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
print.Show()
End Sub
Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
Label18.ForeColor = Color.Black
If Not IsNumeric(cboKassen._value) Then
Label18.ForeColor = Color.Red
Exit Sub
End If
Dim posTerminal As New POSTerminal()
End Sub
End Class