# HG changeset patch # User Pascal Bellard # Date 1424523492 -3600 # Node ID 674bad1f758b9eb73d98749e9d37ef70c0f7cf27 # Parent 673b33f90a097e2552e3d2f11b2941d0e13346a3 tazwikiss: add sum() diff -r 673b33f90a09 -r 674bad1f758b tazwikiss/rootfs/var/www/wiki/pages/AideCalc.txt --- a/tazwikiss/rootfs/var/www/wiki/pages/AideCalc.txt Sat Feb 21 11:57:51 2015 +0100 +++ b/tazwikiss/rootfs/var/www/wiki/pages/AideCalc.txt Sat Feb 21 13:58:12 2015 +0100 @@ -16,10 +16,10 @@ !!Exemples {{Pommes;12;=round((100*B1)/B3)+'%'; Poires;7;=round((100*B2)/B3)+"%"; -Total :;=B1+B2;=parseInt(C1)+parseInt(C2)+'%';}} +Total :;=sum("B1","B2");=parseInt(C1)+parseInt(C2)+'%';}} Pommes;12;=round((100*B1)/B3)+'%'; Poires;7;=round((100*B2)/B3)+"%"; -Total :;=B1+B2;=parseInt(C1)+parseInt(C2)+'%'; +Total :;=sum("B1","B2");=parseInt(C1)+parseInt(C2)+'%'; {{Un nombre;sa racine carré; 2;=(A2<0)?alert('A2 < 0 !'):sqrt(A2);}} Un nombre;sa racine carré; diff -r 673b33f90a09 -r 674bad1f758b tazwikiss/rootfs/var/www/wiki/pages/HelpCalc.txt --- a/tazwikiss/rootfs/var/www/wiki/pages/HelpCalc.txt Sat Feb 21 11:57:51 2015 +0100 +++ b/tazwikiss/rootfs/var/www/wiki/pages/HelpCalc.txt Sat Feb 21 13:58:12 2015 +0100 @@ -16,10 +16,10 @@ !!Examples {{Apples;12;=round((100*B1)/B3)+'%'; Pears;7;=round((100*B2)/B3)+"%"; -Total :;=B1+B2;=parseInt(C1)+parseInt(C2)+'%';}} +Total :;=sum("B1","B2");=parseInt(C1)+parseInt(C2)+'%';}} Apples;12;=round((100*B1)/B3)+'%'; Pears;7;=round((100*B2)/B3)+"%"; -Total :;=B1+B2;=parseInt(C1)+parseInt(C2)+'%'; +Total :;=sum("B1","B2");=parseInt(C1)+parseInt(C2)+'%'; {{A number;its square root; 2;=(A2<0)?alert('A2 < 0 !'):sqrt(A2);}} A number;its square root; diff -r 673b33f90a09 -r 674bad1f758b tazwikiss/rootfs/var/www/wiki/plugins/wkp_Calc.sh --- a/tazwikiss/rootfs/var/www/wiki/plugins/wkp_Calc.sh Sat Feb 21 11:57:51 2015 +0100 +++ b/tazwikiss/rootfs/var/www/wiki/plugins/wkp_Calc.sh Sat Feb 21 13:58:12 2015 +0100 @@ -22,6 +22,18 @@ } var DATA={}; +function sum(id,from,to) { + var result=0 + for (var l=from.charCodeAt(0);;l++) { + for (var n=parseInt(from.substring(1)); + n <= parseInt(to.substring(1));n++) { + var e=document.getElementById(id+String.fromCharCode(l)+n) + result+=parseFloat(e.value) + } + if (l == to.charCodeAt(0)) break + } + return result; +} function buildCalc(id, rows, cols) { DATA[id] = {}; var maths = [ "abs", "acos", "asin", "atan", "atan2", "ceil", "cos", "exp", @@ -37,6 +49,7 @@ function(n){var x=1;while(n>1)x*=n--;return x;}; DATA[id].fib = DATA[id].FIB = function(n){var c=0,p=1;while(n-->0){var x=c;c+=p;p=x};return c;}; + DATA[id].sum = DATA[id].SUM = function(a,b){return sum(id,a,b);}; for (var i=0; i<=rows; i++) { var row = document.getElementById(id).insertRow(-1); for (var j=0; j<=cols && j<=26; j++) {