VB-Homepage Tipp 404

Chipkartenleser-Programmierung

Auch hier folgt wieder ein Tipp, der auf die Information eines VB-Homepage Besuchers zurückgreift. Sicher ein Thema für sich und daher nur für einen begrenzten Kreis der VB Progis interessant, aber die werden sich sicher darüber freuen und somit vielen Dank an den Autor.

'------------------------------------------------------------------------
Beziehen tun sich die Angaben auf einen TOWITOKO Chipkartenleser.
Von Towitoko wird nur Delphi und C++ unterstützt und VB nur am Rande erwähnt. Da mich das Ganze fast zur Verzweiflung gebracht hat, hier meine (funktionierende) Lösung. -->
Wichtig ist DataOut als String mit Leerzeichen zu füllen, sonst kann nämlich die DLL keine Daten übergeben. Mit dieser Info und der DLL von Towitoko kann man nun aufs gerate Wohl Chipkarten auslesen, schreiben und programmieren !!!

DLL deklarieren im .bas Modul:

Declare Function SCardComand Lib "SCARD32.dll" (Handle As Long, ByVal Cmd As String, CmdLen As Long, ByVal DataIn As String, DataInLen As Long, ByVal DataOut As String, DataOutLen As Long) As Long

Beispiel einer Subroutine um das Chipdrive zu initialisieren:

Form1.MousePointer = 11
Cmd = "Device,SearchComPort"
Handle = 0
CmdLen = 0
DataIn = vbNullString
DataOut = Space$(255)
X = SCardComand(Handle, Cmd, CmdLen, DataIn, DataInLen, DataOut, DataOutLen)

Cmd = "Device,Info"
Handle = 0
CmdLen = 0
DataIn = vbNullString
DataOut = Space$(255)

Zeit = 0: Timer2.Interval = 10000: Timer2.Enabled = True
Do
   X = SCardComand(Handle, Cmd, CmdLen, DataIn, DataInLen, DataOut, DataOutLen)
Loop Until (InStr(DataOut, "Status=valid") <> 0) Or Zeit = 1

X = SCardComand(Handle, Cmd, CmdLen, DataIn, DataInLen, DataOut, DataOutLen)
Form1.MousePointer = 0
If InStr(DataOut, "Status=error") <> 0 Then MsgBox "Chipdrive ERROR !", vbCritical: Exit Sub
If InStr(DataOut, "Status=valid") = 0 Then MsgBox "Chipdrive ist nicht aktiviert !", vbCritical: Exit Sub
MsgBox "Chipdrive wurde erfolgreich initialisiert mit folgendem Gerätestatus: " & Chr$(13) & Chr$(10) & Chr$(13) & Chr$(10) & DataOut, , "Chipdrive Daten"

Tipp-Download

Quelle : Wolfgang Künzel / webmaster@fs-media.de 

Zurück zur Übersichtsseite