x

Glavna poglavja

  1. LimeSurvey Cloud proti LimeSurvey CE
  2. LimeSurvey Cloud – Hitri vodnik
  3. LimeSurvey CE - Montaža
  4. Kako oblikovati dobro anketo (Vodnik)
  5. Začetek
  6. Konfiguracija LimeSurvey
  7. Uvod - Ankete
  8. Oglejte si nastavitve ankete
  9. Ogled menija ankete
  10. Oglejte si strukturo ankete
  11. Uvod - Vprašanja
  12. Uvod – skupine vprašanj
  13. Uvod – Ankete – Upravljanje
  14. Možnosti orodne vrstice ankete
  15. Večjezična anketa
  16. Vodnik za hitri začetek - ExpressionScript
  17. Napredne funkcije
  18. Splošna pogosta vprašanja
  19. Odpravljanje težav
  20. Rešitve
  21. Licenca
  22. Dnevnik sprememb različice
  23. Vtičniki – napredno
 Actions

ExpressionScript How-tos/sl: Difference between revisions

From LimeSurvey Manual

Maren.fritz (talk | contribs)
Created page with "Navodila za ExpressionScript"
 
Maren.fritz (talk | contribs)
Created page with "<center>Datoteka:em-nested-if-edit-screen.jpg</center>"
 
(83 intermediate revisions by the same user not shown)
Line 3: Line 3:




=Overview of what has been previously explained=
=Pregled prej razloženega=




