| Code Perl |
sub resCons {local($To,$IN) = @_;
local @Res = ();
local($k,$x0,$nom,$y1,$y2,$y3);
local($date,$err);
$x0 = $$IN;
if (($k=index($x0,"(#T(Resume)new:"))==-1) {return ''}; $x0 = substr($x0,$k);
if (($k=index($x0,"/#T)"))==-1) {return ''}; $k = $k+4; $x0 = substr($x0,0,$k);
local $Out = '';
if ($x0=~/\(#T\(Resume\)new:\/#T/) {$Out = $x0; &setDate(\$Out); $x0 = $Out}
if ($x0!~/\(#T\(Resume\)new:\/\/(\w+)\/#T\(resOwner\):(\w+)\/#T\(resError\):(\w+)\/#T\(resVCrit\):(.*)\/#T\(resVData\):(.*)\/#T/) {return ''};
$date = $1; $nom = $2; $err = $3; $y1 = $4; $y2 = $5; $y3 = "";
if ($y2=~/(.*)\/#T\(resVMail\):(.*)/) {$y2 = $1; $y3 = $2};
if ($y2=~/(.*)\/#T\(resVDate\):(.*)/) {$y2 = $1; if ($2 ne "") {$date = $2}};
%{$Res[0]} = (); $Res[0]{'resOwner'} = $nom; $Res[0]{'resError'} = $err; $Res[0]{'resVCrit'} = $y1; $Res[0]{'resVData'} = $y2; $Res[0]{'resVDate'} = $date; $Res[0]{'resVMail'} = $y3;
local $Out = ''; local @TOut = ();
&resConsArray($To,\%{$Res[0]},\$Out,\@TOut);
return $Out;
}
sub resConsArray {local($To,$RES,$OUT,$TOUT) = @_;
local($x,$k,@T,$k1,$k2,$x1,$x2);
@T = split(/;/,$$RES{'resVData'});
$x='';
if ($T[0] eq "GM") {
$x1= ('Du garde-meubles');
} elsif (index($T[0],",")!=-1) {
$x1 = $T[0]; $k1 = -1; while(($k2=index($x1,",",$k1+1))!=-1) {$k1 = $k2}; $x1= ('De '.substr($x1,0,$k1).' ('.substr($x1,$k1+1).')');
} else {
$x1 = $T[0]; $x1= ('De '.$x1.'');
}
if (substr(lc($x1),0,6) eq "de le ") {$x1='Du '.substr($x1,6)} elsif (substr(lc($x1),0,7) eq "de les ") {$x1='Des '.substr($x1,7)}; $x.= $x1;
if ($T[1] eq "GM") {
$x1= (' au garde-meubles');
} elsif (index($T[1],",")!=-1) {
$x1 = $T[1]; $k1 = -1; while(($k2=index($x1,",",$k1+1))!=-1) {$k1 = $k2}; $x1= (' à '.substr($x1,0,$k1).' ('.substr($x1,$k1+1).')');
} else {
$x1 = $T[1]; $x1= (' à '.$x1.'');
}
if (substr(lc($x1),0,6) eq " à le ") {$x1=' au '.substr($x1,6)} elsif (substr(lc($x1),0,7) eq " à les ") {$x1=' aux '.substr($x1,7)}; $x.= $x1;
if ($T[4] ne "0") {$x.= (' - environ '.$T[4].' km')};
$x1 = "ws".(1000+($T[3])+0).'';
$x2 = $T[2]; $x2 =~ s/(\d\d)\/(\d\d)\/(\d\d\d\d)/$3$2$1/; $x2 = "ws".$x2;
@{$TOUT} = ("",$To,"",$To.$$RES{'resOwner'},$$RES{'resVDate'},$x,$x1,$x2,$$RES{'resError'},"","");
if ($$RES{'resVCrit'}=~/^\d{5},\d+:[^;]*;[^;]*;([^,]*),([^;]*);/) {
$$TOUT[9] = $1;
$$TOUT[10] = $2;
}
local $x = ''; local($x1);
$x1 = $$TOUT[4]; $x1 =~ s/ws(\d\d\d\d)(\d\d)(\d\d).*/$3\/$2/; $x.= (' ['.$x1.']');
$x1 = $$TOUT[5]; $x1 =~ s/ / /g; $x.= (' - '.$x1.'');
$x1 = $$TOUT[6]; $x1 =~ s/ws(\d0*)(\d+)/$2/; $x.= (' - '.$x1.' m3');
$x1 = $$TOUT[7]; $x1 =~ s/ws(\d\d\d\d)(\d\d)(\d\d)/$3\/$2\/$1/; $x.= (' - '.$x1.'');
$$OUT = $x;
return 0;
}
|
| Code JavaScript |
function resCons(To,IN) {
var Res = Array();
var k,x0,nom,y1,y2,y3;
var date,err;
x0 = IN[0];
if ((k=x0.indexOf("(#T(Resume)new:"))==-1) {return ''}; x0 = x0.substr(k);
if ((k=x0.indexOf("/#T)"))==-1) {return ''}; k = k+4; x0 = x0.substr(0,k);
var Out = Array('');
if (x0.match(/\(#T\(Resume\)new:\/#T/)) {Out[0] = x0; setDate(Out); x0 = Out[0]}
if (!x0.match(/\(#T\(Resume\)new:\/\/(\w+)\/#T\(resOwner\):(\w+)\/#T\(resError\):(\w+)\/#T\(resVCrit\):(.*)\/#T\(resVData\):(.*)\/#T/)) {return ''};
date = RegExp.$1; nom = RegExp.$2; err = RegExp.$3; y1 = RegExp.$4; y2 = RegExp.$5; y3 = "";
if (y2.match(/(.*)\/#T\(resVMail\):(.*)/)) {y2 = RegExp.$1; y3 = RegExp.$2};
if (y2.match(/(.*)\/#T\(resVDate\):(.*)/)) {y2 = RegExp.$1; if (RegExp.$2!="") {date = RegExp.$2}};
Res[0] = []; Res[0]['resOwner'] = nom; Res[0]['resError'] = err; Res[0]['resVCrit'] = y1; Res[0]['resVData'] = y2; Res[0]['resVDate'] = date; Res[0]['resVMail'] = y3;
var Out = Array(''); var TOut = Array(Array());
resConsArray(To,Array(Res[0]),Out,TOut);
return Out[0];
}
function resConsArray(To,RES,OUT,TOUT) {
var x,k,T,k1,k2,x1,x2;
T = RES[0]['resVData'].split(/;/);
x='';
if (T[0]=="GM") {
x1= ('Du garde-meubles');
} else if (T[0].indexOf(",")!=-1) {
x1 = T[0]; k1 = -1; while((k2=x1.indexOf(",",k1+1))!=-1) {k1 = k2}; x1= ('De '+x1.substr(0,k1)+' ('+x1.substr(k1+1)+')');
} else {
x1 = T[0]; x1= ('De '+x1+'');
}
if (x1.toLowerCase().substr(0,6)=="de le ") {x1='Du '+x1.substr(6)} else if (x1.toLowerCase().substr(0,7)=="de les ") {x1='Des '+x1.substr(7)}; x+= x1;
if (T[1]=="GM") {
x1= (' au garde-meubles');
} else if (T[1].indexOf(",")!=-1) {
x1 = T[1]; k1 = -1; while((k2=x1.indexOf(",",k1+1))!=-1) {k1 = k2}; x1= (' à '+x1.substr(0,k1)+' ('+x1.substr(k1+1)+')');
} else {
x1 = T[1]; x1= (' à '+x1+'');
}
if (x1.toLowerCase().substr(0,6)==" à le ") {x1=' au '+x1.substr(6)} else if (x1.toLowerCase().substr(0,7)==" à les ") {x1=' aux '+x1.substr(7)}; x+= x1;
if (T[4]!="0") {x+= (' - environ '+T[4]+' km')};
x1 = "ws"+(1000+parseInt(T[3])).toString();
x2 = T[2].replace(/(\d\d)\/(\d\d)\/(\d\d\d\d)/,"$3$2$1"); x2 = "ws"+x2;
TOUT[0] = Array("",To,"",To+RES[0]['resOwner'],RES[0]['resVDate'],x,x1,x2,RES[0]['resError'],"","");
if (RES[0]['resVCrit'].match(/^\d{5},\d+:[^;]*;[^;]*;([^,]*),([^;]*);/)) {
TOUT[0][9] = RegExp.$1;
TOUT[0][10] = RegExp.$2;
}
var x = ''; var x1;
x1 = TOUT[0][4].replace(/ws(\d\d\d\d)(\d\d)(\d\d).*/,"$3\/$2"); x+= (' ['+x1+']');
x1 = TOUT[0][5].replace(/ /g," "); x+= (' - '+x1+'');
x1 = TOUT[0][6].replace(/ws(\d0*)(\d+)/,"$2"); x+= (' - '+x1+' m3');
x1 = TOUT[0][7].replace(/ws(\d\d\d\d)(\d\d)(\d\d)/,"$3\/$2\/$1"); x+= (' - '+x1+'');
OUT[0] = x;
return 0;
}
|