Neues Thema starten

TSE Umsetzung mit VB6

1. So wie ich das sehe und lese, baut das SDK nur auf C und C# auf.
Ich programmiere mit VB6 und kann mit einem C# Sample nichts anfangen.
Hat schon jemand das ganze in VB6 umgesetzt?
Ist das überhaupt möglich?

2. SWISSBIT müsste für das ganze Setup, Einrichten, Einstellen und den Export (für den Prüfer mit Filterfunktionen) ein fertiges Tool (exe) zur Verfügung stellen. So das ich diese Exe (Tool) einfach in meinen Anwendungsordner kopiere und ich dann damit die Einrichtung vornehmen kann und ein Prüfer der Finanzbehörde darüber seinen Export nach bestimmten Filterkriterien wie z.B. Transaktionsnummer von / bis oder Datum von / bis etc. vornehmen kann.


1 Person hat diese Frage

Hallo Günter,

ich mach auch noch in VB6. Mich interessiert deine Lösung weil ich das TSE in der Testversion bestellt habe. Eventuell kannst du mir etwas helfen. Ich würde mich gerne revangieren. Ich habe viele andere Programmbeispiele in Richtung Kassenprogramme / Bondrucker usw.. U.u. könnte ich Dir auch mal helfen. Im Prinzip ist in deinem Code schon sehr viel zu entnehmen. Das ganze Projekt wäre noch hilfreicher.

Vielleicht könnte man sogar zusammen was machen.

Ich würde mich freuen wenn Du mich kontaktieren würdest.  mail at p-walther.de

Vielen Dank


Hallo Herr Schäfer,

ich habe diese Woche auch das Entwicker TSE bekommen. Leider muss ich mich auch mit diesem Thema befassen. Ich habe ein paar kleinere Kunden denen ich das jetzt bis September programmieren muss.


Ich entwickle unter Visual Foxpro.

Aus dem Codeteil konnte ich schon ein paar Sachen herauslesen.

Ich wäre auch sehr stark an mehr Informationen zu der weiteren Programmierung interessiert.


Klar stellen sich mir Fragen

z.B.

Wie sieht das mit diesem Setup aus. Muss das noch gemacht werden oder geschieht das automatisch. Ist ja bei dem Testteil ein wenig anders als bei den Endgeräten.

Oder wie ist eine Transaktion aufgebaut.


Für Informationen wäre ich Ihnen sehr dankbar

Gerne auch per Mail unter ws(at)elcon-software(dot)de







Hallo zusammen,


lieber Günther Schäfer. Ich habe im Zusammenhang mit der TSE eine C# DLL entwickelt, die aber im Anfangsstadium ist. Die kann man wie eine .OCX in VB6 einbinden. Das funktioniert auch näherungsweise. Ich möchte aber auch lieber unabhängig eine VB6 Lösung einsetzen. Ihr Projekt interessiert mich sehr, da ich eine Kassenlösung für Friseure mit etlichen Kunden habe und dringend eine VB6 Lösung suche. Könnten Sie mir ihre VB6 Lösung, sprich ihr Projekt mal als zip Datei senden. Ich wäre ihnen unendlich dankbar ;-)

MFG

würde mich in jeder Weise revanchieren...

Torsten Schmitz

www.schmitzit.de

info@schmitzit.de

Hallo Herr G.Schäfer,

könnten Sie mir Ihre VB6 Lösung in Form eines VB6 Projektes zukommen lassen (zip). Würde mich erkenntlich zeigen. info[at]schmitzit[dot]de.

Mfg T.Schmitz

 

Hallo Herr G.Schäfer,

Interessanter Ansatz.

Ich möchte mich Herrn Schäfer anschließen und bin dringend an den Projekt interessiert.

könnten Sie mir Ihre VB6 Lösung in Form eines VB6 Projektes zukommen lassen (zip). Würde mich erkenntlich zeigen. stopp[at]g-pos[dot]de.

Mfg Martin Stopp

Guten Tag Herr Schäfer,

ich versuche mit Delphi den gleichen Weg zu gehen, den Sie mit VB6 bereits erfolgreich beschritten haben. Leider gelingt es mir nicht, mit der aus der Seriennummer abgeleiteten initialen PUK eine Änderung der PUK vorzunehmen. Könnten Sie freundlicherweise mit Ihrem Programm die folgenden, von mir berechneten Werte prüfen bzw. mir sagen, welche Werte Ihr Programm ermittelt, damit ich meinen Fehler suchen kann?

