Announcement

Collapse
No announcement yet.

Magnetkartenleser

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Magnetkartenleser

    Moin,

    ich habe da ein kleines Problem und hoffe es kann mir jemand helfen.
    Habe versucht mit Hilfe von Informationen über Magnetkarten etwas herauszufinden, jedoch bin ich leider nicht fündig geworden.
    Ich habe ein Magnetkartenlesegerät und eine Testkarte.
    Die Karte kann ich auch in meinem Programm auslesen. Es erscheinen Fragezeichen und sonstige andere Zeichen.
    Beim erneuten Einlesen haben diese Zeichen allerdings eine andere Reihenfolge.
    Das heißt ich kann die Daten auf der Karte nicht abspeichern und diese beim erneuten Auslesen abfragen, da es ja immer eine andere Reihenfolge gibt.

    Hat da vielleicht jemand einen Idee ob ich irgendetwas anders einstellen soll?

    Habe den SerialPort als Steuerelement und als Eigenschaften :

    BaudRate 9600
    DataBits 8
    DtrEnable False
    Handshake XOnXOff
    Parity None
    PortName COM3
    RtsEnable False
    Stopbits One



    Ebenso habe ich einen Barcodescanner mit dem alles bestens funktioniert.

    Mit HyperTerminal kommen ebenfalls die Zeichen, die beim erneuten Auslesen eine andere Reihenfolge haben.

    Ich bin mir nicht ganz sicher ob das Problem bei der Testkarte liegt, aber dann frag ich mich wieso die Zeichen beim erneuten Einlesen eine andere Reihenfolge haben.
    Bin für jede Hilfe dankbar

    Mfg Mars0303

  • #2
    Es erscheinen Fragezeichen und sonstige andere Zeichen.
    Würde erstmal sagen, dass die Anzeige der Daten falsch gemacht wird. Die eingelesenen Bytes als Hex oder Dez anzeigen.

    Die Ausgabe als String mit ? deutet darauf hin, dass Binärdaten vorliegen
    Christian

    Comment


    • #3
      Danke für die schnelle antwort.
      Hast du vielleicht eine Idee wie ich die eingelesenen Bytes als Hex oder Dez darstellen kann?

      Den SerialPort kann ich mit "SerialPort1.ReadExisting" auslesen, jedoch wie folgt die Darstellung?


      Hab das mit der Umwandlung getestet.
      Ich denke nur, dass dies nicht das eigentliche Problem ist, sondern eher, dass die Zeichen beim wiederholten auslesen andere sind, als beim ersten Mal.
      Zuletzt editiert von Mars0303; 12.01.2010, 16:45.

      Comment


      • #4
        Kannst Du nicht einfach mit dem Debugger reinsteppen und Dir die Antworten dort anschauen? Da siehste wirklich die Byte-Werte und nicht irgendwelche (evtl. noch falsch konvertierten) Werte.

        Wenn Dir der Leser jedes mal andere Werte schickt, dann
        1. hat das entweder einen Sinn
        2. er ist kaputt
        3. du sollst nicht verstehen was da kommt

        Comment


        • #5
          Das mit dem Ablesen der Karte ist mein eigentliches Problem.
          Also, dass es immer wieder eine andere Reihnefolge ist, bzw dass auch noch andere Zeichen dazukommen.
          Da dachte ich dann, dass ich vielleicht etwas am Programmcode ändern kann, um womöglich den Port anders auslesen zu können. Eine andere Funktion des SerialPorts oder ähnliches.

          Habe es auch mit dem Debugger gemacht, jedoch wenn ich mir in der Reigsterkarte "Lokal" die Variablen anschaue, sind da auch diese Zeichen.

          Beim ersten Einlesen der Karte mit dem Befehl "SerialPort1.ReadExisting" kommt raus :
          >?Z???????????????????_?m?????????m??????_?m?????? ???m??????

          Beim zweiten Einlesen :
          >?]??????????????????_?m?????????m??????_?m?????????m ??????

          Dies kommt beim ersten Einlesen mit dem Hyperterminal:
          S[SSm[S+3};;_Sm[S

          Dies beim zweiten :
          3[S#m[33m[3

          Wie es scheint, gibt es da einige Probleme mit dem Kartenleser oder ich muss noch irgendwo irgendwelche Einstellungen ändern.



          EDIT:

          Habe den Treiber neuistalliert.
          Ein weiteres Programm installiert.
          BaudRate des SerialPorts auf 19200 erhöht.
          Jetzt funktioniert es.
          Danke für die Hilfe
          Mfg
          Zuletzt editiert von Mars0303; 13.01.2010, 13:59.

          Comment

          Working...
          X