AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Smartcard auslesen, Kommandos senden
Thema durchsuchen
Ansicht
Themen-Optionen

Smartcard auslesen, Kommandos senden

Ein Thema von newuser01 · begonnen am 8. Nov 2011 · letzter Beitrag vom 9. Nov 2011
Antwort Antwort
newuser01

Registriert seit: 30. Aug 2006
248 Beiträge
 
Delphi 7 Professional
 
#1

AW: Smartcard auslesen, Kommandos senden

  Alt 9. Nov 2011, 13:33
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
Gruß: Holger

[Hobby-Programmierer]
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Smartcard auslesen, Kommandos senden

  Alt 9. Nov 2011, 13:43
Ich hatte mich verguckt

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 ....
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
newuser01

Registriert seit: 30. Aug 2006
248 Beiträge
 
Delphi 7 Professional
 
#3

AW: Smartcard auslesen, Kommandos senden

  Alt 9. Nov 2011, 14:16
Ich hatte mich verguckt

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.
Gruß: Holger

[Hobby-Programmierer]
  Mit Zitat antworten Zitat
Micha88
(Gast)

n/a Beiträge
 
#4

AW: Smartcard auslesen, Kommandos senden

  Alt 9. Nov 2011, 14:41
Zitat:
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.
Ach so, ok.

Ich regel so etwas normalerweise immer mit Arrays. Ich habe mehrere Arrays, welche ineinander greifen. Ändere ich mein erstes Array (String-Array, Inhalt von einer ComboBox z.B.), so ändert sich durch Bedingungen im Code alles bei den anderen Arrays mit.

Mies erklärt, ich weiß, aber anders kann ich es nicht erklären.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#5

AW: Smartcard auslesen, Kommandos senden

  Alt 9. Nov 2011, 14:43
Vielleicht sollten wir dafür einen eigenen Thread eröffnen, das hat ja mit dem eigentlichen Problem höchstens am Rande zu tun.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: Smartcard auslesen, Kommandos senden

  Alt 9. Nov 2011, 14:57
Was passiert wenn Du
auf einem
Button
ComPort.WriteStr(#$99); hast

auf einem anderen
ComPort.WriteStr(#$01#$02#$00#$00#$00#$00#$3C); FInBuffer als Klassen oder auch mal als globale Variable

Delphi-Quellcode:
Function Hexit(const s:AnsiString):String;
var
 i:Integer;
begin
 Result := '';
 for I := 1 to Length(s) do Result := Result +'$' +IntToHex(Byte(s[i]),2) +' ';
end;


procedure TwasAuchImmer.Comport1RxChar(Sender: TObject; Count: Integer);
var
  s:AnsiString;
begin
    BaseSerial1.ReadStr(s,Count);
    FInBuffer := FInBuffer + s;
    Memo1.Text := Hexit(FInBuffer );
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
newuser01

Registriert seit: 30. Aug 2006
248 Beiträge
 
Delphi 7 Professional
 
#7

AW: Smartcard auslesen, Kommandos senden

  Alt 9. Nov 2011, 15:17
Was passiert wenn Du
auf einem
Button
ComPort.WriteStr(#$99); hast

auf einem anderen
ComPort.WriteStr(#$01#$02#$00#$00#$00#$00#$3C); FInBuffer als Klassen oder auch mal als globale Variable

Delphi-Quellcode:
Function Hexit(const s:AnsiString):String;
var
 i:Integer;
begin
 Result := '';
 for I := 1 to Length(s) do Result := Result +'$' +IntToHex(Byte(s[i]),2) +' ';
end;


procedure TwasAuchImmer.Comport1RxChar(Sender: TObject; Count: Integer);
var
  s:AnsiString;
begin
    BaseSerial1.ReadStr(s,Count);
    FInBuffer := FInBuffer + s;
    Memo1.Text := Hexit(FInBuffer );
end;
FInBuffer: AnsiString; //so als globale variable ?

Wenn ja dann steht bei

ComPort.WriteStr(#$99); das "$99" im Memo1.Text

und bei

ComPort.WriteStr(#$01#$02#$00#$00#$00#$00#$3C); das "$01 $02 $00 $00 $00 $00 $3C "
Gruß: Holger

[Hobby-Programmierer]
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:02 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