V8.38
This commit is contained in:
263
UnitConfig.pas
263
UnitConfig.pas
@@ -1041,6 +1041,8 @@ begin
|
||||
if not(croi) then
|
||||
begin
|
||||
case aiguillage[index].vitesse of
|
||||
0 : s:=s+',V0';
|
||||
30 : s:=s+',V30';
|
||||
60 : s:=s+',V60';
|
||||
else begin
|
||||
s:=s+',V'+formconfig.EditSpecifique.Text;
|
||||
@@ -2669,7 +2671,7 @@ var s,sa,SOrigine: string;
|
||||
delete(enregistrement,1,virgule);
|
||||
end;
|
||||
|
||||
// si vitesse définie
|
||||
// si vitesse définie
|
||||
if (length(enregistrement)<>0) then
|
||||
if enregistrement[1]='V' then
|
||||
begin
|
||||
@@ -2688,7 +2690,7 @@ var s,sa,SOrigine: string;
|
||||
begin
|
||||
if not(tjsC) then begin Affiche('Erreur paramètre L ligne: '+sOrigine,clred);exit;end;
|
||||
inc(num_champ);
|
||||
delete(enregistrement,1,1);
|
||||
delete(enregistrement,1,1);
|
||||
Val(enregistrement,adr,erreur);
|
||||
aiguillage[maxaiguillage].tjsInt:=adr;
|
||||
c:=#0;
|
||||
@@ -2708,6 +2710,17 @@ var s,sa,SOrigine: string;
|
||||
begin
|
||||
inc(num_champ);
|
||||
delete(enregistrement,i,i+4);
|
||||
Val(enregistrement,position,erreur);
|
||||
i:=pos(',',enregistrement);
|
||||
if i<>0 then delete(enregistrement,1,i);
|
||||
Val(enregistrement,j,erreur);
|
||||
aiguillage[maxaiguillage].temps:=j;
|
||||
aiguillage[maxaiguillage].posinit:=position;
|
||||
i:=pos(')',enregistrement);
|
||||
delete(enregistrement,1,i);
|
||||
virgule:=pos(',',enregistrement);if virgule=0 then virgule:=length(enregistrement)+1;
|
||||
delete(enregistrement,1,virgule);
|
||||
end;
|
||||
|
||||
// nombre d'états de la TJD
|
||||
if (length(enregistrement)<>0) then
|
||||
@@ -5753,6 +5766,7 @@ begin
|
||||
procedure Aff_champs_accPeriph_tablo(index : integer);
|
||||
begin
|
||||
if (index<1) or (index>NbPeriph) then exit;
|
||||
clicliste:=true;
|
||||
formConfig.EditNomPeriph.Text:=Tablo_periph[index].nom;
|
||||
cb1.Checked:=Tablo_periph[index].ScvAig;
|
||||
cb2.Checked:=Tablo_periph[index].ScvDet;
|
||||
@@ -5760,7 +5774,7 @@ begin
|
||||
cbVis.Checked:=Tablo_periph[index].ScvVis;
|
||||
CheckBoxCR.Checked:=Tablo_periph[index].cr;
|
||||
EditPortCde.text:=Tablo_periph[index].protocole;
|
||||
EditPortCde.text:=Tablo_periph[index].protocole;
|
||||
MemoPeriph.Clear;
|
||||
clicliste:=false;
|
||||
end;
|
||||
|
||||
@@ -5877,14 +5891,14 @@ begin
|
||||
if (aiguillage[ind].EtatTJD=4) or tjs then
|
||||
begin
|
||||
// droit haut
|
||||
EditDevie_HD.Text:=intToSTR(aiguillage[id2].Adevie)+aiguillage[id2].AdevieB;
|
||||
EditDevie_HD.Text:=intToSTR(aiguillage[id2].Adevie)+aiguillage[id2].AdevieB;
|
||||
EditDevie_HD.Hint:=TypeElAIg_to_char(aiguillage[id2].Adevie,aiguillage[id2].AdevieB);
|
||||
LabelTJD1.Caption:=IntToSTR(adresse);
|
||||
|
||||
// droit bas
|
||||
EditDroit_BD.Text:=intToSTR(aiguillage[id2].Adroit)+aiguillage[Id2].AdroitB;
|
||||
EditDroit_BD.Hint:=TypeElAIg_to_char(aiguillage[id2].ADroit,aiguillage[Id2].AdroitB);
|
||||
LabelTJD2.Caption:=IntToSTR(adr2);
|
||||
LabelTJD2.Caption:=IntToSTR(adr2);
|
||||
end;
|
||||
|
||||
if ((aiguillage[ind].EtatTJD=2) and tjd) or croi then
|
||||
@@ -5971,6 +5985,11 @@ begin
|
||||
if tri then
|
||||
begin
|
||||
ComboBoxAig.ItemIndex:=3; // index de la combobox 0=aiguillage 1=TJD 2=TJS 3=aiguillage triple
|
||||
EditAigTriple.Visible:=true;
|
||||
labelTJD1.Visible:=false;
|
||||
LabelTJD2.Visible:=false;
|
||||
EditPointe_BG.ReadOnly:=false;
|
||||
labelBG.Caption:='P';
|
||||
ImageAffiche.Picture.BitMap:=ImageTri.Picture.Bitmap;
|
||||
EditDevieS2.Visible:=true;
|
||||
Label18.Visible:=true;
|
||||
@@ -9280,8 +9299,9 @@ begin
|
||||
|
||||
AncModel:=model;
|
||||
model:=BrancheN[i][j].BType; // 1= détecteur 2= aiguillage 4=Buttoir
|
||||
|
||||
if (model=aig) then
|
||||
if (model=aig) then
|
||||
begin
|
||||
//affiche('trouvé aig '+intToSTR(detect),clyellow);
|
||||
modAig:=aiguillage[Index_Aig(detect)].modele;
|
||||
if (modAig=rien) then
|
||||
@@ -9296,6 +9316,7 @@ begin
|
||||
Affiche('Erreur 3.2 branche '+intToSTR(i)+' : le dernier élément d''une branche doit être un buttoir ou un aiguillage',clred);
|
||||
end;
|
||||
|
||||
if verif_extr_branches<>0 then ok:=false;
|
||||
|
||||
// vérification de la cohérence2
|
||||
// parcoure les aiguillages pour voir si les détecteurs sont en branches des détecteurs
|
||||
@@ -9307,100 +9328,119 @@ begin
|
||||
if ((modAig=tjd) and (aiguillage[Indexaig].EtatTJD=4)) or (modAig=tjs) then
|
||||
begin
|
||||
if aiguillage[Indexaig].Ddroit<>aiguillage[Indexaig].Ddevie then
|
||||
if aiguillage[Indexaig].Ddroit<>aiguillage[Indexaig].Ddevie then
|
||||
begin
|
||||
Affiche('Erreur 7: la TJD/S '+IntToStr(Indexaig)+' a des adresses de destination différentes ('+intToSTR(aiguillage[Indexaig].Ddroit)+' et '+intToSTR(aiguillage[Indexaig].Ddevie)+')',clred);
|
||||
begin
|
||||
Affiche('Erreur 7: la TJD/S '+IntToStr(Indexaig)+' a des adresses de destination différentes ('+intToSTR(aiguillage[Indexaig].Ddroit)+' et '+intToSTR(aiguillage[Indexaig].Ddevie)+')',clred);
|
||||
ok:=false;
|
||||
end;
|
||||
// vérifier si son homologue est une tjd
|
||||
end;
|
||||
// vérifier si son homologue est une tjd
|
||||
adr2:=aiguillage[Indexaig].Ddroit;
|
||||
if (aiguillage[Index_Aig(adr2)].modele<>tjd) and (aiguillage[Index_Aig(adr2)].modele<>tjs) then
|
||||
if (aiguillage[Index_Aig(adr2)].modele<>tjd) and (aiguillage[Index_Aig(adr2)].modele<>tjs) then
|
||||
begin
|
||||
Affiche('Erreur 8: l''aiguillage '+intToStr(Adr2)+' n''est pas une TJD/S ou n''existe pas, mais apparait dans la TJD/S '+IntToSTR(aiguillage[Indexaig].Adresse),clred);
|
||||
ok:=false;
|
||||
end;
|
||||
end;
|
||||
// vérifier si l'aiguillage est dans les branches inutile
|
||||
{if aiguillage[Indexaig].modele<>rien then
|
||||
begin
|
||||
trouve_aiguillage(aiguillage[Indexaig].adresse); // passe l'adresse de l'aiguillage à trouver
|
||||
if (IndexBranche_trouve=0) then
|
||||
begin
|
||||
Affiche('Avertissement 6: aiguillage '+intToSTR(aiguillage[Indexaig].adresse)+' décrit dans les aiguillages ; absent dans la description des branches',clOrange);
|
||||
ok:=false;
|
||||
end;
|
||||
end;}
|
||||
|
||||
// vérifier si le détecteur sur la position droite est dans les branches
|
||||
adr:=aiguillage[Indexaig].Adroit;
|
||||
if (aiguillage[Indexaig].AdroitB='Z') or (aiguillage[Indexaig].AdroitB=#0) then
|
||||
begin
|
||||
trouve_detecteur(adr);
|
||||
if IndexBranche_trouve=0 then
|
||||
begin
|
||||
Affiche('Erreur 21.1: détecteur '+intToSTR(adr)+' décrit dans l''aiguillage '+intToSTR(aiguillage[Indexaig].adresse)+' mais absent dans la description des branches',clred);
|
||||
ok:=false;
|
||||
end
|
||||
else
|
||||
begin
|
||||
AdrAig:=aiguillage[IndexAig].Adresse;
|
||||
det1br:=brancheN[branche_trouve,indexBranche_trouve-1].Adresse; // adresse avant détecteur
|
||||
det2br:=brancheN[branche_trouve,indexBranche_trouve+1].Adresse; // adresse après détecteur
|
||||
if (det1br<>AdrAig) and (det2br<>AdrAig) and (adr<>0) then
|
||||
begin
|
||||
Affiche('Erreur 21.2: Le détecteur '+intToSTR(adr)+' est décrit dans l''aiguillage '+intToSTR(aiguillage[Indexaig].adresse)+' mais déclaré dans la ',clred);
|
||||
s:='branche '+intToSTR(Branche_trouve)+' entre';
|
||||
if brancheN[branche_trouve,indexBranche_trouve-1].BType=aig then s:=s+' l''aiguillage ' else s:=s+' le détecteur ';
|
||||
s:=s+intToSTR(det1br)+' et ';
|
||||
if brancheN[branche_trouve,indexBranche_trouve+1].BType=aig then s:=s+' l''aiguillage ' else s:=s+' le détecteur ';
|
||||
s:=s+intToSTR(det2br);
|
||||
Affiche(s,clred);
|
||||
ok:=false;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
// vérifier si le détecteur sur la position déviée est dans les branches
|
||||
adr:=aiguillage[Indexaig].Adevie;
|
||||
if (aiguillage[Indexaig].AdevieB='Z') or (aiguillage[Indexaig].AdevieB=#0) then
|
||||
begin
|
||||
trouve_detecteur(adr);
|
||||
if IndexBranche_trouve=0 then
|
||||
begin
|
||||
Affiche('Erreur 22.1: détecteur '+intToSTR(adr)+' décrit dans l''aiguillage '+intToSTR(aiguillage[Indexaig].adresse)+' mais absent dans la description des branches',clRed);
|
||||
ok:=false;
|
||||
end
|
||||
else
|
||||
begin
|
||||
AdrAig:=aiguillage[IndexAig].Adresse;
|
||||
det1br:=brancheN[branche_trouve,indexBranche_trouve-1].Adresse; // adresse avant détecteur
|
||||
det2br:=brancheN[branche_trouve,indexBranche_trouve+1].Adresse; // adresse après détecteur
|
||||
if (det1br<>AdrAig) and (det2br<>AdrAig) and (adr<>0) then
|
||||
begin
|
||||
Affiche('Erreur 22.2: Le détecteur '+intToSTR(adr)+' est décrit dans l''aiguillage '+intToSTR(aiguillage[Indexaig].adresse)+' mais déclaré dans la ',clred);
|
||||
s:='branche '+intToSTR(Branche_trouve)+' entre';
|
||||
if brancheN[branche_trouve,indexBranche_trouve-1].BType=aig then s:=s+' l''aiguillage ' else s:=s+' le détecteur ';
|
||||
s:=s+intToSTR(det1br)+' et ';
|
||||
if brancheN[branche_trouve,indexBranche_trouve+1].BType=aig then s:=s+' l''aiguillage ' else s:=s+' le détecteur ';
|
||||
s:=s+intToSTR(det2br);
|
||||
Affiche(s,clred);
|
||||
ok:=false;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
// vérifier si le détecteur sur la pointe est dans les branches
|
||||
adr:=aiguillage[Indexaig].Apointe;
|
||||
if ( ((aiguillage[Indexaig].ApointeB='Z') or (aiguillage[Indexaig].ApointeB=#0)) and (aiguillage[Indexaig].modele=aig) ) then
|
||||
begin
|
||||
trouve_detecteur(adr);
|
||||
if IndexBranche_trouve=0 then
|
||||
begin
|
||||
Affiche('Erreur 23.1 : détecteur '+intToSTR(adr)+' décrit dans l''aiguillage '+intToSTR(aiguillage[Indexaig].adresse)+' mais absent dans la description des branches',clRed);
|
||||
ok:=false;
|
||||
begin
|
||||
Affiche('Erreur 8: l''aiguillage '+intToStr(Adr2)+' n''est pas une TJD/S ou n''existe pas, mais apparait dans la TJD/S '+IntToSTR(aiguillage[Indexaig].Adresse),clred);
|
||||
ok:=false;
|
||||
AdrAig:=aiguillage[IndexAig].Adresse;
|
||||
end;
|
||||
end;
|
||||
|
||||
// vérifier si l'aiguillage est dans les branches inutile
|
||||
{if aiguillage[Indexaig].modele<>rien then
|
||||
begin
|
||||
trouve_aiguillage(aiguillage[Indexaig].adresse); // passe l'adresse de l'aiguillage à trouver
|
||||
if (IndexBranche_trouve=0) then
|
||||
begin
|
||||
Affiche('Avertissement 6: aiguillage '+intToSTR(aiguillage[Indexaig].adresse)+' décrit dans les aiguillages ; absent dans la description des branches',clOrange);
|
||||
ok:=false;
|
||||
end;
|
||||
end;}
|
||||
|
||||
// exclure les TJD/S
|
||||
if (modAig<>tjd) and (modAig<>tjs) then
|
||||
begin
|
||||
// vérifier si le détecteur sur la position droite est dans les branches
|
||||
adr:=aiguillage[Indexaig].Adroit;
|
||||
if (aiguillage[Indexaig].AdroitB='Z') or (aiguillage[Indexaig].AdroitB=#0) then
|
||||
begin
|
||||
trouve_detecteur(adr);
|
||||
if IndexBranche_trouve=0 then
|
||||
begin
|
||||
Affiche('Erreur 21.1: détecteur '+intToSTR(adr)+' décrit dans l''aiguillage '+intToSTR(aiguillage[Indexaig].adresse)+' mais absent dans la description des branches',clred);
|
||||
ok:=false;
|
||||
end
|
||||
else
|
||||
begin
|
||||
AdrAig:=aiguillage[IndexAig].Adresse;
|
||||
if indexBranche_Trouve>1 then det1br:=brancheN[branche_trouve,indexBranche_trouve-1].Adresse // adresse avant détecteur
|
||||
else det1br:=0;
|
||||
det2br:=brancheN[branche_trouve,indexBranche_trouve+1].Adresse; // adresse après détecteur
|
||||
if (det1br<>AdrAig) and (det2br<>AdrAig) and (adr<>0) then
|
||||
begin
|
||||
Affiche('Erreur 21.2: Le détecteur '+intToSTR(adr)+' est décrit dans l''aiguillage '+intToSTR(aiguillage[Indexaig].adresse)+' mais déclaré dans la ',clred);
|
||||
s:='branche '+intToSTR(Branche_trouve)+' entre';
|
||||
if indexBranche_trouve>1 then
|
||||
if brancheN[branche_trouve,indexBranche_trouve-1].BType=aig then s:=s+' l''aiguillage ' else s:=s+' le détecteur ';
|
||||
s:=s+intToSTR(det1br)+' et ';
|
||||
if brancheN[branche_trouve,indexBranche_trouve+1].BType=aig then s:=s+' l''aiguillage ' else s:=s+' le détecteur ';
|
||||
s:=s+intToSTR(det2br);
|
||||
Affiche(s,clred);
|
||||
ok:=false;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
// vérifier si le détecteur sur la position déviée est dans les branches
|
||||
|
||||
adr:=aiguillage[Indexaig].Adevie;
|
||||
if (aiguillage[Indexaig].AdevieB='Z') or (aiguillage[Indexaig].AdevieB=#0) then
|
||||
begin
|
||||
trouve_detecteur(adr);
|
||||
if IndexBranche_trouve=0 then
|
||||
begin
|
||||
Affiche('Erreur 22.1: détecteur '+intToSTR(adr)+' décrit dans l''aiguillage '+intToSTR(aiguillage[Indexaig].adresse)+' mais absent dans la description des branches',clRed);
|
||||
ok:=false;
|
||||
end
|
||||
else
|
||||
begin
|
||||
AdrAig:=aiguillage[IndexAig].Adresse;
|
||||
if indexBranche_trouve>1 then det1br:=brancheN[branche_trouve,indexBranche_trouve-1].Adresse // adresse avant détecteur
|
||||
else det1br:=0;
|
||||
det2br:=brancheN[branche_trouve,indexBranche_trouve+1].Adresse; // adresse après détecteur
|
||||
if (det1br<>AdrAig) and (det2br<>AdrAig) and (adr<>0) then
|
||||
begin
|
||||
Affiche('Erreur 22.2: Le détecteur '+intToSTR(adr)+' est décrit dans l''aiguillage '+intToSTR(aiguillage[Indexaig].adresse)+' mais déclaré dans la ',clred);
|
||||
s:='branche '+intToSTR(Branche_trouve)+' entre';
|
||||
if indexBranche_trouve>1 then
|
||||
if brancheN[branche_trouve,indexBranche_trouve-1].BType=aig then s:=s+' l''aiguillage ' else s:=s+' le détecteur ';
|
||||
s:=s+intToSTR(det1br)+' et ';
|
||||
if brancheN[branche_trouve,indexBranche_trouve+1].BType=aig then s:=s+' l''aiguillage ' else s:=s+' le détecteur ';
|
||||
s:=s+intToSTR(det2br);
|
||||
Affiche(s,clred);
|
||||
ok:=false;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
// vérifier si le détecteur sur la pointe est dans les branches
|
||||
adr:=aiguillage[Indexaig].Apointe;
|
||||
if ( ((aiguillage[Indexaig].ApointeB='Z') or (aiguillage[Indexaig].ApointeB=#0)) and (aiguillage[Indexaig].modele=aig) ) then
|
||||
begin
|
||||
trouve_detecteur(adr);
|
||||
if IndexBranche_trouve=0 then
|
||||
begin
|
||||
Affiche('Erreur 23.1 : détecteur '+intToSTR(adr)+' décrit dans l''aiguillage '+intToSTR(aiguillage[Indexaig].adresse)+' mais absent dans la description des branches',clRed);
|
||||
ok:=false;
|
||||
end
|
||||
else
|
||||
begin
|
||||
AdrAig:=aiguillage[IndexAig].Adresse;
|
||||
if indexBranche_trouve>1 then
|
||||
begin
|
||||
det1br:=brancheN[branche_trouve,indexBranche_trouve-1].Adresse; // adresse avant détecteur
|
||||
model:=brancheN[branche_trouve,indexBranche_trouve-1].Btype;
|
||||
end
|
||||
else begin det1br:=0;model:=det;end;
|
||||
|
||||
det2br:=brancheN[branche_trouve,indexBranche_trouve+1].Adresse; // adresse après détecteur
|
||||
model2:=brancheN[branche_trouve,indexBranche_trouve+1].Btype;
|
||||
if (det1br<>AdrAig) and (model=det) and (det2br<>AdrAig) and (model2=det) and (adr<>0) then
|
||||
begin
|
||||
Affiche('Erreur 23.2: Le détecteur '+intToSTR(adr)+' est décrit dans l''aiguillage '+intToSTR(aiguillage[Indexaig].adresse)+' mais déclaré dans la ',clred);
|
||||
s:='branche '+intToSTR(Branche_trouve)+' entre';
|
||||
@@ -9735,20 +9775,20 @@ begin
|
||||
begin
|
||||
if (adr<>aiguillage[index2].Adevie) and (adr<>aiguillage[index2].ADroit) and
|
||||
(adr<>aiguillage[index2].DDevie) and (adr<>aiguillage[index2].Ddroit) then
|
||||
begin
|
||||
begin
|
||||
Affiche('Erreur 10.21: Discordance de déclaration aiguillages '+intToSTR(adr)+': '+intToSTR(adr2),clred);
|
||||
ok:=false;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
// tjs ou tjs à 4 états
|
||||
if (((model2=tjs) or (model2=tjd)) and (aiguillage[index2].EtatTJD=4)) then
|
||||
begin
|
||||
adr3:=aiguillage[index2].Ddroit; // 2eme adresse de la TJD
|
||||
index3:=index_aig(adr3);
|
||||
index3:=index_aig(adr3);
|
||||
if (adr<>aiguillage[index2].Adevie) and (adr<>aiguillage[index2].ADroit) and
|
||||
(adr<>aiguillage[index3].ADevie) and (adr<>aiguillage[index3].Adroit) then
|
||||
begin
|
||||
begin
|
||||
Affiche('Erreur 10.22: Discordance de déclaration aiguillages '+intToSTR(adr)+': '+intToSTR(adr2),clred);
|
||||
ok:=false;
|
||||
end;
|
||||
@@ -9773,7 +9813,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
adr2:=aiguillage[indexaig].Adevie; // adresse de ce qui est connecté sur la position déviée
|
||||
c:=aiguillage[indexaig].AdevieB;
|
||||
@@ -9784,7 +9824,7 @@ begin
|
||||
model2:=aiguillage[index2].modele; // modèle de l'aiguillage connecté
|
||||
if index2=0 then
|
||||
begin
|
||||
ok:=false;
|
||||
ok:=false;
|
||||
Affiche('Erreur 10.30: aiguillage '+intToSTR(adr)+': déclaration d''un aiguillage '+IntToSTR(adr2)+' inexistant',clred);
|
||||
end
|
||||
else
|
||||
@@ -9799,17 +9839,17 @@ begin
|
||||
ok:=false;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
// tjs ou tjs à 4 états
|
||||
if (((model2=tjs) or (model2=tjd)) and (aiguillage[index2].EtatTJD=4)) then
|
||||
begin
|
||||
adr3:=aiguillage[index2].Ddroit; // 2eme adresse de la TJD
|
||||
index3:=index_aig(adr3);
|
||||
index3:=index_aig(adr3);
|
||||
if (adr<>aiguillage[index2].Adevie) and (adr<>aiguillage[index2].ADroit) and
|
||||
(adr<>aiguillage[index3].ADevie) and (adr<>aiguillage[index3].Adroit) then
|
||||
begin
|
||||
(adr<>aiguillage[index3].ADevie) and (adr<>aiguillage[index3].Adroit) then
|
||||
begin
|
||||
Affiche('Erreur 10.32: Discordance de déclaration aiguillage '+intToSTR(adr)+': '+intToSTR(adr2),clred);
|
||||
ok:=false;
|
||||
ok:=false;
|
||||
end;
|
||||
end;
|
||||
|
||||
@@ -9827,7 +9867,7 @@ begin
|
||||
end;
|
||||
if c='P' then
|
||||
begin
|
||||
extr:=aiguillage[index2].APointe;
|
||||
extr:=aiguillage[index2].APointe;
|
||||
if adr<>extr then Affiche('Erreur 10.35: Discordance de déclaration aiguillages '+intToSTR(adr)+'S: '+intToSTR(adr2)+'P différent de '+intToSTR(extr),clred);
|
||||
end;
|
||||
end;
|
||||
@@ -9840,23 +9880,23 @@ begin
|
||||
begin
|
||||
if adr2=adr then affiche('Erreur 10.2 : la pointe de l''aiguillage '+intToSTR(adr)+' pointe sur elle même',clred);
|
||||
index2:=Index_aig(adr2); // adresse de l'aiguillage connecté
|
||||
model2:=aiguillage[index2].modele; // modèle de l'aiguillage connecté
|
||||
model2:=aiguillage[index2].modele; // modèle de l'aiguillage connecté
|
||||
begin
|
||||
// tjs ou tjs à 2 états ou croisement
|
||||
if (((model2=tjs) or (model2=tjd)) and (aiguillage[index2].EtatTJD=2)) or (model2=crois) then
|
||||
begin
|
||||
if (adr<>aiguillage[index2].Adevie) and (adr<>aiguillage[index2].ADroit) and
|
||||
(adr<>aiguillage[index2].DDevie) and (adr<>aiguillage[index2].Ddroit) then
|
||||
(adr<>aiguillage[index2].DDevie) and (adr<>aiguillage[index2].Ddroit) then
|
||||
begin
|
||||
Affiche('Erreur 10.41: Discordance de déclaration aiguillage '+intToSTR(adr)+': '+intToSTR(adr2),clred);
|
||||
ok:=false;
|
||||
end;
|
||||
|
||||
|
||||
// tjs ou tjs à 4 états
|
||||
if (((model2=tjs) or (model2=tjd)) and (aiguillage[index2].EtatTJD=4)) then
|
||||
begin
|
||||
begin
|
||||
adr3:=aiguillage[index2].Ddroit; // 2eme adresse de la TJD
|
||||
index3:=index_aig(adr3);
|
||||
index3:=index_aig(adr3);
|
||||
if (adr<>aiguillage[index2].Adevie) and (adr<>aiguillage[index2].ADroit) and
|
||||
(adr<>aiguillage[index3].ADevie) and (adr<>aiguillage[index3].Adroit) then
|
||||
begin
|
||||
@@ -12356,6 +12396,7 @@ begin
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
procedure TFormConfig.CheckBoxVersContrevoieClick(Sender: TObject);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user