x

Fő fejezetek

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. LimeSurvey Cloud – Rövid útmutató
  3. LimeSurvey CE - Telepítés
  4. Hogyan készítsünk jó felmérést (Útmutató)
  5. Elkezdeni
  6. LimeSurvey konfiguráció
  7. Bevezetés – Felmérések
  8. A felmérés beállításainak megtekintése
  9. A felmérés menü megtekintése
  10. A felmérés szerkezetének megtekintése
  11. Bevezetés – Kérdések
  12. Bevezetés – Kérdéscsoportok
  13. Bevezetés - Felmérések - Menedzsment
  14. A felmérés eszköztárának beállításai
  15. Többnyelvű felmérés
  16. Gyors útmutató – ExpressionScript
  17. Speciális funkciók
  18. Általános GYIK
  19. Hibaelhárítás
  20. Megoldások
  21. Engedély
  22. Verzióváltoztatási napló
  23. Bővítmények – Speciális
 Actions

ExpressionScript How-tos/hu: Difference between revisions

From LimeSurvey Manual

Maren.fritz (talk | contribs)
Created page with "ExpressionScript útmutatók"
 
Maren.fritz (talk | contribs)
Created page with "Amikor ténylegesen szerkeszti a kérdést, a kérdés így néz ki:"
 
(71 intermediate revisions by the same user not shown)
Line 3: Line 3:




=Overview of what has been previously explained=
=Az előzőekben leírtak áttekintése=




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.  
Ha eddig követte a LimeSurvey kézikönyv felépítését, az azt jelenti, hogy már használja az [[ExpressionScript - Presentation#Key_Definitions|LimeSurvey terminológiát]]. Ezután a kifejezésekkel és változókkal foglalkoztunk, hogy megtanuljuk, hogyan javíthatjuk felméréseinket. A következő részben áttértünk az [[ExpressionScript - Presentation#Syntax Highlighting|szintaktikai kiemelés]] típusaira és jelentésére, hogy megtanuljuk a szintaktikai hibák javítását.  


With these basic notions covered, we could move towards examples and explaining how expressions work within LimeSurvey.  
Ha ezekkel az alapfogalmakkal foglalkozunk, továbbléphetünk a példák felé, és elmagyarázhatjuk, hogyan működnek a kifejezések a LimeSurvey-n belül.  




=Syntax Highlighting=
=Szintaxis kiemelés=




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.
A következő képernyőképek példákat adnak, de nem mutatják az eszköztippek értékeit. Az eszköztipp egy tájékoztató mező, amely akkor jelenik meg, amikor az egeret a félkövér színű szavak fölé viszi.


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)).
Ennek a szintaktikai kiemelésnek köszönhetően nagyon könnyű helyes kifejezéseket alkotni, még a bonyolultakat is. Bár a LimeSurvey csapata azt tervezi, hogy megpróbál egy Expression Builder grafikus felhasználói felületet létrehozni, a meglévő szintaxis-kiemelés segítségével gyorsan azonosíthatja és kijavíthatja az elírásokat. Az eszköztippek segítségével ellenőrizheti a kifejezések pontosságát (pl. megerősítheti, hogy kiválasztotta a kívánt változó(ka)t).


In each of the examples, there are three columns:
Mindegyik példában három oszlop található:
#Source - this is the raw text that you would enter into the LimeSurvey question field
#Forrás - ez az a nyers szöveg, amelyet a LimeSurvey kérdésmezőjébe kell beírnia
#Pretty Print - this is the syntax-highlighted equivalent of what you entered
#Pretty Print - ez a beírt szöveg szintaktikailag kiemelt megfelelője! N!#*Ne feledje, hogy a kifejezések barnás háttérrel jelennek meg, de nincsenek körülvéve göndör kapcsos zárójelek ebben a kiemelésben.
#*Note that Expressions are shown with a tan background, but not surrounded by curly braces in this highlighting.
#*Mivel az EM támogatja a rekurzív helyettesítést, a göndör kapcsos zárójelek kiemelésben való megjelenítése szintaktikai hibákat okozna
#*Since EM supports recursive substitution, showing curly braces in the highlighting would cause syntax errors
#Eredmény - ez a kimenet akkor keletkezik, amikor az EM feldolgozza a forrást
#Result - this is the output generated when EM processes the source
#*Minden, ami megfelelően behelyettesíthető
#*Everything that can be properly substituted is
#*A hibás kifejezések soronként jelennek meg, szintaktikai kiemeléssel. A hibákat piros vonalú doboz veszi körül.
#*Expressions with errors are shown in-line, with syntax highlighting. Errors are surrounded by a red-lined box.




==Proper Syntax==
==Megfelelő szintaxis==




You may find below examples of proper syntax:
Az alábbiakban találhat példákat a helyes szintaxisra:
#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
#Értékek: azt mutatja, hogy az ismert változók színkóddal vannak ellátva, aszerint, hogy be vannak-e állítva az aktuális oldalon. A régi stílusú INSERTANS:xxxx saját színkódolási stílust kap
#Question Attributes: shows that dot notation can access some properties of questions
#Kérdésattribútumok: megmutatja, hogy a pontjelölés hozzáférhet a kérdések bizonyos tulajdonságaihoz
#Math: shows that basic and complex calculations are supported
#Matek: megmutatja, hogy az alapvető és összetett számítások támogatottak
#TextProcessing: shows some of the available text-processing functions
#Szövegfeldolgozás: néhány elérhető szövegfeldolgozó függvényt mutat
#Dates: shows two of the available date-related functions
#Dátumok: két elérhető dátumhoz kapcsolódó függvényt mutat
#Conditional: shows the usage of the if() function. The choices can be nested.
#Feltételes: az if() függvény használatát mutatja. A választási lehetőségek egymásba ágyazhatók.
#Tailored paragraph: you can completely customize a report based upon prior values
#Testreszabott bekezdés: teljes mértékben testreszabhatja a jelentést korábbi értékek alapján
#EM processes within strings: shows that it can do substitutions within strings. This example generates a tailored image name.
#EM folyamatok a karakterláncokon belül: azt mutatja, hogy képes helyettesíteni a karakterláncokon belül. Ez a példa egy személyre szabott képnevet állít elő.
#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 nem dolgozza fel az ehhez hasonló kapcsos zárójeleket: azt mutatja, hogy ha a kapcsos kapcsos zárójelek kihagyásra kerülnek, vagy ha a kifejezés és a kapcsos zárójelek között szóköz van, az ES figyelmen kívül hagyja a kifejezést.




Line 46: Line 45:




==EM Syntax Containing Errors==
==EM-szintaxis hibákat tartalmaz==




