From d8af138d787c1b2ac60095e618e79b841b4822ad Mon Sep 17 00:00:00 2001 From: f1iwq2 Date: Mon, 16 Mar 2020 21:41:53 +0100 Subject: [PATCH] V1.42 --- UnitConfig.dcu | Bin 11765 -> 11829 bytes UnitConfig.pas | 3 +- UnitDebug.dcu | Bin 12064 -> 11972 bytes UnitDebug.dfm | 30 +++++----- UnitDebug.pas | 15 +++-- UnitPilote.dcu | Bin 10646 -> 10651 bytes UnitPrinc.dcu | Bin 169207 -> 169239 bytes UnitPrinc.dfm | 4 +- UnitPrinc.pas | 61 ++++++++++++-------- UnitSimule.dcu | Bin 7382 -> 7383 bytes UnitTCO.dcu | Bin 52601 -> 52616 bytes UnitTCO.dfm | 46 ++++++++++++--- UnitTCO.pas | 141 ++++++++++++++++++++++++++++++---------------- verif_version.pas | 4 +- versions.txt | 3 +- 15 files changed, 202 insertions(+), 105 deletions(-) diff --git a/UnitConfig.dcu b/UnitConfig.dcu index f7cddae480b78ab6207123cae2c483123f76d1bd..381caabbac13282e0cc4730c5ef672b1384931d8 100644 GIT binary patch delta 546 zcmewwy)}mWJ_7^4sU8DE-}NVX7XDZCB`X}1!Pr$q?xQDkco0z+)~V^JF+%vL<%r{WSwj%AhLP7fI2hNR+r5OgatWe znvZ-4Honvu`k^!QN2lwbZr49A7=Xa|KxjtT|=pydR;$&wf4IH*u@0Xa`+|4 zn%9rJ4@Y-DjXnGy2tdZ^05Obh#lWz+R&FU9qvvL2)tO9;I+ORR2T1cUK4cPNybHz_ zjF!v-OfRIEWSMxFUU_Xc(a>UI;Zk7=n4F}g%)E@pYI28Gi|9!fhDmHP3=CpU5{^s^ zSGYi=;ABPZweq&i8<|X)7(6PO8Q55SydqgPGMOa%4`0P?;dgl{ptgc`_G5s8R@3 z3!*q0L1ZLLCy4r}-V35~Stf$0qb!r{bwiC57zB)bnP;&1G9UZr%lrgLi!uQjflNTw YToCIfh^5L5WG!R{vT9i;AJfeT0O940s{jB1 diff --git a/UnitConfig.pas b/UnitConfig.pas index be8a637..118095a 100644 --- a/UnitConfig.pas +++ b/UnitConfig.pas @@ -166,6 +166,7 @@ begin IpOk:=n=3; end; +// vérifie si ma config de la com série/usb est ok function config_com(s : string) : boolean; var sa : string; j,i,erreur : integer; @@ -201,7 +202,7 @@ begin i:=pos(':',sa); val(copy(sa,4,i-1),Numport,erreur); - config_com:=not( (NumPort>9) or (protocole=-1) or (protocole>4) or (i=0) ); + config_com:=not( (copy(sa,1,3)<>'COM') or (NumPort>9) or (protocole=-1) or (protocole>4) or (i=0) ); end; procedure TFormConfig.Button1Click(Sender: TObject); diff --git a/UnitDebug.dcu b/UnitDebug.dcu index 98a2f5bcd73c6d26b5361552525e855d5478abe3..6194ad775604eaf4680049baeac14b6220ddfa95 100644 GIT binary patch delta 3264 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 pm+(m+C5l4|Q8Sw-1 then begin s:=IntToSTR(i)+' Tick='+IntToSTR(event_det_tick[i].tick)+' Det='+IntToSTR(j)+'='+intToSTR(etat); @@ -221,7 +224,7 @@ begin etat:=event_det_tick[i].aiguillage; if etat<>-1 then begin - s:=IntToSTR(i)+' Tick='+IntToSTR(event_det_tick[i].tick)+' Aig='+IntToSTR(etat)+'='+intToSTR(event_det_tick[i].position); + s:=IntToSTR(i)+' Tick='+IntToSTR(event_det_tick[i].tick)+' Aig='+IntToSTR(etat)+'='+intToSTR(event_det_tick[i].etat); AfficheDebug(s,clyellow); end; end; diff --git a/UnitPilote.dcu b/UnitPilote.dcu index f6a417cb70016a5553601d70096991f4e0dc33b3..75124cd976522fe341b621fc3b48e28a34008cb0 100644 GIT binary patch delta 125 zcmbOhJUf{CJ_7^)Y)uA+h1Gc*x!cvHS=c$58JHM;34%xlQ4qf9h5Orp$9eQj*L|!3q^7yJ;vWBv-N@1#xqkPlBjI=Ccs$Du_DV!oIml HLxd3kf*=|R delta 99 zcmbOoJS~{}J_7^)G))GE*Lh(Zx!cuc@ diff --git a/UnitPrinc.dcu b/UnitPrinc.dcu index 89d6321c9d73e9da40ca3cab1e7e35c678b6c857..2b6d35997ced33e0432c94450e7a647c80bab8fb 100644 GIT binary patch delta 9530 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 diff --git a/UnitPrinc.dfm b/UnitPrinc.dfm index 487841d..69b5ea2 100644 --- a/UnitPrinc.dfm +++ b/UnitPrinc.dfm @@ -1,6 +1,6 @@ object FormPrinc: TFormPrinc - Left = 84 - Top = 109 + Left = 25 + Top = 101 AutoSize = True BorderStyle = bsSingle Caption = 'Client TCP-IP CDM Rail ou USB - syst'#232'me LENZ' diff --git a/UnitPrinc.pas b/UnitPrinc.pas index 56599a8..2eb7bb8 100644 --- a/UnitPrinc.pas +++ b/UnitPrinc.pas @@ -3581,6 +3581,7 @@ begin delete(s,1,k); //Affiche('s='+s,clyellow); feux[i].VerrouCarre:=s[1]='1'; + delete(s,1,1); // si décodeur UniSemaf (6) champ supplémentaire if Feux[i].decodeur=6 then begin @@ -5036,11 +5037,9 @@ begin if i<2 then exit; Affiche('test si seq 010 sur det '+intToSTR(Adresse),clyellow); etat0_seq1:=false; etat1_seq2:=false; etat0_seq3:=false; - if (event_det_tick[i].detecteur[Adresse]=0) then begin etat0_seq1:=true;end; + if (event_det_tick[i].detecteur=0) then begin etat0_seq1:=true;end; repeat -// if (event_det_tick[i].detecteur[Adresse]=0) then etat0_seq1:=true; - - if (event_det_tick[i].detecteur[Adresse]=1) and etat0_seq1 then begin etat1_seq2:=true;end; + if (event_det_tick[i].detecteur=1) and etat0_seq1 then begin etat1_seq2:=true;end; dec(i); // remonter le temps ... until (i=0) or (etat1_seq2); trouve_seq_chrono_010:=etat1_seq2; @@ -5070,18 +5069,19 @@ begin dec(N_event_det); end; -// trouve adresse d'un détecteur à "etat" avant "index" dans le tableai chrono +// trouve adresse d'un détecteur à "etat" avant "index" dans le tableau chrono function trouve_index_det_chrono(Adr,etat,index : integer) : integer; var i : integer; trouve : boolean; begin + if index<=0 then begin affiche('Erreur 784 index invalide',clred);exit; end; i:=index; if i>N_Event_tick then begin trouve_index_det_chrono:=0;exit; end; inc(i); repeat dec(i); - trouve:=event_det_tick[i].detecteur[Adr]=etat ; - until trouve or (i=0); + trouve:=(event_det_tick[i].etat=etat) and (event_det_tick[i].detecteur=Adr) ; + until (trouve or (i=0)); if trouve then begin trouve_index_det_chrono:=i;exit; @@ -5332,6 +5332,7 @@ begin Adr_El_Suiv:=Feux[i].Adr_el_suiv1; // adresse élément suivant au feu Btype_el_suivant:=Feux[i].Btype_suiv1; + // signal directionnel ? if (modele>10) then begin //Affiche('Signal directionnel '+IntToSTR(AdrFeu),clyellow); @@ -5339,6 +5340,7 @@ begin exit; end; + // signal non directionnel etat:=etat_signal_suivant(AdrFeu,1) ; // état du signal suivant + adresse du signal suivant dans Signal_Suivant // signaux traités spécifiquement @@ -5357,16 +5359,21 @@ begin envoi_LEB(AdrFeu); exit; end; - - + + // signal à 2 feux = carré violet+blanc if (Feux[i].aspect=2) then //or (feux[i].check<>nil) then // si carré violet begin - if carre_signal(AdrFeu) and (Feux[i].aspect=2) then - begin Maj_Etat_Signal(AdrFeu,violet) ; Envoi_signauxCplx; - exit; + // si aiguillage après signal mal positionnées + if carre_signal(AdrFeu) then + begin + Maj_Etat_Signal(AdrFeu,violet); + Envoi_signauxCplx; + exit; end - else if not(carre_signal(AdrFeu)) then //ici ya pas de check and feux[i].check.checked then - begin Maj_Etat_Signal(AdrFeu,blanc);Envoi_signauxCplx; + else + begin + Maj_Etat_Signal(AdrFeu,blanc); + Envoi_signauxCplx; exit; end; end; @@ -5778,7 +5785,7 @@ begin if N_Event_tick>=1 then begin //Affiche('Event_det_tick['+intToSTR(N_event_tick)+'].detecteur['+intToSTR(Adresse)+']='+intToSTr(event_det_tick[N_event_tick].detecteur[Adresse]),clyellow); - if event_det_tick[N_event_tick].detecteur[Adresse]=etat01 then exit; // déja stocké + if (event_det_tick[i].etat=etat01) and (event_det_tick[i].detecteur=Adresse) then exit; // déja stocké end; if Traceliste then AfficheDebug('--------------------- détecteur '+intToSTR(Adresse)+' à '+intToSTR(etat01)+'-----------------------------',clOrange); @@ -5805,7 +5812,8 @@ begin // event_det_tick[N_event_tick].train:=0; event_det_tick[N_event_tick].tick:=tick; - event_det_tick[N_event_tick].detecteur[Adresse]:=etat01; + event_det_tick[N_event_tick].detecteur:=Adresse; + event_det_tick[N_event_tick].etat:=etat01; // Affiche('stockage de '+intToSTR(N_event_tick)+' à '+intToSTR(etat01),clyellow); end; @@ -5857,7 +5865,7 @@ begin inc(N_Event_tick); event_det_tick[N_event_tick].tick:=tick; event_det_tick[N_event_tick].aiguillage:=adresse; - event_det_tick[N_event_tick].position:=pos; + event_det_tick[N_event_tick].etat:=pos; end; exit; @@ -6521,8 +6529,12 @@ begin for i:=0 to Max_Event_det_tick do begin event_det_tick[i].aiguillage:=-1; - for j:=1 to 1100 do - event_det_tick[i].detecteur[j]:=-1; // initialiser les détecteurs à -1 + //for j:=1 to 1100 do + //event_det_tick[i].detecteur[j]:=-1; // initialiser les détecteurs à -1 + event_det_tick[i].detecteur:=-1; + event_det_tick[i].etat:=-1; + event_det_tick[i].aiguillage:=-1; + event_det_tick[i].actionneur:=-1; event_det_tick[i].traite:=false ; // non traité end; @@ -7266,6 +7278,8 @@ begin Affiche('Version 1.31 : Correction des positions aiguillages triples et TJD',clLime); Affiche('Version 1.4 : Gestion des Fx vers les locomotives par actionneurs',clLime); Affiche('Version 1.41 : Gestion des passages à niveaux par actionneurs',clLime); + Affiche('Version 1.42 : Correction erreur lecture feux',clLime); + end; @@ -7282,14 +7296,15 @@ begin for i:=1 to N_Event_tick do begin - for j:=1 to 1100 do + //for j:=1 to 1100 do begin - etat:=event_det_tick[i].detecteur[j]; + etat:=event_det_tick[i].etat; if etat<>-1 then begin + j:=event_det_tick[i].detecteur; s:=IntToSTR(i)+' Tick='+IntToSTR(event_det_tick[i].tick); s:=s+' Det='+IntToSTR(j)+'='+intToSTR(etat); - s:=s+' Det suiv='+intTostr(event_det_tick[i].suivant); + // s:=s+' Det suiv='+intTostr(event_det_tick[i].suivant); Affiche(s,clyellow); end; end; @@ -7298,7 +7313,7 @@ begin if etat<>-1 then begin s:=IntToSTR(i)+' Tick='+IntToSTR(event_det_tick[i].tick); - s:=s+' Aig='+intToSTR(etat)+'='+intToSTR(event_det_tick[i].position); + s:=s+' Aig='+intToSTR(etat)+'='+intToSTR(event_det_tick[i].etat); Affiche(s,clyellow); end; end; diff --git a/UnitSimule.dcu b/UnitSimule.dcu index 57f6b2da2a7d62eb017ff629c0a720a75d47aabb..066947cc0292a2ace6d12bacdaa12e94e39cd040 100644 GIT binary patch delta 45 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 literal 52601 zcmeIb4}4VBnKyp#xp!{vOlI=WA%+y_gaR*#fs#NhvBoAL3B(fQUzAu;$7B-5<_{zp zC0%2KF|Bbru4AQ@R{WV(T5(G&Zs`h@E~u!q(h|2=Y0bW{Kk)^HEV$x=h2i}^=iEDU zCx7^(b+`6i_}u%w=bYy}=Q+=L&U2n~?j88wl9b%BN0OfDS+Q`<%_km_*mtC>S0+|B z``ee!xo-MOZ`)>+NUhPFy85P{A&1r3s(j6XwpZr7_U{t@)H{|gY*`stNtyPXNBZmS zOX;z)-PiOF_HT`ENSq!kKmJdSpEo$BM+qMKZsc5TonF4WeNKC8V~nM?w6e+D;QNn1 z-&fd>FkK}6*!$2rPUbG*%Wc-!9n)g8;hVM%-4P!99GxA_{UeY5qK^|qzu zb^i8(Nej=_CoC-uw70i3f8m{1e8ia(xyKw@-=IzBRO6m`{$PVX-5{H=`it{w>+GbH zg{}VPTCOMbxgnvXzTRKE!nb@(wYR}u=WF-Xw)+CDSvjdUH8>aC*6J&5^){ot?Zu>> zt_IymEvQi1pKZ`<8?QrYgU{D{bf7_<)8TE_^AFryTW6cw>aU9`p|&oe%Ot zfLblhUBg%|^!l6IMNjUb!b~g6MFC%HM`d%nueIJ=>${iA}&IX4cdEnBuO(NY^|`{S^N%@SXoF}?moByn9{vZCcqjF`7^fQsU5=>~6e`dl^g4w zORHJ}Z9d_8Gn*eufl94?YHNc}TH5mW?@a$0W~HSBKE8w`^MB3vZ7Liyq>vk(?_nw$ zA6LXJ1oO{VCrG|SBpGoe+|h|)UPq;$i!0?0ll#ib<~DdMVO5V2;b%u7T-eg)r&;y? z5mCC8$S`NjogY%!XRKvWzjR%zzro-9k361u0f$3*a{w z4P#{b>S`*%%40NMiO9kq^~VoWVQRDxt=!V*=0f`5RWWzfJjZZ7;>( zpP<}W3z)$^A10S@8IMs5F;=BMm>l)-9?I96Zkz9`Z*RRkVXK8LbWd!54YqIqb6dSD zSNLmVF-XEv5r|E^@12Tz4MH}ywEj?j`|5gq=|W#K>F!zQtzW00r^eUV*mCEGPkrT3 zgNw?hqko)y@}R@lkYw}Y6duAn;5zTiY$ z5TrHwzD(I#ZR31@lkd+PA-qL`CG8!JzHdW<`a~fX&louO+n+Qf+}5_F1rw%Vd#!WKA-A2htW683bxx7Cl8FDfj>@*Qo}?f%$qput|f z5&`2JZ<}xRz`c5dj<9KI%aZoi41d7`4H`wY-uBb`j-N)|DqmY0HVzhc2_gcE=D_ zr4BPucHIpNT$He(qC`O@me3*LM5zyO8Ev{OIEyJU-zatVzu1r)36HzX|f-AU8l=zvH?Rg}P8f?)(n#XL2` zFoW`B+gC7FJa2yUcYpu*myCf#b2E8!whC`!o9|~^-#gHtE^Q6?o~9?I%qMiM7gx4% z@AV%QFJ051T-RF1Wk`y4We%oC>*~_%XKH697$+57et&&2L)w_=QV9}KM<5kZ%5*8x zG)kF1N6MyZhPRaLRAer1(rZW<3vQeAjoMja=Pg}{3dXKnnuT1xW0&%4XT{D4q)F7E zaULP1BT>Fu9B)WTsKL)pB(-*mUF^_t*3xzIOUHVzlyY>wWk<$+NzZ)k$FpO3L*yy|e4SCVc#gdeOKOPlJP2Jm@8_r#wxq*3- zYFh%0IGHG^YlUm{Me`HLZGzR?<1!xp@$8Mvqf>?-zUpn?9p9ZjbrbVA+FAmw{L$Q&&F%igB5ketoT6V0lLW;y1y^Wcso zGRd6ty{#hTv*y~DkwC;SN@%YcmZdMFzChS0kzO+_XIYbXb&O^UbWk%iC#j^l7KaAQ zs;t~V8O+nM|CC3rO`opS zesyX}qrcU63!S3*eXX~kVMz+Rr3z1ikySrqCy3j4mDTAvx<~G)&)JMDe|nDQ(XbnV ziqdl=kLGJ_#bbR=->KTEscqiC9Yfgebi}dkv$EB|mY5q%v>d5+YO*;Gr#JBF)wMFP z;y2PNMX$(GVN&(!vn7uVksQ1(?yVJ*kTX3!L$96cj#jS2g!4Dwaz~5b*ENqgoU~au zWN9MMOwZ7=KP;~>i{^A%7eT} z30R#kQUX@b6e$6#XNeRC<@S!e`kdn)V19khVaQ)U=@qEDA|IU}GgN-KyN0~3Yp4UR zkvrhHxDId$r~{hl0Q#|-%YhD%7;H79Ie;?28%WKp&)JI<;1#51iFyE?1m|6*4iH!B zz?0|gKz`Skr~_x!5l7&!s{_L<$lqK)x2u@s&(=niU&jEX=cwnkAU@`&j4?kBg~kQ~ z7VH;;BgTP-1LHu$fpMVWz&OxwU>s;TcEk+_*?;|{$49Vy$X(V|LUL#Q704}SjA=&H zi_zp>5?EQ*wSeS4F|xs5gudhT%MJY$vVc1uZFSJB6_?f(MV zFCRhgb8lH#)>T2GSH`QomY;lJ70Z&Bad%QP>VkAhq6^P$nzu0aS>#m6j}J3%Q|%*( zUUtjExn1)~^!4$gn``NR@60qsPmgN7yq;d~P#}jWyz6$7+|EYy;S>d2z=w0C>+lpG zd-W%8Z(TeO)J}EPinl6=+z|0~(Pm9rV?*FXVqu9zl*D-Kg+T0fdR7q2B5d*KcpKSrVHLub$dYEcXpUj+8@;7zNYdRcVf zXg4HYP<4HQ*yLG8P0P}j_|WOr^eL=%YHYC09SjBBU+tPr)y5`R`x~p~(apC7^%J4B zSkP78+>TwBk87=~lvpgXv@CHWVO(V@7hS^o0dt621x2CgNQ@zMgwE9Oz$tTAAu(*S zOr7|yjE{Cd+7%pI;%tP!;P1MMY9F+OP}bU6I)BH5ZdFW_CMJj@nYt-cQ-*YPT(k|Z zzafC#D@GC?X|7P(7paLY(IHEpZEYgP2~E^a9f=bhM48}Jb_txWh{}Xz$&jhR8^HVf zm2_0;t7~n+aY&wETz(0Rb4FmynF+q44TJBOiSNcyv^%8hu@I4l7jF#9TJCJ_n!_ct z1OQg$O;kXZo~vis_+juAPfG37%&2(fjZHYO<)Rtl%)NwePLA@K1LM8TC;D{<&Vl1J zS4k|lU3fxZY=?3be28P5&aS<9j$?<&NI{;_)vAxhWv;>Hx{t!eoM-e7<~nq*YY}m| zDyAcZ&QV{3N2s^fmp%oqbJ>)fsaY~#p>6zpeo9)#M6INj&f+oahPnX$MwS{_ObujS zpaD1b5*KXXvr&!mUM$3hydATIy8&*GOQ@;oqctVo2B)X1QH%8OMl*P?(19V|$mCz% zTu0jKT1woHjAHFs+EO}LX-}U*J;4G7rdYH_W14R=t^P<%N7h7sOcU3C5}KH43Vp+0 zQ0SR4p_hFULeDaVuK5cJJu4>kjUP|wtPyRxjQqbT_*bZf<)f^jquSl)MrRxo{-%#7 ze9Xo12?-B3*A#j=ajw2pp+6HZG%<_`d-Gpf*fLYtTmC}Amc@j<^)D)HB@Q-BVZDC| zVToZ(*xNpyutP=-ye*?v`|)@WF)`w8Dx&TqDIylciS=L!9p7RDB4RBc@pO*7g49mc zYFk#~>{yacvbcQ;;@{Xdgxe}R?K z+`Po1xwsbSdy1|V)I#Sdn-OCHuJB-$#Hw#Bz%gB5i(+h(_+A4lp&cmRK`g^*cpmKz zZ8gy+%FB=D@h5&VZb}&&nK&t{S9bYH#&IJLc9wPlB@7>OG7T~0UnRz)T2V|OVJdi^ zX4Gq>dbZI_g)9L(V!V{V@ULEo&oX>u8d`_(h<5?82u4W1*eBiz;5#JRAvT>?u2^OI zdKoVO${T$Yq~rZRz8&sbMU^X~!VTFenJ)~Y??&)yWJ1)N6T_w0O!E=IwqPN>8|-Q& zjwdY~bxZ6iwhz-`-eU93yK2680rQk7^D6J{eD@t7c00`Bqv~D9-vrJZa{bCVpc%^)y-S+cV8ZueHWp6S+Qr;%Ud z)>ECij_6Mj^4u&7>6rU>t9i~`wjj@~mN;|qaZOvRuN8?!&fKKP}~_)4C0JtNm0m%dH-C z=3YL^#@el(h!zgpBfC}Em76GP^6jo$O|@psMfbB@hW=)`^*mQ@QoOHmJ4(#*0=K@% zm78q34#OF_9bQ+iiyOSTKXYrVhGgZtwKYSsX1cZTkgQp5tJItE_B}5Z24sSF8vs@KTz%JKB6Hsh8$uvY-lwcImG%YqTfu!8zAuEL2xicx( z9{v2@hAUl5$<dtb6bzI+SQRWOEO8#0wogadZz>qGV!hvX6Fx=pL*A zVN$Gj^g_lxi0Euus?`A)stAGD6r8>#a1ZvNcjHEJ2u7v#sAP}~a|;H^CXi&sq~&CB zuF0VD#|ulZVBCZK5H`i)Sq$3k7Fo&TK73GZInia-JviQBTANvDtm?3-p+)8j>K&1>w+=J_f)-%sO+=E+(){C8BK({E&u=bC;!Du&*p*V9`u|);8L{pRGFQfIcke$Zs zQMQG?&`NLaYu$s@R{GfP)IHb~r6-RY<=-2nr)&%VK5K!s;q6vNF+uku`?7eSZJ5^y zlqAPibR*a9#KhqpgCDZATQn@6wnFZ~<;YKtqpx0x(L$~(?sc7ea55&p(H=Q&qrI(E zUq}(%E4T-DA=f>`i5nFTqA1bwV#+!LFOI|BUclj96`&NNLt(3Q<=A_h?7whYkdF5sLdgaW&?41Sy+t6`BFqu=3m8O z!PSCcWTA( zt~*gOQ?(>&bR=ZS616*#!6ZxAp29OIZs!kX;GV%#Ln8Na$TTI$^9-e+m3k7-MDRY9 zKb${$&*e1d4c})N{ASML4{-tfY@=+})%;Pi3)>QuE*3`@= ztf^T~A{Dh)S|omA&7k$+X=K=>q4E9Ck*i6u0RLH}RVf<=R}IhrAu8SGmO$_)0$^S0w6^Vs`ktF;XY_D3i(gOm|i#^RI_>Y2g* z2=!vY{s{HVV1I;qv0(qRynmwx`&qpBJi)%9a;`~Bus@d98zI;qLT?7|L+E3{yOrJ& z>|5#Mg8d-{v0#4)BQw}HCfEqUzA^uY1pCIsF)b$=?2nXB!M?#Ijvm22S5JJfAJ<+q z*pJJN2K&Znj}+`1#%>Ar4HiR!eHRzO2=)zrBL(~8INiv>zA;~{!G2tp2=xgx7)g}kpd~! ziudkl|7j2{rt>N@cidQ0Q`eia;>X}0DnG?DUpPXoy?gwYo4-<1v-|}}yXHk5Vv)c* zdV5mv*xTdecgpVVar1iyzmMa055G^Md-)ma&M%+~(H%;C6Z}PL+p8!D^-!;Q+m^>T z0pE3Vp?Kbr4-pvfr(a<=B)!~|i`w)wbH@*HH{sp3>QE1fz)5R@Yw0;ueugKZg09)0 zZ(n$h@1=~2!Rj;5z6p5*#Tz|;3XB;l&yl;)Hkbr|vyEEhl!8Zh=NT!meJK6CJCg4W zVEl*X_mQB*3k`UdQd?!I;q82n8oR}Zu-s`Kp7+Nq|5-P`F=Y9FrO3E(1> z5OhBi4AIbroRz)m{X>*a9l4N1ub~H_9V0U@u=XvKUg6oWOg9J-%pyne8Ywi*{z9`#w< z(L|_+n%t(FjiLXXiQ&Tzz=s77Eq{SLF!_D_o^N_>eFOK%7zv32W-6oSsg~zlTM6cR1`6)$}MmuO!)7dW$`k=R{* z2QLq*j|A0cL)=sH#?Eb_o~&5SncYqj3T|HyQGO3*jDLpBlV60lN}ic?FZH*1ay?%0^JhHy>8Arld7cBFycr(B-$DG!@NWnB zJUBs)+1pg3eaJ4Ec1n|N^7NcKK-4Zx+on(p3_ScNs14rMI;^BHQ^Tb_MDs4Vcz&<& zaN>Tx%y|Z-Wx^icwsPf4DOi!hwHV}ki=IE-J?o!I#NZ!{sV>$NBUCXngFNIk0+_j9 z4)hPL{k!C!aT2kf7`4qzqYomNYGZ^bUg>`EE%dOr>P+yD6mB#@4kMNdoLP|kvjS36 zuruYl84eHuwia#8CBH!52g~%g=m~2M@`A|7~Jd zo?<5NMUpdtp$63lgViY^_u^pLgQ^g>>uLr+1d}``1&t{6F z#`8{cgxxPbY$*RjQvOVk8OmRN=F7=H94sCk9Hr1_73+}zt#Pc`q!wwD@Rq|gXG}e3+|8F+px)A zF?6!;joI5DqV~4e+*)BO88v7s8J>>js`1FJFK(`4R-NhIK{|$Y!JcFM<7i)ili+p~ zsx}+zUH-l?5`Qp^`}mM5uyLuk>S(a)OmEfU?i~y^jz)UR4|Knv1V0Q_JsGS%j>rm5 zqWds2tQ3~}w6O0`)#JhH!@=^SMhPtU*vv;6C`dL(A4?c(Y^AUxN(9v5_3N`0P*E? zSXF(X`yECHSIbH5p(U7KM}x3*42z-j=)RxUORLxUuhTY#9<*~eLXZFEm0(1>C&%-V z3?A`K)Zmrw=M%{0KbG<_p0IW-BqRBK7(B{DbIig~9Zoc?`8M=Ea%3o00~(vvpX}IJ z9FfI6#o6+CebUHd6IUOL0OrD5mlZN& z_xx>)L-||96wNL-qFFw+@KML-1W&;k(Q;jW;A4%5>GFrJ1=nKYT>OaiUc`ue_it%L z`mpPfC|-(%w1}6mVjt(bwxh%2rH?mEqpsPPG;tmqb(oIR#^R5`6VcskY-1t1`f@QM zo8#tQ;I-~bYj$8 z_z}soNJ=5+VsVZV9M?VbgWmR_YE8}x7I&W-6Zm6k_lIKwzaw5}jAIyk&+fbP_^~1H zjICJ1+mzQzyPwHn{ne*lp^dRP6&UxALD5w2-xbHQ9^U&bTJK$Qbp zGudbc%8nh_8H>)lLSy{Y_kV%=e6Qy=@gE;}8oi#Cje#~#1JZRq4^sH;x`+Q;As%sf zahUY`r{3jQo6fyrqVb9hC!dr5}}N_s%g< zuF(nV6GqFMGUg_|RmK~c=jp_nPSG*sQi(-h49&lN$P@Fg4^NWyUC|qG zmor}z{hSl0jyWm()SnmeYGN9~J3}4(NZER_%-trZrHLsPdtM7~(?5^M;-6(|*gV<3 zocplb)!^@N+-JOCsrYhWa4z0J1ooRbQ8m1Yy7BSw3rm7;Y`c$Gil$!XC&`~f#?U8f zSLD&tOWo5jZ;gzF9*^<#_~Yk{r~d!+jKAq8a(>K26;8}|f2fJ1Dk{9v(SeyLG zSoW+P<79>t$JsqEGLG+YvTii_RbZTLE3h9G>R zn2A^f5_@_k$t>mSp_e0NlhkOC6OD0#zc=i;`^6N@bF%U-KG;%n53MD_0_EFfzVKlF zbkp~}qR)H9`ypXo7K&RhNKtn|3i=ZG{H@S;!RMz~c|i*LX88O(qKkWQwBFKp#pmZi zU(ueQfn{Tgq{4lm)6PVaJ@-_VqIV~qYAru;{n(A#n$ZLoWs*;{U!KZN-U zkHMctnBdXr^chsAh>9F4*Nt^LMb{_%fi|I^vg#^-Nn zWG7%MSOYAvAX=8cmtlFJFR{kd1#%jssL+mt@&NfOaaXOZ}F@ZExLzDUY<=bqz^;oV7As>=k@nfjI-k5!8IR{kK|sK@)57O5uw-rFei^Bme`nDU|>sv`-3kCb2sLP zejoeF^5;`%Z4Z{~FG;eI=-z$q89CS$jZv424_wF<@CYD?BfWCx%-z*18e!OV=kn@$ zvwC&}^q$v}?}*g31=)AeQbL5gHXE5-H#5{*_&Unl)#B8ySl zM+4a2Se(i5?M)lxqr*eQb0frKx*2(W8a02Of%%kZ-k1u}&Df`WDv*thZmFM!sbCC9 zbnp8q9}qf!`kNS#=uyMy141Vu@ry+%a{j9q3p6>J#u4r7bjUQyfXv+8JO4p-l)}FT ze@2^;3#=r@^obt(j6Pc51he?jqJM+ozjU;qaOZ=g=$pn0Z|Od@WA(sAk5%*l?o&Nh z^s9kUhVrj|US0fHMUO&1)nldqKQUI(Luq5I4A&SviT+d%q5W@o2>I^y1-$pEUSz&y zxp#xv-}CG>qh=kYiAG;WPVkkIUKjnoIXIq*uK3Mel_kASaVixYL-nuNd)JK8(5$Z* zrx(sOL4Jf4y!xBL+<)rL-5hNEC$+b6vkKIKdhxY^{yFEIlLEgq-T~dXoWCIAFRgmj zNzo4M0CV0k<83APm8PJ*cfz`41v9Txo@|&NcnrLXnP(yo}wUswwuiwNEt)ib1;X5MpbD?d}n|a(} zs19cu#t(81z(``R;_jul*OnK!2Zp}D#V1&Jfr~FnKmH5cC1{F|i1`ASLS3F=dDIPEBZ56y0qty4xr+wOnL-vEwA@EiIXH%<^%Z-Qzx7REY46fWI!!7u3Vk}2J%5+a z`1nfs;}zqPBLxfSuCz~5uP7iUU*x%8zv_!T|Lgf7=N*D1IPS3^s6w;uFx|m-xjP67 zcYx2(xH|~yrSk%hoiK?GgHPeUN{>N1tqoPTenG?Mm+X5z;To z_{8B<@Eg%1GD{DGZ{QToXc*sE#6EH1UAOoA=`LIMpY3<&kJfSeDj{}6|BdJi!FOkj zQls~#2lXM{7Um!A_J2a;xUcYr^!@)AKf$JTiq53pfnD;p@MTRI*`D~chMQ8)2Y2W2 zA0}JAv-{o`8}CsA$^2uRe}T7ExnAci2>fX-tVa#(su4?x7`K=1!T;?l$(!YEgklJ+ zCDP2@mXhdz;B{{7F!xiiCt^PGxj8f)bt(%`)%;{``3v3Ckd)*Xn#O-d(n5+PhZK(-R&*d;Dg3%x zm&Y<)Zr0_My1WKY?Yi6p=*88j%Ma*sg)WarVzDkS)#V#?`B%D}iu7%|jQ{0AUZ%?{ zbon7&#+#Cdb@^#seoU7a=<*MA`59gQxh^l%engkQr_1wn`B7bdT$iuc! zI9)DG%$KWyO~77YA8GDKfzE{`6 zFpIDy)WlwmMJFRwuCaEQ$3o2iwBjEDzUKq&KpBwwdRR zW7}CK=u+5D=488ArdFWdFBhoeaHZ45_ONuekJCe=?YDVGf?2hUdId(z}!y7(@qJ zn*rJsbbcZis9L=W&-0MyV1*D6i1Z|*EE7V`U@^WqhVtB;eo7`F9c-;4mMB^icx+N8 z$h#G19PU96-4ocG)aOa)a|Zj@G=LL?N$h|dU7sYM6}e}TyN7Z!G@7bC>O>Hxqtq#H zfHwZkfyYeBVp*`-x6;6I0_xMC<|F=uM0PE2iIb)C{2`f{;7-OpK^s6z z1JRb!(2`?>md>K3)5?6#Y8;!)W*OHE;Fav1Ot28_3gCYVY^LBNvm0l0t8{dB1vbGh z6lFEC4n*fHohGxIXzE8uz1kx0Y(rk{;KeXL427DCngJJ{?$ah<8Sxk$x=3j=gepvFml=$&0g^hnJ?zuO z0A?plz#4TC4On$88aPT)ue3;grO7-yK``$G^UjaP{4HXBC1%P3qXDvH(>lOZG|-O* z`aebkGYrKJwUlU2`i+JrV|f>Io$QS!2$vL*=jhwx4a+M05~4R zLU#zYxxD3!aL7&7<>S?SBalx;r$}(0b8&(imrCCeG4y2R7+6i(8(zJf0 z^Qs6js2l?}j=hpX#p02u9I_o;sD?{*^2@GLL$tm*QI>|h2_|_gi$)*JMxe@s#HRhE zYbT>-nn8=&87R-q{*7BEmYvhwaA|c)V@K1qF?NT%84K2C1qOkrC}Ao=r+|GLPxXsb zkIGX$BC|liK^xBu2^bJ01vc~+UBXakS@s;n!XH7ODWm8w%bre37+sB-XwTF}g;r=E zhdA8YKB;{QbEiPlNenKKkCzzg5p-+KGDaX149y18wMsNlIeG(dgCC)RN=pMZXrN~F z2H*xiLIX9H2K;EiZ>I>wv_5h?vFF%Sh*KTh;zwxMZ)vy#w$WjqXyI}d#+4=!4L)6I zxRQAJE~NMID~;nwlWVv<#9^NjH`S#Jt3*yXNaNjdJdCv&s19rD9&B4l*aoSmXrZ(O& zfxVid6*_XU1)UC`=sd4)+^6s$x=1_Gxh){>!MV$0FK#A=*}mw)N6P>;ELQw$&n9zYy&h zL_2nAqV-^fB_DQvBO7O>u`aKoTHJ~oXO=hvv509)9N{r2mLLp`~#H5p;OAxc*lNPhuB4(2ivln90LDeOQdC+DZ^iM#Wy%sV1gqYg} z?1!{;ly(WyhCXR&_gkbrk;oWMP_(m&NeFW@5c-N3b}Z%zg})Tf(({1j`4E3jLq3&d z8aNKeTxl@W#qxF~U9&sWi61+gNa3^7;OjPcQg}_gQxIMgmZ2UQGi_>$X=5-M|9exB z(~QJ3P>o2P@)nS9#eN5S0NPz;(rHH)!nLE+id$Rm%mj(&qXp*aJf@%yQ#?Vz`+i(U za1G!(f$JcyW4K6?lekD(L^A+-q9KJ5%^^eD5hZo->a<}YQfiK>f(=6N6m$j~qiE;c zqGRK<^-c#mmZoiWGN{y{?Q&*7%^8O3rvn|hs0S%LZy$CrG&~eBi9;q2hUaEP-Wl3K z@Yt?9v|~;WPHd;Lz3Dh)%!THoUQu{FI&zC{_Hemco=c^3vav3QRup@zbmiiR z`I6?>K-?1W33!7_-W##o^t$*G&6P2=hd574t9AHaJskv6Y?=^Nj>T{+62cn z>`FC7%|uB)F6TSWaWioII^S_UyHd-bTv$AneGB!?r`*^Ro1ik){d{^UYN zlU@&Vs+y`9B+fK&b&FQP2d&{an%bMM39j@^f1zGAGAeZ`s3(Govu7&$;8foc)Ee(m z9B-nY1Zp8MII}eMgHfqTl8HD3K<{uYtP*E*EI(dq(h^E%4dLtn^&*xsjGQ{DI@MVa zYdTmvAwV931Vgw&cIrQIodJn8mI1QijmMGAf*+cy=P?J@EJpMi$d<{*sczNnOjEC6 z4!kFr#KxUsy5j?u;z0UJj2MINGTw8hXxc(p?JPFslTCn=NUDH6P6FR?Xnz^HIuX`3?n9<&usjF53TIB}5rbTyapScW z-KT;&DQO}rWmD8NoWOb@>m)W&n~0OxD~SR}61TBi^&f$Q6R)7iVqnquE4W;(rx9N@ z6LXHsHSF%tk{l}ZVC7G|J;Xt~-EoyVL!F{7pmx+J9FEabI9{B=u2HX!QELtc{X%0i zFux}9`AeKRCq2c=Nq1oQ(F)3(x*mIWSe|3~DrnH#NlpheM$edUxEJ#=A^j|1SEEPJ z3;U5XY2idC$fxbXPAajPoim-sXAa86Y+Nf=*V{PgunCNXHM-smga;kx~jttJ!+B)dRRp! zYGpW+oDO)kOib6S;O$e`B-r*ueIm=y#_`#a!Tlv{T^&d5hPE?IydQ*|?A{OHkKfl*oN5XVdZ~04X46Dip$cEyPBR8GMT0#}$2__fxmT)p z;|wOq%dRqGo*)dW=m3fCA&(J z)-bJ9l6Eteu|}2lsF@idRm!u?&N!q>{kAC?MK-BQo075CChgMlGmhA#>V*7^B2797 z2x(H2o}V$GNwPgZBQHT(XV1;(Nsz`nax?ZPNE;k8GN$QLUSdkdK3&@AOv*^LOS@d| zj2frp9g~!?)+rUFCuOX2N}cIR-*!2(lNkPMK!(@lOmc@6#-#MHqB1EXtY}Qi#8(we z8W+Z*Elmg`pp-meoU2F^!%7O1CWVzWCQS(|ZYE6)E9p$i2_rz4a>ID*AWg^XcP7mU z<4jD-4RZdxfTCRe^|MVNq2;mIwq|SEA>qJT3A`Zq`Sh(?M%8m ztl&S-=nCV_nsiSXZ>pqw!%8cYzOi4IH1+=bjyc0hJCp7^M9FX6U+4-ecQEPxF?J*$ z_?Da$R#r3VTUnHR=m9U1Ut`h(g_L~wp{+>X#iWP!X-IzO;e&cu!N1t{aCQQck9?=Y z9#*=T^qm0}$?rX~*%nsrVbUW7HY6YY-ZU+&+{>izg(&&hqZ^U@29q8=NXf?^D@+J0 z_c7_QlO)v-9^VM5?q|~D9n|gEEM^BuF7!NS%i5f~i`J+OVKFFjW zb&?oQJ$V*lJjA3YLsa^cr{t8d@-UO0>LICq`jb>h^&KYtWIdHW{nH|pKEkA*ZldHf zPd6d?JtjTvr{vF{34rsXOnRoDIRE13J&v&Q7?Xa!ol2kmMIVSCXVNbUNE_Rp-Hk5% zfJx8pq0;BJ^`rC&CT;7X(qBDS4PE_+NzV;X>GQv`r-qd$ne?l(lzj2|Y$Tsz((~gT zNWSu736eiy(u;+Z{Pim}NdA;buPmbEtH16;@@Xdh+E2;7uO3A58795jL&?|no<#EJ zOxnAilCQs3kQP>c!KBx=Qu2-0E0KJbNw4=)^36ATk=(|lH;z&Az?*$YKF6dtZHY*} zb>I+^zhcsXEK0up)@dYnFzKyAO1|@U;bmdvc_zJGP06G0EJE@{CcV={$>T@YBKZ=N zj`mXWz2lpZe1%EJ`zZOrdnb_mHIv@kPRS2Huw%-<%A^nWQ}WD*SxEktNgtk|WaNw& z$-PWEV|OAcv&e3wUt?0Fh|+c@v%)c9<@ZdI*>cKBWp>twoY$FTXX`0vEK6mZ;7{IQ z_%G5XlZB0E$V&_>e`L~Fwv}kI*m%|tnm3s=p6#NX$=J3YLe9T3DT^JXoNT;|&AvRW z9AMI9Y&4NGjb*d7m{9-5q-^Zvkdw!zu_NI87L%s2CbGE#e9f~-4J&UmDUTf^K84sw z7J<)UCKWK*g`6UM@DV`HJ4`BMd6ZMair5k49A#1wE25loR>EZX!$BsMV6%vvN>)?2-#T?LEO6deyMAFX!x}>uG%$JCd&6#wP6%w3gMFeMA34yGX3#b%O zC18<&Yy!J7jliYk38*Gmq}C8rtIG*$R4>7D)hEC&U=_i)bCdw#X0<~=C&3oAm*C5{ zD~YsoF>>}J1ao8@sv$~U4TnKs(>*9#tIlOAWOhx0oekk5p1>P z5p1^=64ba6)?jjKB?8I?R0^mPu!tZ}s}@irV7UOV0G|NAfF=Q}1Ox`a`ysaHF;hZ@QU#0=Fjl~L0a*k` z^vMLr^l1d&|D1x5pGh6|0s(~riUgDhC@1K&R|=>Sut-3)fEoeI1$YJc1o#Cs30Nf{ zK(NN%LC|AgLvTXtAvkOA6%Y~-7O+;pIs)0TUO=CK4FWa_*d$=HfGq;H3fL}Sr+{4o zb`#hfdkE}~eFV~ey7xE+1RNA_NWc*R#|U~ICj^`na9Y4w0kY0XYy#{8Tmn)B;0KSy zWvqbl1R+NjLD-Q^a6-cd468w6o`3=Yg#wBMln{(bEEiBIpi00Z0o4L(1S}We72p%# z7tkbN6~WlV4g!B-r+_sAdIaAuk=+d0?> zHo5Esn_VseV+o}3beEGR6R>Q$dy}RK$P-XN;7ckZNL5P+wkDMmY)`5p_*|Z{i12h$ zHNn}WF25ft<3Ar&9U| zlrn7tVNuFPf|8WY1c~?Awh%U@Y$aHgvXcM{(=Nikl-&dyQu+y`eRS_n*-x-9;Dmsa1oqU^0%QkLm^ipkPPGeg5oD*P3K%0`tbi35!y*2})9@ z3CI&rAfSlg=@PnErD?UqvvG8X!2B+99A* zz#0L)1j?1R5Fs{R0@eyxC!mjD&S`A}VP4usf`YV70yYcSB49hg(>v*2nYK&7ZUK7) z>?8PLYQlcPp0oji-n4@P4hc9S-~>URdXiv$+Gzo21;~k1mS!i|Fvdl2FfEnfP}&#) zV+D*CFqz=8r<82M(`nNL6E?n45O2slQN(*)!RC=gI6poBmw zr+dMeN&!^_g<}>8s21QQu<1U6zA=6QO#)U42oP)-(?PItOeevnF>3_$2z9>PQE{RBtS_X*f9U_ihjg4!#T zBZS$PpCI_VZ!0GWi!MJ+P;&WM0X7#>x}ENU%UuFe2|6wxBVas1;`fy-!tIw&7LZM_ z^YUo|3J8ArgjPs+Z$}hrRsR9(zPlTt3Z`H-hpHd-PSsg zm+C~G--+Y~x*c>PZ+Q~(wj?2WA}La$j!(v|GFdNCHzr4_)m!_~R+>-sGu^8WFwLuO zu|<4pkrruEAD5(+(kfMx)~Ju^tJKFL0rho90Hl!)bpvy(QN0SDaO+VYpPjKXEu_xY zHmD2qjcT2v4`lFo>sVx?dQ6RMP^)c`klJsH45&Na0PP`lw&Se2K$C5C`dQV>BI9jd zh7_1*;iex_kEqDQEsJgiHeRd9Hrr8cTcFjTR<*5$MQZ34z)kDGO)tWJ7fIYY=oYda zIFPXt`?+*|oh@D6Y|Fu>E+?|ZR_xeplhw#R+_Wt=yBgV#n`5obrXdfv{d7AhY9B%E zW2kM@a| zNHuC#Yg?2^6K;-0+IA(f3OB7t+hao>Zma0lBWj0GJB-?Ws2xV_4XE9xZB+1p+jiU> zJ8{!O+FBcuxb39dK3+R*K+DJeBwszDRcHsbipWXrCdWywUx~O9@crru?T`{lO@Mt3 zXjK~Wa7(3Ib^=MBmY0yP7bN7X^+C8Y+l-sG1vf`e!ek9e+_uoIU)0`@+5@P447CSP z`vhvANI0!T?D}cNaV()yjkqv3wEYPk8uD;+(QUH+xCi4sO;6YI^mMgE&(ZVroJhG| z>?qOi2HqW+roR^n=sP?x`c8cw>(CcV9r|ODPW`FK8vPx;M;~N8dLct%Io+xheT}|B zjfC~C8T!h!wR)MhPA}8f>t&90dWR#jo^EUPwXVo^P=M(^eVMjTACH4k-OC)i^z}^N zr5~c?Sr*x^7fVu#G@xtRfPPoxkX}4bN=ZASmug3JTSDZdegJYwr*)@v7O$Z2qe#_m z&(+WBxe=GW6yNQaMpErJX{Ys@B6fQ!Lndyi_5v0eW9N*=+BI#g-KRye?8P(ml(fnA zYqZJsCN)xMhm%Q3E3(hfitK$#q*A1-kglS1jYuy?dO4;2BHe^^lYK2_ll@kYJ|nFY z{Ce!y=sk95%nm~f3A!-o!c=cPPfLAvr`BixQDl=yZbou5lG{acCz3mn+#{0xNcJN+ zfIfIq*byX;*k?q}+C7p-V&fgfQijB`9GaBnm=Y;;bY-NVBaULN5+zlRVpi#Bj#S|) za$w#p66Mt>_oCc~axcn!xT>k#FW5DKT@%>#2=ZQ#uSLl^kgo;lI$XU(zFv^`fxHjo zTLt-ckncvx9+2+_=^k9$iM(Hs?*sWhkRKD|CqRA{C30dhI}1`du{mL-3733k1uS3atkgo&jdR!qQ?-S%3K)wOw+eLCGk~@*yFKQ2<_7RjEL+vA| zc?{P8)jpBvk?`ki;;lOVk0G1$bxn4DAj!^+EMjx+WD&dbaWd^Z=a1Av=ME{``MRFx zd_7W#YqImWHrZLEM6#VV3f?1hNf{}u#HmY_PF<~ZrbKF-4{0UNhk)-zmOFP8r>taN zXS&wuT!X_0=T^o#onzI=8s{Q4vevm#)z>=xw#YhXkEVHX!&6a0WWCcvX0#Q6Kf9b= z84$DI`3<(;`2%gh`Mkd08DfzEy7fEPv&cbbF%cr7!R3e?b3UGd`E$ZKOFQkXmrgtH zi=1%26FKc1lukGYkypi#QJ_R*7hKDXG@I)x-Q~JUb-9*CQeF3Jsjk-}Hdhm7t1G}X z8*X~4>mYRF8c-r*U0o@VCd-xKoaVaPk?p!s%XU2xndW*Xl7%bJ#YI7=BNe#vBSj*K zP)903veLzkrpi^U)u3d#tC-cenj_0`Rk<)QUSy)TvH;Qf_x3gLnsM@JOt7( at~EryR*=2) then + if (BImage>=2) and (i<>0) then begin // Adresse de l'élément - ImageTCO.Canvas.Brush.Color:=fond; - ImageTCO.Canvas.Font.Color:=CouleurAdresse; - ImageTCO.Canvas.TextOut(xOrg+1,yOrg+1,s); + with ImageTCO.Canvas do + begin + font.Size:=5; + Brush.Color:=fond; + Font.Color:=CouleurAdresse; + TextOut(xOrg+1,yOrg+1,s); + end; end; - if (BImage=1) then + if (BImage=1) and (i<>0) then begin // Adresse de l'élément - ImageTCO.Canvas.Brush.Color:=fond; - ImageTCO.Canvas.Font.Color:=CouleurAdresse; - ImageTCO.Canvas.TextOut(xOrg+1,yOrg+21,s); + with ImageTCO.Canvas do + begin + font.Size:=5; + Brush.Color:=fond; + Font.Color:=CouleurAdresse; + TextOut(xOrg+1,yOrg+21,s); + end; end; end; @@ -807,8 +818,11 @@ var x,y : integer; s : string; r : Trect; begin - with formTCO.ImageTCO.Canvas do + with ImageTCO.Canvas do begin + Brush.Color:=clWhite; + r:=rect(1,1,ImageTCO.Width,ImageTCO.height); + FillRect(r); Brush.Style:=bsSolid; Brush.Color:=fond; pen.color:=clyellow; @@ -818,6 +832,7 @@ begin for y:=1 to NbreCellY do for x:=1 to NbreCellX do begin + //Affiche(IntToSTR(x),clyellow); affiche_cellule(x,y,PmCopy); end; grille; @@ -827,8 +842,11 @@ end; procedure TFormTCO.FormCreate(Sender: TObject); begin caption:='TCO'; - LargeurCell:=35; - HauteurCell:=35; + LargeurCell:=25; + HauteurCell:=25; + EditCellX.text:=IntToSTR(LargeurCell); + EditCellY.text:=IntToSTR(HauteurCell); + XclicCell:=1; YclicCell:=1; @@ -846,7 +864,7 @@ end; procedure TFormTCO.ImageTCOClick(Sender: TObject); var Position: TPoint; begin - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); GetCursorPos(Position); Position:=ImageTCO.screenToCLient(Position); @@ -861,7 +879,7 @@ begin LabelY.caption:=IntToSTR(YclicCell); XclicCellInserer:=XClicCell; YclicCellInserer:=YClicCell; - Entoure_cell(XclicCellInserer,YclicCellInserer); + //Entoure_cell(XclicCellInserer,YclicCellInserer); EditAdrElement.Text:=IntToSTR(tco[XClicCellInserer,YClicCellInserer].Adresse); EdittypeElement.Text:=IntToSTR(tco[XClicCellInserer,YClicCellInserer].BType); @@ -875,7 +893,6 @@ procedure TformTCO.Entoure_cell(x,y : integer); var r : Trect; x0,y0 : integer; begin - exit; x0:=(x-1)*LargeurCell+1; y0:=(y-1)*HauteurCell+1; with ImageTCO.canvas do @@ -921,7 +938,7 @@ procedure TFormTCO.ImageTCOContextPopup(Sender: TObject; MousePos: TPoint; var H var Position: TPoint; begin // efface le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); GetCursorPos(Position); Position:=ImageTCO.screenToCLient(Position); @@ -933,7 +950,7 @@ begin label1.caption:='clicContext'; XclicCellInserer:=XClicCell; YclicCellInserer:=YClicCell; - Entoure_cell(XclicCellInserer,YclicCellInserer); + //Entoure_cell(XclicCellInserer,YclicCellInserer); //Affiche('XClicCell='+intToSTR(XclicCell)+' '+'YClicCell='+intToSTR(YclicCell),clyellow); end; @@ -943,11 +960,11 @@ procedure TFormTCO.aiguillageG_PGClick(Sender: TObject); var Position: TPoint; begin // effacer le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); // dessine le dessin dessin_AigPG_AG(ImageTCO.canvas,XClicCellInserer,YClicCellInserer,clyellow,pmCopy); // remet le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); EditAdrElement.Text:=IntToSTR(tco[XClicCellInserer,YClicCellInserer].Adresse); EdittypeElement.Text:=IntToSTR(tco[XClicCellInserer,YClicCellInserer].BType); @@ -959,11 +976,11 @@ procedure TFormTCO.aiguillageD_PDClick(Sender: TObject); var Position: TPoint; begin // effacer le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); // dessine le dessin dessin_AigPD_AD(ImageTCO.Canvas,XClicCellInserer,YClicCellInserer,clyellow,pmCopy); // remet le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); EditAdrElement.Text:=IntToSTR(tco[XClicCellInserer,YClicCellInserer].Adresse); EdittypeElement.Text:=IntToSTR(tco[XClicCellInserer,YClicCellInserer].BType); @@ -975,11 +992,11 @@ procedure TFormTCO.Aiguillagegauchepointedroite1Click(Sender: TObject); var Position: TPoint; begin // effacer le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); // dessine le dessin dessin_AigG_PD(ImageTCO.canvas,XClicCellInserer,YClicCellInserer,clyellow,pmCopy); // remet le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); EditAdrElement.Text:=IntToSTR(tco[XClicCellInserer,YClicCellInserer].Adresse); EdittypeElement.Text:=IntToSTR(tco[XClicCellInserer,YClicCellInserer].BType); @@ -992,11 +1009,11 @@ begin tco[XClicCellInserer,YClicCellInserer].Adresse:=1; tco[XClicCellInserer,YClicCellInserer].Btype:=1; // effacer le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); // dessine le dessin dessin_AigD_PG(ImageTCO.canvas,XClicCellInserer,YClicCellInserer,clyellow,pmCopy); // remet le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); EditAdrElement.Text:=IntToSTR(tco[XClicCellInserer,YClicCellInserer].Adresse); EdittypeElement.Text:=IntToSTR(tco[XClicCellInserer,YClicCellInserer].BType); @@ -1006,7 +1023,7 @@ end; procedure TFormTCO.FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState); begin exit; - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); case Key of VK_right : if XClicCell1 then dec(XClicCell); @@ -1015,7 +1032,7 @@ begin end; LabelX.caption:=IntToSTR(XClicCell); LabelY.caption:=IntToSTR(YClicCell); - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); EditAdrElement.Text:=IntToSTR(tco[XClicCell,YClicCell].Adresse); EdittypeElement.Text:=IntToSTR(tco[XClicCell,YClicCell].BType); @@ -1025,11 +1042,11 @@ procedure TFormTCO.Elmentdroit1Click(Sender: TObject); var Position: TPoint; begin // effacer le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); // dessine le dessin dessin_voie(ImageTCO.canvas,XClicCellInserer,YClicCellInserer,clyellow,pmCopy); // remet le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); EditAdrElement.Text:=IntToSTR(tco[XClicCellInserer,YClicCellInserer].Adresse); EdittypeElement.Text:=IntToSTR(tco[XClicCellInserer,YClicCellInserer].BType); @@ -1040,11 +1057,11 @@ procedure TFormTCO.Courbegaucheversdroite1Click(Sender: TObject); var Position: TPoint; begin // effacer le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); // dessine le dessin dessin_infG(ImageTCO.canvas,XClicCellInserer,YClicCellInserer,clyellow,pmCopy); // remet le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); GetCursorPos(Position); end; @@ -1052,11 +1069,11 @@ procedure TFormTCO.Courbedroiteversgauche1Click(Sender: TObject); var Position: TPoint; begin // effacer le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); // dessine le dessin dessin_infD(ImageTCO.canvas,XClicCellInserer,YClicCellInserer,clyellow,pmCopy); // remet le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); GetCursorPos(Position); end; @@ -1065,11 +1082,11 @@ procedure TFormTCO.CourbeSupD1Click(Sender: TObject); var Position: TPoint; begin // effacer le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); // dessine le dessin dessin_SupD(ImageTCO.canvas,XClicCellInserer,YClicCellInserer,clyellow,pmCopy); // remet le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); GetCursorPos(Position); end; @@ -1077,11 +1094,11 @@ procedure TFormTCO.CourbeSupG1Click(Sender: TObject); var Position: TPoint; begin // effacer le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); // dessine le dessin dessin_SupG(ImageTCO.canvas,XClicCellInserer,YClicCellInserer,clyellow,pmCopy); // remet le carré pointeur - Entoure_cell(XclicCell,YclicCell); + //Entoure_cell(XclicCell,YclicCell); GetCursorPos(Position); end; @@ -1387,13 +1404,14 @@ var Position: TPoint; x0,y0,XSel1,YSel1,XSel2,YSel2 : integer; begin //Affiche('MouseMove',clyellow); + //Affiche(IntToSTR(X),clyellow); if not(sourisclic) then exit; //Affiche('MouseMove',clyellow); GetCursorPos(Position); Position:=ImageTCO.screenToCLient(Position); Xclic:=position.X; YClic:=position.Y; - + // coordonnées grilleg XclicCell:=Xclic div largeurCell + 1; YclicCell:=Yclic div hauteurCell + 1; @@ -1586,4 +1604,33 @@ begin ImageDiag2.BeginDrag(true); end; + +procedure TFormTCO.EditCellXKeyPress(Sender: TObject; var Key: Char); +var i, erreur : integer; +begin + val(EditCellX.text,i,erreur); + if (erreur=0) and (i>9) and (i<40) then + begin + LargeurCell:=i; + NbreCellX:=FormTCO.ImageTCO.Width div (LargeurCell); + Affiche('NbrecellX='+intToSTR(NbrecellX),clyellow); + Affiche_TCO; + end; + +end; + +procedure TFormTCO.EditCellYKeyPress(Sender: TObject; var Key: Char); +var i,erreur : integer; +begin + val(EditCellY.text,i,erreur); + if (erreur=0) and (i>9) and (i<40) then + begin + HauteurCell:=i; + NbreCellY:=FormTCO.ImageTCO.Height div (LargeurCell); + Affiche('NbrecellY='+intToSTR(NbrecellY),clyellow); + Affiche_TCO; + end; + +end; + end. diff --git a/verif_version.pas b/verif_version.pas index 0ff530d..c9ff221 100644 --- a/verif_version.pas +++ b/verif_version.pas @@ -22,7 +22,7 @@ var FormVersion: TFormVersion; Lance_verif : integer; -Const Version='1.41'; //Version='1.2';// sert à la comparaison de la version publiée +Const Version='1.42'; //Version='1.2';// sert à la comparaison de la version publiée implementation @@ -164,7 +164,7 @@ begin FormVersion.show; s:='Vous utilisez la version '+version+' mais il existe la version '+Version_p; Aff(s); - if MessageDlg(s+' Voulez-vous la télécharger?',mtConfirmation,[mbYes,mbNo],0)=mrYes then + if MessageDlg(s+'. Voulez-vous la télécharger?',mtConfirmation,[mbYes,mbNo],0)=mrYes then begin s:=GetCurrentProcessEnvVar('USERPROFILE')+'\Downloads\Signaux_Complexes_GL.Zip'; Aff('Téléchargement de '+s3+' dans '); diff --git a/versions.txt b/versions.txt index 9342b90..95074f3 100644 --- a/versions.txt +++ b/versions.txt @@ -12,4 +12,5 @@ Version 1.3 : D Configuration statique modifiable dans menu Version 1.31 : Correction des positions aiguillages triples et TJD Version 1.4 : Gestion des Fonctions Fx vers les locomotives par actionneurs -Version 1.41 : Gestion des passages à niveaux par actionneurs \ No newline at end of file +Version 1.41 : Gestion des passages à niveaux par actionneurs +Version 1.42 : Correction erreur lecture signaux