Option Compare Database Option Explicit Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) ' Eingabeparameter Dim COM As String Dim ComSpeed As Long Dim ComStop As Long Dim IP As String Dim Port As Long Dim KasseNr As Long Dim Kassedruck As Long Dim Protokollpfad As String Dim Betrag As Long Dim Lizenz As String Dim Passwort As String Dim Provider As Long Dim Funktion As Long Dim Test As Long ' Ausgabeparameter Dim Ergebnis As Long Dim ErgebnisText As String Dim ErgebnisLang As String Dim Autorisierungsergebnis As String Dim Kundenbeleg As String Dim Haendlerbeleg As String Dim Kartentyp As Long Dim KartentypText As String ' Hilfsfunktionen zum Lesen und Schreiben in der Registry Function RegRead(RegKey As String) As Variant Dim myObject As Object Dim Path As String Path = "HKEY_CURRENT_USER\SOFTWARE\GUB\ZVT\" On Error Resume Next Set myObject = CreateObject("WScript.Shell") RegRead = myObject.RegRead(Path & RegKey) End Function Sub RegWriteSZ(RegKey As String, Value As String) Dim myObject As Object Dim Path As String Path = "HKEY_CURRENT_USER\SOFTWARE\GUB\ZVT\" On Error Resume Next Set myObject = CreateObject("WScript.Shell") myObject.RegWrite Path & RegKey, Value, "REG_SZ" End Sub Sub RegWriteDWORD(RegKey As String, Value As Long) Dim myObject As Object Dim Path As String Path = "HKEY_CURRENT_USER\SOFTWARE\GUB\ZVT\" On Error Resume Next Set myObject = CreateObject("WScript.Shell") myObject.RegWrite Path & RegKey, Value, "REG_DWORD" End Sub Sub Zahlen() Dim Startpfad As String Dim Aktiv As Long RegWriteDWORD "Funktion", Funktion ' 0 = Zahlung, 1 = Diagnose, 2 = Kassenschnitt RegWriteSZ "COM", COM RegWriteDWORD "ComSpeed", ComSpeed RegWriteDWORD "ComStop", ComStop RegWriteSZ "IP", IP RegWriteDWORD "Port", Port RegWriteDWORD "Betrag", Betrag RegWriteSZ "Protokoll", Protokollpfad RegWriteDWORD "Test", Test RegWriteDWORD "KasseNr", KasseNr RegWriteDWORD "Kassedruck", Kassedruck RegWriteSZ "Lizenz", Lizenz RegWriteSZ "Passwort", Passwort RegWriteDWORD "Provider", Provider Startpfad = RegRead("Start") ' Programmpfad dynamisch auslesen 'EasyZVT starten Shell Startpfad 'auf Programmende aktiv warten - in Access ist kein warten auf Ende des Shellaufrufs möglich Do Sleep 100 ' 100 ms warten Aktiv = RegRead("Aktiv") DoEvents Loop While Aktiv = 1 ' Ergebnisse auslesen Ergebnis = RegRead("Ergebnis") ErgebnisText = RegRead("ErgebnisText") ErgebnisLang = RegRead("ErgebnisLang") Autorisierungsergebnis = RegRead("Autorisierungsergebnis") Kundenbeleg = RegRead("Drucktext") Haendlerbeleg = RegRead("Drucktext2") Kartentyp = RegRead("Kartentyp") KartentypText = RegRead("KartentypLang") End Sub Function Beispielzahlung() As String 'Beispielwerte setzen COM = "LAN" ' Alternativ "COM" (automatische Com-Port-Erkennung) oder z.B. COM11 (fixer COM-Port) ComSpeed = 9600 ' Geräteabhängig, Standard = 9600 ComStop = 2 ' Geräteabhängig 1 oder 2, Standard = 2 IP = "192.168.101.222" ' wenn IP verwendet wird, dann bitte IP-Adresse am EC-Gerät fest einstellen, Standard ist dort DHCP Port = 22000 ' Standard eigentlich 22007, aber alle bisher getesteten Geräten haben 22000 eingestellt Passwort = "000000" ' Kassiererpasswort Protokollpfad = "" ' Wenn nichts angegeben, dann in Eigene Dokumente\GUB\ZVTLOG KasseNr = 1 ' für jede Kasse unterschiedlich übergeben, wird im Protokolldateinamen verwendet Kassedruck = 1 ' 1 = Kassensoftware druckt Kundenbeleg (nur Professional-Version), 0 = Terminal druckt Kundenbeleg Funktion = 0 ' 0 = Zahlen, 1 = Diagnose, 2 = Kassenschnitt Betrag = 7 ' Betrag in cent Test = 0 ' 1 = Testmodus, keine Kommunikation mit dem Terminal Lizenz = "" ' Lizenzkey passend zur Terminal-ID Provider = 0 ' 0 = Standardlastschrifttext, 1 = Telecash , 2 = Easycash 'Funktion rufen Zahlen 'Rückgabewerte ausgeben MsgBox "Ergebnis: " & Ergebnis & vbCr & _ ErgebnisText & vbCr & _ "Ergebnis lang: " & ErgebnisLang & vbCr & _ "Autorisierungsergebnis: " & Autorisierungsergebnis & vbCr & _ "Kartentyp: " & Kartentyp & vbCr & _ "Kartentyp Text: " & KartentypText & vbCr & _ "Kundenbeleg: " & Kundenbeleg & vbCr & _ "Haendlerbeleg: " & Haendlerbeleg Beispielzahlung = "Fertig" End Function