Here are examples of common errors when typing ES expressions. Note that the tooltips provide additional information.
Íme néhány példa az ES kifejezések begépelésekor előforduló gyakori hibákra. Vegye figyelembe, hogy az eszköztippek további információkat nyújtanak.
#Inline Javascript that forgot to add spaces after curly brace
#Inline Javascript, amely elfelejtett szóközt hozzáadni a kapcsos zárójel után
#*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
#*Mivel a "document.write" közvetlenül a kapcsos kapcsos zárójel után jelenik meg, az EM úgy gondolja, hogy ez egy kifejezés, és a piros- a "dokumentum" és a "írás" mezőket, mivel ezek definiálatlan változók és függvények
#Unknown/Misspelled variables, functions and operators
#Ismeretlen/hibásan írt változók, függvények és operátorok
#*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.
#*Itt elfelejtettük, hogy a "gender" változónevet használjuk "" helyett szex", de az EM észleli ezt a hibát. A '++' jelet is piros dobozba helyezi, mivel ez nem támogatott operátor.
#Warns if use = instead of eq, or perform value assignments
#Figyelmeztetés, ha az = értéket használja az eq helyett, vagy érték-hozzárendelést hajt végre
#*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.
#*Jegyezze meg, hogy a '=' és a '+=' piros szöveggel jelennek meg fekete helyett. Ha föléjük viszi az egeret, akkor figyelmeztetéseket fog látni, hogy értéket ad hozzá.
#Wrong number of arguments for functions
#Rossz argumentumszám a függvényekhez
#*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() 3 argumentumot vesz fel, de 4-et kapott, tehát a lebegés a piros dobozos "if" felett megmagyarázza a hibát és megmutatja a támogatott szintaxist
#*sum() takes an unlimited number of arguments, but we had a trailing comma before the closing parentheses, so that is red-boxed
#*sum() korlátlan számú argumentumot vesz fel, de a záró zárójelek előtt volt egy vessző, tehát ez piros doboz! N!#Nem illő zárójelek
#Mismatched parentheses
#*Ez az egyik leggyakoribb hiba a kifejezések írásakor.
#*This is one of the most common errors when writing expressions.
#*Ez két példát mutat be a hiányzó záró zárójelekre, és egy példát arra, hogy egy túl sok záró zárójel van.
#*This shows two examples of missing closing parentheses, and one example of having one too many closing parentheses.
#Nem támogatott szintaxis
#Unsuported syntax
#*Ha olyan operátort vagy írásjelet használ, amelyet az ES nem támogat, akkor a rendszer piros négyzetbe helyezi.
#*If you use an operator or punctuation that ES does not support, it will red-box it.
#Érvénytelen hozzárendelések
#Invalid assignments
#*Egyes változók readWrite, és értékeik módosíthatók. Mások csak olvashatók.
#*Some variables are readWrite and can have their values changed. Others are read-only.
#*Ha megpróbálja megváltoztatni egy csak olvasható változó értékét, nem tudja. Az EM bejelöli a kísérletet.
#*If you try to change the value of a read-only variable, you can't. EM will red-box the attempt.
#*Ha megpróbál értéket rendelni egy egyenlethez vagy karakterlánchoz, szintén hibaüzenetet kap
#*If you try to assign a value to an equation or a string, you will also get an error




Line 73: Line 71:




=="Live" examples of Syntax Highlighting with active tooltips==
=="Élő" példák a szintaxis kiemelésre aktív eszköztippekkel==




<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> Forrás</th><th> Pretty Print</th><th> Eredmény</th></tr><tr><td> <b>Íme egy példa az OK szintaxisra eszköztippekkel</b><br> Szia {if(gender=='M','Mr.','Mrs.')} {vezetéknév}, most {date('g:i a',time())} van. Tudja, hol vannak a {sum(numPets,numKids)} gyermekei és házi kedvencei?


