This commit is contained in:
f1iwq2
2023-08-12 15:09:33 +02:00
parent 1b54657c0c
commit af03d91a65
22 changed files with 3847 additions and 1002 deletions
+19 -9
View File
@@ -1,15 +1,15 @@
/ Fichier de configuration de signaux_complexes_GL version 7.0 / Fichier de configuration de signaux_complexes_GL version 7.1
AvecVerifIconesTCO=1 AvecVerifIconesTCO=1
Algo_localisation=1 Algo_localisation=1
Avec_roulage=1 Avec_roulage=1
Debug=0 Debug=0
Filtrage_det=0 Filtrage_det=0
AntiTimeoutEthLenz=0 AntiTimeoutEthLenz=0
Fonte=10 Fonte=12
Protocole=1 Protocole=1
Verif_AdrXpressNet=1 Verif_AdrXpressNet=1
IpV4_PC=127.0.0.1:9999 IpV4_PC=127.0.0.1:9999
ServicesCDM=15 ServicesCDM=7
Ipv4_interface=192.168.1.23:5550 Ipv4_interface=192.168.1.23:5550
MaxCom=30 MaxCom=30
Protocole_serie=COMX:115200,N,8,1,0 Protocole_serie=COMX:115200,N,8,1,0
@@ -29,7 +29,7 @@ TCO=0
MasqueBandeauTCO=0 MasqueBandeauTCO=0
CDM=0 CDM=0
Lay=RESEAU_GILY_SIGNAL_AJOUTE.LAY Lay=RESEAU_GILY_SIGNAL_AJOUTE.LAY
NomModuleCDM=reseau_gily_signal_ajoute_top.cdm NomModuleCDM=RESEAU_GILY_SIGNAL_AJOUTE.cdm
Serveur_interface=1 Serveur_interface=1
retro=1 retro=1
RazSignaux=0 RazSignaux=0
@@ -38,12 +38,12 @@ Nb_cantons_Sig=3
Alg_Unisemaf=1 Alg_Unisemaf=1
/------------ /------------
[section_aig] [section_aig]
1,P518,D100D,S3P,V30,I0,INIT(2,2) 1,P518,D100D,S3P,V30,I0,INIT(1,2)
2,P12S,D519,S100S,V0,I0,INIT(1,2) 2,P12S,D519,S100S,V0,I0,INIT(1,2)
3,P1S,D4P,S5D,V0,I0,INIT(2,2) 3,P1S,D4P,S5D,V0,I0,INIT(2,2)
4,P3D,D6S,S514,V0,I0,INIT(2,2) 4,P3D,D6S,S514,V0,I0,INIT(2,2)
5,P515,D3S,S100S,V0,I0,INIT(1,2) 5,P515,D3S,S100S,V0,I0,INIT(1,2)
6,P516,D0,S4D,V0,I0,INIT(2,2) 6,P516,D0,S4D,V0,I0,INIT(1,2)
7,P527,D519,S520,V0,I0,INIT(2,2) 7,P527,D519,S520,V0,I0,INIT(2,2)
8,P527,D521,S103S,V0,I0,INIT(1,2) 8,P527,D521,S103S,V0,I0,INIT(1,2)
9,P526,D103D,S515,V60,I0,INIT(1,2) 9,P526,D103D,S515,V60,I0,INIT(1,2)
@@ -91,13 +91,23 @@ A31,A34,0
0 0
/------------ /------------
[section_decodeurs] [section_decodeurs]
Personnalisé 1 Nom_dec_pers=Personnalisé 1
NombreAdresses=4 NombreAdresses=4
Nation=1 Nation=1
1,2,0,1,2 1,2,0,1,2
3,4,1,1,2 3,4,1,1,2
5,9,2,1,2 5,9,2,1,2
10,11,3,1,2 10,11,3,1,2
Nom_dec_pers=grand
NombreAdresses=7
Nation=1
1,2,0,1,2
3,4,1,0,0
5,6,2,0,0
7,8,3,0,0
9,10,4,0,0
11,12,5,0,0
13,14,6,0,0
0 0
/------------ /------------
[section_sig] [section_sig]
@@ -105,8 +115,7 @@ Nation=1
190,7,0,1,(523,526),0,FVC0,FRC0 190,7,0,1,(523,526),0,FVC0,FRC0
204,9,0,1,(527,A7),1,FVC0,FRC0 204,9,0,1,(527,A7),1,FVC0,FRC0
218,7,0,1,(525,A17),0,FVC0,FRC0 218,7,0,1,(525,A17),0,FVC0,FRC0
232,2,1,1,(516,A6),0,FVC0,FRC0 232,2,1,1,(516,A6),0,FVC0,FRC0,CFB(A6D)
520,9,1,1,(518,A1),1,FVC0,FRC0
274,3,0,1,(524,521),0,FVC0,FRC0 274,3,0,1,(524,521),0,FVC0,FRC0
288,7,0,1,(522,A103),1,FVC0,FRC0 288,7,0,1,(522,A103),1,FVC0,FRC0
302,9,0,1,(526,A9),1,FVC0,FRC0 302,9,0,1,(526,A9),1,FVC0,FRC0
@@ -123,6 +132,7 @@ Nation=1
462,9,0,1,(513,A29),1,FVC0,FRC0 462,9,0,1,(513,A29),1,FVC0,FRC0
476,9,0,1,(538,A23),1,FVC0,FRC0 476,9,0,1,(538,A23),1,FVC0,FRC0
497,9,0,4,(531,A19),1,FVC0,FRC0 497,9,0,4,(531,A19),1,FVC0,FRC0
520,9,1,1,(518,A1),0,FVC0,FRC0,(A1S,A3S,A5S),CFB(A1S,A3D,A4D,A6S)
600,7,0,0,(521,A8),1,FVC0,FRC0 600,7,0,0,(521,A8),1,FVC0,FRC0
0 0
/------------ /------------
+2 -2
View File
@@ -14,8 +14,8 @@
-$N+ -$N+
-$O- -$O-
-$P+ -$P+
-$Q- -$Q+
-$R- -$R+
-$S- -$S-
-$T- -$T-
-$U- -$U-
+2 -2
View File
@@ -17,8 +17,8 @@ M=0
N=1 N=1
O=0 O=0
P=1 P=1
Q=0 Q=1
R=0 R=1
S=0 S=0
T=0 T=0
U=0 U=0
+2 -4
View File
@@ -574,7 +574,6 @@ begin
exit; exit;
end; end;
//turnout_3way
if segType='turnout_sym' then if segType='turnout_sym' then
begin begin
s2:=isole_valeur(s,'radius:'); s2:=isole_valeur(s,'radius:');
@@ -827,7 +826,7 @@ begin
end; end;
// trouve si le point (x,y) est sur le segment x1,y1 x2,y2 // trouve si le point (x,y) est sur le segment (droit) x1,y1 x2,y2
// s*l = distance du point au segment // s*l = distance du point au segment
function point_Sur_Segment(x,y,x1,y1,x2,y2 : integer): Boolean; function point_Sur_Segment(x,y,x1,y1,x2,y2 : integer): Boolean;
var l,r,s : Double; var l,r,s : Double;
@@ -4173,8 +4172,7 @@ begin
ImageCDM.Hint:=trains[i].nom_train+' @='+intToSTR(trains[i].adresse); ImageCDM.Hint:=trains[i].nom_train+' @='+intToSTR(trains[i].adresse);
ImageCDM.showHint:=true; ImageCDM.showHint:=true;
end end
else ImageCDM.showhint:=false; else ImageCDM.showhint:=false;
end;
end; end;
procedure TFormAnalyseCDM.ButtonAnimeClick(Sender: TObject); procedure TFormAnalyseCDM.ButtonAnimeClick(Sender: TObject);
+1 -1
View File
@@ -103,7 +103,7 @@ procedure TFormCDF.FormActivate(Sender: TObject);
var erreur : integer; var erreur : integer;
begin begin
Val(FormConfig.EditAdrSig.text,Adresse,erreur); Val(FormConfig.EditAdrSig.text,Adresse,erreur);
index:=index_feu(Adresse); index:=index_Signal(Adresse);
LabelTitre.caption:='Adresse du signal: '+intToSTR(adresse); LabelTitre.caption:='Adresse du signal: '+intToSTR(adresse);
erreur:=feux[index].decodeur; erreur:=feux[index].decodeur;
feux[0]:=feux[index]; feux[0]:=feux[index];
+9 -9
View File
@@ -1,6 +1,6 @@
object FormConfig: TFormConfig object FormConfig: TFormConfig
Left = 332 Left = 319
Top = 149 Top = 128
Hint = 'Modifie la configuration selon les s'#233'lections choisies' Hint = 'Modifie la configuration selon les s'#233'lections choisies'
BorderStyle = bsDialog BorderStyle = bsDialog
Caption = 'Configuration g'#233'n'#233'rale' Caption = 'Configuration g'#233'n'#233'rale'
@@ -1571,7 +1571,7 @@ object FormConfig: TFormConfig
Top = 8 Top = 8
Width = 633 Width = 633
Height = 497 Height = 497
ActivePage = TabSheetSig ActivePage = TabSheetAct
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack Font.Color = clBlack
Font.Height = -11 Font.Height = -11
@@ -1584,7 +1584,7 @@ object FormConfig: TFormConfig
Caption = 'CDM Rail' Caption = 'CDM Rail'
object Label36: TLabel object Label36: TLabel
Left = 24 Left = 24
Top = 456 Top = 448
Width = 369 Width = 369
Height = 13 Height = 13
Caption = Caption =
@@ -2029,7 +2029,7 @@ object FormConfig: TFormConfig
ImageIndex = 1 ImageIndex = 1
object Label9: TLabel object Label9: TLabel
Left = 16 Left = 16
Top = 456 Top = 448
Width = 294 Width = 294
Height = 13 Height = 13
Caption = 'Ces param'#232'tres sont utilis'#233's en fonctionnement sans CDM Rail' Caption = 'Ces param'#232'tres sont utilis'#233's en fonctionnement sans CDM Rail'
@@ -3182,7 +3182,7 @@ object FormConfig: TFormConfig
Width = 129 Width = 129
Height = 21 Height = 21
Style = csDropDownList Style = csDropDownList
ItemHeight = 13 ItemHeight = 0
TabOrder = 1 TabOrder = 1
OnChange = ComboBoxDecChange OnChange = ComboBoxDecChange
end end
@@ -3286,7 +3286,7 @@ object FormConfig: TFormConfig
Width = 129 Width = 129
Height = 21 Height = 21
Style = csDropDownList Style = csDropDownList
ItemHeight = 13 ItemHeight = 0
TabOrder = 2 TabOrder = 2
OnChange = ComboBoxAspChange OnChange = ComboBoxAspChange
end end
@@ -3930,7 +3930,7 @@ object FormConfig: TFormConfig
object EditTempo: TEdit object EditTempo: TEdit
Left = 112 Left = 112
Top = 38 Top = 38
Width = 33 Width = 41
Height = 21 Height = 21
TabOrder = 0 TabOrder = 0
OnChange = EditTempoChange OnChange = EditTempoChange
@@ -3997,7 +3997,7 @@ object FormConfig: TFormConfig
end end
end end
object GroupBoxPN: TGroupBox object GroupBoxPN: TGroupBox
Left = 152 Left = 200
Top = 16 Top = 16
Width = 233 Width = 233
Height = 401 Height = 401
+31 -54
View File
@@ -2475,7 +2475,7 @@ end;
// compile les décodeurs personnalisés // compile les décodeurs personnalisés
procedure compile_dec_pers; procedure compile_dec_pers;
var nv,i,j,k,l,adr : integer; var nv,j,k,l,adr : integer;
begin begin
Nligne:=1; Nligne:=1;
repeat // boucle de décodeurs repeat // boucle de décodeurs
@@ -2665,8 +2665,8 @@ begin
begin begin
trains[i].x:=-999999; trains[i].x:=-999999;
trains[i].y:=-999999; trains[i].y:=-999999;
end; end;
end; end;
// trie les signaux // trie les signaux
@@ -3592,7 +3592,7 @@ procedure clicListeSignal(lc : integer);
var AncAdresse,index,adresse,erreur : integer; var AncAdresse,index,adresse,erreur : integer;
s : string; s : string;
begin begin
index:=index_feu(lc)-1; index:=index_Signal(lc)-1;
s:=Uppercase(FormConfig.RichSig.Lines[index]); // ligne cliquée s:=Uppercase(FormConfig.RichSig.Lines[index]); // ligne cliquée
if s='' then if s='' then
begin begin
@@ -3936,7 +3936,6 @@ begin
ComboTS1[i].Visible:=false; ComboTS1[i].Visible:=false;
ComboTS2[i].Visible:=false; ComboTS2[i].Visible:=false;
ShapeT[i].Visible:=false; ShapeT[i].Visible:=false;
end; end;
end; end;
end; end;
@@ -4057,8 +4056,6 @@ begin
Style:=csDropDownList; Style:=csDropDownList;
onChange:=formConfig.modif_ComboTS; onChange:=formConfig.modif_ComboTS;
end; end;
end; end;
for i:=1 to NbreDecPers do for i:=1 to NbreDecPers do
@@ -4084,7 +4081,7 @@ var erreur,i : integer;
begin begin
if s='' then begin B:='?';adr:=0;exit;end; if s='' then begin B:='?';adr:=0;exit;end;
if (s[1]='P') or (s[1]='S') or (s[1]='D') then delete(s,1,1); if (s[1]='P') or (s[1]='S') or (s[1]='D') then delete(s,1,1);
if s='' then if s='' then
begin begin
adr:=0; adr:=0;
B:='Z'; B:='Z';
@@ -4168,7 +4165,7 @@ begin
else LabelInfo.Caption:='Nombre d''états de la TJD/S inconnu'; else LabelInfo.Caption:='Nombre d''états de la TJD/S inconnu';
end; end;
if tjs then if tjs then
begin begin
ComboBoxAig.ItemIndex:=2; ComboBoxAig.ItemIndex:=2;
EditL.Visible:=true; EditL.Visible:=true;
@@ -4209,7 +4206,7 @@ begin
// milieu haut gauche // milieu haut gauche
EditP1.Text:=intToSTR(adresse)+aiguillage[Index].DDroitB; EditP1.Text:=intToSTR(adresse)+aiguillage[Index].DDroitB;
// milieu bas gauche // milieu bas gauche
EditP2.Text:=intToSTR(adresse)+aiguillage[Index].DDevieB; EditP2.Text:=intToSTR(adresse)+aiguillage[Index].DDevieB;
// milieu haut droit // milieu haut droit
EditP3.Text:=intToSTR(aiguillage[index].Ddevie)+aiguillage[index].DDevieB; EditP3.Text:=intToSTR(aiguillage[index].Ddevie)+aiguillage[index].DDevieB;
@@ -4233,7 +4230,7 @@ begin
begin begin
// droit haut // droit haut
EditDevie_HD.Text:=intToSTR(aiguillage[index].Ddevie)+aiguillage[index].DdevieB; EditDevie_HD.Text:=intToSTR(aiguillage[index].Ddevie)+aiguillage[index].DdevieB;
EditDevie_HD.Hint:=TypeElAIg_to_char(aiguillage[index].Ddevie,aiguillage[index].DdevieB); EditDevie_HD.Hint:=TypeElAIg_to_char(aiguillage[index].Ddevie,aiguillage[index].DdevieB);
LabelTJD1.Caption:=IntToSTR(adresse); LabelTJD1.Caption:=IntToSTR(adresse);
// droit bas // droit bas
@@ -4267,7 +4264,7 @@ begin
labelTJD2.Visible:=false; labelTJD2.Visible:=false;
labelcrois.Visible:=true; labelcrois.Visible:=true;
end; end;
// aiguillage normal ou tri // aiguillage normal ou tri
if (not(tjd) and not(tjs) and not(croi)) or tri then if (not(tjd) and not(tjs) and not(croi)) or tri then
begin begin
@@ -4275,12 +4272,12 @@ begin
Label20.Visible:=false; Label20.Visible:=false;
LabelL.Visible:=false; LabelL.Visible:=false;
ComboBoxAig.ItemIndex:=0; ComboBoxAig.ItemIndex:=0;
if not(tri) then if not(tri) then
begin begin
ImageAffiche.Picture.BitMap:=Imageaig.Picture.Bitmap; ImageAffiche.Picture.BitMap:=Imageaig.Picture.Bitmap;
EditDevieS2.Visible:=false; EditDevieS2.Visible:=false;
EditAigTriple.Visible:=false; EditAigTriple.Visible:=false;
end; end;
labelBG.Caption:='P'; labelBG.Caption:='P';
EditPointe_BG.ReadOnly:=false; EditPointe_BG.ReadOnly:=false;
Edit_HG.Visible:=false; Edit_HG.Visible:=false;
@@ -4291,7 +4288,7 @@ begin
EditP4.Visible:=false; EditP4.Visible:=false;
labelTJD1.Visible:=false; labelTJD1.Visible:=false;
LabelTJD2.Visible:=false; LabelTJD2.Visible:=false;
Label18.Visible:=false; Label18.Visible:=false;
CheckInverse.checked:=aiguillage[Index_Aig(adresse)].inversionCDM=1; CheckInverse.checked:=aiguillage[Index_Aig(adresse)].inversionCDM=1;
if aiguillage[Index].vitesse=0 then begin RadioButtonSans.checked:=true;RadioButton30kmh.checked:=false;RadioButtonSpecifique.checked:=false;RadioButton60kmh.checked:=false;end if aiguillage[Index].vitesse=0 then begin RadioButtonSans.checked:=true;RadioButton30kmh.checked:=false;RadioButtonSpecifique.checked:=false;RadioButton60kmh.checked:=false;end
@@ -4302,18 +4299,17 @@ begin
else else
begin RadioButtonSans.checked:=false;RadioButton30kmh.checked:=false;RadioButtonSpecifique.checked:=true;RadioButton60kmh.checked:=false;end ; begin RadioButtonSans.checked:=false;RadioButton30kmh.checked:=false;RadioButtonSpecifique.checked:=true;RadioButton60kmh.checked:=false;end ;
EditPointe_BG.Text:=intToSTR(aiguillage[index].Apointe)+aiguillage[index].ApointeB; EditPointe_BG.Text:=intToSTR(aiguillage[index].Apointe)+aiguillage[index].ApointeB;
EditPointe_BG.Hint:=TypeElAIg_to_char(aiguillage[index].Apointe,aiguillage[index].ApointeB); EditPointe_BG.Hint:=TypeElAIg_to_char(aiguillage[index].Apointe,aiguillage[index].ApointeB);
EditDevie_HD.Text:=intToSTR(aiguillage[index].Adevie)+aiguillage[index].AdevieB; EditDevie_HD.Text:=intToSTR(aiguillage[index].Adevie)+aiguillage[index].AdevieB;
EditDevie_HD.Hint:=TypeElAIg_to_char(aiguillage[index].Adevie,aiguillage[index].AdevieB); EditDevie_HD.Hint:=TypeElAIg_to_char(aiguillage[index].Adevie,aiguillage[index].AdevieB);
EditDroit_BD.Text:=intToSTR(aiguillage[index].Adroit)+aiguillage[index].AdroitB; EditDroit_BD.Text:=intToSTR(aiguillage[index].Adroit)+aiguillage[index].AdroitB;
EditDroit_BD.Hint:=TypeElAIg_to_char(aiguillage[index].Adroit,aiguillage[index].AdroitB); EditDroit_BD.Hint:=TypeElAIg_to_char(aiguillage[index].Adroit,aiguillage[index].AdroitB);
if tri then if tri then
begin begin
ComboBoxAig.ItemIndex:=3; // 0=n'existe pas 1=aiguillage 2=TJD 3=TJS 4=aiguillage triple ComboBoxAig.ItemIndex:=3; // index de la combobox 0=aiguillage 1=TJD 2=TJS 3=aiguillage triple
EditAigTriple.Visible:=true; EditAigTriple.Visible:=true;
labelTJD1.Visible:=false; labelTJD1.Visible:=false;
LabelTJD2.Visible:=false; LabelTJD2.Visible:=false;
@@ -4327,7 +4323,7 @@ begin
i:=aiguillage[index].Adrtriple; i:=aiguillage[index].Adrtriple;
EditAigTriple.Text:=intToSTR(i); EditAigTriple.Text:=intToSTR(i);
if i=0 then EditAigTriple.Color:=clred else EditAigTriple.Color:=clWindow; if i=0 then EditAigTriple.Color:=clred else EditAigTriple.Color:=clWindow;
end; end;
end; end;
end; end;
@@ -4337,7 +4333,7 @@ begin
if position=const_devie then formconfig.ComboBoxDD.ItemIndex:=0; if position=const_devie then formconfig.ComboBoxDD.ItemIndex:=0;
formconfig.EditTempo10.text:=InttoSTr(aiguillage[index].temps); formconfig.EditTempo10.text:=InttoSTr(aiguillage[index].temps);
formconfig.EditTempo10.text:=InttoSTr(aiguillage[index].temps); formconfig.EditTempo10.text:=InttoSTr(aiguillage[index].temps);
clicListe:=false; clicListe:=false;
end; end;
@@ -4691,7 +4687,7 @@ begin
EditDet4.Text:=IntToSTR(j);EditSuiv4.Text:=TypeEl_To_char(feux[i].Btype_suiv4)+IntToSTR(feux[i].Adr_el_suiv4); EditDet4.Text:=IntToSTR(j);EditSuiv4.Text:=TypeEl_To_char(feux[i].Btype_suiv4)+IntToSTR(feux[i].Adr_el_suiv4);
EditSuiv4.Hint:=chaine_element(feux[i].Btype_suiv4,feux[i].Adr_el_suiv4); EditSuiv4.Hint:=chaine_element(feux[i].Btype_suiv4,feux[i].Adr_el_suiv4);
end end
else begin EditDet4.Text:='';EditSuiv4.Text:='';EditSuiv4.Hint:='';end; else begin EditDet4.Text:='';EditSuiv4.Text:='';EditSuiv4.Hint:='';end;
checkVerrouCarre.Checked:=feux[i].VerrouCarre; checkVerrouCarre.Checked:=feux[i].VerrouCarre;
checkBoxFB.Checked:=feux[i].FeuBlanc; checkBoxFB.Checked:=feux[i].FeuBlanc;
@@ -4843,23 +4839,6 @@ begin
if Tablo_actionneur[i].act then if Tablo_actionneur[i].act then
begin begin
champs_type_act; champs_type_act;
{
case typ of
0 : with formconfig do
begin
//radioButtonActDet.Checked:=true;
//radioButtonZones.Checked:=false;
//editAct2.Visible:=false;
end;
1 : with formconfig do
begin
end;
2 : with formconfig do
begin
end;
end;
}
etatAct:=Tablo_actionneur[i].etat ; etatAct:=Tablo_actionneur[i].etat ;
Adresse:=Tablo_actionneur[i].adresse; Adresse:=Tablo_actionneur[i].adresse;
sortie:=Tablo_actionneur[i].sortie; sortie:=Tablo_actionneur[i].sortie;
@@ -4889,7 +4868,7 @@ begin
radioButtonActDet.Checked:=true; radioButtonActDet.Checked:=true;
radioButtonZones.Checked:=false; radioButtonZones.Checked:=false;
editAct2.Visible:=false; editAct2.Visible:=false;
LabelActionneur.Caption:='Actionneur Détecteur'; LabelActionneur.Caption:='Actionneur Détecteur';
end; end;
if typ=1 then with formconfig do if typ=1 then with formconfig do
begin begin
@@ -5048,7 +5027,7 @@ begin
end; end;
end end
end; end;
procedure raz_champs_act; procedure raz_champs_act;
begin begin
with formConfig do with formConfig do
@@ -5351,7 +5330,7 @@ begin
s:=encode_aig(index); s:=encode_aig(index);
formconfig.RichAig.Lines[index-1]:=s; formconfig.RichAig.Lines[index-1]:=s;
end; end;
end; end;
end; end;
@@ -6085,7 +6064,6 @@ begin
Suiv4; Suiv4;
end; end;
procedure TFormConfig.EditActChange(Sender: TObject); procedure TFormConfig.EditActChange(Sender: TObject);
var s,s2 : string; var s,s2 : string;
act,erreur,det2,suiv : integer; act,erreur,det2,suiv : integer;
@@ -6302,7 +6280,7 @@ begin
if ligneClicAct<0 then exit; if ligneClicAct<0 then exit;
if FormConfig.PageControl.ActivePage=FormConfig.TabSheetAct then if FormConfig.PageControl.ActivePage=FormConfig.TabSheetAct then
with Formconfig do with Formconfig do
begin begin
if radioButtonLoc.Checked or RadioButtonAccess.Checked or RadioButtonSon.Checked then if radioButtonLoc.Checked or RadioButtonAccess.Checked or RadioButtonSon.Checked then
begin begin
fichier:=EditSon.Text; fichier:=EditSon.Text;
@@ -6432,7 +6410,7 @@ begin
EditAdrSig.Color:=clred; EditAdrSig.Color:=clred;
LabelInfo.caption:='Erreur adresse signal ';exit; LabelInfo.caption:='Erreur adresse signal ';exit;
end; end;
if (index_feu(i)<>0) then if (index_Signal(i)<>0) then
begin begin
EditAdrSig.Color:=clred; EditAdrSig.Color:=clred;
LabelInfo.caption:='Signal '+intToSTR(i)+' existe, il ne sera pas écrasé';exit; LabelInfo.caption:='Signal '+intToSTR(i)+' existe, il ne sera pas écrasé';exit;
@@ -6567,7 +6545,7 @@ begin
for y:=1 to NbreCellY do for y:=1 to NbreCellY do
for x:=1 to NbreCellX do for x:=1 to NbreCellX do
begin begin
if TCO[x,y].BImage=30 then if TCO[x,y].BImage=50 then
begin begin
AdresseFeu:=feux[index].adresse; AdresseFeu:=feux[index].adresse;
if tco[x,y].Adresse=AdresseFeu then affiche_tco; if tco[x,y].Adresse=AdresseFeu then affiche_tco;
@@ -6626,7 +6604,7 @@ begin
end; end;
procedure TFormConfig.RadioButtonLocClick(Sender: TObject); procedure TFormConfig.RadioButtonLocClick(Sender: TObject);
var champ,i,erreur : integer; var champ,i,erreur : integer;
s : string; s : string;
begin begin
// rendre visible le groupbox Actionneur fonction F loco // rendre visible le groupbox Actionneur fonction F loco
@@ -6637,8 +6615,8 @@ begin
Tablo_Actionneur[i].loco:=true; Tablo_Actionneur[i].loco:=true;
Tablo_Actionneur[i].Act:=false; Tablo_Actionneur[i].Act:=false;
Tablo_Actionneur[i].Son:=false; Tablo_Actionneur[i].Son:=false;
champs_type_loco; champs_type_loco;
val(editact.Text,champ,erreur); val(editact.Text,champ,erreur);
Tablo_actionneur[i].adresse:=champ ; Tablo_actionneur[i].adresse:=champ ;
val(editEtatActionneur.Text,champ,erreur); val(editEtatActionneur.Text,champ,erreur);
@@ -6698,7 +6676,7 @@ begin
Tablo_Actionneur[i].loco:=false; Tablo_Actionneur[i].loco:=false;
Tablo_Actionneur[i].Act:=false; Tablo_Actionneur[i].Act:=false;
Tablo_Actionneur[i].Son:=true; Tablo_Actionneur[i].Son:=true;
champs_type_son; champs_type_son;
val(editact.Text,champ,erreur); val(editact.Text,champ,erreur);
@@ -7499,7 +7477,7 @@ function nombre_adresses_signal(adr : integer) : integer;
var x,dec,nc,i,j : integer; var x,dec,nc,i,j : integer;
begin begin
nc:=0; nc:=0;
i:=index_feu(adr); i:=index_Signal(adr);
dec:=feux[i].decodeur; dec:=feux[i].decodeur;
x:=feux[i].aspect; x:=feux[i].aspect;
@@ -8254,10 +8232,10 @@ begin
for x:=1 to NbreCellX do for x:=1 to NbreCellX do
begin begin
i:=TCO[x,y].BImage; i:=TCO[x,y].BImage;
if i=30 then if i=50 then
begin begin
adr:=TCO[x,y].adresse; adr:=TCO[x,y].adresse;
if index_feu(adr)=0 then if index_Signal(adr)=0 then
begin begin
Affiche('Un signal '+IntToSTR(adr)+' est déclaré dans le TCO['+intToSTR(x)+','+intToSTR(y)+'] mais absent de la configuration',clred); Affiche('Un signal '+IntToSTR(adr)+' est déclaré dans le TCO['+intToSTR(x)+','+intToSTR(y)+'] mais absent de la configuration',clred);
ok:=false; ok:=false;
@@ -8374,7 +8352,6 @@ begin
s:='Erreur 18: l''actionneur '+IntToSTR(Tablo_actionneur[i].adresse)+' est enclenché par les détecteurs '+intToSTR(adresse)+' ' +intToSTR(adresse2)+' qui ne sont pas contigus'; s:='Erreur 18: l''actionneur '+IntToSTR(Tablo_actionneur[i].adresse)+' est enclenché par les détecteurs '+intToSTR(adresse)+' ' +intToSTR(adresse2)+' qui ne sont pas contigus';
Affiche(s,clred); Affiche(s,clred);
end; end;
end; end;
end; end;
+110 -136
View File
@@ -69,34 +69,36 @@ uses UnitPrinc;
procedure actualise; procedure actualise;
var Bimage,oriente,piedFeu : integer; var Bimage,oriente,piedFeu : integer;
s : string; s : string;
ip : Timage;
r : trect;
begin begin
Bimage:=tco[XClicCell,YClicCell].Bimage; Bimage:=tco[XClicCell,YClicCell].Bimage;
if formConfCellTCOAff then if formConfCellTCOAff then
begin
// si aiguillage, mettre à jour l'option de pilotage inverse
if (bimage=2) or (bimage=3) or (bimage=4) or (bimage=5) or (bimage=12) or (bimage=13)
or (bimage=14) or (bimage=15) or (bimage=24) then
begin begin
// si aiguillage, mettre à jour l'option de pilotage inverse
if (bimage=2) or (bimage=3) or (bimage=4) or (bimage=5) or (bimage=12) or (bimage=13)
or (bimage=14) or (bimage=15) or (bimage=24) then
begin
// aiguillage inversé // aiguillage inversé
with FormConfCellTCO.CheckPinv do with FormConfCellTCO.CheckPinv do
begin
enabled:=true;
checked:=TCO[XClicCell,YClicCell].inverse;
end;
FormTCO.CheckPinv.checked:=TCO[XClicCell,YClicCell].inverse;
FormTCO.CheckPinv.enabled:=true ;
end
else
begin begin
FormTCO.CheckPinv.enabled:=false; enabled:=true;
FormConfCellTCO.checkPinv.enabled:=false; checked:=TCO[XClicCell,YClicCell].inverse;
end; end;
FormTCO.CheckPinv.checked:=TCO[XClicCell,YClicCell].inverse;
FormTCO.CheckPinv.enabled:=true ;
end
else
begin
FormTCO.CheckPinv.enabled:=false;
FormConfCellTCO.checkPinv.enabled:=false;
end; end;
end;
// si voie ou rien ou signal ou quai // si voie ou rien ou signal ou quai
if (Bimage=1) or (Bimage=0) or (Bimage=23) or (Bimage=31) or (Bimage=30) then if (Bimage=1) or (Bimage=0) or (Bimage=50) or (Bimage=51) then
begin begin
s:=Tco[XClicCell,YClicCell].Texte; s:=Tco[XClicCell,YClicCell].Texte;
with formTCO do with formTCO do
@@ -134,7 +136,7 @@ begin
formConfCellTCO.EditTypeImage.Text:=intToSTR(Bimage); formConfCellTCO.EditTypeImage.Text:=intToSTR(Bimage);
// si signal // si signal
if Bimage<30 then if Bimage=50 then
With formConfCellTCO.ImagePalette do With formConfCellTCO.ImagePalette do
begin begin
Height:=FormTCO.ImagePalette1.Picture.Height; Height:=FormTCO.ImagePalette1.Picture.Height;
@@ -143,7 +145,7 @@ begin
end; end;
// si pas signal // si pas signal
if Bimage<>30 then if Bimage<>50 then
with formConfCellTCO do with formConfCellTCO do
begin begin
RadioButtonV.Enabled:=false; RadioButtonV.Enabled:=false;
@@ -154,101 +156,95 @@ begin
end; end;
//mettre l'image de la cellule cliquée dans l'icone de la fenetre de config cellule //mettre l'image de la cellule cliquée dans l'icone de la fenetre de config cellule
with formConfCellTCO.ImagePalette.Picture do if Bimage=0 then
case Bimage of begin
1: Assign(FormTCO.ImagePalette1.Picture); with FormConfCellTCO.ImagePalette do
2: Assign(FormTCO.ImagePalette2.Picture); begin
3: Assign(FormTCO.ImagePalette3.Picture); r:=Rect(0,0,width,height);
4: Assign(FormTCO.ImagePalette4.Picture); with canvas do
5: Assign(FormTCO.ImagePalette5.Picture); begin
6: Assign(FormTCO.ImagePalette6.Picture); Pen.Mode:=pmCopy;
7: Assign(FormTCO.ImagePalette7.Picture); Pen.Width:=1;
8: Assign(FormTCO.ImagePalette8.Picture); Pen.color:=tco[XClicCell,YClicCell].CouleurFond;
9: Assign(FormTCO.ImagePalette9.Picture); Brush.Color:=tco[XClicCell,YClicCell].CouleurFond;
10: Assign(FormTCO.ImagePalette10.Picture); Brush.style:=bsSolid;
11: Assign(FormTCO.ImagePalette11.Picture); fillRect(r);
12: Assign(FormTCO.ImagePalette12.Picture); end;
13: Assign(FormTCO.ImagePalette13.Picture); end;
14: Assign(FormTCO.ImagePalette14.Picture);
15: Assign(FormTCO.ImagePalette15.Picture);
16: Assign(FormTCO.ImagePalette16.Picture);
17: Assign(FormTCO.ImagePalette17.Picture);
18: Assign(FormTCO.ImagePalette18.Picture);
19: Assign(FormTCO.ImagePalette19.Picture);
20: Assign(FormTCO.ImagePalette20.Picture);
21: Assign(FormTCO.ImagePalette21.Picture);
22: Assign(FormTCO.ImagePalette22.Picture);
23,31: Assign(FormTCO.ImagePalette31.Picture);
24: Assign(FormTCO.ImagePalette24.Picture);
25: Assign(FormTCO.ImagePalette25.Picture);
30: begin
With formConfCellTCO.ImagePalette do
begin
Height:=FormTCO.ImagePalette30.Height;
Width:=FormTCO.ImagePalette30.Width;
Picture.Assign(FormTCO.ImagePalette30.Picture); with formConfCellTCO do
Picture.Bitmap.TransparentMode:=tmAuto; begin
Picture.Bitmap.TransparentColor:=clblue; RadioButtonV.Enabled:=false;
Transparent:=true; RadioButtonHG.Enabled:=false;
end; RadioButtonHD.Enabled:=false;
with formconfCellTCO do RadioButtonG.Enabled:=false;
begin RadioButtonD.Enabled:=false;
RadioButtonV.Enabled:=true; end;
RadioButtonHG.Enabled:=true; end
RadioButtonHD.Enabled:=true;
RadioButtonG.Enabled:=true; else
RadioButtonD.Enabled:=true;
oriente:=tco[XClicCell,YClicCell].Feuoriente; begin
if oriente=1 then ip:=formTCO.findComponent('ImagePalette'+intToSTR(Bimage)) as Timage;
begin if ip=nil then exit;
RadioButtonV.checked:=true; formConfCellTCO.ImagePalette.picture.Assign(ip.picture);
RadioButtonHG.checked:=false;
RadioButtonHD.checked:=false; if Bimage=50 then
end; begin // signal
if oriente=2 then With formConfCellTCO.ImagePalette do
begin begin
Height:=FormTCO.ImagePalette50.Height;
Width:=FormTCO.ImagePalette50.Width;
//Picture.Assign(FormTCO.ImagePalette50.Picture);
Picture.Bitmap.TransparentMode:=tmAuto;
Picture.Bitmap.TransparentColor:=clblue;
Transparent:=true;
end;
with formconfCellTCO do
begin
RadioButtonV.Enabled:=true;
RadioButtonHG.Enabled:=true;
RadioButtonHD.Enabled:=true;
RadioButtonG.Enabled:=true;
RadioButtonD.Enabled:=true;
oriente:=tco[XClicCell,YClicCell].Feuoriente;
if oriente=1 then
begin
RadioButtonV.checked:=true;
RadioButtonHG.checked:=false;
RadioButtonHD.checked:=false;
end;
if oriente=2 then
begin
RadioButtonV.checked:=false; RadioButtonV.checked:=false;
RadioButtonHG.checked:=true; RadioButtonHG.checked:=true;
RadioButtonHD.checked:=false; RadioButtonHD.checked:=false;
end; end;
if oriente=3 then if oriente=3 then
begin begin
RadioButtonV.checked:=false; RadioButtonV.checked:=false;
RadioButtonHG.checked:=false; RadioButtonHG.checked:=false;
RadioButtonHD.checked:=true; RadioButtonHD.checked:=true;
end; end;
PiedFeu:=tco[XClicCell,YClicCell].PiedFeu; PiedFeu:=tco[XClicCell,YClicCell].PiedFeu;
if PiedFeu=1 then if PiedFeu=1 then
begin begin
RadioButtonG.checked:=true; RadioButtonG.checked:=true;
RadioButtonD.checked:=false; RadioButtonD.checked:=false;
end; end;
if PiedFeu=2 then if PiedFeu=2 then
begin begin
RadioButtonG.checked:=false; RadioButtonG.checked:=false;
RadioButtonD.checked:=true; RadioButtonD.checked:=true;
end; end;
end; end;
end end;
else
begin
with formConfCellTCO do
begin
ImagePalette.Picture:=nil;
RadioButtonV.Enabled:=false;
RadioButtonHG.Enabled:=false;
RadioButtonHD.Enabled:=false;
RadioButtonG.Enabled:=false;
RadioButtonD.Enabled:=false;
end;
end;
end; end;
// aiguillage // aiguillage
if ((BImage=2) or (BImage=3) or (BImage=4) or (BImage=5) or (BImage=12) or (BImage=13) or (BImage=14) or if ((BImage=2) or (BImage=3) or (BImage=4) or (BImage=5) or (BImage=12) or (BImage=13) or (BImage=14) or
(BImage=15) or (BImage=21) or (BImage=22) or (BImage=24) or (BImage=25)) then (BImage=15) or (BImage=21) or (BImage=22) or (BImage>=24) ) and (Bimage<50) then
formConfCellTCO.checkPinv.Enabled:=true formConfCellTCO.checkPinv.Enabled:=true
else formConfCellTCO.checkPinv.Enabled:=false; else formConfCellTCO.checkPinv.Enabled:=false;
@@ -277,9 +273,9 @@ begin
formTCO.EditAdrElement.Text:=intToSTR(adr); formTCO.EditAdrElement.Text:=intToSTR(adr);
if tco[XClicCell,YClicCell].BImage=30 then if tco[XClicCell,YClicCell].BImage=50 then
begin begin
index:=Index_feu(adr); index:=Index_Signal(adr);
if index=0 then exit if index=0 then exit
else else
begin begin
@@ -341,32 +337,9 @@ begin
begin begin
Parent:=FormConfCellTCO; Parent:=FormConfCellTCO;
Name:='i'+IntToSTR(i); // nom de l'image - sert à identifier le composant si on fait clic droit. Name:='i'+IntToSTR(i); // nom de l'image - sert à identifier le composant si on fait clic droit.
case i of
1 : ImageSRC:=FormTCO.ImagePalette1; ImageSRC:=findComponent('ImagePalette'+intToSTR(i)) as Timage;
2 : ImageSRC:=FormTCO.ImagePalette2;
3 : ImageSRC:=FormTCO.ImagePalette3;
4 : ImageSRC:=FormTCO.ImagePalette4;
5 : ImageSRC:=FormTCO.ImagePalette5;
6 : ImageSRC:=FormTCO.ImagePalette6;
7 : ImageSRC:=FormTCO.ImagePalette7;
8 : ImageSRC:=FormTCO.ImagePalette8;
9 : ImageSRC:=FormTCO.ImagePalette9;
10 : ImageSRC:=FormTCO.ImagePalette10;
11 : ImageSRC:=FormTCO.ImagePalette11;
12 : ImageSRC:=FormTCO.ImagePalette12;
13 : ImageSRC:=FormTCO.ImagePalette13;
14 : ImageSRC:=FormTCO.ImagePalette14;
15 : ImageSRC:=FormTCO.ImagePalette15;
16 : ImageSRC:=FormTCO.ImagePalette16;
17 : ImageSRC:=FormTCO.ImagePalette17;
18 : ImageSRC:=FormTCO.ImagePalette18;
19 : ImageSRC:=FormTCO.ImagePalette19;
20 : ImageSRC:=FormTCO.ImagePalette20;
21 : ImageSRC:=FormTCO.ImagePalette21;
22 : ImageSRC:=FormTCO.ImagePalette22;
23,31 : ImageSRC:=FormTCO.ImagePalette31;
24 : ImageSRC:=FormTCO.ImagePalette30;
end;
picture.Bitmap:=ImageSRC.picture.BitMap; picture.Bitmap:=ImageSRC.picture.BitMap;
width:=ImageSRC.Width; width:=ImageSRC.Width;
height:=ImageSRC.Height; height:=ImageSRC.Height;
@@ -460,7 +433,7 @@ begin
if clicTCO or not(formConfCellTCOAff) or actualize then exit; if clicTCO or not(formConfCellTCOAff) or actualize then exit;
if affevt then Affiche('TCO evt editTypeImageKeyPress',clorange); if affevt then Affiche('TCO evt editTypeImageKeyPress',clorange);
Val(EditTypeImage.Text,Bimage,erreur); Val(EditTypeImage.Text,Bimage,erreur);
if (erreur<>0) or not(Bimage in[0..22,24..25,30,31]) then if (erreur<>0) or not(Bimage in[0..29,32..34,50,51]) then
begin begin
exit; exit;
end; end;
@@ -469,6 +442,7 @@ begin
FormTCO.EditTypeImage.text:=intToSTR(BImage); FormTCO.EditTypeImage.text:=intToSTR(BImage);
actualise; // pour mise à jour de l'image de la fenetre FormConfCellTCO actualise; // pour mise à jour de l'image de la fenetre FormConfCellTCO
efface_entoure; efface_entoure;
Efface_Cellule(FormTCO.ImageTCO.Canvas,XClicCell,yClicCell,pmCopy);
affiche_cellule(XClicCell,YClicCell); affiche_cellule(XClicCell,YClicCell);
end; end;
+1 -1
View File
@@ -281,7 +281,7 @@ object FormConfigTCO: TFormConfigTCO
object RadioGroup1: TRadioGroup object RadioGroup1: TRadioGroup
Left = 16 Left = 16
Top = 96 Top = 96
Width = 281 Width = 273
Height = 57 Height = 57
Caption = 'Graphisme' Caption = 'Graphisme'
TabOrder = 8 TabOrder = 8
+26 -23
View File
@@ -1,9 +1,10 @@
object FormDebug: TFormDebug object FormDebug: TFormDebug
Left = 209 Left = 321
Top = 192 Top = 0
Width = 864 Width = 864
Height = 788 Height = 718
VertScrollBar.Increment = 67 VertScrollBar.Increment = 67
VertScrollBar.Position = 98
VertScrollBar.Tracking = True VertScrollBar.Tracking = True
Caption = 'Fen'#234'tre de d'#233'bug' Caption = 'Fen'#234'tre de d'#233'bug'
Color = clWindow Color = clWindow
@@ -21,12 +22,12 @@ object FormDebug: TFormDebug
OnKeyPress = FormKeyPress OnKeyPress = FormKeyPress
DesignSize = ( DesignSize = (
839 839
757) 687)
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
object Label1: TLabel object Label1: TLabel
Left = 595 Left = 595
Top = 4 Top = -94
Width = 108 Width = 108
Height = 13 Height = 13
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@@ -42,7 +43,7 @@ object FormDebug: TFormDebug
end end
object Label2: TLabel object Label2: TLabel
Left = 443 Left = 443
Top = 2 Top = -96
Width = 131 Width = 131
Height = 18 Height = 18
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@@ -56,7 +57,7 @@ object FormDebug: TFormDebug
end end
object EditNivDebug: TEdit object EditNivDebug: TEdit
Left = 754 Left = 754
Top = 2 Top = -96
Width = 49 Width = 49
Height = 21 Height = 21
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@@ -72,7 +73,7 @@ object FormDebug: TFormDebug
end end
object ButtonEcrLog: TButton object ButtonEcrLog: TButton
Left = 442 Left = 442
Top = 328 Top = 230
Width = 97 Width = 97
Height = 29 Height = 29
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@@ -82,7 +83,7 @@ object FormDebug: TFormDebug
end end
object ButtonRazTampon: TButton object ButtonRazTampon: TButton
Left = 442 Left = 442
Top = 360 Top = 262
Width = 97 Width = 97
Height = 33 Height = 33
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@@ -93,7 +94,7 @@ object FormDebug: TFormDebug
end end
object ButtonCherche: TButton object ButtonCherche: TButton
Left = 442 Left = 442
Top = 296 Top = 198
Width = 97 Width = 97
Height = 25 Height = 25
Hint = 'Cherche la cha'#238'ne "erreur"' Hint = 'Cherche la cha'#238'ne "erreur"'
@@ -106,7 +107,7 @@ object FormDebug: TFormDebug
end end
object ButtonAffEvtChrono: TButton object ButtonAffEvtChrono: TButton
Left = 442 Left = 442
Top = 256 Top = 158
Width = 97 Width = 97
Height = 33 Height = 33
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@@ -117,7 +118,7 @@ object FormDebug: TFormDebug
end end
object ButtonCop: TButton object ButtonCop: TButton
Left = 442 Left = 442
Top = 208 Top = 110
Width = 97 Width = 97
Height = 41 Height = 41
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@@ -134,7 +135,7 @@ object FormDebug: TFormDebug
end end
object ButtonRazLog: TButton object ButtonRazLog: TButton
Left = 442 Left = 442
Top = 400 Top = 302
Width = 97 Width = 97
Height = 33 Height = 33
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@@ -145,7 +146,7 @@ object FormDebug: TFormDebug
end end
object GroupBox1: TGroupBox object GroupBox1: TGroupBox
Left = 448 Left = 448
Top = 600 Top = 502
Width = 369 Width = 369
Height = 185 Height = 185
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@@ -283,9 +284,11 @@ object FormDebug: TFormDebug
Width = 185 Width = 185
Height = 25 Height = 25
Hint = Hint =
'Renvoie l'#39#233'l'#233'ment suivant aux deux '#233'l'#233'ments (d'#233'tecteurs ou aigui' + 'Renvoie l'#39#233'l'#233'ment suivant aux deux '#233'l'#233'ments contigus (d'#233'tecteurs' +
'llages) ' ' ou aiguillages) '
Caption = 'Element suivant aux '#233'l'#233'ments' Caption = 'Element suivant aux '#233'l'#233'ments'
ParentShowHint = False
ShowHint = True
TabOrder = 3 TabOrder = 3
OnClick = ButtonElSuivClick OnClick = ButtonElSuivClick
end end
@@ -293,7 +296,7 @@ object FormDebug: TFormDebug
end end
object GroupBox2: TGroupBox object GroupBox2: TGroupBox
Left = 440 Left = 440
Top = 20 Top = -78
Width = 401 Width = 401
Height = 149 Height = 149
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@@ -485,9 +488,9 @@ object FormDebug: TFormDebug
end end
object RichDebug: TRichEdit object RichDebug: TRichEdit
Left = 8 Left = 8
Top = 8 Top = -90
Width = 425 Width = 425
Height = 741 Height = 671
Anchors = [akLeft, akTop, akRight, akBottom] Anchors = [akLeft, akTop, akRight, akBottom]
Lines.Strings = ( Lines.Strings = (
'RichDebug') 'RichDebug')
@@ -498,7 +501,7 @@ object FormDebug: TFormDebug
end end
object GroupBox5: TGroupBox object GroupBox5: TGroupBox
Left = 448 Left = 448
Top = 488 Top = 390
Width = 372 Width = 372
Height = 57 Height = 57
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@@ -565,7 +568,7 @@ object FormDebug: TFormDebug
end end
object ButtonRazTout: TButton object ButtonRazTout: TButton
Left = 443 Left = 443
Top = 176 Top = 78
Width = 97 Width = 97
Height = 25 Height = 25
Hint = Hint =
@@ -580,7 +583,7 @@ object FormDebug: TFormDebug
end end
object GroupBox6: TGroupBox object GroupBox6: TGroupBox
Left = 448 Left = 448
Top = 552 Top = 454
Width = 372 Width = 372
Height = 41 Height = 41
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@@ -657,7 +660,7 @@ object FormDebug: TFormDebug
end end
object MemoEvtDet: TRichEdit object MemoEvtDet: TRichEdit
Left = 544 Left = 544
Top = 174 Top = 76
Width = 281 Width = 281
Height = 307 Height = 307
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -52,7 +52,7 @@ object FormPilote: TFormPilote
object LabelDec: TLabel object LabelDec: TLabel
Left = 200 Left = 200
Top = 192 Top = 192
Width = 129 Width = 72
Height = 19 Height = 19
Alignment = taCenter Alignment = taCenter
Caption = 'LabelDec' Caption = 'LabelDec'
+4 -4
View File
@@ -118,7 +118,7 @@ procedure dessine_feu_pilote;
var i : integer; var i : integer;
Vcanvas : Tcanvas; Vcanvas : Tcanvas;
begin begin
i:=Index_feu(AdrPilote); // adresse du feu d'origine i:=Index_Signal(AdrPilote); // adresse du feu d'origine
if i<>0 then if i<>0 then
//ImagePilote.Picture.Bitmap:=FormPilote.ImagePilote.picture.bitmap; //ImagePilote.Picture.Bitmap:=FormPilote.ImagePilote.picture.bitmap;
@@ -261,7 +261,7 @@ end;
procedure TFormPilote.ButtonPiloteClick(Sender: TObject); procedure TFormPilote.ButtonPiloteClick(Sender: TObject);
var i,index,e : integer; var i,index,e : integer;
begin begin
index:=index_feu(AdrPilote); index:=index_Signal(AdrPilote);
if (feux[index].aspect>10) and (feux[index].aspect<20 )then if (feux[index].aspect>10) and (feux[index].aspect<20 )then
begin begin
val(EditNbreFeux.Text,i,e); val(EditNbreFeux.Text,i,e);
@@ -296,7 +296,7 @@ procedure TFormPilote.FormActivate(Sender: TObject);
var n,i,d : integer; var n,i,d : integer;
begin begin
// mise à jour du champ décodeur // mise à jour du champ décodeur
i:=index_feu(AdrPilote); i:=Index_Signal(AdrPilote);
d:=feux[i].decodeur; d:=feux[i].decodeur;
n:=feux[i].aspect; n:=feux[i].aspect;
LabelDec.Caption:=decodeur[d]; LabelDec.Caption:=decodeur[d];
@@ -378,7 +378,7 @@ end;
procedure TFormPilote.CheckVerrouCarreClick(Sender: TObject); procedure TFormPilote.CheckVerrouCarreClick(Sender: TObject);
var i : integer; var i : integer;
begin begin
i:=index_feu(AdrPilote); i:=Index_Signal(AdrPilote);
feux[i].VerrouilleCarre:=checkVerrouCarre.Checked=true; feux[i].VerrouilleCarre:=checkVerrouCarre.Checked=true;
if feux[i].VerrouilleCarre then if feux[i].VerrouilleCarre then
begin begin
+142 -152
View File
@@ -1,10 +1,10 @@
Unit UnitPrinc; Unit UnitPrinc;
// 1/8 20h // 8/8 22h
(******************************************** (********************************************
programme signaux complexes Graphique Lenz programme signaux complexes Graphique Lenz
Delphi 7 + activeX Tmscomm + clientSocket Delphi 7 + activeX Tmscomm + clientSocket
ou RadStudio ou RadStudio
option de compilations: options du debugger/exception du langage : décocher "arreter sur exceptions delphi" options de compilation: options du debugger/exception du langage : décocher "arreter sur exceptions delphi"
sinon une exception surgira au moment de l'ouverture du com sinon une exception surgira au moment de l'ouverture du com
Dans projet/option/fiches : fiches disponibles : formtco uniquement Dans projet/option/fiches : fiches disponibles : formtco uniquement
******************************************** ********************************************
@@ -24,7 +24,7 @@ Unit UnitPrinc;
netsh advfirewall firewall add rule name="cdm rail" dir=in action=allow program="C:\Program Files (x86)\CDM-Rail\cdr.exe" enable=yes netsh advfirewall firewall add rule name="cdm rail" dir=in action=allow program="C:\Program Files (x86)\CDM-Rail\cdr.exe" enable=yes
*) *)
// en mode simulation run: // En mode simulation run:
// CDM ne renvoie pas les détecteurs au départ du RUN. // CDM ne renvoie pas les détecteurs au départ du RUN.
// il ne renvoie pas non plus le nom des trains sur les actionneurs // il ne renvoie pas non plus le nom des trains sur les actionneurs
// les noms des trains sont bien renvoyés sur les détecteurs à 1 // les noms des trains sont bien renvoyés sur les détecteurs à 1
@@ -638,7 +638,7 @@ var
{$R *.dfm} {$R *.dfm}
// utilisation des procédures et fonctions dans les autres unités // utilisation des procédures et fonctions dans les autres unités
function Index_feu(adresse : integer) : integer; function Index_Signal(adresse : integer) : integer;
function Index_Aig(adresse : integer) : integer; function Index_Aig(adresse : integer) : integer;
procedure dessine_feu2(Acanvas : Tcanvas;x,y : integer;frX,frY : real;EtatSignal : word;orientation : integer); procedure dessine_feu2(Acanvas : Tcanvas;x,y : integer;frX,frY : real;EtatSignal : word;orientation : integer);
procedure dessine_feu3(Acanvas : Tcanvas;x,y : integer;frX,frY : real;EtatSignal : word;orientation : integer); procedure dessine_feu3(Acanvas : Tcanvas;x,y : integer;frX,frY : real;EtatSignal : word;orientation : integer);
@@ -1147,8 +1147,7 @@ end;
procedure dessine_feu9(Acanvas : Tcanvas;x,y : integer;frX,frY : real;etatsignal : word;orientation : integer); procedure dessine_feu9(Acanvas : Tcanvas;x,y : integer;frX,frY : real;etatsignal : word;orientation : integer);
var rayon, var rayon,
XBlanc,Yblanc,xJaune,yJaune,Xsem,YSem,Xvert,YVert,Xcarre,Ycarre,Xral1,Yral1,Xral2,YRal2, XBlanc,Yblanc,xJaune,yJaune,Xsem,YSem,Xvert,YVert,Xcarre,Ycarre,Xral1,Yral1,Xral2,YRal2,
Xrap1,Yrap1,Xrap2,Yrap2,Temp : integer; Xrap1,Yrap1,Xrap2,Yrap2,Temp,LgImage,HtImage,xt,yt,code,combine : integer;
LgImage,HtImage,xt,yt,code,combine : integer;
ech : real; ech : real;
begin begin
@@ -1249,8 +1248,8 @@ begin
end; end;
end; end;
// Ecrire sur un canvas un texte incliné, avec ou sans bordure, monochrome ou à face texturée // Ecrire sur un canvas un texte avec un angle, avec ou sans bordure, monochrome ou à face texturée
procedure AffTexteIncliBordeTexture( C : TCanvas; X,Y : integer; Fonte : tFont; procedure AffTexteIncliBordeTexture(C : TCanvas; X,Y : integer; Fonte : tFont;
clBord : TColor; EpBord : integer; PenMode : TPenMode; clBord : TColor; EpBord : integer; PenMode : TPenMode;
Texture : tBitMap; Texte : string; AngleDD : longint); Texture : tBitMap; Texte : string; AngleDD : longint);
// params : C = Canvas-cible // params : C = Canvas-cible
@@ -1262,69 +1261,68 @@ procedure AffTexteIncliBordeTexture( C : TCanvas; X,Y : integer; Fonte : tFont;
// Texture = BitMap de texture : Si Texture = Nil alors la face sera de la couleur de Fonte avec un contour de clBord si EpBord > 0. // Texture = BitMap de texture : Si Texture = Nil alors la face sera de la couleur de Fonte avec un contour de clBord si EpBord > 0.
// Texte = Texte à écrire. // Texte = Texte à écrire.
// AngleDD = Angle d'inclinaison en Dixièmes de degré. // AngleDD = Angle d'inclinaison en Dixièmes de degré.
var dc : HDC; var dc : Hdc;
lgFont : LOGFONT; lgFont : Logfont;
AncFonte,NouvFonte : HFONT; AncFonte,NouvFonte : Hfont;
AncPen,NouvPen : HPEN; AncPen,NouvPen : Hpen;
AncBrush,NouvBrush : HBRUSH; AncBrush,NouvBrush : Hbrush;
begin begin
C.Pen.Mode:=PenMode; C.Pen.Mode:=PenMode;
dc := C.Handle; dc:=C.Handle;
// Initialisation de la fonte
zeroMemory(@lgFont,sizeOf(lgFont));
strPCopy(lgFont.lfFaceName,Fonte.Name);
lgFont.lfHeight := Fonte.Height;
if Fonte.style=[] then lgFont.lfWeight:=FW_REGULAR; // Normal
if Fonte.style=[fsBold] then lgFont.lfWeight:=FW_BOLD; // Gras
if fsItalic in Fonte.style then lgFont.lfItalic:=1;
if fsUnderline in Fonte.style then lgFont.lfUnderline:=1;
if fsStrikeout in Fonte.style then lgFont.lfStrikeout:=1;
lgFont.lfEscapement:=AngleDD; // Modification de l'inclinaison
NouvFonte := CreateFontInDirect(lgFont);
AncFonte := SelectObject(dc,NouvFonte);
// Initialisation du contour :
if EpBord<>0 then NouvPen := CreatePen(PS_SOLID,EpBord,clBord)
else NouvPen := CreatePen(PS_NULL,0,0);
AncPen := SelectObject(dc,NouvPen);
// Initialisation de la couleur de la police ou de la Texture :
if Texture=nil then NouvBrush := CreateSolidBrush(Fonte.color)
else NouvBrush := CreatePatternBrush(Texture.Handle);
AncBrush := SelectObject(dc,NouvBrush);
// Le contexte doit être transparent
SetBkMode(dc,TRANSPARENT);
// Dessin du texe :
BeginPath(dc);
TextOut(dc,X,Y,PChar(Texte),length(texte)); //<- au lieu de TextOut(dc,X,Y,PansiChar(Texte),length(texte)) pour rendre le code compatible avec toutes les versions de Delphi (de D2 à XE2);
EndPath(dc);
StrokeAndFillPath(dc);
// Restauration objets et libération mémoire // Initialisation de la fonte
SelectObject(dc,AncFonte); zeroMemory(@lgFont,sizeOf(lgFont));
DeleteObject(NouvFonte); strPCopy(lgFont.lfFaceName,Fonte.Name);
SelectObject(dc,AncPen); lgFont.lfHeight := Fonte.Height;
DeleteObject(NouvPen); if Fonte.style=[] then lgFont.lfWeight:=FW_REGULAR; // Normal
SelectObject(dc,AncBrush); if Fonte.style=[fsBold] then lgFont.lfWeight:=FW_BOLD; // Gras
DeleteObject(NouvBrush);
if fsItalic in Fonte.style then lgFont.lfItalic:=1;
end; // AffTexteIncliBordeTexture if fsUnderline in Fonte.style then lgFont.lfUnderline:=1;
if fsStrikeout in Fonte.style then lgFont.lfStrikeout:=1;
lgFont.lfEscapement:=AngleDD; // Modification de l'inclinaison
NouvFonte:=CreateFontInDirect(lgFont);
AncFonte:=SelectObject(dc,NouvFonte);
// Initialisation du contour :
if EpBord<>0 then NouvPen := CreatePen(PS_SOLID,EpBord,clBord)
else NouvPen := CreatePen(PS_NULL,0,0);
AncPen:= SelectObject(dc,NouvPen);
// Initialisation de la couleur de la police ou de la Texture :
if Texture=nil then NouvBrush := CreateSolidBrush(Fonte.color)
else NouvBrush := CreatePatternBrush(Texture.Handle);
AncBrush:=SelectObject(dc,NouvBrush);
// Le contexte doit être transparent
SetBkMode(dc,TRANSPARENT);
// Dessin du texe :
BeginPath(dc);
TextOut(dc,X,Y,PChar(Texte),length(texte)); //<- au lieu de TextOut(dc,X,Y,PansiChar(Texte),length(texte)) pour rendre le code compatible avec toutes les versions de Delphi (de D2 à XE2);
EndPath(dc);
StrokeAndFillPath(dc);
// Restauration objets et libération mémoire
SelectObject(dc,AncFonte);
DeleteObject(NouvFonte);
SelectObject(dc,AncPen);
DeleteObject(NouvPen);
SelectObject(dc,AncBrush);
DeleteObject(NouvBrush);
end;
// inverse une image horz et la met dans dest // inverse une image horizontale (miroir) et la met dans dest
procedure inverse_image(imageDest,ImageSrc : Timage); procedure inverse_image(imageDest,ImageSrc : Timage);
var mrect,nrect : trect; var mrect,nrect : trect;
larg,haut : integer; larg,haut : integer;
begin begin
larg:=ImageSrc.Width; larg:=ImageSrc.Width;
haut:=ImageSrc.Height; haut:=ImageSrc.Height;
mRect:= rect(0, 0, larg, haut); mRect:= rect(0,0,larg,haut);
nRect:= rect(larg-1,0,-1,haut); nRect:= rect(larg-1,0,-1,haut);
ImageDest.canvas.CopyRect(mRect, ImageSrc.canvas, nRect); ImageDest.canvas.CopyRect(mRect,ImageSrc.canvas,nRect);
end; end;
// dessine les feux sur une cible belge à 5 feux // dessine les feux sur une cible belge à 5 feux
@@ -1346,11 +1344,6 @@ begin
largeur:=57; largeur:=57;
rayon:=round(6*frX); rayon:=round(6*frX);
{Xblanc:=12;YBlanc:=51;
Xrouge:=12;Yrouge:=25;
xJauneBas:=12;yJauneBas:=38;
xJauneHaut:=38;yJauneHaut:=12;
xVert:=12;YVert:=12;}
xVert:=15; yvert:=24; xVert:=15; yvert:=24;
xrouge:=15; yrouge:=37; xrouge:=15; yrouge:=37;
xjauneBas:=15;yjauneBas:=50; xjauneBas:=15;yjauneBas:=50;
@@ -1365,7 +1358,7 @@ begin
XChiffre:=14;Ychiffre:=76; XChiffre:=14;Ychiffre:=76;
Xfin:=26;yFin:=99; Xfin:=26;yFin:=99;
index:=index_feu(adresse); index:=index_signal(adresse);
if feux[index].contrevoie then if feux[index].contrevoie then
begin begin
xvert:=largeur-xvert; xvert:=largeur-xvert;
@@ -1405,7 +1398,7 @@ begin
if (orientation=3) then if (orientation=3) then
begin begin
//rotation 90° vers la droite des feux // rotation 90° vers la droite des feux
// calcul des facteurs de réduction pour la rotation // calcul des facteurs de réduction pour la rotation
ech:=frY;frY:=frX;FrX:=ech; ech:=frY;frY:=frX;FrX:=ech;
Temp:=LgImage-XjauneBas;XJauneBas:=YJauneBas;YjauneBas:=Temp; Temp:=LgImage-XjauneBas;XJauneBas:=YJauneBas;YjauneBas:=Temp;
@@ -1526,10 +1519,7 @@ begin
r.Right:=Xfin-2;r.Bottom:=Yfin-1; r.Right:=Xfin-2;r.Bottom:=Yfin-1;
Fillrect(r); Fillrect(r);
end; end;
end; end;
end; end;
@@ -1544,20 +1534,20 @@ begin
if n=2 then x2:=25 else x2:=22; if n=2 then x2:=25 else x2:=22;
x1:=11;x3:=33;x4:=43;x5:=53;x6:=63; x1:=11;x3:=33;x4:=43;x5:=53;x6:=63;
y1:=13;y2:=13;y3:=13;y4:=13;y5:=13;y6:=13; y1:=13;y2:=13;y3:=13;y4:=13;y5:=13;y6:=13;
case N of case n of
2 : with Formprinc.Image2Dir.Picture.Bitmap do 2 : with Formprinc.Image2Dir.Picture.Bitmap do
begin begin
LgImage:=Width; LgImage:=Width;
HtImage:=Height; HtImage:=Height;
end; end;
3 : with Formprinc.Image3Dir.Picture.Bitmap do 3 : with Formprinc.Image3Dir.Picture.Bitmap do
begin begin
LgImage:=Width; LgImage:=Width;
HtImage:=Height; HtImage:=Height;
end; end;
4 : with Formprinc.Image4Dir.Picture.Bitmap do 4 : with Formprinc.Image4Dir.Picture.Bitmap do
begin begin
LgImage:=Width; LgImage:=Width;
HtImage:=Height; HtImage:=Height;
end; end;
@@ -1603,7 +1593,7 @@ begin
X4:=round(X4*Frx)+x; Y4:=round(Y4*Fry)+Y; X4:=round(X4*Frx)+x; Y4:=round(Y4*Fry)+Y;
X5:=round(X5*FrX)+x; Y5:=round(Y5*FrY)+Y; X5:=round(X5*FrX)+x; Y5:=round(Y5*FrY)+Y;
X6:=round(X6*FrX)+x; Y6:=round(Y6*FrY)+Y; X6:=round(X6*FrX)+x; Y6:=round(Y6*FrY)+Y;
if EtatSignal=0 then if EtatSignal=0 then
begin begin
cercle(ACanvas,x1,y1,rayon,GrisF); cercle(ACanvas,x1,y1,rayon,GrisF);
@@ -1735,9 +1725,9 @@ begin
if trouve then index_train_adresse:=i else index_train_adresse:=0 ; if trouve then index_train_adresse:=i else index_train_adresse:=0 ;
end; end;
// renvoie l'index du feu dans le tableau feux[] en fonction de son adresse // renvoie l'index du signal dans le tableau feux[] en fonction de son adresse
// si pas trouvé renvoie 0 // si pas trouvé renvoie 0
function Index_feu(adresse : integer) : integer; function Index_signal(adresse : integer) : integer;
var i : integer; var i : integer;
trouve : boolean; trouve : boolean;
begin begin
@@ -1746,7 +1736,7 @@ begin
trouve:=feux[i].adresse=adresse; trouve:=feux[i].adresse=adresse;
if not(trouve) then inc(i); if not(trouve) then inc(i);
until (trouve) or (i>NbreFeux); until (trouve) or (i>NbreFeux);
if trouve then Index_feu:=i else Index_feu:=0 ; if trouve then Index_Signal:=i else Index_Signal:=0 ;
end; end;
// renvoie l'index de l'aiguillage dans le tableau aiguillages[] en fonction de son adresse // renvoie l'index de l'aiguillage dans le tableau aiguillages[] en fonction de son adresse
@@ -1767,7 +1757,7 @@ end;
procedure Dessine_feu_mx(CanvasDest : Tcanvas;x,y : integer;FrX,frY : real;adresse : integer;orientation : integer); procedure Dessine_feu_mx(CanvasDest : Tcanvas;x,y : integer;FrX,frY : real;adresse : integer;orientation : integer);
var i,aspect : integer; var i,aspect : integer;
begin begin
i:=Index_feu(adresse); i:=Index_Signal(adresse);
if i<>0 then if i<>0 then
begin begin
aspect:=feux[i].aspect ; aspect:=feux[i].aspect ;
@@ -1819,7 +1809,7 @@ begin
if i<>0 then s:=copy(s,1,i-1); if i<>0 then s:=copy(s,1,i-1);
val(s,AdrPilote,erreur); val(s,AdrPilote,erreur);
if adrPilote=0 then exit; if adrPilote=0 then exit;
i:=Index_feu(AdrPilote); i:=Index_Signal(AdrPilote);
if i=0 then exit; if i=0 then exit;
with Formpilote do with Formpilote do
@@ -2092,7 +2082,7 @@ end;
Function chaine_CDM_Func(fonction,etat : integer;train : string) : string; Function chaine_CDM_Func(fonction,etat : integer;train : string) : string;
var so,sx,s : string; var so,sx,s : string;
begin begin
{ exemple de commande envoyée au serveur pour une fonction { exemple de commande envoyée au serveur CDM pour une fonction
C-C-00-0002-CMDTRN-DCCSF|029|02|NAME=nomdutrain;FXnumfonction=etat; C-C-00-0002-CMDTRN-DCCSF|029|02|NAME=nomdutrain;FXnumfonction=etat;
C-C-00-0002-CMDTRN-DCCSF|029|02|NAME=train;FX0=0; C-C-00-0002-CMDTRN-DCCSF|029|02|NAME=train;FX0=0;
C-C-00-0002-CMDTRN-DCCSF|029|02|NAME=train;FX1=0; C-C-00-0002-CMDTRN-DCCSF|029|02|NAME=train;FX1=0;
@@ -2194,6 +2184,7 @@ begin
if protocole=2 then Affiche('D1: Commande DCC++ pas encore implantée',clred); if protocole=2 then Affiche('D1: Commande DCC++ pas encore implantée',clred);
end; end;
// envoie un octet 1 ou 2 à l'adresse DCC en Xpressnet, sans remise à 0 de l'adresse
procedure pilote_direct01(adresse:integer;octet:integer); procedure pilote_direct01(adresse:integer;octet:integer);
var groupe : integer ; var groupe : integer ;
fonction : byte; fonction : byte;
@@ -2448,7 +2439,7 @@ function chaine_signal(etat,adresse : word) : string;
var a,i,aspect,combine,nation : integer; var a,i,aspect,combine,nation : integer;
s : string; s : string;
begin begin
i:=index_feu(adresse); i:=Index_Signal(adresse);
nation:=1; nation:=1;
a:=feux[i].aspect; a:=feux[i].aspect;
if a=20 then nation:=2; if a=20 then nation:=2;
@@ -2497,14 +2488,12 @@ end;
procedure Maj_Etat_Signal_Belge(adresse,aspect : integer); procedure Maj_Etat_Signal_Belge(adresse,aspect : integer);
var i : integer; var i : integer;
etats : word; etats : word;
// La signalisation combinée est à partir du bit 10 (chiffre, chevron) // La signalisation combinée belge est à partir du bit 10 (chiffre, chevron)
begin begin
if debug=3 then formprinc.Caption:='Maj_Etat_Signal '+IntToSTR(adresse)+' '+intToSTR(aspect); if debug=3 then formprinc.Caption:='Maj_Etat_Signal '+IntToSTR(adresse)+' '+intToSTR(aspect);
i:=index_feu(adresse); i:=Index_Signal(adresse);
// if testBit(feux[i].EtatSignal,aspect)=false then // si le bit dans l'état du signal n'est pas allumé, procéder.
begin begin
// signalisation de base // signalisation de base
if aspect<=$3f then if aspect<=$3f then
begin begin
// razer tous les bits non combinés // razer tous les bits non combinés
@@ -2517,21 +2506,19 @@ begin
if (aspect and $1C0)<>0 then if (aspect and $1C0)<>0 then
begin begin
etats:=feux[i].EtatSignal; etats:=feux[i].EtatSignal;
//si le bit 15 est à 1, c'est l'indicateur de mise à 1 //si le bit 15 (bita1) est à 1, c'est l'indicateur de mise à 1
if testBit(aspect,bita1) then if testBit(aspect,bita1) then
begin begin
etats:=etats or (aspect and $1C0); etats:=etats or (aspect and $1C0); // mise à 1 par masquage
feux[i].EtatSignal:=feux[i].EtatSignal or etats; feux[i].EtatSignal:=feux[i].EtatSignal or etats;
end end
else else
begin begin
etats:=etats and not(aspect and $1c0); etats:=etats and not(aspect and $1c0); // mise à 0 par masquage
feux[i].EtatSignal:=feux[i].EtatSignal and etats; feux[i].EtatSignal:=feux[i].EtatSignal and etats;
end; end;
end; end;
end; end;
end; end;
// mise à jour état signal complexe francais dans le tableau de bits du signal EtatSignalCplx // mise à jour état signal complexe francais dans le tableau de bits du signal EtatSignalCplx
@@ -2545,7 +2532,7 @@ begin
// '6blanc','7blanc cli','8jaune','9jaune cli','10ral 30','11ral 60','12rappel 30','13rappel 60'); // '6blanc','7blanc cli','8jaune','9jaune cli','10ral 30','11ral 60','12rappel 30','13rappel 60');
if debug=3 then formprinc.Caption:='Maj_Etat_Signal '+IntToSTR(adresse); if debug=3 then formprinc.Caption:='Maj_Etat_Signal '+IntToSTR(adresse);
i:=index_feu(adresse); i:=Index_Signal(adresse);
if testBit(feux[i].EtatSignal,aspect)=false then // si le bit dans l'état du signal n'est pas allumé, procéder. if testBit(feux[i].EtatSignal,aspect)=false then // si le bit dans l'état du signal n'est pas allumé, procéder.
begin begin
// effacement du motif de bits en fonction du nouvel état demandé suivant la règle des signaux complexes // effacement du motif de bits en fonction du nouvel état demandé suivant la règle des signaux complexes
@@ -2596,9 +2583,9 @@ end;
procedure Maj_Etat_Signal(adresse,aspect : integer); procedure Maj_Etat_Signal(adresse,aspect : integer);
var i,d : integer; var i,d : integer;
begin begin
i:=index_feu(adresse); i:=Index_Signal(adresse);
d:=feux[i].aspect; d:=feux[i].aspect;
if d=20 then Maj_Etat_Signal_belge(adresse,aspect) if d=20 then Maj_Etat_Signal_belge(adresse,aspect)
else Maj_Etat_Signal_fr(adresse,aspect); else Maj_Etat_Signal_fr(adresse,aspect);
end; end;
@@ -2610,7 +2597,7 @@ sur un panneau directionnel - adresse : adresse du signal - code de 1
procedure envoi_directionBahn(adr : integer;code : integer); procedure envoi_directionBahn(adr : integer;code : integer);
var i : integer; var i : integer;
begin begin
i:=index_feu(adr); i:=Index_Signal(adr);
if (feux[i].EtatSignal<>code) then if (feux[i].EtatSignal<>code) then
begin begin
if (traceSign) then Affiche('Signal directionnel: ad'+IntToSTR(adr)+'='+intToSTR(code),clOrange); if (traceSign) then Affiche('Signal directionnel: ad'+IntToSTR(adr)+'='+intToSTR(code),clOrange);
@@ -2647,7 +2634,7 @@ begin
end; end;
end; end;
feux[i].EtatSignal:=code; feux[i].EtatSignal:=code;
Dessine_feu_mx(Feux[Index_Feu(adr)].Img.Canvas,0,0,1,1,adr,1); Dessine_feu_mx(Feux[Index_Signal(adr)].Img.Canvas,0,0,1,1,adr,1);
end; end;
end; end;
@@ -2659,7 +2646,7 @@ le panneau directionnel
procedure envoi_directionCDF(adr : integer;code : integer); procedure envoi_directionCDF(adr : integer;code : integer);
var i : integer; var i : integer;
begin begin
i:=index_feu(adr); i:=Index_Signal(adr);
if (feux[i].EtatSignal<>code) then if (feux[i].EtatSignal<>code) then
begin begin
if traceSign then Affiche('signal directionnel CDF: '+IntToSTR(adr)+' '+intToSTR(code),ClOrange); if traceSign then Affiche('signal directionnel CDF: '+IntToSTR(adr)+' '+intToSTR(code),ClOrange);
@@ -2697,7 +2684,7 @@ end;
procedure Envoi_DirectionLEB(Adr : integer;code : integer); procedure Envoi_DirectionLEB(Adr : integer;code : integer);
var i : integer; var i : integer;
begin begin
i:=index_feu(i); i:=Index_Signal(i);
if feux[i].EtatSignal<>code then if feux[i].EtatSignal<>code then
begin begin
if traceSign then Affiche('signal directionnel LEB: '+IntToSTR(adr)+' '+intToSTR(code),ClOrange); if traceSign then Affiche('signal directionnel LEB: '+IntToSTR(adr)+' '+intToSTR(code),ClOrange);
@@ -2861,7 +2848,7 @@ var
end; end;
begin begin
i:=index_feu(adresse); i:=Index_Signal(adresse);
if (feux[i].AncienEtat<>feux[i].EtatSignal) then //; && (stop_cmd==FALSE)) if (feux[i].AncienEtat<>feux[i].EtatSignal) then //; && (stop_cmd==FALSE))
begin begin
code:=feux[i].EtatSignal; code:=feux[i].EtatSignal;
@@ -2917,7 +2904,7 @@ var
index,i,etat : integer; index,i,etat : integer;
s : string; s : string;
begin begin
index:=index_feu(adresse); index:=Index_Signal(adresse);
if (feux[index].AncienEtat<>feux[index].EtatSignal) then //; && (stop_cmd==FALSE)) if (feux[index].AncienEtat<>feux[index].EtatSignal) then //; && (stop_cmd==FALSE))
begin begin
code:=feux[index].EtatSignal; code:=feux[index].EtatSignal;
@@ -2983,7 +2970,7 @@ var code,aspect,combine : integer;
end; end;
begin begin
index:=index_feu(adresse); index:=Index_Signal(adresse);
if (feux[index].AncienEtat<>feux[index].EtatSignal) then //; && (stop_cmd==FALSE)) if (feux[index].AncienEtat<>feux[index].EtatSignal) then //; && (stop_cmd==FALSE))
begin begin
code:=feux[index].EtatSignal; code:=feux[index].EtatSignal;
@@ -3036,7 +3023,7 @@ procedure envoi_arcomora(adresse :integer);
var asp,aspect,combine,code,offset,sortie : integer; var asp,aspect,combine,code,offset,sortie : integer;
s : string; s : string;
begin begin
index:=index_feu(adresse); index:=Index_Signal(adresse);
if (feux[index].AncienEtat<>feux[index].EtatSignal) then //; && (stop_cmd==FALSE)) if (feux[index].AncienEtat<>feux[index].EtatSignal) then //; && (stop_cmd==FALSE))
begin begin
code:=feux[index].EtatSignal; code:=feux[index].EtatSignal;
@@ -3156,7 +3143,7 @@ var valeur,i : integer ;
aspect,combine,code : integer; aspect,combine,code : integer;
s : string; s : string;
begin begin
i:=index_feu(adresse); i:=Index_Signal(adresse);
if (feux[i].AncienEtat<>feux[i].EtatSignal) then if (feux[i].AncienEtat<>feux[i].EtatSignal) then
begin begin
code:=feux[i].EtatSignal; code:=feux[i].EtatSignal;
@@ -3205,7 +3192,7 @@ var modele,index: integer ;
s : string; s : string;
code,aspect,combine : integer; code,aspect,combine : integer;
begin begin
index:=Index_feu(adresse); // tranforme l'adresse du feu en index tableau index:=Index_Signal(adresse); // tranforme l'adresse du feu en index tableau
if (feux[index].AncienEtat<>feux[index].EtatSignal) then if (feux[index].AncienEtat<>feux[index].EtatSignal) then
begin begin
@@ -3719,7 +3706,7 @@ var na,code,aspect,combine : integer;
afb,recht,i : integer; afb,recht,i : integer;
s : string; s : string;
begin begin
i:=index_feu(adresse); i:=Index_Signal(adresse);
if (feux[i].AncienEtat<>feux[i].EtatSignal) then if (feux[i].AncienEtat<>feux[i].EtatSignal) then
begin begin
code:=feux[i].EtatSignal; code:=feux[i].EtatSignal;
@@ -3839,7 +3826,7 @@ var code,aspect,combine : integer;
i : integer; i : integer;
s : string; s : string;
begin begin
i:=index_feu(adresse); i:=Index_Signal(adresse);
if (feux[i].AncienEtat<>feux[i].EtatSignal) then //; && (stop_cmd==FALSE)) if (feux[i].AncienEtat<>feux[i].EtatSignal) then //; && (stop_cmd==FALSE))
begin begin
code:=feux[i].EtatSignal; code:=feux[i].EtatSignal;
@@ -3874,7 +3861,7 @@ var code,aspect,combine,mode : integer;
i : integer; i : integer;
s : string; s : string;
begin begin
i:=index_feu(adresse); i:=Index_Signal(adresse);
if (feux[i].AncienEtat<>feux[i].EtatSignal) then //; && (stop_cmd==FALSE)) if (feux[i].AncienEtat<>feux[i].EtatSignal) then //; && (stop_cmd==FALSE))
begin begin
code:=feux[i].EtatSignal; code:=feux[i].EtatSignal;
@@ -3931,7 +3918,7 @@ var
i : integer; i : integer;
s : string; s : string;
begin begin
i:=index_feu(adresse); i:=Index_Signal(adresse);
if (feux[i].AncienEtat<>feux[i].EtatSignal) then //; && (stop_cmd==FALSE)) if (feux[i].AncienEtat<>feux[i].EtatSignal) then //; && (stop_cmd==FALSE))
begin begin
code:=feux[i].EtatSignal; code:=feux[i].EtatSignal;
@@ -4019,7 +4006,7 @@ procedure ecrire(v : integer);
end; end;
begin begin
i:=index_feu(adresse); i:=Index_Signal(adresse);
if (feux[i].AncienEtat<>feux[i].EtatSignal) then //; && (stop_cmd==FALSE)) if (feux[i].AncienEtat<>feux[i].EtatSignal) then //; && (stop_cmd==FALSE))
begin begin
code:=feux[i].EtatSignal; code:=feux[i].EtatSignal;
@@ -4078,7 +4065,7 @@ var i,aspect,code,combine : integer;
s : string; s : string;
begin begin
connecte:=cdm_connecte or portCommOuvert or parSocketLenz; connecte:=cdm_connecte or portCommOuvert or parSocketLenz;
i:=index_feu(adresse); i:=Index_Signal(adresse);
if (feux[i].AncienEtat<>feux[i].EtatSignal) then //; && (stop_cmd==FALSE)) if (feux[i].AncienEtat<>feux[i].EtatSignal) then //; && (stop_cmd==FALSE))
begin begin
code:=feux[i].EtatSignal; code:=feux[i].EtatSignal;
@@ -4136,7 +4123,7 @@ var s : string;
d,dp,i,j,etat,asp,combine,aspect,nAdresses : integer; d,dp,i,j,etat,asp,combine,aspect,nAdresses : integer;
trouve1,trouve2,trouve3,trouve4 : boolean; trouve1,trouve2,trouve3,trouve4 : boolean;
begin begin
i:=index_feu(adresse); i:=Index_Signal(adresse);
etat:=feux[i].EtatSignal; etat:=feux[i].EtatSignal;
if (feux[i].AncienEtat<>etat) then //; && (stop_cmd==FALSE)) if (feux[i].AncienEtat<>etat) then //; && (stop_cmd==FALSE))
begin begin
@@ -4281,7 +4268,7 @@ var i,it,j,index_train,adresse,detect,detsuiv,a,b,aspect,x,y,TailleX,TailleY,Ori
frX,frY : real; frX,frY : real;
s : string; s : string;
begin begin
i:=index_feu(Adr); i:=Index_Signal(Adr);
if i=0 then if i=0 then
begin begin
s:='Erreur 75: index signal '+intToSTR(adr)+' nul'; s:='Erreur 75: index signal '+intToSTR(adr)+' nul';
@@ -4381,10 +4368,10 @@ begin
for y:=1 to NbreCellY do for y:=1 to NbreCellY do
for x:=1 to NbreCellX do for x:=1 to NbreCellX do
begin begin
if TCO[x,y].Bimage=30 then if TCO[x,y].Bimage=50 then
begin begin
adresse:=TCO[x,y].adresse; // vérifie si le feu existe dans le TCO adresse:=TCO[x,y].adresse; // vérifie si le feu existe dans le TCO
aspect:=feux[index_feu(adresse)].Aspect; aspect:=feux[Index_Signal(adresse)].Aspect;
case aspect of case aspect of
2 : ImageFeu:=Formprinc.Image2feux; 2 : ImageFeu:=Formprinc.Image2feux;
3 : ImageFeu:=Formprinc.Image3feux; 3 : ImageFeu:=Formprinc.Image3feux;
@@ -4545,7 +4532,7 @@ begin
if (UniSem<>2) and (UniSem<>3) and (UniSem<>4) and (UniSem<>51) and (UniSem<>52) and (UniSem<>71) and (UniSem<>72) and (UniSem<>73) and if (UniSem<>2) and (UniSem<>3) and (UniSem<>4) and (UniSem<>51) and (UniSem<>52) and (UniSem<>71) and (UniSem<>72) and (UniSem<>73) and
((UniSem<90) or (UniSem>99)) then begin verif_UniSemaf:=1;exit;end; ((UniSem<90) or (UniSem>99)) then begin verif_UniSemaf:=1;exit;end;
i:=index_feu(adresse); i:=Index_Signal(adresse);
if i<>0 then if i<>0 then
begin begin
aspect:=feux[i].aspect; aspect:=feux[i].aspect;
@@ -6251,7 +6238,7 @@ var i,l,k,NCondCarre,adrAig,index : integer;
resultatET,resultatOU: boolean; resultatET,resultatOU: boolean;
s : string; s : string;
begin begin
i:=index_feu(adresse); i:=Index_Signal(adresse);
if i=0 then if i=0 then
begin begin
s:='Erreur 602 - Signal '+IntToSTR(adresse)+' non trouvé'; s:='Erreur 602 - Signal '+IntToSTR(adresse)+' non trouvé';
@@ -6305,7 +6292,7 @@ var i,l,k,NCondCarre,adrAig,index : integer;
resultatET,resultatOU: boolean; resultatET,resultatOU: boolean;
s : string; s : string;
begin begin
i:=index_feu(adresse); i:=Index_Signal(adresse);
if i=0 then if i=0 then
begin begin
s:='Erreur 602 - Signal '+IntToSTR(adresse)+' non trouvé'; s:='Erreur 602 - Signal '+IntToSTR(adresse)+' non trouvé';
@@ -6366,7 +6353,7 @@ begin
ReserveTrainTiers:=false; ReserveTrainTiers:=false;
if (NivDebug>=1) then AfficheDebug('Proc carre_signal '+IntToSTR(adresse),clyellow); if (NivDebug>=1) then AfficheDebug('Proc carre_signal '+IntToSTR(adresse),clyellow);
i:=Index_feu(adresse); i:=Index_Signal(adresse);
if i=0 then if i=0 then
begin begin
s:='Erreur 603 - Signal '+IntToSTR(adresse)+' non trouvé'; s:='Erreur 603 - Signal '+IntToSTR(adresse)+' non trouvé';
@@ -6690,7 +6677,7 @@ var num_feu,etat,AdrFeu,i,j,prec,AdrSuiv,index2,voie : integer;
s : string; s : string;
begin begin
if NivDebug>=2 then AfficheDebug('Cherche état du signal suivant au '+IntToSTR(adresse),clyellow); if NivDebug>=2 then AfficheDebug('Cherche état du signal suivant au '+IntToSTR(adresse),clyellow);
i:=Index_feu(adresse); i:=Index_Signal(adresse);
if i=0 then if i=0 then
begin begin
if NivDebug>=2 then AfficheDebug('Signal '+IntToSTR(adresse)+' non trouvé',clyellow); if NivDebug>=2 then AfficheDebug('Signal '+IntToSTR(adresse)+' non trouvé',clyellow);
@@ -6791,7 +6778,7 @@ begin
begin begin
// oui // oui
inc(num_feu); inc(num_feu);
Etat:=feux[index_feu(AdrFeu)].EtatSignal; Etat:=feux[Index_Signal(AdrFeu)].EtatSignal;
code_to_aspect(Etat,aspect,combine); code_to_aspect(Etat,aspect,combine);
Signal_suivant:=AdrFeu; Signal_suivant:=AdrFeu;
if NivDebug=3 then if NivDebug=3 then
@@ -6819,7 +6806,7 @@ begin
begin begin
// oui // oui
inc(num_feu); inc(num_feu);
Etat:=feux[index_feu(AdrFeu)].EtatSignal; Etat:=feux[Index_Signal(AdrFeu)].EtatSignal;
code_to_aspect(Etat,aspect,combine); code_to_aspect(Etat,aspect,combine);
Signal_suivant:=AdrFeu; Signal_suivant:=AdrFeu;
if NivDebug=3 then if NivDebug=3 then
@@ -6860,7 +6847,7 @@ var AdrFeu,i,j,prec,AdrSuiv,Actuel,index,index2,voie : integer;
begin begin
if NivDebug>=2 then AfficheDebug('Test si aiguille déviée après signal '+IntToSTR(Adresse),clyellow); if NivDebug>=2 then AfficheDebug('Test si aiguille déviée après signal '+IntToSTR(Adresse),clyellow);
j:=0; j:=0;
i:=Index_feu(adresse); i:=Index_Signal(adresse);
if i=0 then if i=0 then
begin begin
Affiche('Erreur 168: signal '+intToSTR(adresse)+' non trouvé',clred); Affiche('Erreur 168: signal '+intToSTR(adresse)+' non trouvé',clred);
@@ -6920,7 +6907,7 @@ end;
procedure pilote_direction(Adr,nbre : integer); procedure pilote_direction(Adr,nbre : integer);
var i,j : integer; var i,j : integer;
begin begin
i:=index_feu(Adr); i:=Index_Signal(Adr);
j:=feux[i].decodeur; j:=feux[i].decodeur;
case j of case j of
// 0 : envoi_directionvirtuel(Adr,nbre); // 0 : envoi_directionvirtuel(Adr,nbre);
@@ -6937,7 +6924,7 @@ var NAig,i,id,j,NfeuxDir,AdrAigFeu,Position : integer;
PosAigFeu : char; PosAigFeu : char;
Positionok : boolean; Positionok : boolean;
begin begin
id:=Index_feu(Adr); id:=Index_Signal(Adr);
NfeuxDir:=feux[id].aspect-10; NfeuxDir:=feux[id].aspect-10;
i:=1; // i=1 position éteinte du feu ; pour les autres valeurs de i : nombre de feux allumés i:=1; // i=1 position éteinte du feu ; pour les autres valeurs de i : nombre de feux allumés
repeat repeat
@@ -6976,7 +6963,7 @@ var
s : string; s : string;
begin begin
if NivDebug>=1 then AfficheDebug('Proc test_memoire_zones('+intToSTR(adresse)+')',clyellow); if NivDebug>=1 then AfficheDebug('Proc test_memoire_zones('+intToSTR(adresse)+')',clyellow);
i:=Index_feu(adresse); i:=Index_Signal(adresse);
if (i=0) then if (i=0) then
begin begin
s:='Erreur 605 - Signal '+IntToSTR(adresse)+' non trouvé'; s:='Erreur 605 - Signal '+IntToSTR(adresse)+' non trouvé';
@@ -7196,7 +7183,7 @@ var
begin begin
if debug=3 then formprinc.Caption:='Signal_precedent '+IntToSTR(adresse); if debug=3 then formprinc.Caption:='Signal_precedent '+IntToSTR(adresse);
if NivDebug>=1 then AfficheDebug('Proc Signal_Precedent'+intToSTR(adresse)+')',clyellow); if NivDebug>=1 then AfficheDebug('Proc Signal_Precedent'+intToSTR(adresse)+')',clyellow);
i:=Index_feu(adresse); i:=Index_Signal(adresse);
if (i=0) then if (i=0) then
begin begin
s:='Erreur 605 - Signal '+IntToSTR(adresse)+' non trouvé'; s:='Erreur 605 - Signal '+IntToSTR(adresse)+' non trouvé';
@@ -7340,7 +7327,7 @@ begin
else s:=s+'sur zones de détecteurs uniquement'; else s:=s+'sur zones de détecteurs uniquement';
AfficheDebug(s,clyellow); AfficheDebug(s,clyellow);
end; end;
i:=Index_feu(adresse); i:=Index_Signal(adresse);
if (i=0) then if (i=0) then
begin begin
AfficheDebug('Erreur 605 - Signal '+IntToSTR(adresse)+' non trouvé',clred); AfficheDebug('Erreur 605 - Signal '+IntToSTR(adresse)+' non trouvé',clred);
@@ -7531,7 +7518,7 @@ begin
if affSignal then AfficheDebug('Signal belge',clOrange); if affSignal then AfficheDebug('Signal belge',clOrange);
index:=Index_feu(AdrFeu); index:=Index_Signal(AdrFeu);
Adr_det:=Feux[index].Adr_det1; // détecteur sur le signal Adr_det:=Feux[index].Adr_det1; // détecteur sur le signal
Adr_El_Suiv:=Feux[index].Adr_el_suiv1; // adresse élément suivant au feu Adr_El_Suiv:=Feux[index].Adr_el_suiv1; // adresse élément suivant au feu
Btype_el_suivant:=Feux[index].Btype_suiv1; Btype_el_suivant:=Feux[index].Btype_suiv1;
@@ -7655,7 +7642,7 @@ begin
nivDebug:=3; nivDebug:=3;
end; end;
index:=index_feu(Adrfeu); index:=Index_Signal(Adrfeu);
if (Nivdebug>=1) then AfficheDebug('Proc Maj_feu '+IntToSTR(adrFeu),clorange); if (Nivdebug>=1) then AfficheDebug('Proc Maj_feu '+IntToSTR(adrFeu),clorange);
if (AdrFeu=0) or (index=0) then exit; if (AdrFeu=0) or (index=0) then exit;
@@ -7929,7 +7916,7 @@ var i,it,suiv,succ,actuel : integer;
begin begin
if debug=3 then formprinc.Caption:='Signal_sens '+IntToSTR(AdrSig); if debug=3 then formprinc.Caption:='Signal_sens '+IntToSTR(AdrSig);
it:=0; it:=0;
i:=index_feu(adrsig); i:=Index_Signal(adrsig);
if i=0 then if i=0 then
begin begin
result:=false; result:=false;
@@ -8014,7 +8001,7 @@ begin
if not(cas2) then AdrSig:=signal_suivant_det(detecteur1,detecteur2); if not(cas2) then AdrSig:=signal_suivant_det(detecteur1,detecteur2);
if traceListe then afficheDebug('le signal suivant est '+intToSTR(AdrSig),clyellow); if traceListe then afficheDebug('le signal suivant est '+intToSTR(AdrSig),clyellow);
etat:=feux[index_feu(AdrSig)].etatSignal; etat:=feux[Index_Signal(AdrSig)].etatSignal;
etatSuiv:=etat_signal_suivant(AdrSig,1,AdrSignalsuivant); //réserve le canton du signal AdrSig au suivant : AdresseFeuSuivant etatSuiv:=etat_signal_suivant(AdrSig,1,AdrSignalsuivant); //réserve le canton du signal AdrSig au suivant : AdresseFeuSuivant
// dans le bon sens // dans le bon sens
@@ -8330,7 +8317,7 @@ begin
if j<>0 then if j<>0 then
begin begin
Maj_Feu(j,false); Maj_Feu(j,false);
k:=index_feu(j); k:=Index_Signal(j);
// si le feu j est au rouge // si le feu j est au rouge
etatSig:=feux[k].etatsignal; etatSig:=feux[k].etatsignal;
if (testBit(etatSig,carre)) or (testBit(etatSig,semaphore)) or (testBit(etatSig,semaphore_cli)) then if (testBit(etatSig,carre)) or (testBit(etatSig,semaphore)) or (testBit(etatSig,semaphore_cli)) then
@@ -8776,7 +8763,7 @@ begin
if j<>0 then if j<>0 then
begin begin
Maj_Feu(j,false); Maj_Feu(j,false);
k:=index_feu(j); k:=Index_Signal(j);
// si le feu j est au rouge // si le feu j est au rouge
etatSig:=feux[k].etatsignal; etatSig:=feux[k].etatsignal;
if (testBit(etatSig,carre)) or (testBit(etatSig,semaphore)) or (testBit(etatSig,semaphore_cli)) then if (testBit(etatSig,carre)) or (testBit(etatSig,semaphore)) or (testBit(etatSig,semaphore_cli)) then
@@ -9444,7 +9431,7 @@ begin
if j<>0 then if j<>0 then
begin begin
Maj_Feu(j,false); Maj_Feu(j,false);
k:=index_feu(j); k:=Index_Signal(j);
// si le feu j est au rouge // si le feu j est au rouge
etatSig:=feux[k].etatsignal; etatSig:=feux[k].etatsignal;
if (testBit(etatSig,carre)) or (testBit(etatSig,semaphore)) or (testBit(etatSig,semaphore_cli)) then if (testBit(etatSig,carre)) or (testBit(etatSig,semaphore)) or (testBit(etatSig,semaphore_cli)) then
@@ -10384,7 +10371,7 @@ begin
if (acc=feu) and not(Raz_Acc_signaux) then exit; if (acc=feu) and not(Raz_Acc_signaux) then exit;
// si aiguillage, faire une temporisation // si aiguillage, faire une temporisation
//if (index_feu(adresse)=0) or (Acc=aig) then //if (Index_Signal(adresse)=0) or (Acc=aig) then
if Acc=AigP then if Acc=AigP then
begin begin
temp:=aiguillage[indexAig].temps;if temp=0 then temp:=4; temp:=aiguillage[indexAig].temps;if temp=0 then temp:=4;
@@ -11560,7 +11547,7 @@ begin
SetForegroundWindow(CDMhd); // met CDM en premier plan pour le télécommander par le clavier simulé SetForegroundWindow(CDMhd); // met CDM en premier plan pour le télécommander par le clavier simulé
Application.ProcessMessages; Application.ProcessMessages;
// démarre le serveur IP : il faut avoir chargé un réseau sinon le permier menu est fermé------------------------------------ // démarre le serveur IP : il faut avoir chargé un réseau sinon le permier menu est fermé------------------------------------
// prépare le tableau pour sendinput // prépare le tableau pour sendinput
KeybdInput(VK_MENU,0); // enfonce Alt KeybdInput(VK_MENU,0); // enfonce Alt
KeybdInput(Ord('C'),0); // enfonce C KeybdInput(Ord('C'),0); // enfonce C
@@ -11648,7 +11635,7 @@ end;
procedure Raz_reservations ; procedure Raz_reservations ;
var i : integer; var i : integer;
begin begin
// raz des réservations // raz des réservations des aiguillages
for i:=1 to MaxAiguillage do for i:=1 to MaxAiguillage do
aiguillage[i].AdrTrain:=0; aiguillage[i].AdrTrain:=0;
end; end;
@@ -12454,10 +12441,10 @@ begin
begin begin
PcanvasTCO.pen.mode:=pmCOpy; PcanvasTCO.pen.mode:=pmCOpy;
BImage:=TCO[x,y].bImage; BImage:=TCO[x,y].bImage;
if Bimage=30 then if Bimage=50 then
begin begin
adresse:=TCO[x,y].adresse; adresse:=TCO[x,y].adresse;
i:=index_feu(adresse); i:=Index_Signal(adresse);
a:=feux[i].EtatSignal; // a = état binaire du feu a:=feux[i].EtatSignal; // a = état binaire du feu
faire:=false; faire:=false;
if feux[i].aspect<>20 then if feux[i].aspect<>20 then
@@ -12471,7 +12458,7 @@ begin
end; end;
if faire then if faire then
begin begin
aspect:=feux[index_feu(adresse)].Aspect; aspect:=feux[Index_Signal(adresse)].Aspect;
case aspect of case aspect of
2 : ImageFeu:=Formprinc.Image2feux; 2 : ImageFeu:=Formprinc.Image2feux;
3 : ImageFeu:=Formprinc.Image3feux; 3 : ImageFeu:=Formprinc.Image3feux;
@@ -12753,7 +12740,7 @@ begin
adresse:=extract_int(s); adresse:=extract_int(s);
if adresse<>0 then if adresse<>0 then
begin begin
i:=index_feu(adresse); i:=Index_Signal(adresse);
if i=0 then exit; if i=0 then exit;
etat:=feux[i].EtatSignal; etat:=feux[i].EtatSignal;
code_to_aspect(etat,aspect,combine); code_to_aspect(etat,aspect,combine);
@@ -12782,7 +12769,7 @@ begin
adresse:=extract_int(s); adresse:=extract_int(s);
if adresse<>0 then if adresse<>0 then
begin begin
i:=index_feu(adresse); i:=Index_Signal(adresse);
if i=0 then exit; if i=0 then exit;
etat:=feux[i].EtatSignal; etat:=feux[i].EtatSignal;
// si le feu est vert et que la coche est mise, substituer le blanc // si le feu est vert et que la coche est mise, substituer le blanc
@@ -12810,7 +12797,7 @@ begin
adresse:=extract_int(s); adresse:=extract_int(s);
if adresse<>0 then if adresse<>0 then
begin begin
i:=index_feu(adresse); i:=Index_Signal(adresse);
if i=0 then exit; if i=0 then exit;
etat:=feux[i].EtatSignal; etat:=feux[i].EtatSignal;
//affiche(IntToSTR(etat),clyellow); //affiche(IntToSTR(etat),clyellow);
@@ -14228,8 +14215,11 @@ end;
procedure TFormPrinc.Affichefentredebug1Click(Sender: TObject); procedure TFormPrinc.Affichefentredebug1Click(Sender: TObject);
begin begin
// formdebug.Create(nil); if debugaffiche then
if debugaffiche then formDebug.show; begin
formdebug.windowState:=wsNormal; //Maximized;
formDebug.show;
end;
end; end;
procedure TFormPrinc.locoClick(Sender: TObject); procedure TFormPrinc.locoClick(Sender: TObject);
@@ -14417,7 +14407,7 @@ begin
//Affiche(s,clOrange); // nom de l'image du signal (ex: ImageFeu260) //Affiche(s,clOrange); // nom de l'image du signal (ex: ImageFeu260)
adresse:=extract_int(s); // extraire l'adresse (ex 260) adresse:=extract_int(s); // extraire l'adresse (ex 260)
i:=index_feu(Adresse); i:=Index_Signal(Adresse);
n:=feux[i].aspect; n:=feux[i].aspect;
if (n>10) and (n<20) then exit; if (n>10) and (n<20) then exit;
if n=20 then nation:=2 else nation:=1; if n=20 then nation:=2 else nation:=1;
@@ -14477,20 +14467,20 @@ begin
if (aspect=jaune_cli) and (nation=1) then if (aspect=jaune_cli) and (nation=1) then
begin begin
i:=etat_signal_suivant(Adresse,1,AdrSignalsuivant); i:=etat_signal_suivant(Adresse,1,AdrSignalsuivant);
index:=index_feu(AdrSignalSuivant); index:=Index_Signal(AdrSignalSuivant);
Affiche(s+'son signal suivant '+intToSTR(AdrSignalsuivant)+' est au '+chaine_signal(i,adresse),clyellow); Affiche(s+'son signal suivant '+intToSTR(AdrSignalsuivant)+' est au '+chaine_signal(i,adresse),clyellow);
end; end;
// ralen 30 // ralen 30
if (combine=10) and (nation=1) then if (combine=10) and (nation=1) then
begin begin
i:=etat_signal_suivant(Adresse,1,AdrSignalsuivant); i:=etat_signal_suivant(Adresse,1,AdrSignalsuivant);
index:=index_feu(AdrSignalSuivant); index:=Index_Signal(AdrSignalSuivant);
Affiche(s+'son signal suivant '+intToSTR(AdrSignalsuivant)+' est au '+chaine_signal(i,adresse),clyellow); Affiche(s+'son signal suivant '+intToSTR(AdrSignalsuivant)+' est au '+chaine_signal(i,adresse),clyellow);
end; end;
if (combine=11) and (nation=1) then if (combine=11) and (nation=1) then
begin begin
i:=etat_signal_suivant(Adresse,1,AdrSignalsuivant); i:=etat_signal_suivant(Adresse,1,AdrSignalsuivant);
index:=index_feu(AdrSignalSuivant); index:=Index_Signal(AdrSignalSuivant);
Affiche(s+'car son signal suivant '+intToSTR(AdrSignalsuivant)+' est au '+chaine_signal(i,adresse),clyellow); Affiche(s+'car son signal suivant '+intToSTR(AdrSignalsuivant)+' est au '+chaine_signal(i,adresse),clyellow);
end; end;
if ((combine=rappel_30) or (combine=rappel_60)) and (nation=1) then if ((combine=rappel_30) or (combine=rappel_60)) and (nation=1) then
+1 -1
View File
@@ -183,7 +183,7 @@ procedure TFormSR.FormActivate(Sender: TObject);
var erreur,etat1,etat2 : integer; var erreur,etat1,etat2 : integer;
begin begin
Val(FormConfig.EditAdrSig.text,Adr,erreur); Val(FormConfig.EditAdrSig.text,Adr,erreur);
indexSig:=index_feu(Adr); indexSig:=index_Signal(Adr);
if IndexSig=0 then LabelErreur.caption:='Erreur feu inexistant' if IndexSig=0 then LabelErreur.caption:='Erreur feu inexistant'
else else
begin begin
+370 -193
View File
File diff suppressed because it is too large Load Diff
+3102 -388
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -357,7 +357,7 @@ begin
// si il y a un signal sur le détecteur de démarrage du train est il au rouge? // si il y a un signal sur le détecteur de démarrage du train est il au rouge?
if adrFeu<>0 then if adrFeu<>0 then
begin begin
id:=index_feu(AdrFeu); id:=index_Signal(AdrFeu);
a:=feux[id].EtatSignal; a:=feux[id].EtatSignal;
if ((a=semaphore_F) or (a=carre_F) or (a=violet_F)) then rouge:=true; if ((a=semaphore_F) or (a=carre_F) or (a=violet_F)) then rouge:=true;
end; end;
+15 -15
View File
@@ -1,4 +1,4 @@
/ D馭initions TCO version 6.3 / D馭initions TCO version 7.1
CoulFond=202050 CoulFond=202050
CoulVoies=0077FF CoulVoies=0077FF
CoulAllume=00FFFF CoulAllume=00FFFF
@@ -8,7 +8,7 @@ CoulQuai=808080
CoulPiedSig=4080FF CoulPiedSig=4080FF
CoulCanton=00FFFF CoulCanton=00FFFF
ModeCouleurCanton=1 ModeCouleurCanton=1
AvecGrille=1 AvecGrille=0
Graphisme=2 Graphisme=2
/ Taille de la matrice x,y / Taille de la matrice x,y
Matrice=39,13 Matrice=39,13
@@ -17,16 +17,16 @@ Ratio=10
/Matrice TCO /Matrice TCO
[Matrice] [Matrice]
/ couleur fond,adresse,image,inversion aiguillage,Orientation du signal, pied du signal , [texte], representation, fonte, taille fonte, couleur fonte, style, réserve / couleur fond,adresse,image,inversion aiguillage,Orientation du signal, pied du signal , [texte], representation, fonte, taille fonte, couleur fonte, style, réserve
(202050,358,30,0,1,1,,2,,0,FFFFFF,,0)(202050,0,20,0,0,0,,2,,0,00FFFF,G,0)(202050,0,20,0,0,0,,2,,0,00FFFF,,0)(202050,497,30,0,1,2,,2,,0,FFFFFF,G,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,TCO GARE PRINCIPALE,1,ARIAL,20,00FFFF,GI,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,FFFFFF,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0) (000040,358,50,0,1,1,,2,,0,FFFFFF,,0)(000040,0,20,0,0,0,,2,,0,00FFFF,G,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0)(000040,497,50,0,1,2,,2,,0,FFFFFF,G,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,TCO GARE PRINCIPALE,1,ARIAL,20,00FFFF,GI,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,FFFFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)
(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,20,0,0,0,,2,,0,00FFFF,,0)(202050,0,20,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,8,00FF00,,0)(202050,0,0,0,0,0,,2,,8,00FF00,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,9,0,0,0,,2,,0,000000,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,0,,0,00FFFF,,0)(202050,0,8,0,0,0,,0,,0,00FFFF,,0)(202050,0,20,0,0,0,,2,,0,000000,,0)(202050,0,20,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,8,00FF00,,0)(000040,0,0,0,0,0,,2,,8,00FF00,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,9,0,0,0,,2,,0,000000,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,8,0,0,0,,0,,0,00FFFF,,0)(000040,0,20,0,0,0,,2,,0,000000,,0)(000040,0,20,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)
(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,517,20,0,0,0,,2,,0,00FFFF,,0)(202050,531,20,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,6,2,0,0,0,,2,,0,00FF00,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,516,1,0,0,0,,2,,0,00FFFF,,0)(202050,516,1,0,0,0,,0,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,10,0,0,0,,2,,0,000000,,0)(202050,0,9,0,0,0,,2,,0,000000,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,0,,0,00FFFF,,0)(202050,0,8,0,0,0,,2,,0,00FFFF,,0)(202050,103,25,0,0,0,,2,MS SANS SERIF,10,00FF00,,0)(202050,0,20,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,2,,0,000000,,0)(000040,517,20,0,0,0,,2,,0,00FFFF,,0)(000040,531,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,6,2,0,0,0,,2,,0,00FF00,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,516,1,0,0,0,,2,,0,00FFFF,,0)(000040,516,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,10,0,0,0,,2,,0,000000,,0)(000040,0,9,0,0,0,,2,,0,000000,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,8,0,0,0,,2,,0,00FFFF,,0)(000040,103,25,0,0,0,,2,MS SANS SERIF,10,00FF00,,0)(000040,0,20,0,0,0,,0,,0,000000,,0)(000040,600,50,0,1,1,,2,,0,FFFFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)
(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,20,0,0,0,,2,,0,00FFFF,,0)(202050,0,20,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,10,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,232,30,0,3,1,,2,,0,00FF00,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,FFFFFF,,0)(202050,288,30,0,2,1,,2,,0,FFFFFF,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,10,0,0,0,,2,MS SANS SERIF,10,00FFFF,,0)(202050,0,10,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,302,30,0,1,1,,0,,0,FFFFFF,,0)(202050,9,24,0,0,0,,2,MS SANS SERIF,10,00FF00,,0)(202050,8,24,0,0,0,,0,MS SANS SERIF,10,00FF00,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,10,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,232,50,0,3,1,,2,,0,00FF00,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,FFFFFF,,0)(000040,288,50,0,2,1,,2,,0,FFFFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,10,0,0,0,,2,MS SANS SERIF,10,00FFFF,,0)(000040,0,10,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,302,50,0,1,1,,0,,0,FFFFFF,,0)(000040,9,24,0,0,0,,2,MS SANS SERIF,10,00FF00,,0)(000040,8,24,0,0,0,,0,MS SANS SERIF,10,00FF00,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)
(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,20,0,0,0,,2,,0,00FFFF,,0)(202050,0,20,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,372,30,0,1,1,,2,,0,FFFFFF,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,4,15,0,0,0,,2,,0,00FF00,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,514,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,522,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,7,0,0,0,,2,,0,000000,,0)(202050,0,10,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,FFFFFF,,0)(202050,0,20,0,0,0,,0,,0,00FFFF,,0)(202050,0,20,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,372,50,0,1,1,,2,,0,FFFFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,4,15,0,0,0,,2,,0,00FF00,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,514,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,522,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,7,0,0,0,,2,,0,000000,,0)(000040,0,10,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,FFFFFF,,0)(000040,0,20,0,0,0,,0,,0,00FFFF,,0)(000040,0,20,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)
(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,20,0,0,0,,2,,0,00FFFF,,0)(202050,0,20,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,3,15,0,0,0,,2,,0,00FF00,,0)(202050,5,2,0,0,0,,2,,0,00FF00,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,515,1,0,0,0,,2,,0,00FFFF,,0)(202050,515,1,0,0,0,,0,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,7,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,00FFFF,,0)(202050,0,0,0,0,0,,0,,0,FFFFFF,,0)(202050,526,20,0,0,0,,2,,0,00FFFF,,0)(202050,0,20,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,00FFFF,,0)(202050,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,3,15,0,0,0,,2,,0,00FF00,,0)(000040,5,2,0,0,0,,2,,0,00FF00,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,515,1,0,0,0,,2,,0,00FFFF,,0)(000040,515,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,7,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,FFFFFF,,0)(000040,526,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,20,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)
(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,19,0,0,0,,2,,0,00FFFF,,0)(202050,0,19,0,0,0,,2,,0,00FFFF,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,520,30,0,2,1,,2,,0,00FF00,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,10,0,0,0,,2,,0,000000,,0)(202050,0,10,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,316,30,0,3,1,,2,,0,00FF00,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,31,0,0,0,,2,,0,000000,,0)(202050,0,31,0,0,0,,2,,0,000000,,0)(202050,0,31,0,0,0,QUAI 1,1,ARIAL,12,FFFFFF,G,0)(202050,0,31,0,0,0,,2,,8,00FF00,,0)(202050,0,31,0,0,0,,2,,8,00FF00,,0)(202050,0,31,0,0,0,,2,,0,000000,,0)(202050,0,31,0,0,0,,2,,0,000000,,0)(202050,0,31,0,0,0,,2,,0,000000,,0)(202050,0,31,0,0,0,,2,,0,000000,,0)(202050,0,31,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,190,30,0,2,1,,2,,0,00FF00,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,00FFFF,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,18,0,0,0,,0,,0,00FFFF,,0)(202050,0,18,0,0,0,,0,,0,00FFFF,,0)(202050,0,0,0,0,0,,0,,0,00FFFF,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,19,0,0,0,,2,,0,00FFFF,,0)(000040,0,19,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,520,50,0,2,1,,2,,0,00FF00,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,10,0,0,0,,2,,0,000000,,0)(000040,0,10,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,316,50,0,3,1,,2,,0,00FF00,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,51,0,0,0,,2,,0,000000,,0)(000040,0,51,0,0,0,,2,,0,000000,,0)(000040,0,51,0,0,0,QUAI 1,1,ARIAL,12,FFFFFF,G,0)(000040,0,51,0,0,0,,2,,8,00FF00,,0)(000040,0,51,0,0,0,,2,,8,00FF00,,0)(000040,0,51,0,0,0,,2,,0,000000,,0)(000040,0,51,0,0,0,,2,,0,000000,,0)(000040,0,51,0,0,0,,2,,0,000000,,0)(000040,0,51,0,0,0,,2,,0,000000,,0)(000040,0,51,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,190,50,0,2,1,,2,,0,00FF00,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,18,0,0,0,,0,,0,00FFFF,,0)(000040,0,18,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)
(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,11,0,0,0,,2,,0,00FFFF,,0)(202050,0,6,0,0,0,,2,,0,000000,,0)(202050,518,1,0,0,0,,0,,0,00FFFF,,0)(202050,518,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,1,3,0,0,0,,2,,8,00FF00,,0)(202050,100,21,0,0,0,,2,,0,00FF00,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,VOIE 2,2,ARIAL,10,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,523,1,0,0,0,,0,,0,00FFFF,,0)(202050,523,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,7,0,0,0,,2,,0,00FFFF,,0)(202050,0,10,0,0,0,,0,,0,00FFFF,,0)(202050,0,0,0,0,0,,0,,0,00FFFF,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,11,0,0,0,,2,,0,00FFFF,,0)(000040,0,6,0,0,0,,2,,0,000000,,0)(000040,518,1,0,0,0,,0,,0,00FFFF,,0)(000040,518,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,1,3,0,0,0,,2,,8,00FF00,,0)(000040,100,21,0,0,0,,2,,0,00FF00,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,VOIE 2,2,ARIAL,10,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,523,1,0,0,0,,0,,0,00FFFF,,0)(000040,523,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,7,0,0,0,,2,,0,00FFFF,,0)(000040,0,10,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)
(202050,530,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,8,0,0,0,,2,,0,00FFFF,,0)(202050,0,6,0,0,0,,2,,0,000000,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,12,4,1,0,0,,2,,0,00FF00,,0)(202050,2,3,0,0,0,,2,,0,00FF00,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,519,1,0,0,0,,2,,0,00FFFF,,0)(202050,519,1,0,0,0,,0,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,VOIE 1,2,ARIAL,10,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,8,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,7,2,0,0,0,,2,,0,00FF00,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,527,1,0,0,0,,2,,8,00FFFF,,0)(202050,0,1,0,0,0,,3,,8,00FFFF,,0)(202050,0,1,0,0,0,,0,,0,00FFFF,,0)(202050,0,7,0,0,0,,0,,0,00FFFF,,0)(202050,0,0,0,0,0,,0,,0,00FFFF,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0) (000040,530,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,8,0,0,0,,2,,0,00FFFF,,0)(000040,0,6,0,0,0,,2,,0,000000,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,12,4,1,0,0,,2,,0,00FF00,,0)(000040,2,3,0,0,0,,2,,0,00FF00,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,519,1,0,0,0,,2,,0,00FFFF,,0)(000040,519,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,VOIE 1,2,ARIAL,10,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,8,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,7,2,0,0,0,,2,,0,00FF00,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,527,1,0,0,0,,2,,8,00FFFF,,0)(000040,0,1,0,0,0,,3,,8,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,7,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)
(202050,529,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,0,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,26,22,0,0,0,,0,,0,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,0,,0,00FFFF,,0)(202050,0,1,0,0,0,,0,,0,00FFFF,,0)(202050,0,8,0,0,0,,0,,0,000000,,0)(202050,0,11,0,0,0,,0,,0,000000,,0)(202050,330,30,0,3,1,,0,,0,00FF00,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,31,0,0,0,,0,,0,000000,,0)(202050,0,31,0,0,0,,0,,0,000000,,0)(202050,0,31,0,0,0,QUAI 2,1,ARIAL,12,FFFFFF,G,0)(202050,0,31,0,0,0,,0,,0,000000,,0)(202050,0,31,0,0,0,,0,,0,000000,,0)(202050,0,31,0,0,0,,0,,0,000000,,0)(202050,0,31,0,0,0,,0,,0,000000,,0)(202050,0,31,0,0,0,,0,,0,000000,,0)(202050,0,31,0,0,0,,0,,0,000000,,0)(202050,0,31,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,10,0,0,0,,0,,0,000000,,0)(202050,204,30,0,3,1,,0,,0,00FF00,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,8,00FF00,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0) (000040,529,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,26,22,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,8,0,0,0,,0,,0,000000,,0)(000040,0,11,0,0,0,,0,,0,000000,,0)(000040,330,50,0,3,1,,0,,0,00FF00,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,QUAI 2,1,ARIAL,12,FFFFFF,G,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,10,0,0,0,,0,,0,000000,,0)(000040,204,50,0,3,1,,0,,0,00FF00,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)
(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,6,0,0,0,,0,,0,00FFFF,,0)(202050,0,1,0,0,0,,0,,0,00FFFF,,0)(202050,0,1,0,0,0,,0,,0,00FFFF,,0)(202050,0,1,0,0,0,,0,,0,00FFFF,,0)(202050,21,5,0,0,0,,0,,0,00FF00,,0)(202050,20,5,0,0,0,,0,,0,00FF00,,0)(202050,520,1,0,0,0,,2,,8,00FFFF,,0)(202050,520,1,0,0,0,,0,,0,00FFFF,,0)(202050,520,1,0,0,0,,0,,0,00FFFF,,0)(202050,0,1,0,0,0,,0,,8,00FFFF,,0)(202050,0,1,0,0,0,,0,,0,00FFFF,,0)(202050,0,1,0,0,0,,0,,0,00FFFF,,0)(202050,0,1,0,0,0,,0,,8,00FFFF,,0)(202050,0,1,0,0,0,,0,,0,00FFFF,,0)(202050,0,1,0,0,0,,0,,0,00FFFF,,0)(202050,0,1,0,0,0,,0,,8,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,1,0,0,0,,0,,0,00FFFF,,0)(202050,0,1,0,0,0,,0,,8,00FFFF,,0)(202050,0,1,0,0,0,,0,,0,00FFFF,,0)(202050,0,1,0,0,0,,0,,8,00FFFF,,0)(202050,0,1,0,0,0,,2,,0,00FFFF,,0)(202050,0,7,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,8,00FF00,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,6,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,21,5,0,0,0,,0,,0,00FF00,,0)(000040,20,5,0,0,0,,0,,0,00FF00,,0)(000040,520,1,0,0,0,,2,,8,00FFFF,,0)(000040,520,1,0,0,0,,0,,0,00FFFF,,0)(000040,520,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,8,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,8,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,8,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,8,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,8,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,7,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)
(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,176,30,0,3,1,,0,,0,00FF00,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,3,,8,00FF00,,0)(202050,0,0,0,0,0,,0,,8,00FF00,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,8,00FF00,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,8,00FF00,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,8,00FF00,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,00FFFF,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,2,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,176,50,0,3,1,,0,,0,00FF00,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,3,,8,00FF00,,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,FFFFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)
(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,00FFFF,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0)(202050,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,FFFFFF,,0)
+2 -3
View File
@@ -24,7 +24,7 @@ var
Lance_verif : integer; Lance_verif : integer;
verifVersion,notificationVersion : boolean; verifVersion,notificationVersion : boolean;
Const Version='7.0'; // sert à la comparaison de la version publiée Const Version='7.1'; // sert à la comparaison de la version publiée
SousVersion=' '; // A B C ... en cas d'absence de sous version mettre un espace SousVersion=' '; // A B C ... en cas d'absence de sous version mettre un espace
function GetCurrentProcessEnvVar(const VariableName: string): string; function GetCurrentProcessEnvVar(const VariableName: string): string;
@@ -140,7 +140,7 @@ begin
InternetReadFile(hService,@lpBuffer,1024,dwBytesRead); InternetReadFile(hService,@lpBuffer,1024,dwBytesRead);
fs.WriteBuffer(lpBuffer,dwBytesRead); fs.WriteBuffer(lpBuffer,dwBytesRead);
t:=t+dwBytesRead; t:=t+dwBytesRead;
if dwBytesRead=0 then break; if dwBytesRead=0 then break;
end; end;
Result := True; Result := True;
taille:=t; taille:=t;
@@ -319,7 +319,6 @@ begin
else formVersion.Free; else formVersion.Free;
end; end;
result:=V_publie; result:=V_publie;
end; end;
end end
else else
+6 -3
View File
@@ -45,7 +45,7 @@ version 2.21 : Param
version 2.3 : Changement de la méthode de réception des trames du protocole IPC de CDM-Rail version 2.3 : Changement de la méthode de réception des trames du protocole IPC de CDM-Rail
Affichage au démarrage des variables manquantes du fichier config-gl.cfg Affichage au démarrage des variables manquantes du fichier config-gl.cfg
version 2.31 : Amélioration calcul des routes depuis buttoir version 2.31 : Amélioration calcul des routes depuis buttoir
Lancement du TCO à la validation dans la configuration Lancement du TCO à la validation dans la configuration
version 2.4 : Optimisation de la gestion des évènements aiguillages version 2.4 : Optimisation de la gestion des évènements aiguillages
Gestion des aiguillages inversés dans CDM pour le mode autonome Gestion des aiguillages inversés dans CDM pour le mode autonome
Debug pilotage feux LEB Debug pilotage feux LEB
@@ -53,9 +53,9 @@ version 2.5 : Panneau de configuration:
Correction gestion des conditions supplémentaires d'affichage du carré Correction gestion des conditions supplémentaires d'affichage du carré
Affichage de champs modifiables supplémentaires Affichage de champs modifiables supplémentaires
version 3.0 : Ajout des fonctions Nouveau / supprimer feu, accessoires dans le panneau de configuration. version 3.0 : Ajout des fonctions Nouveau / supprimer feu, accessoires dans le panneau de configuration.
Tous les éléments des feux, aiguillages, branches et actionneurs peuvent être modifiés depuis le panneau. Tous les éléments des feux, aiguillages, branches et actionneurs peuvent être modifiés depuis le panneau.
Nécessite de nommer les sections dans le fichier config.cfg Nécessite de nommer les sections dans le fichier config.cfg
Il n'est donc plus nécessaire de modifier les fichiers de configuration. Il n'est donc plus nécessaire de modifier les fichiers de configuration.
version 3.1 : Renforcement de la vérification de la configuration. version 3.1 : Renforcement de la vérification de la configuration.
Modification de la liste d'initialisation des aiguillages en mode autonome. Modification de la liste d'initialisation des aiguillages en mode autonome.
Indépendance des modifications entre les onglets du panneau de configuration. Indépendance des modifications entre les onglets du panneau de configuration.
@@ -173,6 +173,9 @@ version 6.3 : Choix du graphisme du TCO en lignes bris
version 6.4 : Gestion des signaux belges (avec chevron et réduction de vitesse). version 6.4 : Gestion des signaux belges (avec chevron et réduction de vitesse).
version 7.0 : Possibilité de créer des décodeurs spécifiques de signaux. version 7.0 : Possibilité de créer des décodeurs spécifiques de signaux.
Affichage du feu blanc sur les signaux sur position spécifique d'aiguillages. Affichage du feu blanc sur les signaux sur position spécifique d'aiguillages.
version 7.1 : Nouveaux éléments graphiques pour le TCO.