Towitoko Chip-Drive Kartenlesegerät mit C++ ansprechen/auslesen
-
also muss ich einfach die einbundung unter C verwenden und mein Compiler kann das so auch?
bis bald MWJK
-
Hallo
Edit wahr wohl zu spät, also lies nochmal meinen letzten Post.
bis bald
akari
-
Hallo,
habe deinen Post nochmal gelesen und versucht und gesucht ...
allerdings weiss ich nicht ganz, welche header ich dann einbinden soll, kannst du mir vielleicht sagen, wie die heisst?Danke.
bis bald
MWJK
-
Hallo
da ich weder Gerät noch Doku kenne, kann ich dir keine Details sagen. Aber die notwendigen Header sollten genauso in der Doku stehen wie die dort drin enthaltetenen Funktionen. Eventuell ist auch ein Minimal-Beispiel dabei.
bis bald
akari
-
Okay,
ich danke dir nochmal für die schnelle Hilfe.
bis bald
MWJK
-
Hallo,
zu TOWITOKO gabs mal eine Toolbox von Towitoko, bei der eine VCL-Komponete integriert war (Source in Pascal). Die VCL-Komonente konnte auch in CBuilder 6 einfach installiert und benutzt werden.
-
FireBirdSQL schrieb:
Hallo,
zu TOWITOKO gabs mal eine Toolbox von Towitoko, bei der eine VCL-Komponete integriert war (Source in Pascal). Die VCL-Komonente konnte auch in CBuilder 6 einfach installiert und benutzt werden.
Hallo,
die besagte Toolbox habe ich auch, habe auch einen "VC"-Ordner gesehen, wo auch eine einbauanleitung für PASCAL/DELPHI, C und Visual Basic 4/5 bzw. Access/VBA drin war, sowie eine Readme.txt - Datei. Desweiteren zwei Ordner "vc5" und "vc6" (die wahrscheinlich auf cbuilder5 und cbuilder6 hinweisen) und einen "Include"-Ordner.
Habe das ganze auch mittlerweile eingebaut, bekomme im Compiler allerdings noch einen Fehler, wo ich nicht genau weiss, wie ich damit um zu gehen habe:
"Undefiniertes Symbol 'CString'", sowie "Undefiniertes Symbol 'text'" ...
CString wird folgendermaßen verwendet:
CString text;
und text so:
text.Format("System,Info liefert %d und %s",ret,DataOut);
bis bald
MWJK
-
Hallo
Desweiteren zwei Ordner "vc5" und "vc6" (die wahrscheinlich auf cbuilder5 und cbuilder6 hinweisen)
Nein VC ist Visual Studio von Microsoft.
Und CString ist eine Klasse aus der MFC, die es nur bei dem Visual Studio gibt. Das kannst du niemals mit dem Builder kompilieren.bis bald
akari
-
Hmm...
also, habe das bislang so:HINSTANCE hDll; long (__stdcall * SCardComand)(long *handle, char *Cmd, long *CmdLen, char *DataIn, long *DataInLen, char *DataOut, long *DataOutLen); long CmdLen,DataInLen,DataOutLen; char *Cmd,*DataIn,*DataOut; void test() { hDll = LoadLibrary("scard32.dll"); if (hDll != NULL) { SCardComand = (long (__stdcall * )(long *handle, char *Cmd, long *CmdLen, char *DataIn, long *DataInLen, char *DataOut, long *DataOutLen)) GetProcAddress(hDll,"SCardComand"); Cmd = (char*)malloc(255); DataIn = (char*)malloc(255); DataOut = (char*)malloc(255); long ret; strcpy(Cmd,"System,Info"); strcpy(DataIn,""); strcpy(DataOut,""); CmdLen = 11; DataInLen = 0; DataOutLen = 254; long handle = 0; ret = SCardComand(&handle,Cmd,&CmdLen,DataIn,&DataInLen,DataOut,&DataOutLen); CString text; text.Format("System,Info liefert %d und %s",ret,DataOut); MessageBox(NULL,text,text,MB_APPLMODAL); }
Kann mir denn jemand sagen, was ich anstatt CString sonst nehmen kann? der Rest sollte - meines Wissens nach - doch eigentlich stimmen?
Thx
MWJK
-
Hallo
Eine beliebige Zeichenkettenverarbeitung. Da wären AnsiString, std::string, char*...
Das betrifft ja auch nur die Ausgabe, keine relevanten Zugriffe. Du kannst die Ausgabe zusammenbauen wie du willst.bis bald
akari
-
akari schrieb:
Hallo
Eine beliebige Zeichenkettenverarbeitung. Da wären AnsiString, std::string, char*...
Das betrifft ja auch nur die Ausgabe, keine relevanten Zugriffe. Du kannst die Ausgabe zusammenbauen wie du willst.bis bald
akariOkay, danke.
Nachdem ich CString nun in char* geändert habe, muss ich da noch etwas bestimmtes beachten?Gruß
MWJK
-
Hallo
Ja, das du den C-String ordentlich behandelst (Speicher reservieren, Funktionen mit Maximal-Größen verwenden, Speicher danach wieder freigeben). Eben das was zu den C-Grundkenntnissen gehört.
bis bald
akari
-
Hallo
die VCL-Komponente installiert sich folgendermaßen.
Erstelle ein neues VCL Package (Projekt -> Neu ...)
Füge die Dateien Scardc32.pas ind Scardc32.dcr hinzu
Kompiliere und installiere das PackageDanach ist eine Komponente TSmartCard installiert
.
Das funktioniert mit cb6 und bds2006Vierl Erfolg
-
FireBirdSQL schrieb:
Das funktioniert mit cb6 und bds2006
Hallo,
Hab aber nur cb5, weisst du, obs da auch geht? ich werds auf jeden fall mal ausprobieren, danke für den tipp!
Gruß
MWJK
-
Alles klar, soweit habe ich es und es wird auch etwas ausgegeben - komischerweise nur immer das gleiche und auch, wenn das Kartenlesegerät nicht angeschlossen ist ....
Kann mir da vllt. jemand helfen, mit einen paar Tipps, wie man das hinbekommt und vllt. wie ich das hinkrieg, dass vllt. Name in nem Label steht und Vorname in einem, u.s.w. ??
Thx
MWJK
-
Da gibt es keine einfache Antwort.
Es kommt auf die Art deiner Karte an.
Für die KVK z.B. ist schon eine Lesefunktion in der Komponente vorhanden (s.Doku).
Bei anderen Karten musst du die Struktur bzw. das Format kennen, um die gesuchten Daten aus der Karte auszulesen. Da hilft nur der Blick in die Doku
-
FireBirdSQL schrieb:
Da gibt es keine einfache Antwort.
Es kommt auf die Art deiner Karte an.
Für die KVK z.B. ist schon eine Lesefunktion in der Komponente vorhanden (s.Doku).
Bei anderen Karten musst du die Struktur bzw. das Format kennen, um die gesuchten Daten aus der Karte auszulesen. Da hilft nur der Blick in die DokuGeht nur um KVKs .....
habe dort aber keine direkte Lesefunktion gefunden, bzw. das was ich da gefunden habe gibt leider nicht die Daten der Karten aus ....
Das ist das einige, was ich ausgegeben bekomme:Handle=3
Lng=GERMAN
VersionCode=0214
VersionText=CardServer V2.14.41
ErrCode=0000
ErrText=OK
UsedMemHeap=74404
UsedMemTotal=1048576und mehr leider nicht, bräuchte aber die Daten (Vorname, Name, Straße, Hausnummer, PLZ, Ort, u.s.w.) und das alles einzeln (in einzelnen Labels), wenns möglich wäre ....
Gruß
MWJK
-
Ist möglich.
Anleitung in der Doku ab Seite 40
-
Okay, alles klar,
dann arbeite ich mich ab Seite 40 nochmal durch.Danke dir!!
Gruß
MWJK
-
Hmm.... habe zwar die Anleitung in der Doku genau befolgt, aber irgendwie bekomm ich da nichts ausgegeben ....
Kann mir da vllt. nochmal jemand helfen, kennt sich damit jemand aus?
Danke schonma!Gruß
MWJK