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 |