If you have followed so far the structure of the LimeSurvey manual, it means that you already the [[ExpressionScript - Presentation#Key_Definitions|LimeSurvey terminology]]. Next, we covered expressions and variables in order to learn how to enhance our surveys. In the next part, we moved to the types and meanings of [[ExpressionScript - Presentation#Syntax Highlighting|syntax highlighting]] to learn how to correct syntax errors.  
Če ste do sedaj sledili strukturi priročnika LimeSurvey, to pomeni, da že poznate [[ExpressionScript - Presentation#Key_Definitions|LimeSurvey terminologijo]]. Nato smo obravnavali izraze in spremenljivke, da bi se naučili izboljšati naše ankete. V naslednjem delu smo prešli na vrste in pomene [[ExpressionScript - Presentation#Syntax Highlighting|označevanja sintakse]], da bi izvedeli, kako popraviti sintaksne napake.  


With these basic notions covered, we could move towards examples and explaining how expressions work within LimeSurvey.  
S temi osnovnimi pojmi bi se lahko pomaknili k primerom in razlagi, kako izrazi delujejo znotraj LimeSurvey.  




=Syntax Highlighting=
=Označevanje sintakse=




The following screenshots give examples, but do not show the values of the tooltips. A tooltip is an informative box which is displayed whenever you hover the mouse over any bold colored words.
Naslednji posnetki zaslona podajajo primere, vendar ne prikazujejo vrednosti namigov orodij. Namig za orodje je informativno polje, ki se prikaže vsakič, ko z miško premaknete nad katero koli krepko obarvano besedo.


Because of this syntax highlighting, it is very easy to compose correct expressions, even the ones that are complicated. Although the LimeSurvey team plans to try to build an Expression Builder GUI, you can use the existing syntax-highlighting to quickly identify and fix typos. You can also use the tooltips to validate the accuracy of your expressions (e.g., confirm you have selected the desired variable(s)).
Zaradi tega označevanja sintakse je zelo enostavno sestaviti pravilne izraze, tudi tiste, ki so zapleteni. Čeprav namerava ekipa LimeSurvey poskusiti zgraditi GUI Expression Builder, lahko uporabite obstoječe označevanje sintakse za hitro prepoznavanje in popravljanje tipkarskih napak. Uporabite lahko tudi namige za preverjanje natančnosti svojih izrazov (npr. potrdite, da ste izbrali želeno spremenljivko(e)).


In each of the examples, there are three columns:
V vsakem od primerov so trije stolpci:
#Source - this is the raw text that you would enter into the LimeSurvey question field
#Vir - to je neobdelano besedilo, ki bi ga vnesli v polje z vprašanji LimeSurvey
#Pretty Print - this is the syntax-highlighted equivalent of what you entered
#Lepo tiskanje - to je sintaktično označen ekvivalent tega, kar ste vnesli
#*Note that Expressions are shown with a tan background, but not surrounded by curly braces in this highlighting.
#*Upoštevajte, da so izrazi prikazani z rjavim ozadjem, vendar niso obdani z zavitimi oklepaji pri tem označevanju.
#*Since EM supports recursive substitution, showing curly braces in the highlighting would cause syntax errors
#*Ker EM podpira rekurzivno zamenjavo, bi prikaz zavitih oklepajev v označevanju povzročil sintaksne napake
#Result - this is the output generated when EM processes the source
#Rezultat - to je izhod, ustvarjen, ko EM obdela vir
#*Everything that can be properly substituted is
#*Vse, kar je mogoče pravilno nadomestiti, je
#*Expressions with errors are shown in-line, with syntax highlighting. Errors are surrounded by a red-lined box.
#*Izrazi z napakami so prikazani v vrstici, s označevanjem sintakse. Napake so obdane z rdeče obrobljenim poljem.




==Proper Syntax==
==Pravilna sintaksa==




You may find below examples of proper syntax:
Spodaj lahko najdete primere pravilne sintakse:
#Values: shows that known variables are color coded according to whether are set on the current page. Old-style INSERTANS:xxxx gets its own color-coding style
#Vrednosti: kaže, da so znane spremenljivke barvno označene glede na to, ali so nastavljene na trenutni strani. INSERTANS v starem slogu:xxxx dobi svoj lasten slog barvnega kodiranja
#Question Attributes: shows that dot notation can access some properties of questions
#Atributi vprašanja: kaže, da lahko zapis s pikami dostopa do nekaterih lastnosti vprašanj
#Math: shows that basic and complex calculations are supported
#Matematika: kaže, da so podprti osnovni in kompleksni izračuni
#TextProcessing: shows some of the available text-processing functions
#Obdelava besedila: prikazuje nekatere razpoložljive funkcije za obdelavo besedila
#Dates: shows two of the available date-related functions
#Datumi: prikazuje dve razpoložljivi funkciji, povezani z datumom
#Conditional: shows the usage of the if() function. The choices can be nested.
#Pogojno: prikazuje uporabo funkcije if(). Izbire je mogoče ugnezditi.
#Tailored paragraph: you can completely customize a report based upon prior values
#Prilagojeni odstavek: poročilo lahko popolnoma prilagodite na podlagi predhodnih vrednosti
#EM processes within strings: shows that it can do substitutions within strings. This example generates a tailored image name.
#EM procesi znotraj nizov: kaže, da lahko izvaja zamenjave znotraj nizov. Ta primer generira prilagojeno ime slike.
#EM doesn't process curly braces like these: shows that if the curly braces are escaped, or there is a white space between the expression and the curly braces, ES ignores the expression.
#EM ne obdeluje zavitih oklepajev, kot so ti: kaže, da če so zaviti oklepaji ubežni ali je med izrazom in zavitimi oklepaji prazen prostor, ES ignorira izraz.




<center>[[File:em-syntax-highlighting-1-v2.jpg]]</center>
<center>[[Datoteka:em-syntax-highlighting-1-v2.jpg]]</center>




==EM Syntax Containing Errors==
==Skladnja EM vsebuje napake==




Here are examples of common errors when typing ES expressions. Note that the tooltips provide additional information.
Tukaj so primeri pogostih napak pri tipkanju izrazov ES. Upoštevajte, da opisi orodij zagotavljajo dodatne informacije.
#Inline Javascript that forgot to add spaces after curly brace
#Inline Javascript, ki je pozabil dodati presledke za zavitim oklepajem
#*Since "document.write" appears right after a curly brace, EM thinks it is an expression, and red-boxes "document" and "write" since they are undefined variable and functions, respectively
#*Ker se "document.write" pojavi takoj za zavitim oklepajem, EM misli, da je izraz, in rdeče- polji "dokument" in "zapiši", ker sta nedefinirani spremenljivki oziroma funkciji
#Unknown/Misspelled variables, functions and operators
#Neznane/napačno črkovane spremenljivke, funkcije in operatorji
#*Here we forgot that we are using the variable name "gender" instead of "sex", but EM catches that error. It also red-boxes '++', since that is not a supported operator.
#*Tukaj smo pozabili, da uporabljamo ime spremenljivke "spol" namesto " spol", vendar EM ujame to napako. Prav tako označi '++' z rdečim poljem, ker to ni podprt operator.
#Warns if use = instead of eq, or perform value assignments
#Opozori, če uporabite = namesto eq ali izvedete dodelitev vrednosti
#*Note that the '=' and '+=' are in red text instead of black. If you hover the mouse over them, you will see warnings that you are assigning a value.
#*Upoštevajte, da sta '=' in '+=' so v rdečem besedilu namesto črnega. Če z miško premaknete nad njimi, boste videli opozorila, da dodeljujete vrednost.
#Wrong number of arguments for functions
#Napačno število argumentov za funkcije
#*if() takes 3 arguments, but it has been given 4, so hovering over the red-boxed "if" will explain the error and show the supported syntax
#*if() sprejme 3 argumente, vendar so mu bili dodeljeni 4, zato lebdite nad rdečim poljem "if" bo razložilo napako in prikazalo podprto sintakso
#*sum() takes an unlimited number of arguments, but we had a trailing comma before the closing parentheses, so that is red-boxed
#*sum() sprejme neomejeno število argumentov, vendar smo imeli pred zaključnim oklepajem končno vejico, tako da je rdeče polje
#Mismatched parentheses
#Neujemajoči se oklepaji
#*This is one of the most common errors when writing expressions.
#*To je ena najpogostejših napak pri pisanju izrazov.
#*This shows two examples of missing closing parentheses, and one example of having one too many closing parentheses.
#*To prikazuje dva primera manjkajočih oklepajev in en primer preveč zapirajočih oklepajev.
#Unsuported syntax
#Nepodprta sintaksa
#*If you use an operator or punctuation that ES does not support, it will red-box it.
#*Če uporabljate operator ali ločila, ki jih ES ne podpira, jih bo označil z rdečim poljem.
#Invalid assignments
#Neveljavne dodelitve
#*Some variables are readWrite and can have their values changed. Others are read-only.
#*Nekatere spremenljivke so readWrite in lahko spremenite njihove vrednosti. Druge so samo za branje.
#*If you try to change the value of a read-only variable, you can't. EM will red-box the attempt.
#*Če poskušate spremeniti vrednost spremenljivke samo za branje, ne morete. EM bo poskus označil z rdečim poljem.
#*If you try to assign a value to an equation or a string, you will also get an error
#*Če poskušate enačbi ali nizu dodeliti vrednost, boste prejeli tudi napako




<center>[[File:em-syntax-highlighting-errors-v2.jpg]]</center>
<center>[[Datoteka:em-syntax-highlighting-errors-v2.jpg]]</center>




=="Live" examples of Syntax Highlighting with active tooltips==
=="Živi" primeri označevanja sintakse z aktivnimi opisi orodij==




<table border="1">
<table border="1">
<tr><th>Source</th><th>Pretty Print</th><th>Result</th></tr><tr><td><b>Here is an example of OK syntax with tooltips</b><br>Hello {if(gender=='M','Mr.','Mrs.')} {surname}, it is now {date('g:i a',time())}. Do you know where your {sum(numPets,numKids)} children and pets are?
<tr><th> Vir</th><th> Lep tisk</th><th> Rezultat</th></tr><tr><td> <b>Tukaj je primer sintakse OK z opisi orodij</b><br> Pozdravljeni {if(gender=='M','Mr.','Mrs.')} {priimek}, zdaj je {datum('g:i a',time())}. Ali veste, kje so vaši {sum(numPets,numKids)} otroci in ljubljenčki?


</td><td><b>Here is an example of OK syntax with tooltips</b><br>Hello <span style="background-color: #eee8aa;"><span title="Excel-style if(test,result_if_true,result_if_false); if(test,result_if_true,result_if_false)" style="color: blue; font-weight: bold">if</span>(<span title="[java61764X1X5][G:2][Q:110]: What is your gender (male/female)?; value=M" style="color: green; font-weight: bold">gender</span> == <span title="" style="color: gray">'M'</span>,<span title="" style="color: gray">'Mr.'</span>,<span title="" style="color: gray">'Mrs.'</span>)</span> <span style="background-color: #eee8aa;"><span title="[java61764X1X1][G:1][Q:20]: What is your last/surname?; value=Smith" style="color: green; font-weight: bold">surname</span></span>, it is now <span style="background-color: #eee8aa;"><span title="Format a local date/time; string date(format [, timestamp=time()])" style="color: blue; font-weight: bold">date</span>(<span title="" style="color: gray">'g:i a'</span>,<span title="Return current UNIX timestamp; number time()" style="color: blue; font-weight: bold">time</span>())</span>. Do you know where your <span style="background-color: #eee8aa;"><span title="Calculate the sum of values in an array; number sum(arg1, arg2, ... argN)" style="color: blue; font-weight: bold">sum</span>(<span title="[java61764X1X4][G:2][Q:50]: How many pets do you have?; value=1" style="color: maroon; font-weight: bold">numPets</span>,<span title="[java61764X1X3][G:2][Q:40]: How many kids do you have?; value=2" style="color: green; font-weight: bold">numKids</span>)</span> children and pets are?
</td><td><b>Tukaj je primer sintakse OK z opisi orodij</b><br> Pozdravljeni, <span style="background-color: #eee8aa;"><span title="Excelov slog if(test,result_if_true,result_if_false); če(test,rezultat_če_true,rezultat_če_napačen)" style="color: blue; font-weight: bold">if</span> ( <span title="[java61764X1X5][G:2][Q:110]: Kateri je vaš spol (moški/ženski)?; vrednost=M" style="color: green; font-weight: bold">spol</span> == <span title="" style="color: gray">'M'</span> , <span title="" style="color: gray">'Mr.'</span> , <span title="" style="color: gray">'Mrs.'</span> )</span> <span style="background-color: #eee8aa;"><span title="[java61764X1X1][G:1][Q:20]: Kakšen je vaš priimek?; vrednost=Smith" style="color: green; font-weight: bold">priimek</span></span> , zdaj je <span style="background-color: #eee8aa;"><span title="Oblikujte lokalni datum/čas; niz datum (oblika [, časovni žig=čas()])" style="color: blue; font-weight: bold">datum</span> ( <span title="" style="color: gray">'g:i a'</span> , <span title="Vrni trenutni časovni žig UNIX; število čas()" style="color: blue; font-weight: bold">čas</span> ())</span> . Ali veste, kje so vaši <span style="background-color: #eee8aa;"><span title="Izračunajte vsoto vrednosti v matriki; vsota števil (arg1, arg2, ... argN)" style="color: blue; font-weight: bold">vsota</span> ( <span title="[java61764X1X4][G:2][Q:50]: Koliko hišnih ljubljenčkov imate?; vrednost=1" style="color: maroon; font-weight: bold">numPets</span> , <span title="[java61764X1X3][G:2][Q:40]: Koliko otrok imate?; vrednost=2" style="color: green; font-weight: bold">numKids</span> )</span> otrok in hišnih ljubljenčkov?


</td><td><b>Here is an example of OK syntax with tooltips</b><br>Hello <span id="LEMtailor_Q_40_1">Mr.</span> <span id="LEMtailor_Q_40_2">Smith</span>, it is now 6:07 am. Do you know where your <span id="LEMtailor_Q_40_4">3</span> children and pets are?
</td><td><b>Tukaj je primer sintakse OK z opisi orodij</b><br> Pozdravljeni, <span id="LEMtailor_Q_40_1">g.</span> <span id="LEMtailor_Q_40_2">Smith</span> , ura je zdaj 6:07. Ali veste, kje so vaši <span id="LEMtailor_Q_40_4">3</span> otroci in ljubljenčki?
</td></tr>
</td></tr>  
<tr><td><b>Here are common errors so you can see the tooltips</b><br>Variables used before they are declared: {notSetYet}<br>Unknown Function: {iff(numPets&gt;numKids,1,2)}<br>Unknown Variable: {sum(age,num_pets,numKids)}<br>Wrong # parameters: {sprintf()},{if(1,2)},{date()}<br>Assign read-only-vars:{TOKEN:ATTRIBUTE_1+=10},{name='Sally'}<br>Unbalanced parentheses: {pow(3,4},{(pow(3,4)},{pow(3,4))}
<tr><td> <b>Tukaj so pogoste napake, da si lahko ogledate namige orodij</b><br> Spremenljivke, uporabljene preden so deklarirane: {notSetYet}<br> Neznana funkcija: {iff(numPets>numKids,1,2)}<br> Neznana spremenljivka: {sum(age,num_pets,numKids)}<br> Napačni # parametri: {sprintf()},{if(1,2)},{date()}<br> Dodeli spremenljivke samo za branje:{TOKEN:ATTRIBUTE_1+=10},{name='Sally'}<br> Neuravnoteženi oklepaji: {pow(3,4},{(pow(3,4)},{pow(3,4))}


</td><td><b>Here are common errors so you can see the tooltips</b><br>Variables used before they are declared: <span style="background-color: #eee8aa;"><span title="This variable is not declared until a later page; Not a valid expression" style="border-style: solid; border-width: 2px; border-color: red;"><span title="This variable is not declared until a later page; Not a valid expression; [java61764X3X6][G:3][Q:200]: Who will win the next election?; value=?" style="color: #FF00FF ; font-weight: bold">notSetYet</span></span></span><br>Unknown Function: <span style="background-color: #eee8aa;"><span title="Undefined function" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Undefined function" style="color: blue; font-weight: bold">iff</span></span>(<span title="[java61764X1X4][G:2][Q:50]: How many pets do you have?; value=1" style="color: maroon; font-weight: bold">numPets</span> &gt; <span title="[java61764X1X3][G:2][Q:40]: How many kids do you have?; value=2" style="color: green; font-weight: bold">numKids</span>,1,2)</span><br>Unknown Variable: <span style="background-color: #eee8aa;"><span title="Calculate the sum of values in an array; number sum(arg1, arg2, ... argN)" style="color: blue; font-weight: bold">sum</span>(<span title="[java61764X1X2][G:2][Q:30]: How old are you?; value=45" style="color: green; font-weight: bold">age</span>,<span title="Undefined variable" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Undefined variable" style="color: red; font-weight: bold">num_pets</span></span>,<span title="[java61764X1X3][G:2][Q:40]: How many kids do you have?; value=2" style="color: green; font-weight: bold">numKids</span>)</span><br>Wrong # parameters: <span style="background-color: #eee8aa;"><span title="Function must have at least 1 argument(s); Not a valid expression" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Function must have at least 1 argument(s); Not a valid expression; Return a formatted string; string sprintf(format, arg1, arg2, ... argN)" style="color: blue; font-weight: bold">sprintf</span></span>()</span>,<span style="background-color: #eee8aa;"><span title="Function does not support that number of arguments: 2. Function supports this many arguments, where -1=unlimited: 3; Not a valid expression" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Function does not support that number of arguments: 2. Function supports this many arguments, where -1=unlimited: 3; Not a valid expression; Excel-style if(test,result_if_true,result_if_false); if(test,result_if_true,result_if_false)" style="color: blue; font-weight: bold">if</span></span>(1,2)</span>,<span style="background-color: #eee8aa;"><span title="Function does not support that number of arguments: 0. Function supports this many arguments, where -1=unlimited: 1,2; Not a valid expression" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Function does not support that number of arguments: 0. Function supports this many arguments, where -1=unlimited: 1,2; Not a valid expression; Format a local date/time; string date(format [, timestamp=time()])" style="color: blue; font-weight: bold">date</span></span>()</span><br>Assign read-only-vars:<span style="background-color: #eee8aa;"><span title="The value of this variable can not be changed; Not a valid expression" style="border-style: solid; border-width: 2px; border-color: red;"><span title="The value of this variable can not be changed; Not a valid expression; ; value=worker" style="color: #996600; font-weight: bold">TOKEN:ATTRIBUTE_1</span></span><span title="Assigning a new value to a variable" style="color: red; font-weight: bold">+=</span>10</span>,<span style="background-color: #eee8aa;"><span title="The value of this variable can not be changed; Not a valid expression" style="border-style: solid; border-width: 2px; border-color: red;"><span title="The value of this variable can not be changed; Not a valid expression; [java61764X1X1][G:1][Q:10]: What is your first/given name?; value=Peter" style="color: green; font-weight: bold">name</span></span><span title="Assigning a new value to a variable" style="color: red; font-weight: bold">=</span><span title="" style="color: gray">'Sally'</span></span><br>Unbalanced parentheses: <span style="background-color: #eee8aa;"><span title="Parentheses not balanced" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Parentheses not balanced; Exponential expression; number pow(base, exp)" style="color: blue; font-weight: bold">pow</span></span>(3,4</span>,<span style="background-color: #eee8aa;"><span title="Parentheses not balanced" style="border-style: solid; border-width: 2px; border-color: red;">(</span><span title="Exponential expression; number pow(base, exp)" style="color: blue; font-weight: bold">pow</span>(3,4)</span>,<span style="background-color: #eee8aa;"><span title="Exponential expression; number pow(base, exp)" style="color: blue; font-weight: bold">pow</span>(3,4)<span title="Extra right parentheses detected" style="border-style: solid; border-width: 2px; border-color: red;">)</span></span>
</td><td><b>Tukaj so pogoste napake, da si lahko ogledate namige orodij</b><br> Spremenljivke, uporabljene preden so deklarirane: <span style="background-color: #eee8aa;"><span title="Ta spremenljivka ni deklarirana do naslednje strani; Ni veljaven izraz" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Ta spremenljivka ni deklarirana do naslednje strani; Ni veljaven izraz; [java61764X3X6][G:3][Q:200]: Kdo bo zmagal na naslednjih volitvah?; vrednost=?" style="color: #FF00FF ; font-weight: bold">notSetYet</span></span></span><br> Neznana funkcija: <span style="background-color: #eee8aa;"><span title="Nedefinirana funkcija" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Nedefinirana funkcija" style="color: blue; font-weight: bold">iff</span></span> ( <span title="[java61764X1X4][G:2][Q:50]: Koliko hišnih ljubljenčkov imate?; vrednost=1" style="color: maroon; font-weight: bold">numPets</span> > <span title="[java61764X1X3][G:2][Q:40]: Koliko otrok imate?; vrednost=2" style="color: green; font-weight: bold">numKids</span> ,1,2)</span><br> Neznana spremenljivka: <span style="background-color: #eee8aa;"><span title="Izračunajte vsoto vrednosti v matriki; vsota števil (arg1, arg2, ... argN)" style="color: blue; font-weight: bold">vsota</span> ( <span title="[java61764X1X2][G:2][Q:30]: Koliko si star?; vrednost=45" style="color: green; font-weight: bold">age</span> , <span title="Nedefinirana spremenljivka" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Nedefinirana spremenljivka" style="color: red; font-weight: bold">num_pets</span></span> , <span title="[java61764X1X3][G:2][Q:40]: Koliko otrok imate?; vrednost=2" style="color: green; font-weight: bold">numKids</span> )</span><br> Napačni # parametri: <span style="background-color: #eee8aa;"><span title="Funkcija mora imeti vsaj 1 argument(e); Ni veljaven izraz" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Funkcija mora imeti vsaj 1 argument(e); Ni veljaven izraz; Vrne oblikovani niz; niz sprintf(format, arg1, arg2, ... argN)" style="color: blue; font-weight: bold">sprintf</span></span> ()</span> , <span style="background-color: #eee8aa;"><span title="Funkcija ne podpira tega števila argumentov: 2. Funkcija podpira toliko argumentov, kjer je -1=neomejeno: 3; Ni veljaven izraz" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Funkcija ne podpira tega števila argumentov: 2. Funkcija podpira toliko argumentov, kjer je -1=neomejeno: 3; Ni veljaven izraz; Excelov slog if(test,result_if_true,result_if_false); če(test,rezultat_če_true,rezultat_če_napačen)" style="color: blue; font-weight: bold">if</span></span> (1,2)</span> , <span style="background-color: #eee8aa;"><span title="Funkcija ne podpira tega števila argumentov: 0. Funkcija podpira toliko argumentov, kjer je -1=neomejeno: 1,2; Ni veljaven izraz" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Funkcija ne podpira tega števila argumentov: 0. Funkcija podpira toliko argumentov, kjer je -1=neomejeno: 1,2; Ni veljaven izraz; Oblikujte lokalni datum/čas; niz datum (oblika [, časovni žig=čas()])" style="color: blue; font-weight: bold">datum</span></span> ()</span><br> Dodeli spremenljivke samo za branje: <span style="background-color: #eee8aa;"><span title="Vrednosti te spremenljivke ni mogoče spremeniti; Ni veljaven izraz" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Vrednosti te spremenljivke ni mogoče spremeniti; Ni veljaven izraz; ; vrednost=delavec" style="color: #996600; font-weight: bold">TOKEN:ATTRIBUTE_1</span></span> <span title="Dodeljevanje nove vrednosti spremenljivki" style="color: red; font-weight: bold">+=</span> 10</span> , <span style="background-color: #eee8aa;"><span title="Vrednosti te spremenljivke ni mogoče spremeniti; Ni veljaven izraz" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Vrednosti te spremenljivke ni mogoče spremeniti; Ni veljaven izraz; [java61764X1X1][G:1][Q:10]: Kakšno je vaše ime/ime?; vrednost=Peter" style="color: green; font-weight: bold">ime</span></span> <span title="Dodeljevanje nove vrednosti spremenljivki" style="color: red; font-weight: bold">=</span> <span title="" style="color: gray">'Sally'</span></span><br> Neuravnoteženi oklepaji: <span style="background-color: #eee8aa;"><span title="Oklepaji niso uravnoteženi" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Oklepaji niso uravnoteženi; Eksponentni izraz; število pow(osnova, exp)" style="color: blue; font-weight: bold">pow</span></span> (3,4</span> , <span style="background-color: #eee8aa;"><span title="Oklepaji niso uravnoteženi" style="border-style: solid; border-width: 2px; border-color: red;">(</span> <span title="Eksponentni izraz; število pow(osnova, exp)" style="color: blue; font-weight: bold">pow</span> (3,4)</span> , <span style="background-color: #eee8aa;"><span title="Eksponentni izraz; število pow(osnova, exp)" style="color: blue; font-weight: bold">pow</span> (3,4) <span title="Zaznan dodatni desni oklepaj" style="border-style: solid; border-width: 2px; border-color: red;">)</span></span>


</td><td><b>Here are common errors so you can see the tooltips</b><br>Variables used before they are declared: <span id="LEMtailor_Q_40_5"><span style="background-color: #eee8aa;"><span title="This variable is not declared until a later page; Not a valid expression" style="border-style: solid; border-width: 2px; border-color: red;"><span title="This variable is not declared until a later page; Not a valid expression; [java61764X3X6][G:3][Q:200]: Who will win the next election?; value=?" style="color: #FF00FF ; font-weight: bold">notSetYet</span></span></span></span><br>Unknown Function: <span style="background-color: #eee8aa;"><span title="Undefined function" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Undefined function" style="color: blue; font-weight: bold">iff</span></span>(<span title="[java61764X1X4][G:2][Q:50]: How many pets do you have?; value=1" style="color: maroon; font-weight: bold">numPets</span> &gt; <span title="[java61764X1X3][G:2][Q:40]: How many kids do you have?; value=2" style="color: green; font-weight: bold">numKids</span>,1,2)</span><br>Unknown Variable: <span style="background-color: #eee8aa;"><span title="Calculate the sum of values in an array; number sum(arg1, arg2, ... argN)" style="color: blue; font-weight: bold">sum</span>(<span title="[java61764X1X2][G:2][Q:30]: How old are you?; value=45" style="color: green; font-weight: bold">age</span>,<span title="Undefined variable" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Undefined variable" style="color: red; font-weight: bold">num_pets</span></span>,<span title="[java61764X1X3][G:2][Q:40]: How many kids do you have?; value=2" style="color: green; font-weight: bold">numKids</span>)</span><br>Wrong # parameters: <span style="background-color: #eee8aa;"><span title="Function must have at least 1 argument(s); Not a valid expression" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Function must have at least 1 argument(s); Not a valid expression; Return a formatted string; string sprintf(format, arg1, arg2, ... argN)" style="color: blue; font-weight: bold">sprintf</span></span>()</span>,<span style="background-color: #eee8aa;"><span title="Function does not support that number of arguments: 2. Function supports this many arguments, where -1=unlimited: 3; Not a valid expression" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Function does not support that number of arguments: 2. Function supports this many arguments, where -1=unlimited: 3; Not a valid expression; Excel-style if(test,result_if_true,result_if_false); if(test,result_if_true,result_if_false)" style="color: blue; font-weight: bold">if</span></span>(1,2)</span>,<span style="background-color: #eee8aa;"><span title="Function does not support that number of arguments: 0. Function supports this many arguments, where -1=unlimited: 1,2; Not a valid expression" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Function does not support that number of arguments: 0. Function supports this many arguments, where -1=unlimited: 1,2; Not a valid expression; Format a local date/time; string date(format [, timestamp=time()])" style="color: blue; font-weight: bold">date</span></span>()</span><br>Assign read-only-vars:<span style="background-color: #eee8aa;"><span title="The value of this variable can not be changed; Not a valid expression" style="border-style: solid; border-width: 2px; border-color: red;"><span title="The value of this variable can not be changed; Not a valid expression; ; value=worker" style="color: #996600; font-weight: bold">TOKEN:ATTRIBUTE_1</span></span><span title="Assigning a new value to a variable" style="color: red; font-weight: bold">+=</span>10</span>,<span id="LEMtailor_Q_40_12"><span style="background-color: #eee8aa;"><span title="The value of this variable can not be changed; Not a valid expression" style="border-style: solid; border-width: 2px; border-color: red;"><span title="The value of this variable can not be changed; Not a valid expression; [java61764X1X1][G:1][Q:10]: What is your first/given name?; value=Peter" style="color: green; font-weight: bold">name</span></span><span title="Assigning a new value to a variable" style="color: red; font-weight: bold">=</span><span title="" style="color: gray">'Sally'</span></span></span><br>Unbalanced parentheses: <span style="background-color: #eee8aa;"><span title="Parentheses not balanced" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Parentheses not balanced; Exponential expression; number pow(base, exp)" style="color: blue; font-weight: bold">pow</span></span>(3,4</span>,<span style="background-color: #eee8aa;"><span title="Parentheses not balanced" style="border-style: solid; border-width: 2px; border-color: red;">(</span><span title="Exponential expression; number pow(base, exp)" style="color: blue; font-weight: bold">pow</span>(3,4)</span>,<span style="background-color: #eee8aa;"><span title="Exponential expression; number pow(base, exp)" style="color: blue; font-weight: bold">pow</span>(3,4)<span title="Extra right parentheses detected" style="border-style: solid; border-width: 2px; border-color: red;">)</span></span>
</td><td><b>Tukaj so pogoste napake, da si lahko ogledate namige orodij</b><br> Spremenljivke, uporabljene preden so deklarirane: <span id="LEMtailor_Q_40_5"><span style="background-color: #eee8aa;"><span title="Ta spremenljivka ni deklarirana do naslednje strani; Ni veljaven izraz" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Ta spremenljivka ni deklarirana do naslednje strani; Ni veljaven izraz; [java61764X3X6][G:3][Q:200]: Kdo bo zmagal na naslednjih volitvah?; vrednost=?" style="color: #FF00FF ; font-weight: bold">notSetYet</span></span></span></span><br> Neznana funkcija: <span style="background-color: #eee8aa;"><span title="Nedefinirana funkcija" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Nedefinirana funkcija" style="color: blue; font-weight: bold">iff</span></span> ( <span title="[java61764X1X4][G:2][Q:50]: Koliko hišnih ljubljenčkov imate?; vrednost=1" style="color: maroon; font-weight: bold">numPets</span> > <span title="[java61764X1X3][G:2][Q:40]: Koliko otrok imate?; vrednost=2" style="color: green; font-weight: bold">numKids</span> ,1,2)</span><br> Neznana spremenljivka: <span style="background-color: #eee8aa;"><span title="Izračunajte vsoto vrednosti v matriki; vsota števil (arg1, arg2, ... argN)" style="color: blue; font-weight: bold">vsota</span> ( <span title="[java61764X1X2][G:2][Q:30]: Koliko si star?; vrednost=45" style="color: green; font-weight: bold">age</span> , <span title="Nedefinirana spremenljivka" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Nedefinirana spremenljivka" style="color: red; font-weight: bold">num_pets</span></span> , <span title="[java61764X1X3][G:2][Q:40]: Koliko otrok imate?; vrednost=2" style="color: green; font-weight: bold">numKids</span> )</span><br> Napačni # parametri: <span style="background-color: #eee8aa;"><span title="Funkcija mora imeti vsaj 1 argument(e); Ni veljaven izraz" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Funkcija mora imeti vsaj 1 argument(e); Ni veljaven izraz; Vrne oblikovani niz; niz sprintf(format, arg1, arg2, ... argN)" style="color: blue; font-weight: bold">sprintf</span></span> ()</span> , <span style="background-color: #eee8aa;"><span title="Funkcija ne podpira tega števila argumentov: 2. Funkcija podpira toliko argumentov, kjer je -1=neomejeno: 3; Ni veljaven izraz" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Funkcija ne podpira tega števila argumentov: 2. Funkcija podpira toliko argumentov, kjer je -1=neomejeno: 3; Ni veljaven izraz; Excelov slog if(test,result_if_true,result_if_false); če(test,rezultat_če_true,rezultat_če_napačen)" style="color: blue; font-weight: bold">if</span></span> (1,2)</span> , <span style="background-color: #eee8aa;"><span title="Funkcija ne podpira tega števila argumentov: 0. Funkcija podpira toliko argumentov, kjer je -1=neomejeno: 1,2; Ni veljaven izraz" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Funkcija ne podpira tega števila argumentov: 0. Funkcija podpira toliko argumentov, kjer je -1=neomejeno: 1,2; Ni veljaven izraz; Oblikujte lokalni datum/čas; niz datum (oblika [, časovni žig=čas()])" style="color: blue; font-weight: bold">datum</span></span> ()</span><br> Dodeli spremenljivke samo za branje: <span style="background-color: #eee8aa;"><span title="Vrednosti te spremenljivke ni mogoče spremeniti; Ni veljaven izraz" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Vrednosti te spremenljivke ni mogoče spremeniti; Ni veljaven izraz; ; vrednost=delavec" style="color: #996600; font-weight: bold">TOKEN:ATTRIBUTE_1</span></span> <span title="Dodeljevanje nove vrednosti spremenljivki" style="color: red; font-weight: bold">+=</span> 10</span> , <span id="LEMtailor_Q_40_12"><span style="background-color: #eee8aa;"><span title="Vrednosti te spremenljivke ni mogoče spremeniti; Ni veljaven izraz" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Vrednosti te spremenljivke ni mogoče spremeniti; Ni veljaven izraz; [java61764X1X1][G:1][Q:10]: Kakšno je vaše ime/ime?; vrednost=Peter" style="color: green; font-weight: bold">ime</span></span> <span title="Dodeljevanje nove vrednosti spremenljivki" style="color: red; font-weight: bold">=</span> <span title="" style="color: gray">'Sally'</span></span></span><br> Neuravnoteženi oklepaji: <span style="background-color: #eee8aa;"><span title="Oklepaji niso uravnoteženi" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Oklepaji niso uravnoteženi; Eksponentni izraz; število pow(osnova, exp)" style="color: blue; font-weight: bold">pow</span></span> (3,4</span> , <span style="background-color: #eee8aa;"><span title="Oklepaji niso uravnoteženi" style="border-style: solid; border-width: 2px; border-color: red;">(</span> <span title="Eksponentni izraz; število pow(osnova, exp)" style="color: blue; font-weight: bold">pow</span> (3,4)</span> , <span style="background-color: #eee8aa;"><span title="Eksponentni izraz; število pow(osnova, exp)" style="color: blue; font-weight: bold">pow</span> (3,4) <span title="Zaznan dodatni desni oklepaj" style="border-style: solid; border-width: 2px; border-color: red;">)</span></span>


</td></tr>
</td></tr>
<tr><td><b>Here is some of the unsupported syntax</b><br>No support for '++', '--', '%',';': {min(++age, --age,age % 2);}<br>Nor '|', '&amp;', '^': {(sum(2 | 3,3 &amp; 4,5 ^ 6)}}<br>Nor arrays: {name[2], name['mine']}
<tr><td> <b>Tukaj je nekaj nepodprte sintakse</b><br> Ni podpore za '++', '--', '%',';': {min(++age, --age,age % 2);}<br> Niti '|', '&', '^': {(vsota(2 | 3,3 & 4,5 ^ 6)}}<br> Niti nizov: {name[2], name['moje']}
</td><td><b>Here is some of the unsupported syntax</b><br>No support for '++', '--', '%',';': <span style="background-color: #eee8aa;"><span title="Find lowest value; number min(arg1, arg2, ... argN)" style="color: blue; font-weight: bold">min</span>(<span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> ++ </span><span title="[java61764X1X2][G:2][Q:30]: How old are you?; value=45" style="color: green; font-weight: bold">age</span>,<span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> -- </span><span title="[java61764X1X2][G:2][Q:30]: How old are you?; value=45" style="color: green; font-weight: bold">age</span>,<span title="[java61764X1X2][G:2][Q:30]: How old are you?; value=45" style="color: green; font-weight: bold">age</span><span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> % </span>2)<span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> ; </span></span><br>Nor '|', '&amp;', '^': <span style="background-color: #eee8aa;">(<span title="Calculate the sum of values in an array; number sum(arg1, arg2, ... argN)" style="color: blue; font-weight: bold">sum</span>(2<span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> | </span>3,3<span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> &amp; </span>4,5<span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> ^ </span>6)</span>}<br>Nor arrays: <span style="background-color: #eee8aa;"><span title="[java61764X1X1][G:1][Q:10]: What is your first/given name?; value=Peter" style="color: green; font-weight: bold">name</span><span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> [ </span>2<span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> ] </span>,<span title="[java61764X1X1][G:1][Q:10]: What is your first/given name?; value=Peter" style="color: green; font-weight: bold">name</span><span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> [ </span><span title="" style="color: gray">'mine'</span><span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> ] </span></span>
</td><td> <b>Tukaj je nekaj nepodprte sintakse</b><br> Ni podpore za '++', '--', '%',';': <span style="background-color: #eee8aa;"><span title="Poiščite najnižjo vrednost; število min(arg1, arg2, ... argN)" style="color: blue; font-weight: bold">min</span> (<span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">++</span> <span title="[java61764X1X2][G:2][Q:30]: Koliko si star?; vrednost=45" style="color: green; font-weight: bold">starost</span> ,<span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">--</span> <span title="[java61764X1X2][G:2][Q:30]: Koliko si star?; vrednost=45" style="color: green; font-weight: bold">starost</span> , <span title="[java61764X1X2][G:2][Q:30]: Koliko si star?; vrednost=45" style="color: green; font-weight: bold">starost</span><span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">%</span> 2)<span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">;</span></span><br> Niti '|', '&', '^': <span style="background-color: #eee8aa;">( <span title="Izračunajte vsoto vrednosti v matriki; vsota števil (arg1, arg2, ... argN)" style="color: blue; font-weight: bold">vsota</span> (2<span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">|</span> 3,3<span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">&</span> 4,5<span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">^</span> 6)</span> }<br> Niti nizov: <span style="background-color: #eee8aa;"><span title="[java61764X1X1][G:1][Q:10]: Kakšno je vaše ime/ime?; vrednost=Peter" style="color: green; font-weight: bold">ime</span><span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">[</span> 2<span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">]</span> , <span title="[java61764X1X1][G:1][Q:10]: Kakšno je vaše ime/ime?; vrednost=Peter" style="color: green; font-weight: bold">ime</span><span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">[</span> <span title="" style="color: gray">'moje'</span><span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">]</span></span>


</td><td><b>Here is some of the unsupported syntax</b><br>No support for '++', '--', '%',';': <span style="background-color: #eee8aa;"><span title="Find lowest value; number min(arg1, arg2, ... argN)" style="color: blue; font-weight: bold">min</span>(<span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> ++ </span><span title="[java61764X1X2][G:2][Q:30]: How old are you?; value=45" style="color: green; font-weight: bold">age</span>,<span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> -- </span><span title="[java61764X1X2][G:2][Q:30]: How old are you?; value=45" style="color: green; font-weight: bold">age</span>,<span title="[java61764X1X2][G:2][Q:30]: How old are you?; value=45" style="color: green; font-weight: bold">age</span><span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> % </span>2)<span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> ; </span></span><br>Nor '|', '&amp;', '^': <span style="background-color: #eee8aa;">(<span title="Calculate the sum of values in an array; number sum(arg1, arg2, ... argN)" style="color: blue; font-weight: bold">sum</span>(2<span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> | </span>3,3<span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> &amp; </span>4,5<span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> ^ </span>6)</span>}<br>Nor arrays: <span style="background-color: #eee8aa;"><span title="[java61764X1X1][G:1][Q:10]: What is your first/given name?; value=Peter" style="color: green; font-weight: bold">name</span><span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> [ </span>2<span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> ] </span>,<span title="[java61764X1X1][G:1][Q:10]: What is your first/given name?; value=Peter" style="color: green; font-weight: bold">name</span><span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> [ </span><span title="" style="color: gray">'mine'</span><span title="Unsupported syntax" style="border-style: solid; border-width: 2px; border-color: red;"> ] </span></span>
</td><td><b>Tukaj je nekaj nepodprte sintakse</b><br> Ni podpore za '++', '--', '%',';': <span style="background-color: #eee8aa;"><span title="Poiščite najnižjo vrednost; število min(arg1, arg2, ... argN)" style="color: blue; font-weight: bold">min</span> (<span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">++</span> <span title="[java61764X1X2][G:2][Q:30]: Koliko si star?; vrednost=45" style="color: green; font-weight: bold">starost</span> ,<span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">--</span> <span title="[java61764X1X2][G:2][Q:30]: Koliko si star?; vrednost=45" style="color: green; font-weight: bold">starost</span> , <span title="[java61764X1X2][G:2][Q:30]: Koliko si star?; vrednost=45" style="color: green; font-weight: bold">starost</span><span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">%</span> 2)<span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">;</span></span><br> Niti '|', '&', '^': <span style="background-color: #eee8aa;">( <span title="Izračunajte vsoto vrednosti v matriki; vsota števil (arg1, arg2, ... argN)" style="color: blue; font-weight: bold">vsota</span> (2<span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">|</span> 3,3<span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">&</span> 4,5<span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">^</span> 6)</span> }<br> Niti nizov: <span style="background-color: #eee8aa;"><span title="[java61764X1X1][G:1][Q:10]: Kakšno je vaše ime/ime?; vrednost=Peter" style="color: green; font-weight: bold">ime</span><span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">[</span> 2<span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">]</span> , <span title="[java61764X1X1][G:1][Q:10]: Kakšno je vaše ime/ime?; vrednost=Peter" style="color: green; font-weight: bold">ime</span><span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">[</span> <span title="" style="color: gray">'moje'</span><span title="Nepodprta sintaksa" style="border-style: solid; border-width: 2px; border-color: red;">]</span></span>


</td></tr>
</td></tr>
Line 99: Line 99:




=Tailoring Examples (e.g. extending {INSERTANS:xxx})=
=Primeri prilagajanja (npr. razširitev {INSERTANS:xxx})=




=="Dear {Mr}/{Mrs} Smith..."==
=="Dragi {gospod}/{gospa} Smith ..."==




Use the if() function to conditionally choose whether to display 'Mr.' or 'Mrs.'.
S funkcijo if() pogojno izberite, ali želite prikazati 'Mr.' ali 'gospa'.


The syntax is if(test,do_if_true,do_if_false).
Sintaksa je if(test,do_if_true,do_if_false).


{|
{|
|#||Code||Question||Type
|#||Koda||Vprašanje||Tip
|-
|-
|1||gender||What is your gender?||Gender
|1||spol||Kakšen je vaš spol?||Spol
|-
|-
|2||example1||Dear {if(gender=='M','Mr.','Mrs.')} Smith, ...||Long free text
|2| |example1||Spoštovani {if(gender=='M','Mr.','Mrs.')} Smith, ...||Dolgo prosto besedilo
|}
|}


Line 121: Line 121:




As it can be observed below, "Mr" and "Mrs" are tailored to what the respondent selects as answer to question "gender".
Kot je razvidno spodaj, sta "gospod" in "gospa" prilagojena temu, kar respondent izbere kot odgovor na vprašanje "spol".




<center>[[File:em-tailoring-q-ex1-usage.jpg]]
<center>[[Datoteka:em-tailoring-q-ex1-usage.jpg]]
[[File:em-tailoring-q-ex2-usage.jpg]]</center>
[[Datoteka:em-tailoring-q-ex2-usage.jpg]]</center>




=="Dear {Mr}/{Mrs} Smith..." in invitation email==
=="Dragi {Mr}/{Mrs} Smith ..." v e-pošti z vabilom==




You can use the example above in the invitation email using attributes from the token table. Use the if() function to choose whether 'Mr.' or 'Mrs.' should be used in the email.
Zgornji primer lahko uporabite v e-poštnem sporočilu z vabilom z uporabo atributov iz tabele žetonov. S funkcijo if() izberite, ali je 'Mr.' ali 'gospa' je treba uporabiti v e-pošti.




The syntax is "if(test,do_if_true,do_if_false)".
Sintaksa je "if(test,do_if_true,do_if_false)".


{|
{|
|#||attribute||value
|#||atribut||vrednost
|-
|-
|1||Last name||Smith
|1||Priimek||Smith
|-
|-
|2||Email address||test@test.com
|2||E-poštni naslov||test@test. com
|-
|-
|3||ATTRIBUTE_2||M
|3||ATTRIBUTE_2||M
Line 147: Line 147:




Text in invitation email:
Besedilo v e-pošti z vabilom:


<syntaxhighlight lang="php">
<syntaxhighlight lang="php">


Dear {if(ATTRIBUTE_2=='M','Mr','Mrs')} {LASTNAME},
Spoštovani {if(ATTRIBUTE_2=='M','Mr','Mrs')} {LASTNAME},


you have been invited to participate in a survey:
povabljeni ste bili k sodelovanju v anketi:


https:/...
https:/...
Line 163: Line 163:




email View:
e-poštni ogled:




Line 169: Line 169:




=Calculation / Assessment Examples=
=Primeri izračuna/ocenjevanja=




==Calculate assessment values at runtime and store the results in the survey data==
==Izračunajte vrednosti ocene med izvajanjem in shranite rezultate v podatke ankete==




This example uses all of EM's features, including Relevance, Tailoring, and the Equation question type.
Ta primer uporablja vse funkcije EM, vključno z ustreznostjo, prilagajanjem in vrsto vprašanja Equation.


It also shows that all of them are JavaScript-enabled, so if you have these features on a page, it will dynamically change as people set and change their answers.
Prav tako kaže, da imajo vsi omogočen JavaScript, tako da če imate te funkcije na strani, se bo ta dinamično spreminjala, ko bodo ljudje nastavljali in spreminjali svoje odgovore.


{|
{|
|#||Code||Question||Type||Relevance
|#||Koda||Vprašanje||Tip||Ustreznost
|-
|-
|1||numKids||How many children do you have?||Numerical input||1
|1||numKids||Koliko otrok imate?||Številski vnos||1
|-
|-
|2||kid1||How old is your first child?||Numerical input||numKids >= 1
|2||kid1||Koliko je star vaš prvi otrok?||Številski vnos||numKids >= 1
|-
|-
|3||kid2||How old is your second child?||Numerical input||numKids >= 2
|3||kid2||Koliko je star vaš drugi otrok otrok?||Številski vnos||numKids >= 2
|-
|-
|4||kid3||How old is your third child?||Numerical input||numKids >= 3
|4||kid3||Koliko je star vaš tretji otrok?||Numerical input||numKids >= 3
|-
|-
|5||kid4||How old is your fourth child?||Numerical input||numKids >= 4
|5||kid4||Koliko je star vaš četrti otrok?||Številski vnos||numKids >= 4
|-
|-
|6||sumKidAges||{sum(kid1.NAOK,kid2.NAOK,kid3.NAOK,kid4.NAOK)}||Equation||1
|6||sumKidAges||{sum(kid1.NAOK,kid2. NAOK,otrok3.NAOK,otrok4.NAOK)}||Enačba||1
|-
|-
|7||kidSummary||You said that you have {numKids}. {if(numKids==1,'child','children')}. {if(numKids>1,implode(' ','The sum of ages of your first ',min(numKids,4),' kids is ',sumKidAges,'.'),' ')}||Text display||1
|7||otrokPovzetek||Rekli ste, da imate {numKids}. {if(numKids==1,'child','children')}. {if(numKids>1,implode(' ','Vsota starosti vaših prvih ',min(numKids,4),' otrok je ',sumKidAges,'.'),' ')}||Prikaz besedila| |1
|}
|}




To download this example, please click on the following link: [[Media:Assessments_survey_example.zip|Assessments_survey_example]].
Za prenos tega primera kliknite naslednjo povezavo: [[Media:Assessments_survey_example.zip|Assessments_survey_example]].




You may find below screenshots of representative questions. As you can see, EM syntax-highlights all fields that might contain tailoring. Here, you see examples of syntax-highlighting Relevance, the Equation question type, and substitutions within a question. You can also use substitutions within Help, Group header display, Welcome message, and End message.
Spodaj lahko najdete posnetke zaslona reprezentativnih vprašanj. Kot lahko vidite, sintaksa EM označuje vsa polja, ki lahko vsebujejo prilagajanje. Tukaj vidite primere ustreznosti označevanja sintakse, vrsto vprašanja Enačba in zamenjave znotraj vprašanja. Uporabite lahko tudi zamenjave v Pomoči, Prikazu glave skupine, Pozdravnem sporočilu in Končnem sporočilu.


In the next example, since the relevance is {numKids >= 2), the question will only be visible if the respondent reports that she has at least two children.
Ker je relevantnost v naslednjem primeru {numKids >= 2), bo vprašanje vidno le, če anketiranka navede, da ima vsaj dva otroka.




Line 209: Line 209:




Below, you may observe that each variable has the .NAOK suffix attached to it. This is because of how EM supports cascading relevance. If you did not have .NAOK, then the sum would only be computed if the person said she has 4 children (e.g., if all of the variables are relevant). The usage of .NAOK means that we want to compute the sum even if all or some of the variables are irrelevant (e.g., "Not Applicable" (NA) is alright (OK)).
Spodaj lahko opazite, da ima vsaka spremenljivka pripono .NAOK. To je zato, ker EM podpira kaskadno ustreznost. Če ne bi imeli .NAOK, bi bila vsota izračunana samo, če bi oseba rekla, da ima 4 otroke (npr. če so vse spremenljivke ustrezne). Uporaba .NAOK pomeni, da želimo izračunati vsoto, tudi če so vse ali nekatere spremenljivke nepomembne (npr. "Ni uporabno" (NA) je v redu (OK)).


However, the .NAOK attribute only affects whether variables are passed into EM. If the respondent initially says she has 3 children, and enters ages for each, then changes her mind and says she has 2, we don't want to see the sum of the 3 entered values - since the third child is "not applicable" in our case anymore:
Vendar pa atribut .NAOK vpliva le na to, ali so spremenljivke posredovane v EM. Če anketiranec najprej reče, da ima 3 otroke, in za vsakega vnese starost, nato pa si premisli in reče, da ima 2, ne želimo videti vsote 3 vnesenih vrednosti – ker tretji otrok "ni ustrezen" v našem primeru več:




<center>[[File:em-tailoring2-q-sumKidAges.jpg]]</center>
<center>[[Datoteka:em-tailoring2-q-sumKidAges.jpg]]</center>




Each separate Expression is color coded with a tan background. As you can see, there are three separate Expressions here. The last one contains a message that is conditionally shown only if the person has more than one child.
Vsak ločen izraz je barvno kodiran z rjavim ozadjem. Kot lahko vidite, so tukaj trije ločeni izrazi. Zadnja vsebuje sporočilo, ki se pogojno prikaže le, če ima oseba več kot enega otroka.




<center>[[File:em-tailoring2-q-kidSummary.jpg]]</center>
<center>[[Datoteka:em-tailoring2-q-kidSummary.jpg]]</center>




Now, here are screenshots of the survey in action.
Tukaj so posnetki zaslona ankete v akciji.


When you first visit the page, you see this. Note that is says "You have 0 '''children'''" instead of "You have 0 '''child'''".
Ko prvič obiščete stran, vidite to. Upoštevajte, da piše "Imate 0 '''otrok'''" namesto "Imate 0 '''otrok'''".




<center>[[File:em-tailoring2-s-0kids.jpg]]</center>
<center>[[Datoteka:em-tailoring2-s-0kids.jpg]]</center>




If I change the value for number of children to 1, the display instantly changes to this, even though it is on the same page:
Če spremenim vrednost za število otrok na 1, se zaslon takoj spremeni v to, čeprav je na isti strani:




<center>[[File:em-tailoring2-s-1kid.jpg]]</center>
<center>[[Datoteka:em-tailoring2-s-1kid.jpg]]</center>




Now notice that the grammar is correct: "You have 1 '''child'''".
Zdaj opazite, da je slovnica pravilna: "Imate 1 '''otroka''''".


Now I change the value for number of children to 3, and the display instantly changes to this.
Zdaj spremenim vrednost za število otrok na 3 in zaslon se takoj spremeni v to.


Notice that you now see the conditional message at the bottom:  "The sum of ages of your first 3 kids is 0.".
Opazite, da zdaj na dnu vidite pogojno sporočilo: "Vsota starosti vaših prvih 3 otrok je 0.".




</center>[[File:em-tailoring2-s-3kids.jpg]]</center>
</center>[[Datoteka:em-tailoring2-s-3kids.jpg]]</center>




Now I'll enter ages for my imaginary children, and I get this display, summing up their ages:
Zdaj bom vnesel starost svojih namišljenih otrok in dobil bom ta prikaz, ki povzema njihovo starost:




<center>[[File:em-tailoring2-s-3kids-sum.jpg]]</center>
<center>[[Datoteka:em-tailoring2-s-3kids-sum.jpg]]</center>




Again, the score and display updates instantly as I enter the values, so you can use this to show a running total of an Assessment Score.
Spet se rezultat in prikaz posodobita takoj, ko vnesem vrednosti, tako da lahko to uporabite za prikaz tekoče vsote ocene ocenjevanja.




Now, I change the value for the number of children to 2. The display has changed to this:
Sedaj spremenim vrednost za število otrok na 2. Prikaz se je spremenil v tole:




<center>[[File:em-tailoring2-s-2kids-sum.jpg]]</center>
<center>[[Datoteka:em-tailoring2-s-2kids-sum.jpg]]</center>




Notice that although I had entered a value of 5.5 for the third child, the report now only sums the values of my first 2 children.
Upoštevajte, da čeprav sem za tretjega otroka vnesel vrednost 5,5, poročilo sedaj sešteva samo vrednosti mojih prvih 2 otrok.


The reason for this is that the 3rd value is now irrelevant, and irrelevant values are actively ignored by EM.
Razlog za to je, da je tretja vrednost zdaj nepomembna, nepomembne vrednosti pa EM aktivno ignorira.


If I were to change the number of kids back to 3, I would see the value of 5.5 I entered again. So, I don't lose any information I enter on the page.
Če bi spremenil število otrok nazaj na 3, bi znova videl vrednost 5,5, ki sem jo vnesel. Tako ne izgubim nobenih informacij, ki jih vnesem na stran.


However, if I navigate to the Next or Previous page, all irrelevant values will be NULLed out in the session and in the database. So, if I were to keep the value at 2, go to the next page, and then come back and state that I actually have 3 kids, I would no longer see the age of 5.5.
Vendar, če se pomaknem na naslednjo ali prejšnjo stran, bodo vse nepomembne vrednosti v seji in v zbirki podatkov izničene. Torej, če bi obdržal vrednost 2, šel na naslednjo stran in se nato vrnil in izjavil, da imam dejansko 3 otroke, ne bi več videl starosti 5,5.




==Enter data and see a dynamically changing report of what was entered on the same page==
==Vnesite podatke in si oglejte dinamično spreminjajoče se poročilo o tem, kaj je bilo vneseno na isti strani==




This example presents the Tailoring process within LimeSurvey.
Ta primer predstavlja postopek prilagajanja znotraj LimeSurvey.


To download this example, click on the following link: [[Media:Dynamic_change_of_the_report_when_data_is_entered_on_the_same_page_survey.zip|Dynamic changes survey example]].
Če želite prenesti ta primer, kliknite naslednjo povezavo: [[Media:Dynamic_change_of_the_report_when_data_is_entered_on_the_same_page_survey.zip|Primer ankete o dinamičnih spremembah]].


Here is what the page looks like initially. You only see the question asking what city you live in:
Tukaj je videti stran na začetku. Vidite samo vprašanje, v katerem mestu živite:




<center>[[File:em-on_page_report-usage-1.jpg]]</center>
<center>[[Datoteka:em-on_page_report-usage-1.jpg]]</center>




Once you start to enter an answer, the tailoring process is also starting:
Ko začnete vnašati odgovor, se začne tudi postopek prilagajanja:


<center>[[File:em-on_page_report-usage-2.jpg]]</center>
<center>[[Datoteka:em-on_page_report-usage-2.jpg]]</center>




As you enter answers, the table at the bottom of the page is updated to show the answer codes and values of your responses.
Ko vnesete odgovore, se tabela na dnu strani posodobi, da prikaže kode odgovorov in vrednosti vaših odgovorov.




<center>[[File:em-on_page_report-usage-3.jpg]]</center>
<center>[[Datoteka:em-on_page_report-usage-3.jpg]]</center>


=Common Debugging Examples=
=Pogosti primeri odpravljanja napak=




==Nested if() Statements (Conditional Logic)==
==Ugnezdeni stavki if() (pogojna logika)==




EM supports the function "if(test,do_if_true,do_if_false)" so that you can perform conditional logic or tailoring. This function can be nested to do the equivalent of "if { } else if { } else {  }". EM will let you know if the parentheses are not balanced (e.g., you are missing a closing right parenthesis), or if you have any extra right parentheses. You should try to count the parentheses as you compose long nested if statements, save it, check for syntax errors, and fix them if any are found. Let's check together the below example.  
EM podpira funkcijo "if(test,do_if_true,do_if_false)", tako da lahko izvajate pogojno logiko ali prilagajanje. To funkcijo je mogoče ugnezditi, da naredi enakovredno "if { } else if { } else { }". EM vas bo obvestil, če oklepaji niso uravnoteženi (npr. manjka desni zaključni oklepaj) ali če imate dodatne desne oklepaje. Poskusite prešteti oklepaje, ko sestavljate dolge ugnezdene stavke if, jih shranite, preverite skladenjske napake in jih popravite, če jih najdete. Skupaj preverimo spodnji primer.  


The group of questions used below can be accessed from here: [[Media:Example_tailoring_group11.zip|Tailoring survey example.lsg]]
Do skupine vprašanj, uporabljenih spodaj, lahko dostopate tukaj: [[Media:Example_tailoring_group11.zip|Tailoring survey example.lsg]]




First, with nothing entered, you just see "Hello."
Prvič, ko ni vnesenega ničesar, vidite le »Pozdravljeni«.




<center>[[File:em-nested-if-blank.jpg]]</center>
<center>[[Datoteka:em-nested-if-blank.jpg]]</center>




If you enter a name, it says, "Hello {name}."
Če vnesete ime, piše "Pozdravljeni {name}."




<center>[[File:em-nested-if-name.jpg]]</center>
<center>[[Datoteka:em-nested-if-name.jpg]]</center>




If you enter an age, you get a tailored message, depending upon whether you are a pre-school-age child or not:
Če vnesete starost, prejmete prilagojeno sporočilo glede na to, ali ste predšolski otrok ali ne:




<center>[[File:em-nested-if-toddler.jpg]]</center>
<center>[[Datoteka:em-nested-if-toddler.jpg]]</center>




School aged, teenager, or adult. Here is a  teenager who wants to be anonymous:
Šolo, najstnik ali odrasel. Tukaj je najstnik, ki želi biti anonimen:




<center>[[File:em-nested-if-teenager.jpg]]</center>
<center>[[Datoteka:em-nested-if-teenager.jpg]]</center>




Here is the logic file of the group. As you can see in the "if-based" question, there are nested if statements based upon the person's age.
Tukaj je logična datoteka skupine. Kot lahko vidite v vprašanju "če temelji", obstajajo ugnezdeni stavki če glede na starost osebe.




<center>[[File:em-nested-if-logic-file.jpg]]</center>
<center>[[Datoteka:em-nested-if-logic-file.jpg]]</center>




When you are originally editing this question, it is likely that at some point, you will have the wrong number of parentheses. Here's what happens if you have too few:
Ko prvotno urejate to vprašanje, je verjetno, da boste na neki točki imeli napačno število oklepajev. Evo, kaj se zgodi, če jih imate premalo:




<center>[[File:em-nested-if-missing-closing-paren.jpg]]</center>
<center>[[Datoteka:em-nested-if-missing-closing-paren.jpg]]</center>




If you hover over the word "if", which is surrounded by a red box, it says "Parentheses not balanced". In this case, there should be four closing parentheses after "already an adult!", but there are only three.
Če miškin kazalec premaknete nad besedo »če«, ki je obdana z rdečim poljem, piše »Oklepaji niso uravnoteženi«. V tem primeru bi morali biti za "že odrasel!" štirje zaključni oklepaji, vendar so le trije.


If, on the other hand, you have an extra right parenthesis, it will be surrounded by a red box, like this:
Če imate po drugi strani dodaten desni oklepaj, bo obkrožen z rdečim poljem, kot je ta:




<center>[[File:em-nestedd-if-extra-right-paren.jpg]]</center>
<center>[[Datoteka:em-nestedd-if-extra-right-paren.jpg]]</center>




When you are actually editing the question, the question looks like this:
Ko dejansko urejate vprašanje, je vprašanje videti takole:




<center>[[File:em-nested-if-edit-screen.jpg]]</center>
<center>[[Datoteka:em-nested-if-edit-screen.jpg]]</center>

Latest revision as of 08:35, 19 December 2023


Pregled prej razloženega

Če ste do sedaj sledili strukturi priročnika LimeSurvey, to pomeni, da že poznate LimeSurvey terminologijo. Nato smo obravnavali izraze in spremenljivke, da bi se naučili izboljšati naše ankete. V naslednjem delu smo prešli na vrste in pomene označevanja sintakse, da bi izvedeli, kako popraviti sintaksne napake.

S temi osnovnimi pojmi bi se lahko pomaknili k primerom in razlagi, kako izrazi delujejo znotraj LimeSurvey.


Označevanje sintakse

Naslednji posnetki zaslona podajajo primere, vendar ne prikazujejo vrednosti namigov orodij. Namig za orodje je informativno polje, ki se prikaže vsakič, ko z miško premaknete nad katero koli krepko obarvano besedo.

Zaradi tega označevanja sintakse je zelo enostavno sestaviti pravilne izraze, tudi tiste, ki so zapleteni. Čeprav namerava ekipa LimeSurvey poskusiti zgraditi GUI Expression Builder, lahko uporabite obstoječe označevanje sintakse za hitro prepoznavanje in popravljanje tipkarskih napak. Uporabite lahko tudi namige za preverjanje natančnosti svojih izrazov (npr. potrdite, da ste izbrali želeno spremenljivko(e)).

V vsakem od primerov so trije stolpci:

  1. Vir - to je neobdelano besedilo, ki bi ga vnesli v polje z vprašanji LimeSurvey
  2. Lepo tiskanje - to je sintaktično označen ekvivalent tega, kar ste vnesli
    • Upoštevajte, da so izrazi prikazani z rjavim ozadjem, vendar niso obdani z zavitimi oklepaji pri tem označevanju.
    • Ker EM podpira rekurzivno zamenjavo, bi prikaz zavitih oklepajev v označevanju povzročil sintaksne napake
  3. Rezultat - to je izhod, ustvarjen, ko EM obdela vir
    • Vse, kar je mogoče pravilno nadomestiti, je
    • Izrazi z napakami so prikazani v vrstici, s označevanjem sintakse. Napake so obdane z rdeče obrobljenim poljem.


Pravilna sintaksa

Spodaj lahko najdete primere pravilne sintakse:

  1. Vrednosti: kaže, da so znane spremenljivke barvno označene glede na to, ali so nastavljene na trenutni strani. INSERTANS v starem slogu:xxxx dobi svoj lasten slog barvnega kodiranja
  2. Atributi vprašanja: kaže, da lahko zapis s pikami dostopa do nekaterih lastnosti vprašanj
  3. Matematika: kaže, da so podprti osnovni in kompleksni izračuni
  4. Obdelava besedila: prikazuje nekatere razpoložljive funkcije za obdelavo besedila
  5. Datumi: prikazuje dve razpoložljivi funkciji, povezani z datumom
  6. Pogojno: prikazuje uporabo funkcije if(). Izbire je mogoče ugnezditi.
  7. Prilagojeni odstavek: poročilo lahko popolnoma prilagodite na podlagi predhodnih vrednosti
  8. EM procesi znotraj nizov: kaže, da lahko izvaja zamenjave znotraj nizov. Ta primer generira prilagojeno ime slike.
  9. EM ne obdeluje zavitih oklepajev, kot so ti: kaže, da če so zaviti oklepaji ubežni ali je med izrazom in zavitimi oklepaji prazen prostor, ES ignorira izraz.


Datoteka:em-syntax-highlighting-1-v2.jpg


Skladnja EM vsebuje napake

Tukaj so primeri pogostih napak pri tipkanju izrazov ES. Upoštevajte, da opisi orodij zagotavljajo dodatne informacije.

  1. Inline Javascript, ki je pozabil dodati presledke za zavitim oklepajem
    • Ker se "document.write" pojavi takoj za zavitim oklepajem, EM misli, da je izraz, in rdeče- polji "dokument" in "zapiši", ker sta nedefinirani spremenljivki oziroma funkciji
  2. Neznane/napačno črkovane spremenljivke, funkcije in operatorji
    • Tukaj smo pozabili, da uporabljamo ime spremenljivke "spol" namesto " spol", vendar EM ujame to napako. Prav tako označi '++' z rdečim poljem, ker to ni podprt operator.
  3. Opozori, če uporabite = namesto eq ali izvedete dodelitev vrednosti
    • Upoštevajte, da sta '=' in '+=' so v rdečem besedilu namesto črnega. Če z miško premaknete nad njimi, boste videli opozorila, da dodeljujete vrednost.
  4. Napačno število argumentov za funkcije
    • if() sprejme 3 argumente, vendar so mu bili dodeljeni 4, zato lebdite nad rdečim poljem "if" bo razložilo napako in prikazalo podprto sintakso
    • sum() sprejme neomejeno število argumentov, vendar smo imeli pred zaključnim oklepajem končno vejico, tako da je rdeče polje
  5. Neujemajoči se oklepaji
    • To je ena najpogostejših napak pri pisanju izrazov.
    • To prikazuje dva primera manjkajočih oklepajev in en primer preveč zapirajočih oklepajev.
  6. Nepodprta sintaksa
    • Če uporabljate operator ali ločila, ki jih ES ne podpira, jih bo označil z rdečim poljem.
  7. Neveljavne dodelitve
    • Nekatere spremenljivke so readWrite in lahko spremenite njihove vrednosti. Druge so samo za branje.
    • Če poskušate spremeniti vrednost spremenljivke samo za branje, ne morete. EM bo poskus označil z rdečim poljem.
    • Če poskušate enačbi ali nizu dodeliti vrednost, boste prejeli tudi napako


Datoteka:em-syntax-highlighting-errors-v2.jpg


"Živi" primeri označevanja sintakse z aktivnimi opisi orodij

Vir Lep tisk Rezultat
Tukaj je primer sintakse OK z opisi orodij
Pozdravljeni {if(gender=='M','Mr.','Mrs.')} {priimek}, zdaj je {datum('g:i a',time())}. Ali veste, kje so vaši {sum(numPets,numKids)} otroci in ljubljenčki?
Tukaj je primer sintakse OK z opisi orodij
Pozdravljeni, if ( spol == 'M' , 'Mr.' , 'Mrs.' ) priimek , zdaj je datum ( 'g:i a' , čas ()) . Ali veste, kje so vaši vsota ( numPets , numKids ) otrok in hišnih ljubljenčkov?
Tukaj je primer sintakse OK z opisi orodij
Pozdravljeni, g. Smith , ura je zdaj 6:07. Ali veste, kje so vaši 3 otroci in ljubljenčki?
Tukaj so pogoste napake, da si lahko ogledate namige orodij
Spremenljivke, uporabljene preden so deklarirane: {notSetYet}
Neznana funkcija: {iff(numPets>numKids,1,2)}
Neznana spremenljivka: {sum(age,num_pets,numKids)}
Napačni # parametri: {sprintf()},{if(1,2)},{date()}
Dodeli spremenljivke samo za branje:{TOKEN:ATTRIBUTE_1+=10},{name='Sally'}
Neuravnoteženi oklepaji: {pow(3,4},{(pow(3,4)},{pow(3,4))}
Tukaj so pogoste napake, da si lahko ogledate namige orodij
Spremenljivke, uporabljene preden so deklarirane: notSetYet
Neznana funkcija: iff ( numPets > numKids ,1,2)
Neznana spremenljivka: vsota ( age , num_pets , numKids )
Napačni # parametri: sprintf () , if (1,2) , datum ()
Dodeli spremenljivke samo za branje: TOKEN:ATTRIBUTE_1 += 10 , ime = 'Sally'
Neuravnoteženi oklepaji: pow (3,4 , ( pow (3,4) , pow (3,4) )
Tukaj so pogoste napake, da si lahko ogledate namige orodij
Spremenljivke, uporabljene preden so deklarirane: notSetYet
Neznana funkcija: iff ( numPets > numKids ,1,2)
Neznana spremenljivka: vsota ( age , num_pets , numKids )
Napačni # parametri: sprintf () , if (1,2) , datum ()
Dodeli spremenljivke samo za branje: TOKEN:ATTRIBUTE_1 += 10 , ime = 'Sally'
Neuravnoteženi oklepaji: pow (3,4 , ( pow (3,4) , pow (3,4) )
Tukaj je nekaj nepodprte sintakse
Ni podpore za '++', '--', '%',';': {min(++age, --age,age % 2);}
Niti '|', '&', '^': {(vsota(2 | 3,3 & 4,5 ^ 6)}}
Niti nizov: {name[2], name['moje']}
Tukaj je nekaj nepodprte sintakse
Ni podpore za '++', '--', '%',';': min (++ starost ,-- starost , starost% 2);
Niti '|', '&', '^': ( vsota (2| 3,3& 4,5^ 6) }
Niti nizov: ime[ 2] , ime[ 'moje']
Tukaj je nekaj nepodprte sintakse
Ni podpore za '++', '--', '%',';': min (++ starost ,-- starost , starost% 2);
Niti '|', '&', '^': ( vsota (2| 3,3& 4,5^ 6) }
Niti nizov: ime[ 2] , ime[ 'moje']


Primeri prilagajanja (npr. razširitev {INSERTANS:xxx})

"Dragi {gospod}/{gospa} Smith ..."

S funkcijo if() pogojno izberite, ali želite prikazati 'Mr.' ali 'gospa'.

Sintaksa je if(test,do_if_true,do_if_false).

# Koda Vprašanje Tip
1 spol Kakšen je vaš spol? Spol
|example1 Spoštovani {if(gender=='M','Mr.','Mrs.')} Smith, ... Dolgo prosto besedilo



Kot je razvidno spodaj, sta "gospod" in "gospa" prilagojena temu, kar respondent izbere kot odgovor na vprašanje "spol".


Datoteka:em-tailoring-q-ex1-usage.jpg Datoteka:em-tailoring-q-ex2-usage.jpg


"Dragi {Mr}/{Mrs} Smith ..." v e-pošti z vabilom

Zgornji primer lahko uporabite v e-poštnem sporočilu z vabilom z uporabo atributov iz tabele žetonov. S funkcijo if() izberite, ali je 'Mr.' ali 'gospa' je treba uporabiti v e-pošti.


Sintaksa je "if(test,do_if_true,do_if_false)".

# atribut vrednost
1 Priimek Smith
2 E-poštni naslov test@test. com
3 ATTRIBUTE_2 M


Besedilo v e-pošti z vabilom:

Spoštovani {if(ATTRIBUTE_2=='M','Mr','Mrs')} {LASTNAME},

povabljeni ste bili k sodelovanju v anketi:

https:/...



e-poštni ogled:



Primeri izračuna/ocenjevanja

Izračunajte vrednosti ocene med izvajanjem in shranite rezultate v podatke ankete

Ta primer uporablja vse funkcije EM, vključno z ustreznostjo, prilagajanjem in vrsto vprašanja Equation.

Prav tako kaže, da imajo vsi omogočen JavaScript, tako da če imate te funkcije na strani, se bo ta dinamično spreminjala, ko bodo ljudje nastavljali in spreminjali svoje odgovore.

# Koda Vprašanje Tip Ustreznost
1 numKids Koliko otrok imate? Številski vnos 1
2 kid1 Koliko je star vaš prvi otrok? Številski vnos numKids >= 1
3 kid2 Koliko je star vaš drugi otrok otrok? Številski vnos numKids >= 2
4 kid3 Koliko je star vaš tretji otrok? Numerical input numKids >= 3
5 kid4 Koliko je star vaš četrti otrok? Številski vnos numKids >= 4
6 sumKidAges {sum(kid1.NAOK,kid2. NAOK,otrok3.NAOK,otrok4.NAOK)} Enačba 1
7 otrokPovzetek Rekli ste, da imate {numKids}. {if(numKids==1,'child','children')}. {if(numKids>1,implode(' ','Vsota starosti vaših prvih ',min(numKids,4),' otrok je ',sumKidAges,'.'),' ')} |1


Za prenos tega primera kliknite naslednjo povezavo: Assessments_survey_example.


Spodaj lahko najdete posnetke zaslona reprezentativnih vprašanj. Kot lahko vidite, sintaksa EM označuje vsa polja, ki lahko vsebujejo prilagajanje. Tukaj vidite primere ustreznosti označevanja sintakse, vrsto vprašanja Enačba in zamenjave znotraj vprašanja. Uporabite lahko tudi zamenjave v Pomoči, Prikazu glave skupine, Pozdravnem sporočilu in Končnem sporočilu.

Ker je relevantnost v naslednjem primeru {numKids >= 2), bo vprašanje vidno le, če anketiranka navede, da ima vsaj dva otroka.



Spodaj lahko opazite, da ima vsaka spremenljivka pripono .NAOK. To je zato, ker EM podpira kaskadno ustreznost. Če ne bi imeli .NAOK, bi bila vsota izračunana samo, če bi oseba rekla, da ima 4 otroke (npr. če so vse spremenljivke ustrezne). Uporaba .NAOK pomeni, da želimo izračunati vsoto, tudi če so vse ali nekatere spremenljivke nepomembne (npr. "Ni uporabno" (NA) je v redu (OK)).

Vendar pa atribut .NAOK vpliva le na to, ali so spremenljivke posredovane v EM. Če anketiranec najprej reče, da ima 3 otroke, in za vsakega vnese starost, nato pa si premisli in reče, da ima 2, ne želimo videti vsote 3 vnesenih vrednosti – ker tretji otrok "ni ustrezen" v našem primeru več:


Datoteka:em-tailoring2-q-sumKidAges.jpg


Vsak ločen izraz je barvno kodiran z rjavim ozadjem. Kot lahko vidite, so tukaj trije ločeni izrazi. Zadnja vsebuje sporočilo, ki se pogojno prikaže le, če ima oseba več kot enega otroka.


Datoteka:em-tailoring2-q-kidSummary.jpg


Tukaj so posnetki zaslona ankete v akciji.

Ko prvič obiščete stran, vidite to. Upoštevajte, da piše "Imate 0 otrok" namesto "Imate 0 otrok".


Datoteka:em-tailoring2-s-0kids.jpg


Če spremenim vrednost za število otrok na 1, se zaslon takoj spremeni v to, čeprav je na isti strani:


Datoteka:em-tailoring2-s-1kid.jpg


Zdaj opazite, da je slovnica pravilna: "Imate 1 otroka'".

Zdaj spremenim vrednost za število otrok na 3 in zaslon se takoj spremeni v to.

Opazite, da zdaj na dnu vidite pogojno sporočilo: "Vsota starosti vaših prvih 3 otrok je 0.".


Datoteka:em-tailoring2-s-3kids.jpg


Zdaj bom vnesel starost svojih namišljenih otrok in dobil bom ta prikaz, ki povzema njihovo starost:


Datoteka:em-tailoring2-s-3kids-sum.jpg


Spet se rezultat in prikaz posodobita takoj, ko vnesem vrednosti, tako da lahko to uporabite za prikaz tekoče vsote ocene ocenjevanja.


Sedaj spremenim vrednost za število otrok na 2. Prikaz se je spremenil v tole:


Datoteka:em-tailoring2-s-2kids-sum.jpg


Upoštevajte, da čeprav sem za tretjega otroka vnesel vrednost 5,5, poročilo sedaj sešteva samo vrednosti mojih prvih 2 otrok.

Razlog za to je, da je tretja vrednost zdaj nepomembna, nepomembne vrednosti pa EM aktivno ignorira.

Če bi spremenil število otrok nazaj na 3, bi znova videl vrednost 5,5, ki sem jo vnesel. Tako ne izgubim nobenih informacij, ki jih vnesem na stran.

Vendar, če se pomaknem na naslednjo ali prejšnjo stran, bodo vse nepomembne vrednosti v seji in v zbirki podatkov izničene. Torej, če bi obdržal vrednost 2, šel na naslednjo stran in se nato vrnil in izjavil, da imam dejansko 3 otroke, ne bi več videl starosti 5,5.


Vnesite podatke in si oglejte dinamično spreminjajoče se poročilo o tem, kaj je bilo vneseno na isti strani

Ta primer predstavlja postopek prilagajanja znotraj LimeSurvey.

Če želite prenesti ta primer, kliknite naslednjo povezavo: Primer ankete o dinamičnih spremembah.

Tukaj je videti stran na začetku. Vidite samo vprašanje, v katerem mestu živite:


Datoteka:em-on_page_report-usage-1.jpg


Ko začnete vnašati odgovor, se začne tudi postopek prilagajanja:

Datoteka:em-on_page_report-usage-2.jpg


Ko vnesete odgovore, se tabela na dnu strani posodobi, da prikaže kode odgovorov in vrednosti vaših odgovorov.


Datoteka:em-on_page_report-usage-3.jpg

Pogosti primeri odpravljanja napak

Ugnezdeni stavki if() (pogojna logika)

EM podpira funkcijo "if(test,do_if_true,do_if_false)", tako da lahko izvajate pogojno logiko ali prilagajanje. To funkcijo je mogoče ugnezditi, da naredi enakovredno "if { } else if { } else { }". EM vas bo obvestil, če oklepaji niso uravnoteženi (npr. manjka desni zaključni oklepaj) ali če imate dodatne desne oklepaje. Poskusite prešteti oklepaje, ko sestavljate dolge ugnezdene stavke if, jih shranite, preverite skladenjske napake in jih popravite, če jih najdete. Skupaj preverimo spodnji primer.

Do skupine vprašanj, uporabljenih spodaj, lahko dostopate tukaj: Tailoring survey example.lsg


Prvič, ko ni vnesenega ničesar, vidite le »Pozdravljeni«.


Datoteka:em-nested-if-blank.jpg


Če vnesete ime, piše "Pozdravljeni {name}."


Datoteka:em-nested-if-name.jpg


Če vnesete starost, prejmete prilagojeno sporočilo glede na to, ali ste predšolski otrok ali ne:


Datoteka:em-nested-if-toddler.jpg


Šolo, najstnik ali odrasel. Tukaj je najstnik, ki želi biti anonimen:


Datoteka:em-nested-if-teenager.jpg


Tukaj je logična datoteka skupine. Kot lahko vidite v vprašanju "če temelji", obstajajo ugnezdeni stavki če glede na starost osebe.


Datoteka:em-nested-if-logic-file.jpg


Ko prvotno urejate to vprašanje, je verjetno, da boste na neki točki imeli napačno število oklepajev. Evo, kaj se zgodi, če jih imate premalo:


Datoteka:em-nested-if-missing-closing-paren.jpg


Če miškin kazalec premaknete nad besedo »če«, ki je obdana z rdečim poljem, piše »Oklepaji niso uravnoteženi«. V tem primeru bi morali biti za "že odrasel!" štirje zaključni oklepaji, vendar so le trije.

Če imate po drugi strani dodaten desni oklepaj, bo obkrožen z rdečim poljem, kot je ta:


Datoteka:em-nestedd-if-extra-right-paren.jpg


Ko dejansko urejate vprašanje, je vprašanje videti takole:


Datoteka:em-nested-if-edit-screen.jpg