Unipark
Navigation
  • Forum
  • Registration
  • Login
Search

Forum › Forums › Unipark › Automatischen Zufallscode generieren lassen › Reply To: Automatischen Zufallscode generieren lassen

30. June 2022 at 19:50 #1355
Michael T
Guest

Ich gehöre nicht zu Unipark.

 

Ein Zufallscode würde das Risiko bieten, dass ein anderer Teilnehmer den gleichen Code zugewiesen bekommt – unwahrscheinlich, aber möglich, ist schließlich Zufall.

 

Die Software ordnet jedem Teilnehmer eine fortlaufende Nummer (lfdn) zu, diese ist für jeden Teilnehmer eindeutig. Das ist eine Systemvariable und muss nicht extra vorbereitet werden. Diese Nummer kannst du dem Teilnehmer anzeigen, indem du in einer Frage “#lfdn#” einfügst (ohne die Anführungszeichen), bei einer Teilnahme wird dann dort die echte Nummer angezeigt. In der Vorschau sollte dass immer “1” sein.

Allerdings gibt das auch eine grobe Übersicht darüber, wie viele Teilnehmer du bereits hattest (Abbrecher und Bots eingeschlossen). Das möchtest du vielleicht nicht unbedingt.

 

Ich würde zwar mit der LFDN arbeiten, allerdings würde ich diese nicht als Zahl darstellen, sondern Hexadezimal und mit einem beliebigen Verfahren modifizieren. Was dahinter steckt, ist zumindest schwer zu erraten. Umsetzen würde ich das wie folgt

1) Du legst auf eine benutzerdefinierte Text Variable an (c_0001)

2) Du erstellts auf der ersten Seite deiner Befragung einen Rekodierungstrigger. Ausführen: Direkt und in Vorschau

3) Als Rekodierungsziel wählst du die benutzerdefinierte Variable.

4) Als Inhalt gibst du folgendes an: LPAD(HEX(CRC32(‘#lfdn#’)), 8, ‘0’)

5) Den damit generierten Identifizierungscode kannst du in einer Frage mit “#c_0001#” anzeigen

 

Erklärung zu 4:

CRC32 berechnet eine Prüfsumme aus der übergebenen LFDN. Das Verfahren ist standardisiert.

HEX wandelt die Zahl, welche aus CRC32 herauskommt, in die hexadezimale Schreibweise um

LPAD fügt links so lange 0en an, bis die Zeichenkette 8 Zeichen enthält

 

Beispiel:

LFDN = 1

IDCODE = 83DCEFB7

 

Anmerkung:

Da ich quasi genau beschrieben habe, wie sich der Hexadezimalcode zusammensetzt und man die Codes so ausrechnen kann, würde ich dir noch zu einer kleinen Modifikation raten: Füge einen oder mehrere Buchstaben in die Berechnung ein. Wenn du also beispielsweise ein “abc” in die Berechnung einfügen willst, würde die Formel so aussehen:

LPAD(HEX(CRC32(‘abc#lfdn#’)), 8, ‘0’)

UNIPARK

QUICK LINKS

  • Registration
  • Login
  • Search
© Copyright 2025 UNIPARK