Zufallsgenerator für Textbausteine
Liebe Community,
ich spiele gerade ein wenig mit random() herum, für mich ist dieser Bereich komplett neu, mein Code könnte demnach auch fehlerhaft sein, ich würde mich nicht zu sehr darauf versteifen, ggf. ist ein komplett neuer Ansatz passender. Ich schildere kurz das Szenario, ich freue mich auf Eure Ideen, mein Code vorab:
(Ganz wichtig, die Fragen sind etwas eigen formuliert z.B. "Sind Sie eher offen, gesellig oder zurückhaltend, ruhig?" A wäre dann immer das zuerst genannte und B das Zweite)
let befragungen := (select Befragung where 'Betreuungskräfte' = this);
let Anzeige := "";
for befragung in befragungen do
let frage := befragung.Fragen;
let antwortTyp := befragung.Auswahl;
let options := (select Antwortoptionen where Fragen = frage and Auswahl = antwortTyp);
if count(options) > 0 then
let index := floor(random() * count(options)) + 1;
let randomOption := item(options, index).Antwort;
Anzeige := Anzeige + randomOption + " "
end
end;
Anzeige
Der Code zeigt keinen Fehler an, gibt aber auch kein Ergebnis aus.
In der Tabelle "Betreuungskräfte" habe ich eine Untertabelle namens "Befragung" erstellt. In der Tabelle "Befragung" gibt es eine direkte Verknüpfung zu der Haupttabelle "Fragen". Hier verlinkt man dann einfach die entsprechende Frage z.B. Frage 1. Zudem gibt es ein Auswahlfeld "Auswahl" 1 = A und 2 = B. Die Tabelle "Fragen" besteht aus einem Textfeld, namens "Frage", wo die Frage formuliert wird, einem Auswahlfeld namens "Kategorie" (vorerst unwichtig) und einer Untertabelle namens "Antwortoptionen". In der Untertabelle "Antwortoptionen" finden sich theoretisch viele Datensätze mit verschiedenen Antworten, welches durch das Auswahlfeld namens "Auswahl" zugeordnet werden sollen, die Optionen sind hier auch wieder A = 1 und B = 2. Das zweite Feld in der Untertabelle lautet "Antwort", ein Textfeld mit entsprechender Antwortformulierung. Kurz der Hintergrund von Antwortoptionen: Nehmen wir an, ich hätte mich oben für A entschieden, dann soll die automatisch generierte Antwort nicht immer gleich lauten "Die Person ist eher offen, gesellig." Es gibt viele Datensätze, welche alles unterschiedlich formuliert sind, hier soll dann der Zufall entscheiden. Am Ende sieht dann jede Personenbeschreibung anders aus, obwohl die Antworten ursprünglich gleich waren.
6 Antworten
-
Hi Felix. Stell mal den Code am Anfang noch etwas um. Mirko
let me := this; let befragungen := (select Befragung where 'Betreuungskräfte' = me); ...
-
Im Script in F3 muß Zeile 16 geändert werden.
value3 := null
Content aside
- vor 4 MonatenZuletzt aktiv
- 6Antworten
- 66Ansichten
-
2
Folge bereits