Hexacode einer Zugangskarte in eine Dezimalzahl umwandeln

  • Guten Tag,
    Ich befinde mich gerade in einem zweiwöchigen Praktikum und habe eine (für mich) schwierige Aufgabe bekommen. Ich soll für diesen Transponder: https://www.i-keys.de/de/USB-RFID-Reader/WT-USB-EM.html ein Programm schreiben, wo man den Hexacode einer Zugangskarte in eine Dezimalzahl umwandeln können soll.

    Zum Test hat diese Firma erstmal eine Karte bestellt, dessen Hexacode so aussieht: 04000ace4f

    Zu mir erstmal, ich habe heute von meinem "Chef" das Programm "AutoIT" empfohlen bekommen und soll auch damit arbeiten, habe in Sachen programmieren leider keine Grundkenntnisse und sollte mich nun damit befassen. Ich habe schon mehrere Tutorials zu den Grundlagen angeschaut, jedoch komme ich nicht weiter.

    Hier erstmal das, was ich bis jetzt hingeschrieben habe:
    MsgBox(64, "Willkommen!", "Scannen Sie im nächsten Schritt Ihre Zugangskarte ein!")

    InputBox("Zugangskartenscann", "Scannen Sie jetzt Ihre Zugangskarte ein!")

    MsgBox(64, "Erfolgreich eingescannt!", "Ihre Zugangskarte wurde erfolgreich eingescannt!")


    Zu dem Transponder und der Karte: Man zieht die Karte über den Stick und der Hexacode wird in eine beschreibbare Fläche reinkopiert (z.B. Editor, Googlesuche etc.). Sprich wie oben in die InputBox.

    Nun weiß ich leider nicht mehr weiter, was man alles hinschreiben muss, damit die Dezimalzahl ausgerechnet wird etc.
    Falls ich mich schon jetzt mit der InputBox vertan habe und etwas komplett anderes brauche, bin ich für Hilfe gerne offen.

    Es werden zum Schluss rund 50 verschiedene Karten dort eingescannt, das heißt das Programm sollte zu jedem Hexacode eine andere Dezimalzahl produzieren.

    Anstößige Kommentare sollten vermieden werden, z.B. wie dumm ich denn wäre, da ich sozusagen bei 0 angefangen habe und noch keine Ahnung habe. Danke

    Lg Ole, 15 Jahre alt.

  • Am Besten wäre es auch noch, wenn ein Hexacode ungültig ist beim einscannen, dass die Meldung "Zugangskarte erfolgreich eingescannt!" dann nicht erscheint, sondern soetwas wie "Zugang fehlgeschlagen!"
    Danke :)

  • Kurz: Wenn es als Rückgabewert von InputBox einliest erhälst du den Hexcode als Datentyp Zeichenkette (String). Also ein Texttyp.
    Diesen in einer Variable zwischenspeichern (also $sHexCode = Inputbox([...])).
    Die Umwandlung selbst ist dann einfach - dafür gibt es schon die Funktion Dec().

  • Das hier dürfte das sein, was du brauchst:


    Einfach über eine Funktion gehen und F1 drücken, dann öffnet sich die Hilfe zu dem Befehl, wo alles wichtige drinsteht.
    Das ist auch der Erste Anlaufpunkt, den du nutzen solltest :)

    MfG Kanashius

  • Und Oliver sollte mal seine Hausaufgaben machen....
    Ich hab auf den Link dieses USB-Readers geklickt, mir die Seite durchgelesen und bin nach einigen Sekunden darüber gestolpert:

    Code
    Dieser Code kann mit unserem Umrechnungsprogramm als Dezimalcode dargestellt oder als Passwortschutz in eigenen Programmen genutzt werden.
    Excel Umrechnungsprogramm HEXA hier downloaden.

    Es gibt also bereits eine komplette Anwendung zur Übertragung der Hexcodes in viele weitere Formate. Excel-Sheet runterladen, fertig. Da mache ich mir nicht mal die Mühe über die Programmierung einer eigenen Anwendung nachzudenken.

  • Hi,

    du kannst in AutoIt auch eigene Fenster erstellen, dies ist insbesondere praktisch wenn das Programm länger benützt werden soll, also in diesem fall mehrere Hex zahlen umgewandelt werden sollen.

    Wenn du dich länger mit AutoIt befassen möchtest kannst du dir hierzu eines der vielen GUI Tutoriale ansehen.
    Hier ein kleines Beispiel für eine eigene Grafische Oberfläche:

    (Alles hinter den ";" sind Kommentare)

    Vielleicht kannst du das Wissen in späteren Projekten brauchen.

    @Andy:
    Ich denke das soll ein Übungsprojekt sein um sich in die Materie reinzufinden.

    Er meinte, dass dieses Programm gut ist, um ein bisschen damit zurecht zu kommen

    mfg

    Zeitriss

    2 Mal editiert, zuletzt von Zeitriss (13. Juli 2016 um 19:43)

  • Andy: das ist ein Test was der Praktikant drauf hat, naja Google kennt er wenigstens. Ich hatte zu Zeiten ohne Internet einen Praktikant betreut, der ein Projekt in GWBasic lösen sollte, ich dachte es wäre nicht möglich. Aber mit kleinen Anweisungen, Übungsaufgaben hat er ohne jegliche GWBasic Erfahrung gezeigt, daß man auch damit lesbaren, für andere nachvollziehbaren Code erstellen kann. Die Übersetzung zwischen aus dem Kaufmannsdeutsch, habe am Anfang ich gemacht. Ob er Geld für sein Praktiumssemester bekommen hat weiß ich nicht, aber meinen Respekt hat er sich mehr als verdient.