Vielen Dank dafür! 


Berechne initiale PUK/Pins:

Seed: SwissbitSwissbit

Serialnumber: 94 E3 BD 32 14 D7 9F DA 14 D0 4B A5 45 B8 1B 1C 3B DE B2 0A AA 3D 77 AA 96 C5 BC 10 A6 55 E0 C8 

Hashbytes aus Seed+Serialnumber: 94 9D 34 4E 80 78 B2 96 93 1A DA E0 4C F8 DE BE 86 24 78 2E 64 C8 2B 16 31 AD B1 88 E4 1C 9E 1B


AdminPuk=394646   

AdminPin=91486  

TimeAdminPin=95606


Ok, habe ich mir angesehen . . .

Nach einer Weile der Eingewöhnung ist es garnicht sooo kompliziert!


Seed SwissbitSwissbit ist erst mal falsch sollte sein in Hex

"53776973736269745377697373626974"

Seed in Hex  & hex hex Seriennummer :

5377697373626974537769737362697494E3BD3214D79FDA14D04BA545B81B1C3BDEB20AAA3D77AA96C5BC10A655E0C8


damit  hash 256  (Asci Hex nicht Byte!)

ergebnis in Hex:

"62298A080032DB668976A1F91092FC3E48F5D0FA1139C92F299B7236033E5C9A"


die ersten 24 Byte in 3 Teile


62298A080032DB66
8976A1F91092FC3E
48F5D0FA1139C92F


dann dezimal wert  und da ist ein kleines Problem, vb schafft diesen Wert nicht in Long, eventuell negativ, so dass Wert nicht mehr stimmt!

deswegen habe ich Chillkat zur Hilfe genommen


Pin: 81566
Puk: 779046
AdminTimePin 23247


****************************************************

Hier das VB Programm dazu


seed = "SwissbitSwissbit"
'epson "EPSONKEY"


wert = SerialNummer

Ihr Beispiel:

wert = "94 E3 BD 32 14 D7 9F DA 14 D0 4B A5 45 B8 1B 1C 3B DE B2 0A AA 3D 77 AA 96 C5 BC 10 A6 55 E0 C8 "
wert = Replace(wert, " ", "")


crypt.HashAlgorithm = "sha256"
crypt.Charset = "hex"                         '**************** Hex nicht Byte!!!!!!*********************
crypt.EncodingMode = "hex"
'MsgBox wert, , "wert"
For i = 0 To Len(seed) - 1
  hex_seed = hex_seed & Hex(Asc(Mid(seed, i + 1, 1)))
Next
wert = hex_seed & wert
i = Len(wert)
i = Len(hex_seed)

tt(0) = crypt.HashStringENC(wert)

' die ersten 24 Byte in 8ter Gruppen
tt(1) = Mid(tt(0), 1, 16)               ' die ersten 8 Byte
tt(2) = Mid(tt(0), 17, 16)              ' die zweiten 8 Byte
tt(3) = Mid(tt(0), 33, 16)              ' die dritten 8 Byte

' Kontrollausgabe
akt_status = wert & vbCrLf
akt_status = akt_status & tt(1) & vbCrLf
akt_status = akt_status & tt(2) & vbCrLf
akt_status = akt_status & tt(3) & vbCrLf



bd.Clear
success = bd.AppendEncoded(tt(1), "hex")
wert = bd.GetEncoded("decimal")
puk = wert

bd.Clear
success = bd.AppendEncoded(tt(2), "hex")
wert = bd.GetEncoded("decimal")
pin = wert

bd.Clear
success = bd.AppendEncoded(tt(3), "hex")
timepin = bd.GetEncoded("decimal")


'***** die letzten 6 für Puk, letzten 5 Stellen für Pin nehmen *****
puk = Mid(puk, Len(puk) - 5)
pin = Mid(pin, Len(pin) - 4)
timepin = Mid(timepin, Len(timepin) - 4)

akt_status = akt_status & "Pin: " & pin & vbCrLf
akt_status = akt_status & "Puk: " & puk & vbCrLf
akt_status = akt_status & "TimePin " & timepin & vbCrLf
akt_status = akt_status & hex_seed



image


Grüsse und schönes Wochenende . . .

         Günter Schäfer


Anmelden oder Registrieren um einen Kommentar zu veröffentlichen