Delphi-PRAXiS
Seite 4 von 7   « Erste     234 56     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Smartcard auslesen, Kommandos senden (https://www.delphipraxis.net/164316-smartcard-auslesen-kommandos-senden.html)

Micha88 9. Nov 2011 13:08

AW: Smartcard auslesen, Kommandos senden
 
Zitat:

Zitat von newuser01 (Beitrag 1135088)
Also die Eigenschaften von ComPort bei BaudRate im Objektinpektor sind mit (br9600, br115200) usw. angegeben. Wenn ich jetzt also versuche mit:

Code:
ComPort.BaudRate := 'br'+combo_baudrate.Text;
zu übergeben, kommt die Meldung "Inkompatible Typen: TBaudRate und TCaption"

Kann ich da irgendwie Konvertieren? Auch wenn ich direkt die BaudRate setzen will mit:

Code:
ComPort.BaudRate := br9600;
kommt die Meldung, "Undefinierter Bezeichner br9600"



Wieso machst du nicht einfach:
Delphi-Quellcode:
var bRate: TBaudRate;
begin
 case combo_baudrate.ItemIndex of
  0: bRate := br9600;
  1: bRate := br115200;
  // usw.
 end;

 ComPort.BaudRate := bRate;
end;

newuser01 9. Nov 2011 13:14

AW: Smartcard auslesen, Kommandos senden
 
Gute Idee @Micha und thx für den Tipp, werd ich mal so umbasteln aber im Moment ist dies, dass kleinste Problem was ich hab ;-)

newuser01 9. Nov 2011 13:16

AW: Smartcard auslesen, Kommandos senden
 
Zitat:

Zitat von DeddyH (Beitrag 1135263)
Ganz ehrlich? Ich habe nicht die leiseste Ahnung. Ich hatte nur die Frage nach kostenlosen Komponenten für die serielle Schnittstelle gelesen und die ersten beiden verlinkt, die mir einfielen. Das heißt aber nicht, dass ich mich je damit beschäftigt hätte.

Ok , kein Problem ;-) du hast mir ja schon gut weitergeholfen. Ich sehe zumindest schon mal wenn ich was sende, das es beim CAS3 Reader ankommt (grünes Lämpchen blinkt dann kurz) Die Answers der Karte sind nicht die die ich erwarte aber das liegt bestimmt daran, dass ich das ganze Prinzip noch nicht verstanden hab und Fehler beim Senden mache wie Abfrage, Reihenfolge wie auch immer. Wenn ich wenigstens schon wüsste, wie ich mit dieser Komponente einen Kartenreset machen kann und dann den ATR der Karte bekomme. Damit wüsste ich zumindest, das dann die Einstellungen für die Karte richtig wären.

Bummi 9. Nov 2011 13:32

AW: Smartcard auslesen, Kommandos senden
 
Wenn der Braincode für Deine Karte passt wäre IMHO $99 ein Reset
#$01#$02#$00#$00#$00#$00#$3C die Seriennummernabfrage
#$01#$02#$02#$00#$00#$00#$3E der Typ
und das was Du versucht hast ist die Sprache

newuser01 9. Nov 2011 13:33

AW: Smartcard auslesen, Kommandos senden
 
Zitat:

Zitat von Bummi (Beitrag 1135274)
Wenn der Braincode für Deine Karte passt wäre IMHO $99 ein Reset
#$01#$02#$00#$00#$00#$00#$3C die Seriennummernabfrage
#$01#$02#$02#$00#$00#$00#$3E der Typ
und das was Du versucht hast die Sprache


was ich versuche hast die Sprache? was meinst du hehe

DeddyH 9. Nov 2011 13:39

AW: Smartcard auslesen, Kommandos senden
 
Zitat:

Zitat von Micha88 (Beitrag 1135265)
Wieso machst du nicht einfach:
Delphi-Quellcode:
var bRate: TBaudRate;
begin
 case combo_baudrate.ItemIndex of
  0: bRate := br9600;
  1: bRate := br115200;
  // usw.
 end;

 ComPort.BaudRate := bRate;
end;

Dann muss aber auch sichergestellt sein, dass sich erstens die Items immer in der richtigen Reihenfolge befinden und sich zweitens dies niemals ändern wird. Ansonsten ist diese Funktion bei Änderungen an der ComboBox mit anzupassen. Also alles in allem ein potentielle Fehlerquelle.

Bummi 9. Nov 2011 13:43

AW: Smartcard auslesen, Kommandos senden
 
Ich hatte mich verguckt :oops:

Hex Serial abfragen
#01#02#01#00#00#00#$3D

sieht ähnlich aus wie

Brainauszug
Delphi-Quellcode:
function TBrain.GetIrdetoLanguage(): String;
const
  buffer0: TIrdetoCommandBuffer = ( Data: ($01, $02, $02, $03, $00, $00, $3D) );


Den Code den Du versuchst habe ich nicht gefunden ....

Micha88 9. Nov 2011 13:43

AW: Smartcard auslesen, Kommandos senden
 
Ach so.
Ich dachte die Werte wären immer Fix und an der selben Stelle.

DeddyH 9. Nov 2011 13:45

AW: Smartcard auslesen, Kommandos senden
 
Das müssen sie bei der Vorgehensweise sein. Nur wenn man später mal was ändert (umsortiert z.B.), dann kann schnell übersehen werden, dass die Funktion entsprechend anzupassen ist. Daher mein Einwand.

newuser01 9. Nov 2011 14:16

AW: Smartcard auslesen, Kommandos senden
 
Zitat:

Zitat von Bummi (Beitrag 1135279)
Ich hatte mich verguckt :oops:

Hex Serial abfragen
#01#02#01#00#00#00#$3D

sieht ähnlich aus wie

Brainauszug
Delphi-Quellcode:
function TBrain.GetIrdetoLanguage(): String;
const
  buffer0: TIrdetoCommandBuffer = ( Data: ($01, $02, $02, $03, $00, $00, $3D) );


Den Code den Du versuchst habe ich nicht gefunden ....


@brummi könntest du mir bitte anhand der von mir verwendeten Komponente kurz und verständlich zeigen, wie ich den ATR auslese?


Also meine Einstellungen sind jetzt:

Delphi-Quellcode:
ComPort.BaudRate := br9600;
ComPort.DataBits := dbEight;
ComPort.Parity.Bits := prEven;
ComPort.StopBits := sbOneStopBit;
Das dürfte also passen für die Karte. Die Antwort der Karte soll dazu einfach mal in ein answer.text Feld


WriteByte($99) gibt es ja nicht, ich hab ja nur ComPort.WriteStr und was genau in

ComPortRxChar rein muss, weis ich auch nicht
Delphi-Quellcode:
procedure Tfrm_main.ComPortRxChar(Sender: TObject; Count: Integer);
var
sEmpfangen:AnsiString;
begin

ComPort.ReadStr(sEmpfangen,Count);
answer.Text := StrToHex(sEmpfangen);
end;
oder muss es gar in ComPortRxBuf ?

Das ganze bringt mir nichts, wenn ich nicht von Anfang an Schritt für Schritt aufbaue, Code kopieren ist einfach aber verstehen will ich Ihn auch. Und die genauen Abläufe ebenso.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:41 Uhr.
Seite 4 von 7   « Erste     234 56     Letzte »    

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