Neuen Anhang hinzufügen

Du bist nicht autorisiert, Anhänge zu dieser Seite hochzuladen.

Diese Seite (Version-35) wurde zuletzt am 17-Mai-2011 10:56 von Administrator geändert.

Diese Seite wurde am 22-Jan-2010 16:18 von Administrator erstellt.

Du bist nicht autorisiert, diese Seite umzubenennen.

Du bist nicht autorisiert, diese Seite zu löschen.

Unterschiede zwischen Version und .

Zeile 56: 43 Zeilen hinzugefügt.
!Die Variable qst
Die Variable {{qst}} ist eine Control-Fassade auf den Fragebogen und ermöglicht das steuern des Fragebogens zur Laufzeit.
Es stehen folgende Methoden zur Verfügung:
%%prettify
{{{
// Definiert einen callback
public void pagecall(int page, String mode, String command);
// Setzt den Fragebogen auf diese Seite, Wert von -1 beendet den Fragebogen
public void jump(int page);
// Liefert die aktuelle Antwortstruktur
public UserAnswers getUserAnswers();
// Sucht eine Frage anhand des Kurzcodes im gesamten Fragebogen
public Question findQuestion(String code);
// Liefert die Seite, ermöglicht das Verändern der Seite zur Laufzeit
public QuestionairePage getQuestionairePage(int page);
// Liefert einen Evaluator
public QuestionaireEvaluator getEvaluator();
// Setzt eine globale Variable im Fragebogen
public void setVariable(String name, Object value);
// Liest eine globale Variable
public Object getVariable(String name);
// Setzt die Endeseite neu
public void setTargetURL(String targetURL);
// Liefert die aktuelle Sprache
public Locale getLocale();
// Speichert die UserAnswers Data
public void savePoint();
}}}
/%
In den Beispiel weiter unten wird die Benutzung der Methoden klar.
Zeile 58: Eine Zeile geändert.
!Fragebogen bei der Erstellung verändern
!Fragebogen bei der Instanziierung verändern
Zeile 94: Eine Zeile geändert.
QuestionairePage qp = qst.getQuestionairePage(5);
com.pilodata.formgen.QuestionairePage qp = qst.getQuestionairePage(5);
Zeile 109: 2 Zeilen geändert.
bm.addShuffledBlock(12, 15);
bm.shuffle(); // or bm.rotate();
bm.shuffle();
Zeile 115: 3 Zeilen geändert.
In diesem Beispiel werden die Seite 2, die Seiten 4-5 und die Seiten 12-15 als Blöcke definiert. Über {{bm.shuffle()}} werden diese Blöcke dann zufällig verwürfelt. Ein {{bm.rotate()}} würde die Blöcke wie ein Band rotieren.\\
Zusätzlich werden die Seiten 12 bis 15 über {{addShuffledBlock()}} innerhalb des Blockes zufällig angeordnet.\\
Es werden die ganzen Seiten vertauscht, so dass eine zugeordnete Seitenlogik erhalten bleibt.
In diesem Beispiel werden die Seite 2 und die Seiten 4-5 als Blöcke definiert. Über {{bm.shuffle()}} werden diese 2 Blöcke Blöcke dann zufällig verwürfelt.\\
Weitere Informationen zu den Möglichkeiten des BlockModifiers im eigenen Kapitel [BlockModifier].
Zeile 160: Eine Zeile hinzugefügt.
Zeile 120: Eine Zeile geändert.
__Beispiel 1__: Setzen von globalen Variablen
__Beispiel 1__: Setzen von globalen Variablen beim Einstieg
Zeile 124: 30 Zeilen geändert.
boolean nextPage(int currentPage, int nextPage) {
if(currentPage==0) {
try {
String ref = qst.getVariable("reference");
if (StringUtils.isNotEmpty(ref)) {
String [] splitValues = StringUtils.split(ref,"_");
qst.setVariable("reference", ref);
if (splitValues.length == 2 && StringUtils.isNotEmpty(splitValues [1]) && splitValues[1].length() >= 2) {
String price = StringUtils.substring(splitValues[1], 0 , 1);
String brand = StringUtils.substring(splitValues[1], 1 , 2);
qst.setVariable("price", price);
qst.setVariable("brand", brand);
} else {
qst.setVariable("price", "1");
qst.setVariable("brand", "1");
}
}
else {
qst.setVariable("price", "1");
qst.setVariable("brand", "1");
qst.setVariable("reference", "");
}
} catch (Exception e){
qst.setVariable("reference", ref);
qst.setVariable("price", "1");
qst.setVariable("brand", "1");
}
}
return true;
}
void start() {
// Get the "ref" http Parameter
String ref = qst.getVariable("reference");
// Check if not empty
if (StringUtils.isNotEmpty(ref)) {
// Set a global Variable
qst.setVariable("price", "abc");
}
}
Zeile 180: 43 Zeilen hinzugefügt.
__Beispiel 2__: Callback für einen Event setzen
%%prettify
{{{
void init() {
// Define a callback on exit of page 2
qst.pagecall(2, ON_EXIT, "page2()");
}
void page2() {
// Check for question "age"
if(condition.isAnswerSet("age","1") ) {
// Quit Questionnaire
qst.jump(-1);
}
if(condition.isAnswerSet("age","2") ) {
// Jump to page 4
qst.jump(4);
}
}
}}}
/%
Bei der Initialisierung des Fragebogens wird die Funktion {{page2()}} registriert. Diese wird beim Verlassen von Seite 2 aufgerufen. Weitere Informationen zu den einzelnen Events hier: [Control Skripte Callbacks].
__Beispiel 3__: Zwischenspeichern ''(ab Build 1511)''\\
Normalerweise wird man Fragebögen auf ''Speichern nach jeder Seite'' konfigurieren. Das kann beim Wiedereinstig in rotierten Seitenblöcken aber zu Problemen führen. Dazu kann man mit {{savePoint()}} im Skript kontrollieren, wann gespeichert wird. Dazu setut man im Fragebogen die Einstellung ''Speichern am Ende'' und bestimmt dann im Skript, wann Zwischengespeichert wird.
%%prettify
{{{
void init() {
// Define a callback on exit of page 2
qst.pagecall(2, ON_EXIT, "page2()");
}
void page2() {
qst.savePoint();
}
}}}
/%
Zeile 160: Eine Zeile gelöscht.
* Beispiele für "Jump"
Version Zuletzt geändert Größe Autor Änderungen Kommentar
35 17-Mai-2011 10:56 6,739 kB Administrator zur vorherigen
34 22-Mrz-2010 17:03 6,718 kB Administrator zur vorherigen | zur neuesten
33 22-Mrz-2010 17:02 6,707 kB Administrator zur vorherigen | zur neuesten
32 22-Mrz-2010 16:58 6,103 kB Administrator zur vorherigen | zur neuesten
31 22-Mrz-2010 16:57 6,033 kB Administrator zur vorherigen | zur neuesten
30 29-Jan-2010 15:14 4,84 kB Administrator zur vorherigen | zur neuesten
29 29-Jan-2010 15:11 4,971 kB Administrator zur vorherigen | zur neuesten
28 29-Jan-2010 15:10 5,066 kB Administrator zur vorherigen | zur neuesten
27 25-Jan-2010 16:12 5,068 kB Administrator zur vorherigen | zur neuesten
26 25-Jan-2010 16:12 5,092 kB Administrator zur vorherigen | zur neuesten
25 25-Jan-2010 16:09 4,875 kB Administrator zur vorherigen | zur neuesten
24 25-Jan-2010 16:05 5,551 kB Administrator zur vorherigen | zur neuesten
23 25-Jan-2010 16:00 5,547 kB Administrator zur vorherigen | zur neuesten
22 25-Jan-2010 15:54 6,282 kB Administrator zur vorherigen | zur neuesten
21 22-Jan-2010 17:07 5,195 kB Administrator zur vorherigen | zur neuesten
« Diese Seite (Version-35) wurde zuletzt am 17-Mai-2011 10:56 von Administrator geändert.