V3.2
This commit is contained in:
Binary file not shown.
@@ -1780,7 +1780,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 8
|
Top = 8
|
||||||
Width = 633
|
Width = 633
|
||||||
Height = 457
|
Height = 457
|
||||||
ActivePage = TabSheetAutonome
|
ActivePage = TabSheetAig
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clBlack
|
Font.Color = clBlack
|
||||||
Font.Height = -11
|
Font.Height = -11
|
||||||
@@ -2474,7 +2474,7 @@ object FormConfig: TFormConfig
|
|||||||
Width = 137
|
Width = 137
|
||||||
Height = 17
|
Height = 17
|
||||||
Hint = 'Cocher si l'#39'aiguillage est invers'#233' dans CDM rail'
|
Hint = 'Cocher si l'#39'aiguillage est invers'#233' dans CDM rail'
|
||||||
Caption = 'Inversion de l'#39#233'tat CDM'
|
Caption = 'Inversion du pilotage'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
@@ -2614,6 +2614,8 @@ object FormConfig: TFormConfig
|
|||||||
Top = 20
|
Top = 20
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
OnKeyPress = Edit_HGKeyPress
|
OnKeyPress = Edit_HGKeyPress
|
||||||
end
|
end
|
||||||
@@ -2622,6 +2624,8 @@ object FormConfig: TFormConfig
|
|||||||
Top = 44
|
Top = 44
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
OnKeyPress = EditPointe_BGKeyPress
|
OnKeyPress = EditPointe_BGKeyPress
|
||||||
end
|
end
|
||||||
@@ -2662,6 +2666,8 @@ object FormConfig: TFormConfig
|
|||||||
Top = 20
|
Top = 20
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 21
|
Height = 21
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
TabOrder = 6
|
TabOrder = 6
|
||||||
OnKeyPress = EditDevie_HDKeyPress
|
OnKeyPress = EditDevie_HDKeyPress
|
||||||
end
|
end
|
||||||
@@ -2670,6 +2676,8 @@ object FormConfig: TFormConfig
|
|||||||
Top = 44
|
Top = 44
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 21
|
Height = 21
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
TabOrder = 7
|
TabOrder = 7
|
||||||
OnKeyPress = EditDroit_BDKeyPress
|
OnKeyPress = EditDroit_BDKeyPress
|
||||||
end
|
end
|
||||||
@@ -2723,45 +2731,33 @@ object FormConfig: TFormConfig
|
|||||||
TabOrder = 7
|
TabOrder = 7
|
||||||
object Label37: TLabel
|
object Label37: TLabel
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 18
|
Top = 26
|
||||||
Width = 66
|
Width = 66
|
||||||
Height = 13
|
Height = 13
|
||||||
Caption = 'D'#233'vi'#233' ou droit'
|
Caption = 'D'#233'vi'#233' ou droit'
|
||||||
end
|
end
|
||||||
object Label38: TLabel
|
object Label38: TLabel
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 42
|
Top = 50
|
||||||
Width = 129
|
Width = 129
|
||||||
Height = 13
|
Height = 13
|
||||||
Caption = 'Temporisation (1/10'#232'me s)'
|
Caption = 'Temporisation (1/10'#232'me s)'
|
||||||
end
|
end
|
||||||
object EditTempo10: TEdit
|
object EditTempo10: TEdit
|
||||||
Left = 160
|
Left = 160
|
||||||
Top = 40
|
Top = 48
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
OnKeyPress = EditTempo10KeyPress
|
OnKeyPress = EditTempo10KeyPress
|
||||||
end
|
end
|
||||||
object CheckInvInit: TCheckBox
|
|
||||||
Left = 8
|
|
||||||
Top = 64
|
|
||||||
Width = 153
|
|
||||||
Height = 17
|
|
||||||
Hint = 'Inverse le pilotage de l'#39'aiguillage'
|
|
||||||
Caption = 'Pilotage invers'#233
|
|
||||||
ParentShowHint = False
|
|
||||||
ShowHint = True
|
|
||||||
TabOrder = 1
|
|
||||||
OnClick = CheckInvInitClick
|
|
||||||
end
|
|
||||||
object ComboBoxDD: TComboBox
|
object ComboBoxDD: TComboBox
|
||||||
Left = 160
|
Left = 160
|
||||||
Top = 16
|
Top = 24
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 21
|
Height = 21
|
||||||
ItemHeight = 13
|
ItemHeight = 13
|
||||||
TabOrder = 2
|
TabOrder = 1
|
||||||
OnChange = ComboBoxDDChange
|
OnChange = ComboBoxDDChange
|
||||||
Items.Strings = (
|
Items.Strings = (
|
||||||
'D'#233'vi'#233
|
'D'#233'vi'#233
|
||||||
@@ -3050,7 +3046,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 48
|
Top = 48
|
||||||
Width = 129
|
Width = 129
|
||||||
Height = 21
|
Height = 21
|
||||||
ItemHeight = 13
|
ItemHeight = 0
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
OnChange = ComboBoxDecChange
|
OnChange = ComboBoxDecChange
|
||||||
end
|
end
|
||||||
@@ -3067,6 +3063,8 @@ object FormConfig: TFormConfig
|
|||||||
Top = 120
|
Top = 120
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
OnKeyPress = EditSuiv1KeyPress
|
OnKeyPress = EditSuiv1KeyPress
|
||||||
end
|
end
|
||||||
@@ -3083,6 +3081,8 @@ object FormConfig: TFormConfig
|
|||||||
Top = 144
|
Top = 144
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
TabOrder = 6
|
TabOrder = 6
|
||||||
OnKeyPress = EditSuiv2KeyPress
|
OnKeyPress = EditSuiv2KeyPress
|
||||||
end
|
end
|
||||||
@@ -3099,6 +3099,8 @@ object FormConfig: TFormConfig
|
|||||||
Top = 168
|
Top = 168
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
TabOrder = 8
|
TabOrder = 8
|
||||||
OnKeyPress = EditSuiv3KeyPress
|
OnKeyPress = EditSuiv3KeyPress
|
||||||
end
|
end
|
||||||
@@ -3115,6 +3117,8 @@ object FormConfig: TFormConfig
|
|||||||
Top = 192
|
Top = 192
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
TabOrder = 10
|
TabOrder = 10
|
||||||
OnKeyPress = EditSuiv4KeyPress
|
OnKeyPress = EditSuiv4KeyPress
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -219,7 +219,6 @@ type
|
|||||||
Label37: TLabel;
|
Label37: TLabel;
|
||||||
Label38: TLabel;
|
Label38: TLabel;
|
||||||
EditTempo10: TEdit;
|
EditTempo10: TEdit;
|
||||||
CheckInvInit: TCheckBox;
|
|
||||||
Label39: TLabel;
|
Label39: TLabel;
|
||||||
EditV4F: TEdit;
|
EditV4F: TEdit;
|
||||||
EditV4O: TEdit;
|
EditV4O: TEdit;
|
||||||
@@ -324,7 +323,6 @@ type
|
|||||||
|
|
||||||
const
|
const
|
||||||
// variables du fichier de configuration "config-gl.cfg"
|
// variables du fichier de configuration "config-gl.cfg"
|
||||||
section_init='[section_init]';
|
|
||||||
nb_det_dist_ch='nb_det_dist';
|
nb_det_dist_ch='nb_det_dist';
|
||||||
IpV4_PC_ch='IpV4_PC';
|
IpV4_PC_ch='IpV4_PC';
|
||||||
retro_ch='retro';
|
retro_ch='retro';
|
||||||
@@ -570,8 +568,7 @@ begin
|
|||||||
if index=0 then exit;
|
if index=0 then exit;
|
||||||
s:=IntToSTR(aiguillage[index].Adresse)+',';
|
s:=IntToSTR(aiguillage[index].Adresse)+',';
|
||||||
s:=s+IntToSTR(aiguillage[index].posInit)+',';
|
s:=s+IntToSTR(aiguillage[index].posInit)+',';
|
||||||
s:=s+IntToSTR(aiguillage[index].temps)+',';
|
s:=s+IntToSTR(aiguillage[index].temps);
|
||||||
s:=s+intToSTR(aiguillage[index].inversion);
|
|
||||||
encode_init_aig:=s;
|
encode_init_aig:=s;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -644,9 +641,8 @@ begin
|
|||||||
// valeur d'initialisation
|
// valeur d'initialisation
|
||||||
s:=s+',INIT(';
|
s:=s+',INIT(';
|
||||||
s:=s+IntToSTR(aiguillage[index].posInit)+',';
|
s:=s+IntToSTR(aiguillage[index].posInit)+',';
|
||||||
s:=s+IntToSTR(aiguillage[index].temps)+',';
|
s:=s+IntToSTR(aiguillage[index].temps)+')';
|
||||||
s:=s+intToSTR(aiguillage[index].inversion)+')';
|
|
||||||
|
|
||||||
encode_aig:=s;
|
encode_aig:=s;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -756,6 +752,20 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
//
|
||||||
|
function TypeElAIg_to_char(adr : integer;c : char) : string;
|
||||||
|
var s: string;
|
||||||
|
begin
|
||||||
|
case c of
|
||||||
|
'Z',#0 : s:='détecteur '+IntToSTR(adr);
|
||||||
|
'P' : s:='pointe de l''aiguillage '+IntToSTR(adr);
|
||||||
|
'S' : s:='position déviée de l''aiguillage '+IntToSTR(adr);
|
||||||
|
'D' : s:='position droite de l''aiguillage '+IntToSTR(adr);
|
||||||
|
else s:='Erreur';
|
||||||
|
end;
|
||||||
|
TypeElAIg_to_char:=s;
|
||||||
|
end;
|
||||||
|
|
||||||
// transforme le signal du tableau feux[] en texte
|
// transforme le signal du tableau feux[] en texte
|
||||||
function encode_sig_feux(i : integer): string;
|
function encode_sig_feux(i : integer): string;
|
||||||
var s : string;
|
var s : string;
|
||||||
@@ -1746,11 +1756,13 @@ begin
|
|||||||
b:=aiguillage[Index_Aig(adresse)].ADroitB;
|
b:=aiguillage[Index_Aig(adresse)].ADroitB;
|
||||||
if b='Z' then b:=#0;
|
if b='Z' then b:=#0;
|
||||||
Edit_HG.Text:=intToSTR(aiguillage[index].ADroit)+b;
|
Edit_HG.Text:=intToSTR(aiguillage[index].ADroit)+b;
|
||||||
|
Edit_HG.Hint:=TypeElAIg_to_char(aiguillage[index].Adroit,b);
|
||||||
|
|
||||||
// champ en bas à gauche
|
// champ en bas à gauche
|
||||||
b:=aiguillage[Index].ADevieB;
|
b:=aiguillage[Index].ADevieB;
|
||||||
if b='Z' then b:=#0;
|
if b='Z' then b:=#0;
|
||||||
EditPointe_BG.Text:=intToSTR(aiguillage[index].ADevie)+b;
|
EditPointe_BG.Text:=intToSTR(aiguillage[index].ADevie)+b;
|
||||||
|
EditPointe_BG.Hint:=TypeElAIg_to_char(aiguillage[index].ADevie,b);
|
||||||
|
|
||||||
// milieu haut gauche
|
// milieu haut gauche
|
||||||
EditP1.Text:=intToSTR(adresse)+aiguillage[Index].DDroitB;
|
EditP1.Text:=intToSTR(adresse)+aiguillage[Index].DDroitB;
|
||||||
@@ -1764,10 +1776,12 @@ begin
|
|||||||
|
|
||||||
// droit haut
|
// 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);
|
LabelTJD1.Caption:=IntToSTR(adresse);
|
||||||
|
|
||||||
// droit bas
|
// droit bas
|
||||||
EditDroit_BD.Text:=intToSTR(aiguillage[id2].Adroit)+aiguillage[Id2].AdroitB;
|
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);
|
||||||
|
|
||||||
CheckInverse.checked:=aiguillage[Index_Aig(adresse)].inversionCDM=1;
|
CheckInverse.checked:=aiguillage[Index_Aig(adresse)].inversionCDM=1;
|
||||||
@@ -1807,8 +1821,13 @@ begin
|
|||||||
if aiguillage[Index].vitesse=60 then begin RadioButtonSans.checked:=false;RadioButton30kmh.checked:=false;RadioButton60kmh.checked:=true;end;
|
if aiguillage[Index].vitesse=60 then begin RadioButtonSans.checked:=false;RadioButton30kmh.checked:=false;RadioButton60kmh.checked:=true;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);
|
||||||
|
|
||||||
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);
|
||||||
|
|
||||||
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);
|
||||||
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; // 0=n'existe pas 1=aiguillage 2=TJD 3=TJS 4=aiguillage triple
|
||||||
@@ -1835,7 +1854,6 @@ 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);
|
||||||
formconfig.CheckInvInit.Checked:=aiguillage[index].inversion=1;
|
|
||||||
|
|
||||||
clicListe:=false;
|
clicListe:=false;
|
||||||
end;
|
end;
|
||||||
@@ -1895,6 +1913,22 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// transforme une chaine "élément" en une chaine affichable pour le hint
|
||||||
|
// ex chaine_element("A32")=aiguillage 32
|
||||||
|
function chaine_element(Equip : Tequipement;adr : integer) : string;
|
||||||
|
var s: string;
|
||||||
|
begin
|
||||||
|
case Equip of
|
||||||
|
aig : s:='Aiguillage ';
|
||||||
|
tjd : s:='Tjd ';
|
||||||
|
tjs : s:='Tjs ';
|
||||||
|
triple : s:='Aiguillage triple ';
|
||||||
|
det : s:='Détecteur ';
|
||||||
|
else s:='Inconnu ';
|
||||||
|
end;
|
||||||
|
result:=s+intToSTR(adr);
|
||||||
|
end;
|
||||||
|
|
||||||
// mise à jour des champs du signal d'après le tableau feux
|
// mise à jour des champs du signal d'après le tableau feux
|
||||||
Procedure aff_champs_sig_feux(index : integer);
|
Procedure aff_champs_sig_feux(index : integer);
|
||||||
var i,j,l,d,k,nc,condCarre : integer;
|
var i,j,l,d,k,nc,condCarre : integer;
|
||||||
@@ -1946,29 +1980,35 @@ begin
|
|||||||
LabelDetAss.visible:=true;
|
LabelDetAss.visible:=true;
|
||||||
LabelElSuiv.visible:=true;
|
LabelElSuiv.visible:=true;
|
||||||
|
|
||||||
|
|
||||||
EditDet1.Visible:=true;EditDet2.Visible:=true;EditDet3.Visible:=true;EditDet4.Visible:=true;
|
EditDet1.Visible:=true;EditDet2.Visible:=true;EditDet3.Visible:=true;EditDet4.Visible:=true;
|
||||||
EditSuiv1.Visible:=true;EditSuiv2.Visible:=true;EditSuiv3.Visible:=true;EditSuiv4.Visible:=true;
|
EditSuiv1.Visible:=true;EditSuiv2.Visible:=true;EditSuiv3.Visible:=true;EditSuiv4.Visible:=true;
|
||||||
Label24.Visible:=true; Label25.Visible:=true;Label26.Visible:=true;Label27.Visible:=true;
|
Label24.Visible:=true; Label25.Visible:=true;Label26.Visible:=true;Label27.Visible:=true;
|
||||||
CheckVerrouCarre.Visible:=true;
|
CheckVerrouCarre.Visible:=true;
|
||||||
EditDet1.Text:=IntToSTR(feux[i].Adr_det1);
|
EditDet1.Text:=IntToSTR(feux[i].Adr_det1);
|
||||||
EditSuiv1.Text:=TypeEl_To_char(feux[i].Btype_suiv1)+IntToSTR(feux[i].Adr_el_suiv1);
|
EditSuiv1.Text:=TypeEl_To_char(feux[i].Btype_suiv1)+IntToSTR(feux[i].Adr_el_suiv1);
|
||||||
|
|
||||||
|
EditSuiv1.Hint:=chaine_element(feux[i].Btype_suiv1,feux[i].Adr_el_suiv1);
|
||||||
j:=feux[i].Adr_det2;
|
j:=feux[i].Adr_det2;
|
||||||
if j<>0 then
|
if j<>0 then
|
||||||
begin
|
begin
|
||||||
Editdet2.Text:=IntToSTR(j);EditSuiv2.Text:=TypeEl_To_char(feux[i].Btype_suiv2)+IntToSTR(feux[i].Adr_el_suiv2);
|
Editdet2.Text:=IntToSTR(j);EditSuiv2.Text:=TypeEl_To_char(feux[i].Btype_suiv2)+IntToSTR(feux[i].Adr_el_suiv2);
|
||||||
end else begin EditDet2.Text:='';EditSuiv2.Text:='';end;
|
EditSuiv2.Hint:=chaine_element(feux[i].Btype_suiv2,feux[i].Adr_el_suiv2);
|
||||||
|
end else begin EditDet2.Text:='';EditSuiv2.Text:='';EditSuiv2.Hint:='';end;
|
||||||
j:=feux[i].Adr_det3;
|
j:=feux[i].Adr_det3;
|
||||||
if j<>0 then
|
if j<>0 then
|
||||||
begin
|
begin
|
||||||
EditDet3.Text:=IntToSTR(j);EditSuiv3.Text:=TypeEl_To_char(feux[i].Btype_suiv3)+IntToSTR(feux[i].Adr_el_suiv3);
|
EditDet3.Text:=IntToSTR(j);EditSuiv3.Text:=TypeEl_To_char(feux[i].Btype_suiv3)+IntToSTR(feux[i].Adr_el_suiv3);
|
||||||
|
EditSuiv3.Hint:=chaine_element(feux[i].Btype_suiv3,feux[i].Adr_el_suiv3);
|
||||||
end
|
end
|
||||||
else begin EditDet3.Text:='';EditSuiv3.Text:='';end;
|
else begin EditDet3.Text:='';EditSuiv3.Text:='';EditSuiv3.Hint:='';end;
|
||||||
j:=feux[i].Adr_det4;
|
j:=feux[i].Adr_det4;
|
||||||
if j<>0 then
|
if j<>0 then
|
||||||
begin
|
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);
|
||||||
end
|
end
|
||||||
else begin EditDet4.Text:='';EditSuiv4.Text:='';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;
|
||||||
@@ -2601,7 +2641,7 @@ begin
|
|||||||
EditAdrSig.Color:=clWindow;
|
EditAdrSig.Color:=clWindow;
|
||||||
RE_ColorLine(Formconfig.RichSig,ligneClicSig,Clyellow);
|
RE_ColorLine(Formconfig.RichSig,ligneClicSig,Clyellow);
|
||||||
|
|
||||||
aff_champs_sig_feux(lc+1);
|
aff_champs_sig_feux(lc+1); // affiche les champs du feu
|
||||||
clicliste:=false;
|
clicliste:=false;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -4048,6 +4088,14 @@ begin
|
|||||||
ok:=false;
|
ok:=false;
|
||||||
Affiche('Erreur : Détecteur '+intToSTR(i)+' non existant mais associé au signal '+IntToSTR(feux[j].adresse),clred);
|
Affiche('Erreur : Détecteur '+intToSTR(i)+' non existant mais associé au signal '+IntToSTR(feux[j].adresse),clred);
|
||||||
end;
|
end;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
if feux[j].Aspect<10 then
|
||||||
|
begin
|
||||||
|
ok:=false;
|
||||||
|
Affiche('Erreur : Adresse de détecteur nul sur signal '+IntToSTR(feux[j].adresse),clred);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
i:=feux[j].Adr_det2;
|
i:=feux[j].Adr_det2;
|
||||||
@@ -5037,7 +5085,6 @@ begin
|
|||||||
if affevt then affiche('Evt change InvInit',clyellow);
|
if affevt then affiche('Evt change InvInit',clyellow);
|
||||||
s:=formconfig.RichAig.Lines[ligneclicAig];
|
s:=formconfig.RichAig.Lines[ligneclicAig];
|
||||||
Val(s,adrAig,erreur);
|
Val(s,adrAig,erreur);
|
||||||
if checkInvInit.Checked then aiguillage[Index_Aig(adraig)].Inversion:=1 else aiguillage[Index_Aig(adraig)].Inversion:=0;
|
|
||||||
// réencoder la ligne
|
// réencoder la ligne
|
||||||
s:=encode_aig(Index_Aig(AdrAig));
|
s:=encode_aig(Index_Aig(AdrAig));
|
||||||
formconfig.RichAig.Lines[ligneclicAig]:=s;
|
formconfig.RichAig.Lines[ligneclicAig]:=s;
|
||||||
|
|||||||
BIN
UnitPrinc.dcu
BIN
UnitPrinc.dcu
Binary file not shown.
@@ -216,13 +216,12 @@ TBranche = record
|
|||||||
position, // position actuelle : 1=dévié 2=droit (centrale LENZ)
|
position, // position actuelle : 1=dévié 2=droit (centrale LENZ)
|
||||||
posInit, // position d'initialisation 1=dévié 2=droit 9=non positionné
|
posInit, // position d'initialisation 1=dévié 2=droit 9=non positionné
|
||||||
Adrtriple, // 2eme adresse pour un aiguillage triple
|
Adrtriple, // 2eme adresse pour un aiguillage triple
|
||||||
temps, // temps de pilotage (durée de l'impulsion en x 100 ms)
|
temps, // temps de pilotage (durée de l'impulsion en x 100 ms
|
||||||
inversion : integer; // positionné dans fichier config_gl section_init
|
|
||||||
InversionCDM : integer ; // pour les aiguillages déclarés inversés dans CDM, utilisé en mode autonome (paramètre I1)
|
InversionCDM : integer ; // pour les aiguillages déclarés inversés dans CDM, utilisé en mode autonome (paramètre I1)
|
||||||
vitesse : integer; // vitesse de franchissement de l'aiguillage en position déviée (60 ou 90)
|
vitesse : integer; // vitesse de franchissement de l'aiguillage en position déviée (60 ou 90)
|
||||||
|
|
||||||
ADroit : integer ; // (TJD:identifiant extérieur) connecté sur la position droite en talon
|
ADroit : integer ; // (TJD:identifiant extérieur) connecté sur la position droite en talon
|
||||||
ADroitB : char ; // id de branche pour TJD
|
ADroitB : char ; // P D S Z
|
||||||
|
|
||||||
ADevie : integer ; // (TJD:identifiant extérieur) adresse de l'élément connecté en position déviée
|
ADevie : integer ; // (TJD:identifiant extérieur) adresse de l'élément connecté en position déviée
|
||||||
ADevieB : char; // caractère (D ou S)si aiguillage de l'élément connecté en position déviée
|
ADevieB : char; // caractère (D ou S)si aiguillage de l'élément connecté en position déviée
|
||||||
@@ -2634,7 +2633,7 @@ var s,sa,chaine,SOrigine: string;
|
|||||||
pds,trouve_section_branche,trouve_section_sig,trouve_section_act,compile_init_cfg : boolean;
|
pds,trouve_section_branche,trouve_section_sig,trouve_section_act,compile_init_cfg : boolean;
|
||||||
bd,virgule,i_detect,i,erreur,aig2,detect,offset,index, adresse,j,position,temporisation,invers,indexPointe,indexDevie,indexDroit,
|
bd,virgule,i_detect,i,erreur,aig2,detect,offset,index, adresse,j,position,temporisation,invers,indexPointe,indexDevie,indexDroit,
|
||||||
ComptEl,Compt_IT,Num_Element,k,modele,adr,adr2,erreur2,l,t,Nligne,postriple,itl,
|
ComptEl,Compt_IT,Num_Element,k,modele,adr,adr2,erreur2,l,t,Nligne,postriple,itl,
|
||||||
postjd,postjs,nv,it,Num_Champ,asp,inversion,adraig : integer;
|
postjd,postjs,nv,it,Num_Champ,asp,adraig : integer;
|
||||||
label ici1,ici2,ici3,ici4 ;
|
label ici1,ici2,ici3,ici4 ;
|
||||||
|
|
||||||
function lit_ligne : string ;
|
function lit_ligne : string ;
|
||||||
@@ -2654,41 +2653,6 @@ var s,sa,chaine,SOrigine: string;
|
|||||||
lit_ligne:=s;
|
lit_ligne:=s;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure compile_section_init;
|
|
||||||
var index : integer;
|
|
||||||
begin
|
|
||||||
//initialisation aiguillages
|
|
||||||
repeat
|
|
||||||
s:=lit_ligne;
|
|
||||||
j:=pos(',',s);
|
|
||||||
if j>1 then
|
|
||||||
begin
|
|
||||||
begin
|
|
||||||
Val(s,adresse,erreur);
|
|
||||||
Delete(s,1,j); // adresse aiguillage
|
|
||||||
if (adresse>0) and (AvecInitAiguillages) then
|
|
||||||
begin
|
|
||||||
j:=pos(',',s);
|
|
||||||
Val(s,position,erreur);
|
|
||||||
Delete(S,1,j);// position aiguillage
|
|
||||||
if (position<1) or (position>2) then position:=1;
|
|
||||||
index:=Index_Aig(adresse);
|
|
||||||
aiguillage[index].posInit:=position;
|
|
||||||
|
|
||||||
// temporisation aiguillage
|
|
||||||
j:=pos(',',s);if j=0 then j:=length(s);
|
|
||||||
val(s,temporisation,erreur);Delete(S,1,j);
|
|
||||||
if (temporisation<0) or (temporisation>10) then temporisation:=5;
|
|
||||||
aiguillage[index].temps:=temporisation;
|
|
||||||
|
|
||||||
val(s,invers,erreur);
|
|
||||||
if (invers<0) or (invers>1) then invers:=0; // inversion commande
|
|
||||||
aiguillage[index].inversion:=invers;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
until (adresse=0);
|
|
||||||
end;
|
|
||||||
|
|
||||||
begin
|
begin
|
||||||
compile_init_cfg:=true;
|
compile_init_cfg:=true;
|
||||||
@@ -2723,7 +2687,6 @@ begin
|
|||||||
Aiguillage[i].position:=const_inconnu; // position inconnue
|
Aiguillage[i].position:=const_inconnu; // position inconnue
|
||||||
Aiguillage[i].PosInit:=const_inconnu; // position inconnue
|
Aiguillage[i].PosInit:=const_inconnu; // position inconnue
|
||||||
Aiguillage[i].temps:=5 ;
|
Aiguillage[i].temps:=5 ;
|
||||||
Aiguillage[i].inversion:=0;
|
|
||||||
Aiguillage[i].inversionCDM:=0;
|
Aiguillage[i].inversionCDM:=0;
|
||||||
end;
|
end;
|
||||||
for i:=1 to 1024 do
|
for i:=1 to 1024 do
|
||||||
@@ -3005,11 +2968,11 @@ begin
|
|||||||
i:=pos(',',enregistrement);
|
i:=pos(',',enregistrement);
|
||||||
if i<>0 then delete(enregistrement,1,i);
|
if i<>0 then delete(enregistrement,1,i);
|
||||||
Val(enregistrement,j,erreur);
|
Val(enregistrement,j,erreur);
|
||||||
i:=pos(',',enregistrement);
|
//i:=pos(',',enregistrement);
|
||||||
if i<>0 then delete(enregistrement,1,i);
|
//if i<>0 then delete(enregistrement,1,i);
|
||||||
Val(enregistrement,inversion,erreur);
|
//Val(enregistrement,inversion,erreur);
|
||||||
aiguillage[maxaiguillage].temps:=j;
|
aiguillage[maxaiguillage].temps:=j;
|
||||||
aiguillage[maxaiguillage].inversion:=inversion;
|
//aiguillage[maxaiguillage].inversion:=inversion;
|
||||||
aiguillage[maxaiguillage].posinit:=position;
|
aiguillage[maxaiguillage].posinit:=position;
|
||||||
i:=pos(')',enregistrement);
|
i:=pos(')',enregistrement);
|
||||||
delete(enregistrement,1,i);
|
delete(enregistrement,1,i);
|
||||||
@@ -3427,21 +3390,6 @@ begin
|
|||||||
val(s,Tempo_Aig,erreur);
|
val(s,Tempo_Aig,erreur);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
i:=pos(uppercase(section_init),s);
|
|
||||||
if (i<>0) then
|
|
||||||
begin
|
|
||||||
if compile_init_cfg then
|
|
||||||
begin
|
|
||||||
trouve_sec_init:=true;
|
|
||||||
compile_section_init;
|
|
||||||
inc(nv);
|
|
||||||
Affiche('compilation de la section [init aig]',cllime);
|
|
||||||
end;
|
|
||||||
Affiche('Attention la section [init_aig] n''est plus gérée, elle est déplacée dans la configuration des aiguillages',clWhite);
|
|
||||||
Affiche('Veuillez regénérer les fichiers de configuration: ',clWhite);
|
|
||||||
Affiche('Menu Divers/configuration bouton "Enregistrement de la configuration et fermer"',clWhite);
|
|
||||||
end;
|
|
||||||
|
|
||||||
sa:=uppercase(verif_version_ch)+'=';
|
sa:=uppercase(verif_version_ch)+'=';
|
||||||
i:=pos(sa,s);
|
i:=pos(sa,s);
|
||||||
if i<>0 then
|
if i<>0 then
|
||||||
@@ -3542,7 +3490,6 @@ begin
|
|||||||
if not(trouve_NbDetDist) then s:=nb_det_dist_ch;
|
if not(trouve_NbDetDist) then s:=nb_det_dist_ch;
|
||||||
if not(trouve_ipv4_PC) then s:=IpV4_PC_ch;
|
if not(trouve_ipv4_PC) then s:=IpV4_PC_ch;
|
||||||
if not(trouve_retro) then s:=retro_ch;
|
if not(trouve_retro) then s:=retro_ch;
|
||||||
//if not(trouve_sec_init) and compile_init_cfg then s:=section_init;
|
|
||||||
if not(trouve_init_aig) then s:=INIT_AIG_ch;
|
if not(trouve_init_aig) then s:=INIT_AIG_ch;
|
||||||
if not(trouve_lay) then s:=LAY_ch;
|
if not(trouve_lay) then s:=LAY_ch;
|
||||||
if not(trouve_INTER_CAR) then s:=INTER_CAR_ch;
|
if not(trouve_INTER_CAR) then s:=INTER_CAR_ch;
|
||||||
@@ -5907,6 +5854,14 @@ var groupe,temps,index : integer ;
|
|||||||
label mise0;
|
label mise0;
|
||||||
begin
|
begin
|
||||||
//Affiche(IntToSTR(adresse)+' '+intToSTr(octet),clYellow);
|
//Affiche(IntToSTR(adresse)+' '+intToSTr(octet),clYellow);
|
||||||
|
|
||||||
|
index:=index_aig(adresse);
|
||||||
|
|
||||||
|
// test si pilotage aiguillage inversé
|
||||||
|
if (acc=aigP) and (aiguillage[index].inversionCDM=1) then
|
||||||
|
begin
|
||||||
|
if octet=1 then octet:=2 else octet:=1;
|
||||||
|
end;
|
||||||
|
|
||||||
// pilotage par CDM rail -----------------
|
// pilotage par CDM rail -----------------
|
||||||
if CDM_connecte then
|
if CDM_connecte then
|
||||||
@@ -5926,13 +5881,6 @@ begin
|
|||||||
// pilotage par USB ou par éthernet de la centrale ------------
|
// pilotage par USB ou par éthernet de la centrale ------------
|
||||||
if (hors_tension2=false) and (portCommOuvert or parSocketLenz) then
|
if (hors_tension2=false) and (portCommOuvert or parSocketLenz) then
|
||||||
begin
|
begin
|
||||||
// test si pilotage aiguillage inversé
|
|
||||||
index:=index_aig(adresse);
|
|
||||||
if (acc=aigP) and (aiguillage[index].inversion=1) then
|
|
||||||
begin
|
|
||||||
if octet=1 then octet:=2 else octet:=1;
|
|
||||||
end;
|
|
||||||
|
|
||||||
if (octet=0) or (octet>2) then exit;
|
if (octet=0) or (octet>2) then exit;
|
||||||
|
|
||||||
groupe:=(adresse-1) div 4;
|
groupe:=(adresse-1) div 4;
|
||||||
|
|||||||
BIN
UnitTCO.dcu
BIN
UnitTCO.dcu
Binary file not shown.
Binary file not shown.
@@ -24,7 +24,7 @@ var
|
|||||||
verifVersion,notificationVersion : boolean;
|
verifVersion,notificationVersion : boolean;
|
||||||
|
|
||||||
Const Version='3.2'; // sert à la comparaison de la version publiée
|
Const Version='3.2'; // sert à la comparaison de la version publiée
|
||||||
SousVersion=' '; // en cas d'absence de sous version mettre un espace
|
SousVersion='C'; // en cas d'absence de sous version mettre un espace
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
|||||||
@@ -62,6 +62,9 @@ version 3.1 : Renforcement de la v
|
|||||||
Correction d'un bug sur l'affichage des rappels de ralentissement non présentés.
|
Correction d'un bug sur l'affichage des rappels de ralentissement non présentés.
|
||||||
Correction d'un bug sur certains évènements aiguillages.
|
Correction d'un bug sur certains évènements aiguillages.
|
||||||
Correction d'un bug sur présence train avant signal sur aiguille en talon mal positionnée.
|
Correction d'un bug sur présence train avant signal sur aiguille en talon mal positionnée.
|
||||||
|
version 3.2 : Correction bug cohérence signal unisemaf.
|
||||||
|
: Simplification des aiguillages pilotés inversés
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user