</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>Íme egy példa az OK szintaxisra eszköztippekkel</b><br> Hello <span style="background-color: #eee8aa;"><span title="Excel-stílusú if(teszt,eredmény_ha_igaz,eredmény_ha_hamis); if(teszt,eredmény_ha_igaz,eredmény_ha_hamis)" style="color: blue; font-weight: bold">if</span> ( <span title="[java61764X1X5][G:2][Q:110]: Mi a nemed (férfi/)?; érték=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]: Mi a vezeték-/vezetékneved?; érték=Smith" style="color: green; font-weight: bold">vezetéknév</span></span> , ez most <span style="background-color: #eee8aa;"><span title="Helyi dátum/idő formátuma; karakterlánc dátum(formátum [, időbélyeg=idő()])" style="color: blue; font-weight: bold">dátum</span> ( <span title="" style="color: gray">'g:i a'</span> , <span title="Az aktuális UNIX időbélyeg visszaadása; szám idő ()" style="color: blue; font-weight: bold">idő</span> ())</span> . Tudja, hol vannak az Ön <span style="background-color: #eee8aa;"><span title="Számítsa ki egy tömb értékeinek összegét; szám összege(arg1, arg2, ... argN)" style="color: blue; font-weight: bold">összege</span> ( <span title="[java61764X1X4][G:2][Q:50]: Hány házi kedvence van?; érték=1" style="color: maroon; font-weight: bold">numPets</span> , <span title="[java61764X1X3][G:2][Q:40]: Hány gyereked van?; érték=2" style="color: green; font-weight: bold">numKids</span> )</span> gyermekei és házi kedvencei?


</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>Íme egy példa az OK szintaxisra eszköztippekkel</b><br> Helló <span id="LEMtailor_Q_40_1">Mr.</span> <span id="LEMtailor_Q_40_2">Smith</span> ! Most 6:07 van. Tudod hol van <span id="LEMtailor_Q_40_4">a 3</span> gyereked és a házi kedvenced?
</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>Íme a gyakori hibák, így láthatja az eszköztippeket</b><br> A deklarálásuk előtt használt változók: {notSetYet}<br> Ismeretlen függvény: {iff(numPets>numKids,1,2)}<br> Ismeretlen változó: {sum(age,num_pets,numKids)}<br> Helytelen # paraméter: {sprintf()},{if(1,2)},{date()}<br> Csak olvasható változók hozzárendelése:{TOKEN:ATTRIBUTE_1+=10},{name='Sally'}<br> Kiegyensúlyozatlan zárójelek: {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>Íme a gyakori hibák, így láthatja az eszköztippeket</b><br> A deklaráció előtt használt változók: <span style="background-color: #eee8aa;"><span title="Ezt a változót csak egy későbbi oldalon deklarálják; Nem érvényes kifejezés" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Ezt a változót csak egy későbbi oldalon deklarálják; Nem érvényes kifejezés; [java61764X3X6][G:3][Q:200]: Ki nyeri a következő választást?; érték=?" style="color: #FF00FF ; font-weight: bold">notSetYet</span></span></span><br> Ismeretlen függvény: <span style="background-color: #eee8aa;"><span title="Nem definiált funkció" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Nem definiált funkció" style="color: blue; font-weight: bold">iff</span></span> ( <span title="[java61764X1X4][G:2][Q:50]: Hány házi kedvence van?; érték=1" style="color: maroon; font-weight: bold">numPets</span> > <span title="[java61764X1X3][G:2][Q:40]: Hány gyereked van?; érték=2" style="color: green; font-weight: bold">numKids</span> ,1,2)</span><br> Ismeretlen változó: <span style="background-color: #eee8aa;"><span title="Számítsa ki egy tömb értékeinek összegét; szám összege(arg1, arg2, ... argN)" style="color: blue; font-weight: bold">sum</span> ( <span title="[java61764X1X2][G:2][Q:30]: Hány éves vagy?; érték=45" style="color: green; font-weight: bold">életkor</span> , <span title="Definiálatlan változó" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Definiálatlan változó" style="color: red; font-weight: bold">háziállatok száma</span></span> , <span title="[java61764X1X3][G:2][Q:40]: Hány gyereked van?; érték=2" style="color: green; font-weight: bold">gyerekek száma</span> )</span><br> Rossz # paraméterek: <span style="background-color: #eee8aa;"><span title="A függvénynek legalább 1 argumentumnak kell lennie; Nem érvényes kifejezés" style="border-style: solid; border-width: 2px; border-color: red;"><span title="A függvénynek legalább 1 argumentumnak kell lennie; Nem érvényes kifejezés; Formázott karakterláncot ad vissza; string sprintf(formátum, arg1, arg2, ... argN)" style="color: blue; font-weight: bold">sprintf</span></span> ()</span> , <span style="background-color: #eee8aa;"><span title="A függvény nem támogatja ennyi argumentumot: 2. A függvény ennyi argumentumot támogat, ahol -1=korlátlan: 3; Nem érvényes kifejezés" style="border-style: solid; border-width: 2px; border-color: red;"><span title="A függvény nem támogatja ennyi argumentumot: 2. A függvény ennyi argumentumot támogat, ahol -1=korlátlan: 3; Nem érvényes kifejezés; Excel-stílusú if(teszt,eredmény_ha_igaz,eredmény_ha_hamis); if(teszt,eredmény_ha_igaz,eredmény_ha_hamis)" style="color: blue; font-weight: bold">if</span></span> (1,2)</span> , <span style="background-color: #eee8aa;"><span title="A függvény nem támogatja a következő számú argumentumot: 0. A függvény ennyi argumentumot támogat, ahol -1=korlátlan: 1,2; Nem érvényes kifejezés" style="border-style: solid; border-width: 2px; border-color: red;"><span title="A függvény nem támogatja a következő számú argumentumot: 0. A függvény ennyi argumentumot támogat, ahol -1=korlátlan: 1,2; Nem érvényes kifejezés; Helyi dátum/idő formátuma; karakterlánc dátum(formátum [, időbélyeg=idő()])" style="color: blue; font-weight: bold">dátum</span></span> ()</span><br> Csak olvasható változók hozzárendelése: <span style="background-color: #eee8aa;"><span title="Ennek a változónak az értéke nem módosítható; Nem érvényes kifejezés" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Ennek a változónak az értéke nem módosítható; Nem érvényes kifejezés; ; érték=munkás" style="color: #996600; font-weight: bold">TOKEN:ATTRIBUTE_1</span></span> <span title="Új érték hozzárendelése egy változóhoz" style="color: red; font-weight: bold">+=</span> 10</span> , <span style="background-color: #eee8aa;"><span title="Ennek a változónak az értéke nem módosítható; Nem érvényes kifejezés" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Ennek a változónak az értéke nem módosítható; Nem érvényes kifejezés; [java61764X1X1][G:1][Q:10]: Mi a keresztneved/utóneved?; érték=Péter" style="color: green; font-weight: bold">name</span></span> <span title="Új érték hozzárendelése egy változóhoz" style="color: red; font-weight: bold">=</span> <span title="" style="color: gray">'Sally'</span></span><br> Kiegyensúlyozatlan zárójelek: <span style="background-color: #eee8aa;"><span title="A zárójelek nincsenek kiegyensúlyozva" style="border-style: solid; border-width: 2px; border-color: red;"><span title="A zárójelek nincsenek kiegyensúlyozva; Exponenciális kifejezés; szám pow(bázis, exp)" style="color: blue; font-weight: bold">pow</span></span> (3,4</span> , <span style="background-color: #eee8aa;"><span title="A zárójelek nincsenek kiegyensúlyozva" style="border-style: solid; border-width: 2px; border-color: red;">(</span> <span title="Exponenciális kifejezés; szám pow(bázis, exp)" style="color: blue; font-weight: bold">pow</span> (3,4)</span> , <span style="background-color: #eee8aa;"><span title="Exponenciális kifejezés; szám pow(bázis, exp)" style="color: blue; font-weight: bold">pow</span> (3,4) <span title="Extra jobb oldali zárójelek észlelve" 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>Íme a gyakori hibák, így láthatja az eszköztippeket</b><br> A deklaráció előtt használt változók: <span id="LEMtailor_Q_40_5"><span style="background-color: #eee8aa;"><span title="Ezt a változót csak egy későbbi oldalon deklarálják; Nem érvényes kifejezés" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Ezt a változót csak egy későbbi oldalon deklarálják; Nem érvényes kifejezés; [java61764X3X6][G:3][Q:200]: Ki nyeri a következő választást?; érték=?" style="color: #FF00FF ; font-weight: bold">notSetYet</span></span></span></span><br> Ismeretlen függvény: <span style="background-color: #eee8aa;"><span title="Nem definiált funkció" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Nem definiált funkció" style="color: blue; font-weight: bold">iff</span></span> ( <span title="[java61764X1X4][G:2][Q:50]: Hány házi kedvence van?; érték=1" style="color: maroon; font-weight: bold">numPets</span> > <span title="[java61764X1X3][G:2][Q:40]: Hány gyereked van?; érték=2" style="color: green; font-weight: bold">numKids</span> ,1,2)</span><br> Ismeretlen változó: <span style="background-color: #eee8aa;"><span title="Számítsa ki egy tömb értékeinek összegét; szám összege(arg1, arg2, ... argN)" style="color: blue; font-weight: bold">sum</span> ( <span title="[java61764X1X2][G:2][Q:30]: Hány éves vagy?; érték=45" style="color: green; font-weight: bold">életkor</span> , <span title="Definiálatlan változó" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Definiálatlan változó" style="color: red; font-weight: bold">háziállatok száma</span></span> , <span title="[java61764X1X3][G:2][Q:40]: Hány gyereked van?; érték=2" style="color: green; font-weight: bold">gyerekek száma</span> )</span><br> Rossz # paraméterek: <span style="background-color: #eee8aa;"><span title="A függvénynek legalább 1 argumentumnak kell lennie; Nem érvényes kifejezés" style="border-style: solid; border-width: 2px; border-color: red;"><span title="A függvénynek legalább 1 argumentumnak kell lennie; Nem érvényes kifejezés; Formázott karakterláncot ad vissza; string sprintf(formátum, arg1, arg2, ... argN)" style="color: blue; font-weight: bold">sprintf</span></span> ()</span> , <span style="background-color: #eee8aa;"><span title="A függvény nem támogatja ennyi argumentumot: 2. A függvény ennyi argumentumot támogat, ahol -1=korlátlan: 3; Nem érvényes kifejezés" style="border-style: solid; border-width: 2px; border-color: red;"><span title="A függvény nem támogatja ennyi argumentumot: 2. A függvény ennyi argumentumot támogat, ahol -1=korlátlan: 3; Nem érvényes kifejezés; Excel-stílusú if(teszt,eredmény_ha_igaz,eredmény_ha_hamis); if(teszt,eredmény_ha_igaz,eredmény_ha_hamis)" style="color: blue; font-weight: bold">if</span></span> (1,2)</span> , <span style="background-color: #eee8aa;"><span title="A függvény nem támogatja a következő számú argumentumot: 0. A függvény ennyi argumentumot támogat, ahol -1=korlátlan: 1,2; Nem érvényes kifejezés" style="border-style: solid; border-width: 2px; border-color: red;"><span title="A függvény nem támogatja a következő számú argumentumot: 0. A függvény ennyi argumentumot támogat, ahol -1=korlátlan: 1,2; Nem érvényes kifejezés; Helyi dátum/idő formátuma; karakterlánc dátum(formátum [, időbélyeg=idő()])" style="color: blue; font-weight: bold">dátum</span></span> ()</span><br> Csak olvasható változók hozzárendelése: <span style="background-color: #eee8aa;"><span title="Ennek a változónak az értéke nem módosítható; Nem érvényes kifejezés" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Ennek a változónak az értéke nem módosítható; Nem érvényes kifejezés; ; érték=munkás" style="color: #996600; font-weight: bold">TOKEN:ATTRIBUTE_1</span></span> <span title="Új érték hozzárendelése egy változóhoz" style="color: red; font-weight: bold">+=</span> 10</span> , <span id="LEMtailor_Q_40_12"><span style="background-color: #eee8aa;"><span title="Ennek a változónak az értéke nem módosítható; Nem érvényes kifejezés" style="border-style: solid; border-width: 2px; border-color: red;"><span title="Ennek a változónak az értéke nem módosítható; Nem érvényes kifejezés; [java61764X1X1][G:1][Q:10]: Mi a keresztneved/utóneved?; érték=Péter" style="color: green; font-weight: bold">name</span></span> <span title="Új érték hozzárendelése egy változóhoz" style="color: red; font-weight: bold">=</span> <span title="" style="color: gray">'Sally'</span></span></span><br> Kiegyensúlyozatlan zárójelek: <span style="background-color: #eee8aa;"><span title="A zárójelek nincsenek kiegyensúlyozva" style="border-style: solid; border-width: 2px; border-color: red;"><span title="A zárójelek nincsenek kiegyensúlyozva; Exponenciális kifejezés; szám pow(bázis, exp)" style="color: blue; font-weight: bold">pow</span></span> (3,4</span> , <span style="background-color: #eee8aa;"><span title="A zárójelek nincsenek kiegyensúlyozva" style="border-style: solid; border-width: 2px; border-color: red;">(</span> <span title="Exponenciális kifejezés; szám pow(bázis, exp)" style="color: blue; font-weight: bold">pow</span> (3,4)</span> , <span style="background-color: #eee8aa;"><span title="Exponenciális kifejezés; szám pow(bázis, exp)" style="color: blue; font-weight: bold">pow</span> (3,4) <span title="Extra jobb oldali zárójelek észlelve" 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>Íme néhány nem támogatott szintaxis</b><br> Nem támogatott a '++', '--', '%',';': {min(++age, --age,age % 2);}<br> Sem '|', '&', '^': {(sum(2 | 3,3 & 4,5 ^ 6)}}<br> Sem tömbök: {név[2], név['enyém']}
</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>Íme néhány nem támogatott szintaxis</b><br> Nem támogatott a '++', '--', '%',';': <span style="background-color: #eee8aa;"><span title="Keresse meg a legalacsonyabb értéket; szám min(arg1, arg2, ... argN)" style="color: blue; font-weight: bold">min</span> ( <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">++</span> <span title="[java61764X1X2][G:2][Q:30]: Hány éves vagy?; érték=45" style="color: green; font-weight: bold">age</span> , <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">--</span> <span title="[java61764X1X2][G:2][Q:30]: Hány éves vagy?; érték=45" style="color: green; font-weight: bold">age</span> , <span title="[java61764X1X2][G:2][Q:30]: Hány éves vagy?; érték=45" style="color: green; font-weight: bold">age</span> <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">%</span> 2) <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">;</span></span><br> Sem '|', '&', '^': <span style="background-color: #eee8aa;">( <span title="Számítsa ki egy tömb értékeinek összegét; szám összege(arg1, arg2, ... argN)" style="color: blue; font-weight: bold">összeg</span> (2 <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">|</span> 3,3 <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">és</span> 4,5 <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">^</span> 6)</span> }<br> Sem tömbök: <span style="background-color: #eee8aa;"><span title="[java61764X1X1][G:1][Q:10]: Mi a keresztneved/utóneved?; érték=Péter" style="color: green; font-weight: bold">név</span> <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">[</span> 2 <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">]</span> , <span title="[java61764X1X1][G:1][Q:10]: Mi a keresztneved/utóneved?; érték=Péter" style="color: green; font-weight: bold">név</span> <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">[</span> <span title="" style="color: gray">'enyém'</span> <span title="Nem támogatott szintaxis" 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>Íme néhány nem támogatott szintaxis</b><br> Nem támogatott a '++', '--', '%',';': <span style="background-color: #eee8aa;"><span title="Keresse meg a legalacsonyabb értéket; szám min(arg1, arg2, ... argN)" style="color: blue; font-weight: bold">min</span> ( <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">++</span> <span title="[java61764X1X2][G:2][Q:30]: Hány éves vagy?; érték=45" style="color: green; font-weight: bold">age</span> , <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">--</span> <span title="[java61764X1X2][G:2][Q:30]: Hány éves vagy?; érték=45" style="color: green; font-weight: bold">age</span> , <span title="[java61764X1X2][G:2][Q:30]: Hány éves vagy?; érték=45" style="color: green; font-weight: bold">age</span> <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">%</span> 2) <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">;</span></span><br> Sem '|', '&', '^': <span style="background-color: #eee8aa;">( <span title="Számítsa ki egy tömb értékeinek összegét; szám összege(arg1, arg2, ... argN)" style="color: blue; font-weight: bold">összeg</span> (2 <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">|</span> 3,3 <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">és</span> 4,5 <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">^</span> 6)</span> }<br> Sem tömbök: <span style="background-color: #eee8aa;"><span title="[java61764X1X1][G:1][Q:10]: Mi a keresztneved/utóneved?; érték=Péter" style="color: green; font-weight: bold">név</span> <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">[</span> 2 <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">]</span> , <span title="[java61764X1X1][G:1][Q:10]: Mi a keresztneved/utóneved?; érték=Péter" style="color: green; font-weight: bold">név</span> <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">[</span> <span title="" style="color: gray">'enyém'</span> <span title="Nem támogatott szintaxis" style="border-style: solid; border-width: 2px; border-color: red;">]</span></span>


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




=Tailoring Examples (e.g. extending {INSERTANS:xxx})=
=Résztési példák (pl. {INSERTANS:xxx} kiterjesztése)=




=="Dear {Mr}/{Mrs} Smith..."==
=="Kedves Smith {Mr}/{Mrs}..."==




Use the if() function to conditionally choose whether to display 'Mr.' or 'Mrs.'.
Az if() függvénnyel feltételesen kiválaszthatja, hogy megjelenjen-e az 'Mr.' vagy 'Mrs.'.


The syntax is if(test,do_if_true,do_if_false).
A szintaxis if(test,do_if_true,do_if_false).


{|
{|
|#||Code||Question||Type
|#||Kód||Kérdés||N típus!|-
|1||nem||Mi a neme?||Nem
|-
|-
|1||gender||What is your gender?||Gender
|2| |example1||Kedves {if(gender=='M','Mr.','Mrs.')} Smith, ...||Hosszú szabad szöveg
|-
|2||example1||Dear {if(gender=='M','Mr.','Mrs.')} Smith, ...||Long free text
|}
|}


Line 121: Line 118:




As it can be observed below, "Mr" and "Mrs" are tailored to what the respondent selects as answer to question "gender".
Amint az alábbiakban megfigyelhető, az „úr” és az „asszony” a „nem” kérdésre adott válaszként választandó.




Line 128: Line 125:




=="Dear {Mr}/{Mrs} Smith..." in invitation email==
=="Kedves {Mr}/{Mrs} Smith..." a meghívó e-mailben==




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.
A fenti példát használhatja a meghívó e-mailben a tokentáblázat attribútumainak használatával. Az if() függvénnyel kiválaszthatja, hogy 'Mr.' vagy 'Mrs.' kell használni az e-mailben.




The syntax is "if(test,do_if_true,do_if_false)".
A szintaxis: "if(teszt,do_if_true,do_if_false)".


{|
{|
|#||attribute||value
|#||attribútum||érték
|-
|-
|1||Last name||Smith
|1||Vezetéknév||Smith
|-
|-
|2||Email address||test@test.com
|2||E-mail cím||teszt@teszt. com
|-
|-
|3||ATTRIBUTE_2||M
|3||ATTRIBUTE_2||M
Line 147: Line 144:




Text in invitation email:
Szöveg a meghívó e-mailben:


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


Dear {if(ATTRIBUTE_2=='M','Mr','Mrs')} {LASTNAME},
Kedves {if(ATTRIBUTE_2=='M','Mr','Mrs')} {LASTNAME}!


you have been invited to participate in a survey:
meghívást kapott egy felmérésben való részvételre:


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




email View:
email Megtekintés:




Line 169: Line 166:




=Calculation / Assessment Examples=
=Számítási / Értékelési példák=




==Calculate assessment values at runtime and store the results in the survey data==
==Számítsa ki az értékelési értékeket futás közben, és tárolja az eredményeket a felmérési adatokban==




This example uses all of EM's features, including Relevance, Tailoring, and the Equation question type.
Ez a példa az EM összes funkcióját használja, beleértve a Relevancia, a Testreszabás és az Egyenlet kérdéstípust.


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.
Azt is mutatja, hogy mindegyik JavaScript-kompatibilis, tehát ha ezek a funkciók vannak egy oldalon, akkor dinamikusan változni fog, ahogy az emberek beállítják és módosítják a válaszaikat.


{|
{|
|#||Code||Question||Type||Relevance
|#||Kód||Kérdés||Típus||Relevancia
|-
|1||numKids||How many children do you have?||Numerical input||1
|-
|2||kid1||How old is your first child?||Numerical input||numKids >= 1
|-
|3||kid2||How old is your second child?||Numerical input||numKids >= 2
|-
|-
|4||kid3||How old is your third child?||Numerical input||numKids >= 3
|1||NumKids||Hány gyermeke van?||Numerikus bevitel||1!N !|-
|2||kid1||Hány éves az első gyermeke?||Számbevitel||számKids >= 1
|-
|-
|5||kid4||How old is your fourth child?||Numerical input||numKids >= 4
|3||kid2||Hány éves a második gyermek N!|5||kid4||Hány éves a negyedik gyermeke?||Számbevitel||numKids >= 4
|-
|-
|6||sumKidAges||{sum(kid1.NAOK,kid2.NAOK,kid3.NAOK,kid4.NAOK)}||Equation||1
|6||sumKidAges||{sum(kid1.NAOK,kid2. NAOK,kid3.NAOK,kid4.NAOK)}||Egyenlet||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||kidSummary||Azt mondtad, hogy {numKids} van. {if(numKids==1,'child','childs')}. {if(numKids>1,implode(' ','Az első ',min(numKids,4),' gyerekek életkorainak összege ',sumKidAges,'.'),' ')}||Szövegmegjelenítés| |1
|}
|}




To download this example, please click on the following link: [[Media:Assessments_survey_example.zip|Assessments_survey_example]].
A példa letöltéséhez kattintson a következő linkre: [[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.
Az alábbiakban képernyőképeket találhat a reprezentatív kérdésekről. Amint láthatja, az EM szintaxis kiemeli az összes olyan mezőt, amely testreszabást tartalmazhat. Itt példákat láthat a Relevancia szintaxis-kiemelésére, az Egyenlet kérdéstípusára és a kérdésen belüli helyettesítésekre. A súgóban, a csoportfejléc-megjelenítésben, az üdvözlő üzenetben és a befejező üzenetben is használhatja a helyettesítéseket.


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.
A következő példában, mivel a relevancia {numKids >= 2), a kérdés csak akkor lesz látható, ha a válaszadó beszámol arról, hogy legalább két gyermeke van.




Line 209: Line 201:




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)).
Az alábbiakban megfigyelheti, hogy minden változóhoz tartozik a .NAOK utótag. Ez annak köszönhető, hogy az EM hogyan támogatja a lépcsőzetes relevanciát. Ha nem rendelkezik .NAOK-val, akkor az összeget csak akkor számítja ki, ha a személy azt mondja, hogy 4 gyermeke van (pl. ha az összes változó releváns). A .NAOK használata azt jelenti, hogy akkor is ki akarjuk számítani az összeget, ha az összes vagy néhány változó irreleváns (pl. a "Nem alkalmazható" (NA) rendben van (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:
A .NAOK attribútum azonban csak azt befolyásolja, hogy a változók átkerülnek-e az EM-be. Ha a válaszadó először azt mondja, hogy 3 gyermeke van, és mindegyikhez megadja az életkorát, majd meggondolja magát, és azt mondja, hogy 2, akkor nem akarjuk látni a 3 beírt érték összegét - mivel a harmadik gyermek "nem alkalmazható" esetünkben már:




Line 217: Line 209:




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.
Minden különálló kifejezés sárgásbarna háttérrel színkódolt. Amint látja, három külön kifejezés van itt. Az utolsó olyan üzenetet tartalmaz, amely csak akkor jelenik meg feltételesen, ha a személynek egynél több gyermeke van.




Line 223: Line 215:




Now, here are screenshots of the survey in action.
Íme, képernyőképek a felmérés működéséről.


When you first visit the page, you see this. Note that is says "You have 0 '''children'''" instead of "You have 0 '''child'''".
Amikor először meglátogatja az oldalt, ezt látja. Ne feledje, hogy a "Neked 0 '''gyermeked"" helyett azt írja ki, hogy "0 '''gyermeked van'''.




Line 231: Line 223:




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:
Ha a gyerekek száma értékét 1-re módosítom, a kijelző azonnal erre változik, még akkor is, ha ugyanazon az oldalon van:




Line 237: Line 229:




Now notice that the grammar is correct: "You have 1 '''child'''".
Most figyeld meg, hogy a nyelvtan helyes: "Van 1 ''''gyermeked'''.


Now I change the value for number of children to 3, and the display instantly changes to this.
Most a gyerekek számának értékét 3-ra módosítom, és a kijelző azonnal erre változik.


Notice that you now see the conditional message at the bottom:  "The sum of ages of your first 3 kids is 0.".
Figyelje meg, hogy most a feltételes üzenetet látja alul: "Az első 3 gyerek életkorának összege 0."




Line 247: Line 239:




Now I'll enter ages for my imaginary children, and I get this display, summing up their ages:
Most beírom a képzeletbeli gyermekeim életkorát, és ezt a kijelzőt kapom, amely összegzi az életkorukat:




Line 253: Line 245:




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.
Ismét a pontszám és a kijelző azonnal frissül, amint beírom az értékeket, így ezt felhasználhatja egy értékelési pontszám futó összegének megjelenítésére.




Now, I change the value for the number of children to 2. The display has changed to this:
Most a gyermekek számának értékét 2-re változtattam. A kijelző a következőre változott:




Line 262: Line 254:




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.
Figyeljük meg, hogy bár a harmadik gyermeknél 5,5 értéket adtam meg, a jelentés most csak az első 2 gyermekem értékeit összegzi.


The reason for this is that the 3rd value is now irrelevant, and irrelevant values are actively ignored by EM.
Ennek az az oka, hogy a 3. érték már irreleváns, és az irreleváns értékeket az EM aktívan figyelmen kívül hagyja.


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.
Ha visszaállítanám a gyerekek számát 3-ra, akkor újra az 5,5-ös értéket látnám, amit beírtam. Tehát nem veszítek el semmilyen információt, amit az oldalon megadok.


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.
Ha azonban a Következő vagy az Előző oldalra navigálok, minden irreleváns érték NULLÁLLÁSRA kerül a munkamenetben és az adatbázisban. Tehát, ha az értéket 2-ben tartanám, mennék a következő oldalra, majd visszajövök és kijelenteném, hogy valójában 3 gyerekem van, akkor már nem látnám az 5,5 éves kort.




==Enter data and see a dynamically changing report of what was entered on the same page==
==Adja meg az adatokat, és tekintse meg a dinamikusan változó jelentést arról, hogy mit adtak meg ugyanazon az oldalon==




This example presents the Tailoring process within LimeSurvey.
Ez a példa a LimeSurvey testreszabási folyamatát mutatja be.


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]].
A példa letöltéséhez kattintson a következő hivatkozásra: [[Média:Dynamic_change_of_the_report_when_data_is_entered_on_the_same_page_survey.zip|Dinamikus változások felmérési példa]].


Here is what the page looks like initially. You only see the question asking what city you live in:
Így néz ki az oldal kezdetben. Csak azt a kérdést látja, hogy melyik városban él:




Line 284: Line 276:




Once you start to enter an answer, the tailoring process is also starting:
Amint elkezdi beírni a választ, a testreszabási folyamat is elindul:


<center>[[File:em-on_page_report-usage-2.jpg]]</center>
<center>[[File: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.
A válaszok beírásakor az oldal alján lévő táblázat frissül, és megjeleníti a válaszok válaszkódjait és értékeit.




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


=Common Debugging Examples=
=Gyakori hibakeresési példák=




==Nested if() Statements (Conditional Logic)==
==Beágyazott if() utasítások (feltételes 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.  
Az EM támogatja az "if(test,do_if_true,do_if_false)" függvényt, így feltételes logikát vagy testreszabást hajthat végre. Ez a függvény beágyazható az "if { } else if { } else { }" megfelelőjének végrehajtására. Az EM értesíti Önt, ha a zárójelek nincsenek kiegyensúlyozva (pl. hiányzik egy záró jobb oldali zárójel), vagy ha van extra jobboldali zárójel. Meg kell próbálnia megszámolni a zárójeleket a hosszú beágyazott if utasítások összeállítása során, mentse el, ellenőrizze a szintaktikai hibákat, és javítsa ki azokat, ha talál ilyet. Nézzük meg együtt az alábbi példát.  


The group of questions used below can be accessed from here: [[Media:Example_tailoring_group11.zip|Tailoring survey example.lsg]]
Az alább használt kérdéscsoport innen érhető el: [[Media:Example_tailoring_group11.zip|Személyre szabott felmérés example.lsg]]




First, with nothing entered, you just see "Hello."
Először is, ha nincs beírva, csak azt látja, hogy „Hello”.




Line 311: Line 303:




If you enter a name, it says, "Hello {name}."
Ha beír egy nevet, a következőt írja ki: „Hello, {name}.




Line 317: Line 309:




If you enter an age, you get a tailored message, depending upon whether you are a pre-school-age child or not:
Ha megad egy életkort, személyre szabott üzenetet kap, attól függően, hogy óvodás korú gyermek-e vagy sem:




Line 323: Line 315:




School aged, teenager, or adult. Here is a  teenager who wants to be anonymous:
Iskoláskorú, tinédzser vagy felnőtt. Íme egy tinédzser, aki névtelen akar lenni:




Line 329: Line 321:




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.
Itt van a csoport logikai fájlja. Amint az „ha alapú” kérdésnél látható, vannak beágyazott if-állítások, amelyek az adott személy életkorán alapulnak.




Line 335: Line 327:




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:
Amikor eredetileg szerkeszti ezt a kérdést, valószínű, hogy valamikor rossz számú zárójel lesz. Íme, mi történik, ha túl kevés van belőle:




Line 341: Line 333:




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.
Ha a „ha” szó fölé viszi az egérmutatót, amelyet egy piros négyzet vesz körül, a „Zárójelek nincsenek kiegyensúlyozva” felirattal. Ebben az esetben a „már felnőtt!” után négy záró zárójel legyen, de csak három.


If, on the other hand, you have an extra right parenthesis, it will be surrounded by a red box, like this:
Ha viszont van egy extra jobb oldali zárójel, akkor azt egy piros négyzet veszi körül, például:




Line 349: Line 341:




When you are actually editing the question, the question looks like this:
Amikor ténylegesen szerkeszti a kérdést, a kérdés így néz ki:




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

Latest revision as of 14:34, 10 October 2023


Az előzőekben leírtak áttekintése

Ha eddig követte a LimeSurvey kézikönyv felépítését, az azt jelenti, hogy már használja az LimeSurvey terminológiát. Ezután a kifejezésekkel és változókkal foglalkoztunk, hogy megtanuljuk, hogyan javíthatjuk felméréseinket. A következő részben áttértünk az szintaktikai kiemelés típusaira és jelentésére, hogy megtanuljuk a szintaktikai hibák javítását.

Ha ezekkel az alapfogalmakkal foglalkozunk, továbbléphetünk a példák felé, és elmagyarázhatjuk, hogyan működnek a kifejezések a LimeSurvey-n belül.


Szintaxis kiemelés

A következő képernyőképek példákat adnak, de nem mutatják az eszköztippek értékeit. Az eszköztipp egy tájékoztató mező, amely akkor jelenik meg, amikor az egeret a félkövér színű szavak fölé viszi.

Ennek a szintaktikai kiemelésnek köszönhetően nagyon könnyű helyes kifejezéseket alkotni, még a bonyolultakat is. Bár a LimeSurvey csapata azt tervezi, hogy megpróbál egy Expression Builder grafikus felhasználói felületet létrehozni, a meglévő szintaxis-kiemelés segítségével gyorsan azonosíthatja és kijavíthatja az elírásokat. Az eszköztippek segítségével ellenőrizheti a kifejezések pontosságát (pl. megerősítheti, hogy kiválasztotta a kívánt változó(ka)t).

Mindegyik példában három oszlop található:

  1. Forrás - ez az a nyers szöveg, amelyet a LimeSurvey kérdésmezőjébe kell beírnia
  2. Pretty Print - ez a beírt szöveg szintaktikailag kiemelt megfelelője! N!#*Ne feledje, hogy a kifejezések barnás háttérrel jelennek meg, de nincsenek körülvéve göndör kapcsos zárójelek ebben a kiemelésben.
    • Mivel az EM támogatja a rekurzív helyettesítést, a göndör kapcsos zárójelek kiemelésben való megjelenítése szintaktikai hibákat okozna
  3. Eredmény - ez a kimenet akkor keletkezik, amikor az EM feldolgozza a forrást
    • Minden, ami megfelelően behelyettesíthető
    • A hibás kifejezések soronként jelennek meg, szintaktikai kiemeléssel. A hibákat piros vonalú doboz veszi körül.


Megfelelő szintaxis

Az alábbiakban találhat példákat a helyes szintaxisra:

  1. Értékek: azt mutatja, hogy az ismert változók színkóddal vannak ellátva, aszerint, hogy be vannak-e állítva az aktuális oldalon. A régi stílusú INSERTANS:xxxx saját színkódolási stílust kap
  2. Kérdésattribútumok: megmutatja, hogy a pontjelölés hozzáférhet a kérdések bizonyos tulajdonságaihoz
  3. Matek: megmutatja, hogy az alapvető és összetett számítások támogatottak
  4. Szövegfeldolgozás: néhány elérhető szövegfeldolgozó függvényt mutat
  5. Dátumok: két elérhető dátumhoz kapcsolódó függvényt mutat
  6. Feltételes: az if() függvény használatát mutatja. A választási lehetőségek egymásba ágyazhatók.
  7. Testreszabott bekezdés: teljes mértékben testreszabhatja a jelentést korábbi értékek alapján
  8. EM folyamatok a karakterláncokon belül: azt mutatja, hogy képes helyettesíteni a karakterláncokon belül. Ez a példa egy személyre szabott képnevet állít elő.
  9. EM nem dolgozza fel az ehhez hasonló kapcsos zárójeleket: azt mutatja, hogy ha a kapcsos kapcsos zárójelek kihagyásra kerülnek, vagy ha a kifejezés és a kapcsos zárójelek között szóköz van, az ES figyelmen kívül hagyja a kifejezést.



EM-szintaxis hibákat tartalmaz

Íme néhány példa az ES kifejezések begépelésekor előforduló gyakori hibákra. Vegye figyelembe, hogy az eszköztippek további információkat nyújtanak.

  1. Inline Javascript, amely elfelejtett szóközt hozzáadni a kapcsos zárójel után
    • Mivel a "document.write" közvetlenül a kapcsos kapcsos zárójel után jelenik meg, az EM úgy gondolja, hogy ez egy kifejezés, és a piros- a "dokumentum" és a "írás" mezőket, mivel ezek definiálatlan változók és függvények
  2. Ismeretlen/hibásan írt változók, függvények és operátorok
    • Itt elfelejtettük, hogy a "gender" változónevet használjuk "" helyett szex", de az EM észleli ezt a hibát. A '++' jelet is piros dobozba helyezi, mivel ez nem támogatott operátor.
  3. Figyelmeztetés, ha az = értéket használja az eq helyett, vagy érték-hozzárendelést hajt végre
    • Jegyezze meg, hogy a '=' és a '+=' piros szöveggel jelennek meg fekete helyett. Ha föléjük viszi az egeret, akkor figyelmeztetéseket fog látni, hogy értéket ad hozzá.
  4. Rossz argumentumszám a függvényekhez
    • if() 3 argumentumot vesz fel, de 4-et kapott, tehát a lebegés a piros dobozos "if" felett megmagyarázza a hibát és megmutatja a támogatott szintaxist
    • sum() korlátlan számú argumentumot vesz fel, de a záró zárójelek előtt volt egy vessző, tehát ez piros doboz! N!#Nem illő zárójelek
    • Ez az egyik leggyakoribb hiba a kifejezések írásakor.
    • Ez két példát mutat be a hiányzó záró zárójelekre, és egy példát arra, hogy egy túl sok záró zárójel van.
#Nem támogatott szintaxis
    • Ha olyan operátort vagy írásjelet használ, amelyet az ES nem támogat, akkor a rendszer piros négyzetbe helyezi.
  1. Érvénytelen hozzárendelések
    • Egyes változók readWrite, és értékeik módosíthatók. Mások csak olvashatók.
    • Ha megpróbálja megváltoztatni egy csak olvasható változó értékét, nem tudja. Az EM bejelöli a kísérletet.
    • Ha megpróbál értéket rendelni egy egyenlethez vagy karakterlánchoz, szintén hibaüzenetet kap



"Élő" példák a szintaxis kiemelésre aktív eszköztippekkel

Forrás Pretty Print Eredmény
Íme egy példa az OK szintaxisra eszköztippekkel
Szia {if(gender=='M','Mr.','Mrs.')} {vezetéknév}, most {date('g:i a',time())} van. Tudja, hol vannak a {sum(numPets,numKids)} gyermekei és házi kedvencei?
Íme egy példa az OK szintaxisra eszköztippekkel
Hello if ( gender == 'M' , 'Mr.' , 'Mrs.' ) vezetéknév , ez most dátum ( 'g:i a' , idő ()) . Tudja, hol vannak az Ön összege ( numPets , numKids ) gyermekei és házi kedvencei?
Íme egy példa az OK szintaxisra eszköztippekkel
Helló Mr. Smith ! Most 6:07 van. Tudod hol van a 3 gyereked és a házi kedvenced?
Íme a gyakori hibák, így láthatja az eszköztippeket
A deklarálásuk előtt használt változók: {notSetYet}
Ismeretlen függvény: {iff(numPets>numKids,1,2)}
Ismeretlen változó: {sum(age,num_pets,numKids)}
Helytelen # paraméter: {sprintf()},{if(1,2)},{date()}
Csak olvasható változók hozzárendelése:{TOKEN:ATTRIBUTE_1+=10},{name='Sally'}
Kiegyensúlyozatlan zárójelek: {pow(3,4},{(pow(3,4)},{pow(3,4))}
Íme a gyakori hibák, így láthatja az eszköztippeket
A deklaráció előtt használt változók: notSetYet
Ismeretlen függvény: iff ( numPets > numKids ,1,2)
Ismeretlen változó: sum ( életkor , háziállatok száma , gyerekek száma )
Rossz # paraméterek: sprintf () , if (1,2) , dátum ()
Csak olvasható változók hozzárendelése: TOKEN:ATTRIBUTE_1 += 10 , name = 'Sally'
Kiegyensúlyozatlan zárójelek: pow (3,4 , ( pow (3,4) , pow (3,4) ))
Íme a gyakori hibák, így láthatja az eszköztippeket
A deklaráció előtt használt változók: notSetYet
Ismeretlen függvény: iff ( numPets > numKids ,1,2)
Ismeretlen változó: sum ( életkor , háziállatok száma , gyerekek száma )
Rossz # paraméterek: sprintf () , if (1,2) , dátum ()
Csak olvasható változók hozzárendelése: TOKEN:ATTRIBUTE_1 += 10 , name = 'Sally'
Kiegyensúlyozatlan zárójelek: pow (3,4 , ( pow (3,4) , pow (3,4) ))
Íme néhány nem támogatott szintaxis
Nem támogatott a '++', '--', '%',';': {min(++age, --age,age % 2);}
Sem '|', '&', '^': {(sum(2 | 3,3 & 4,5 ^ 6)}}
Sem tömbök: {név[2], név['enyém']}
Íme néhány nem támogatott szintaxis
Nem támogatott a '++', '--', '%',';': min ( ++ age , -- age , age % 2) ;
Sem '|', '&', '^': ( összeg (2 | 3,3 és 4,5 ^ 6) }
Sem tömbök: név [ 2 ] , név [ 'enyém' ]
Íme néhány nem támogatott szintaxis
Nem támogatott a '++', '--', '%',';': min ( ++ age , -- age , age % 2) ;
Sem '|', '&', '^': ( összeg (2 | 3,3 és 4,5 ^ 6) }
Sem tömbök: név [ 2 ] , név [ 'enyém' ]


Résztési példák (pl. {INSERTANS:xxx} kiterjesztése)

"Kedves Smith {Mr}/{Mrs}..."

Az if() függvénnyel feltételesen kiválaszthatja, hogy megjelenjen-e az 'Mr.' vagy 'Mrs.'.

A szintaxis if(test,do_if_true,do_if_false).

# Kód Kérdés - 1 nem Mi a neme? Nem
|example1 Kedves {if(gender=='M','Mr.','Mrs.')} Smith, ... Hosszú szabad szöveg



Amint az alábbiakban megfigyelhető, az „úr” és az „asszony” a „nem” kérdésre adott válaszként választandó.



"Kedves {Mr}/{Mrs} Smith..." a meghívó e-mailben

A fenti példát használhatja a meghívó e-mailben a tokentáblázat attribútumainak használatával. Az if() függvénnyel kiválaszthatja, hogy 'Mr.' vagy 'Mrs.' kell használni az e-mailben.


A szintaxis: "if(teszt,do_if_true,do_if_false)".

# attribútum érték
1 Vezetéknév Smith
2 E-mail cím teszt@teszt. com
3 ATTRIBUTE_2 M


Szöveg a meghívó e-mailben:

Kedves {if(ATTRIBUTE_2=='M','Mr','Mrs')} {LASTNAME}!

meghívást kapott egy felmérésben való részvételre:

https:/...



email Megtekintés:



Számítási / Értékelési példák

Számítsa ki az értékelési értékeket futás közben, és tárolja az eredményeket a felmérési adatokban

Ez a példa az EM összes funkcióját használja, beleértve a Relevancia, a Testreszabás és az Egyenlet kérdéstípust.

Azt is mutatja, hogy mindegyik JavaScript-kompatibilis, tehát ha ezek a funkciók vannak egy oldalon, akkor dinamikusan változni fog, ahogy az emberek beállítják és módosítják a válaszaikat.

# Kód Kérdés Típus Relevancia
1 NumKids Hány gyermeke van? Numerikus bevitel - 2 kid1 Hány éves az első gyermeke? Számbevitel számKids >= 1
3 kid2 5 kid4 Hány éves a negyedik gyermeke? Számbevitel numKids >= 4
6 sumKidAges {sum(kid1.NAOK,kid2. NAOK,kid3.NAOK,kid4.NAOK)} Egyenlet 1
7 kidSummary Azt mondtad, hogy {numKids} van. {if(numKids==1,'child','childs')}. {if(numKids>1,implode(' ','Az első ',min(numKids,4),' gyerekek életkorainak összege ',sumKidAges,'.'),' ')} |1


A példa letöltéséhez kattintson a következő linkre: Assessments_survey_example.


Az alábbiakban képernyőképeket találhat a reprezentatív kérdésekről. Amint láthatja, az EM szintaxis kiemeli az összes olyan mezőt, amely testreszabást tartalmazhat. Itt példákat láthat a Relevancia szintaxis-kiemelésére, az Egyenlet kérdéstípusára és a kérdésen belüli helyettesítésekre. A súgóban, a csoportfejléc-megjelenítésben, az üdvözlő üzenetben és a befejező üzenetben is használhatja a helyettesítéseket.

A következő példában, mivel a relevancia {numKids >= 2), a kérdés csak akkor lesz látható, ha a válaszadó beszámol arról, hogy legalább két gyermeke van.



Az alábbiakban megfigyelheti, hogy minden változóhoz tartozik a .NAOK utótag. Ez annak köszönhető, hogy az EM hogyan támogatja a lépcsőzetes relevanciát. Ha nem rendelkezik .NAOK-val, akkor az összeget csak akkor számítja ki, ha a személy azt mondja, hogy 4 gyermeke van (pl. ha az összes változó releváns). A .NAOK használata azt jelenti, hogy akkor is ki akarjuk számítani az összeget, ha az összes vagy néhány változó irreleváns (pl. a "Nem alkalmazható" (NA) rendben van (OK)).

A .NAOK attribútum azonban csak azt befolyásolja, hogy a változók átkerülnek-e az EM-be. Ha a válaszadó először azt mondja, hogy 3 gyermeke van, és mindegyikhez megadja az életkorát, majd meggondolja magát, és azt mondja, hogy 2, akkor nem akarjuk látni a 3 beírt érték összegét - mivel a harmadik gyermek "nem alkalmazható" esetünkben már:



Minden különálló kifejezés sárgásbarna háttérrel színkódolt. Amint látja, három külön kifejezés van itt. Az utolsó olyan üzenetet tartalmaz, amely csak akkor jelenik meg feltételesen, ha a személynek egynél több gyermeke van.



Íme, képernyőképek a felmérés működéséről.

Amikor először meglátogatja az oldalt, ezt látja. Ne feledje, hogy a "Neked 0 gyermeked"" helyett azt írja ki, hogy "0 gyermeked van.



Ha a gyerekek száma értékét 1-re módosítom, a kijelző azonnal erre változik, még akkor is, ha ugyanazon az oldalon van:



Most figyeld meg, hogy a nyelvtan helyes: "Van 1 'gyermeked.

Most a gyerekek számának értékét 3-ra módosítom, és a kijelző azonnal erre változik.

Figyelje meg, hogy most a feltételes üzenetet látja alul: "Az első 3 gyerek életkorának összege 0."



Most beírom a képzeletbeli gyermekeim életkorát, és ezt a kijelzőt kapom, amely összegzi az életkorukat:



Ismét a pontszám és a kijelző azonnal frissül, amint beírom az értékeket, így ezt felhasználhatja egy értékelési pontszám futó összegének megjelenítésére.


Most a gyermekek számának értékét 2-re változtattam. A kijelző a következőre változott:



Figyeljük meg, hogy bár a harmadik gyermeknél 5,5 értéket adtam meg, a jelentés most csak az első 2 gyermekem értékeit összegzi.

Ennek az az oka, hogy a 3. érték már irreleváns, és az irreleváns értékeket az EM aktívan figyelmen kívül hagyja.

Ha visszaállítanám a gyerekek számát 3-ra, akkor újra az 5,5-ös értéket látnám, amit beírtam. Tehát nem veszítek el semmilyen információt, amit az oldalon megadok.

Ha azonban a Következő vagy az Előző oldalra navigálok, minden irreleváns érték NULLÁLLÁSRA kerül a munkamenetben és az adatbázisban. Tehát, ha az értéket 2-ben tartanám, mennék a következő oldalra, majd visszajövök és kijelenteném, hogy valójában 3 gyerekem van, akkor már nem látnám az 5,5 éves kort.


Adja meg az adatokat, és tekintse meg a dinamikusan változó jelentést arról, hogy mit adtak meg ugyanazon az oldalon

Ez a példa a LimeSurvey testreszabási folyamatát mutatja be.

A példa letöltéséhez kattintson a következő hivatkozásra: Dinamikus változások felmérési példa.

Így néz ki az oldal kezdetben. Csak azt a kérdést látja, hogy melyik városban él:



Amint elkezdi beírni a választ, a testreszabási folyamat is elindul:


A válaszok beírásakor az oldal alján lévő táblázat frissül, és megjeleníti a válaszok válaszkódjait és értékeit.


Gyakori hibakeresési példák

Beágyazott if() utasítások (feltételes logika)

Az EM támogatja az "if(test,do_if_true,do_if_false)" függvényt, így feltételes logikát vagy testreszabást hajthat végre. Ez a függvény beágyazható az "if { } else if { } else { }" megfelelőjének végrehajtására. Az EM értesíti Önt, ha a zárójelek nincsenek kiegyensúlyozva (pl. hiányzik egy záró jobb oldali zárójel), vagy ha van extra jobboldali zárójel. Meg kell próbálnia megszámolni a zárójeleket a hosszú beágyazott if utasítások összeállítása során, mentse el, ellenőrizze a szintaktikai hibákat, és javítsa ki azokat, ha talál ilyet. Nézzük meg együtt az alábbi példát.

Az alább használt kérdéscsoport innen érhető el: Személyre szabott felmérés example.lsg


Először is, ha nincs beírva, csak azt látja, hogy „Hello”.



Ha beír egy nevet, a következőt írja ki: „Hello, {name}”.



Ha megad egy életkort, személyre szabott üzenetet kap, attól függően, hogy óvodás korú gyermek-e vagy sem:



Iskoláskorú, tinédzser vagy felnőtt. Íme egy tinédzser, aki névtelen akar lenni:



Itt van a csoport logikai fájlja. Amint az „ha alapú” kérdésnél látható, vannak beágyazott if-állítások, amelyek az adott személy életkorán alapulnak.



Amikor eredetileg szerkeszti ezt a kérdést, valószínű, hogy valamikor rossz számú zárójel lesz. Íme, mi történik, ha túl kevés van belőle:



Ha a „ha” szó fölé viszi az egérmutatót, amelyet egy piros négyzet vesz körül, a „Zárójelek nincsenek kiegyensúlyozva” felirattal. Ebben az esetben a „már felnőtt!” után négy záró zárójel legyen, de csak három.

Ha viszont van egy extra jobb oldali zárójel, akkor azt egy piros négyzet veszi körül, például:



Amikor ténylegesen szerkeszti a kérdést, a kérdés így néz ki: