![]() |
Smartcard auslesen, Kommandos senden
Hallo,
ich möchte ein kleines Tool schreiben, um eine Smartcard auszulesen. Es solln also einfach nur Kommandos zur Karte gesendet werden und dann wird das "Answer" der Karte ausgewertet. Die Kommandos hab ich und wie ich die Antworten der Karte auswerte weis ich auch. Mir fehlen aber infos wie ich das in Delphi realisieren könnte. Vielleicht gibt es ja Free Komponenten die auf den (Comport, Cardreader) zugreifen, sich also verbinden können und dann sowas wie SerialPort1.Write(kommando) oder der gleichen machen. Ich will also nicht direkt auf die Karte schreiben sondern nur Kommandos senden und das Answer anzeigen lassen, mehr nicht. Vielleicht könnt Ihr ja weiterhelfen. |
AW: Smartcard auslesen, Kommandos senden
|
AW: Smartcard auslesen, Kommandos senden
|
AW: Smartcard auslesen, Kommandos senden
Ok thx, also ich versuch mich dann mal an die Kompo "TComPort" und stoß schon auf das erste Problem :-D Naja bin halt Hobby Programmierer und lang lang ist her, wo ich mal was gemacht habe :-D
Also die Eigenschaften von ComPort bei BaudRate im Objektinpektor sind mit (br9600, br115200) usw. angegeben. Wenn ich jetzt also versuche mit:
Code:
zu übergeben, kommt die Meldung "Inkompatible Typen: TBaudRate und TCaption"
ComPort.BaudRate := 'br'+combo_baudrate.Text;
Kann ich da irgendwie Konvertieren? Auch wenn ich direkt die BaudRate setzen will mit:
Code:
kommt die Meldung, "Undefinierter Bezeichner br9600"
ComPort.BaudRate := br9600;
|
AW: Smartcard auslesen, Kommandos senden
Es ist zwar eine blöde Frage, aber die Unit CPort ist eingebunden? Eigentlich muss sie das ja sein, sonst könntest Du auf TComPort ja auch nicht zugreifen.
|
AW: Smartcard auslesen, Kommandos senden
Ich habe gerade herrausgefunden das man mit
Code:
einen Setup Dialog aufruft, wo alle Einstellungen gesetzt werden können, nur möchte ich das so nicht sondern selbst eine Settings Form machen wo ich dann die Settings in einer Ini speicher. Das hab ich ja schon alles fertig und die Werte werden ja dann zb. aus der INI wie oben zu sehen in "combo_baudrate" geladen, müssen halt nur noch übergeben werden. Aber scheinbar kann man nur über diesen "ShowSetupDialog" Einstellungen tätigen.
ComPort.ShowSetupDialog
|
AW: Smartcard auslesen, Kommandos senden
Alles was du im Objektinspektor setzen kannst, kannst du auch im Code setzen
|
AW: Smartcard auslesen, Kommandos senden
Das kann aber nicht sein.
Zitat:
|
AW: Smartcard auslesen, Kommandos senden
Code:
kann ich setzen aber die anderen Sachen nicht oder ich mach fehler dabei
ComPort.Port := 'COM1';
|
AW: Smartcard auslesen, Kommandos senden
Anscheinend Letzteres, bei mir klappt das (getestet unter Delphi 7 Pro) ohne Probleme.
[edit] Hier meine komplette Unit (ich habe die Komponente nicht installiert, sondern erzeuge sie dynamisch):
Delphi-Quellcode:
Ich bekomme lediglich eine Warnung, dass Win32Check plattformspezifisch ist, ansonsten lässt sich das Programm ohne Weiteres starten. [/edit]
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, CPort; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private-Deklarationen } FComPort: TComPort; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin FComPort := TComPort.Create(self); FComPort.BaudRate := br9600; FComPort.Port := 'COM1'; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz