Difference between revisions of "Question class"

From Catglobe Wiki
Jump to: navigation, search
Line 40: Line 40:
 
Question_loadQuestions({"Q2Single","Q3Multi","Q4Text"});
 
Question_loadQuestions({"Q2Single","Q3Multi","Q4Text"});
 
//then working with Q2Single, Q3Multi, Q4Text as normal
 
//then working with Q2Single, Q3Multi, Q4Text as normal
 +
</source>
 +
 +
<span style="color:#DF8621"> Question_saveQuestions </span>
 +
<source lang="javascript">
 +
QAS qas = new QAS (15723782, 0);
 +
qas.Save();
 +
qas.MakeCurrentQAS();
 +
number newQASId = qas.Id;
 +
Dictionary d = Question_loadQuestions ({"Q2Single","Q3Multi","Q4Text"}, new QAS (118108496));
 +
print(d);//{"Q2Single": 1, "Q3Multi": {True,False,False,True}, "Q4Text":  string test}
 +
Question_saveQuestions(d, new QAS (newQASId));
 +
print(Q2Single);//1
 +
print(Q3Multi);//{True,False,False,True}
 +
print(Q4Text);//string test
 
</source>
 
</source>

Revision as of 11:07, 20 June 2019

Question



Base class for all question types


Methods

  • object AsValue() - Convert the Question to plain object
  • string ToString() - The string representation of the object.

Properties

  • string ObjectTypeName { get; } - The name of the type of object.
  • TypeInformation TypeInformation { get; } - Get information about this class.

Static Methods

  • array Question_getLabelsOfLoadedQuestions() - Get labels of the questions that have been loaded in current session and might be saved upon completion
  • Dictionary Question_loadQuestions() - Load questions
  • Dictionary Question_loadQuestions(array questionLabels "Labels of the questions to load") - Load questions
  • Dictionary Question_loadQuestions(array questionLabels "Labels of the questions to load", QAS qas "Qas to load data from") - Load questions
  • Empty Question_saveQuestions(Dictionary questionData "Dictionary of labels and data", QAS qas "Qas to save data to") - Save questions
  • Empty Question_unloadAll() - Save and remove all loaded questions. Useful if a called script is expected to change current values. Only deletes those referenced directly through question variables.

Examples

Question_getLabelsOfLoadedQuestions

//run in questionnaire context
number a = Q2Single;
array b = Q3Multi;
string c = Q4Text;
//...
array loadedQuestions = Question_getLabelsOfLoadedQuestions();
print(loadedQuestions);//{Q2Single,Q3Multi,Q4Text}

Question_loadQuestions

//run in questionnaire context
//Add this line to the top of script to increase performance
Question_loadQuestions({"Q2Single","Q3Multi","Q4Text"});
//then working with Q2Single, Q3Multi, Q4Text as normal

Question_saveQuestions

QAS qas = new QAS (15723782, 0);
qas.Save();
qas.MakeCurrentQAS();
number newQASId = qas.Id;
Dictionary d = Question_loadQuestions ({"Q2Single","Q3Multi","Q4Text"}, new QAS (118108496));
print(d);//{"Q2Single": 1, "Q3Multi": {True,False,False,True}, "Q4Text":  string test}
Question_saveQuestions(d, new QAS (newQASId));
print(Q2Single);//1
print(Q3Multi);//{True,False,False,True}
print(Q4Text);//string test