V4.8
This commit is contained in:
Binary file not shown.
Binary file not shown.
+86
-63
@@ -1,11 +1,11 @@
|
|||||||
object FormConfig: TFormConfig
|
object FormConfig: TFormConfig
|
||||||
Left = 281
|
Left = 218
|
||||||
Top = 138
|
Top = 143
|
||||||
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'
|
||||||
ClientHeight = 543
|
ClientHeight = 552
|
||||||
ClientWidth = 902
|
ClientWidth = 901
|
||||||
Color = clBtnFace
|
Color = clBtnFace
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clWindowText
|
Font.Color = clWindowText
|
||||||
@@ -1521,22 +1521,22 @@ object FormConfig: TFormConfig
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Label19: TLabel
|
object Label19: TLabel
|
||||||
Left = 104
|
Left = 808
|
||||||
Top = 104
|
Top = 96
|
||||||
Width = 75
|
Width = 75
|
||||||
Height = 13
|
Height = 13
|
||||||
Caption = 'Element suivant'
|
Caption = 'Element suivant'
|
||||||
end
|
end
|
||||||
object Label10: TLabel
|
object Label10: TLabel
|
||||||
Left = 80
|
Left = 792
|
||||||
Top = 120
|
Top = 104
|
||||||
Width = 105
|
Width = 105
|
||||||
Height = 13
|
Height = 13
|
||||||
Caption = 'Verrouillable au carr'#233' :'
|
Caption = 'Verrouillable au carr'#233' :'
|
||||||
end
|
end
|
||||||
object Label29: TLabel
|
object Label29: TLabel
|
||||||
Left = 144
|
Left = 856
|
||||||
Top = 68
|
Top = 76
|
||||||
Width = 6
|
Width = 6
|
||||||
Height = 13
|
Height = 13
|
||||||
Caption = #224
|
Caption = #224
|
||||||
@@ -1551,9 +1551,20 @@ object FormConfig: TFormConfig
|
|||||||
'ouche ENTREE apr'#232's leur introduction/modification'
|
'ouche ENTREE apr'#232's leur introduction/modification'
|
||||||
WordWrap = True
|
WordWrap = True
|
||||||
end
|
end
|
||||||
|
object Label40: TLabel
|
||||||
|
Left = 656
|
||||||
|
Top = 496
|
||||||
|
Width = 222
|
||||||
|
Height = 39
|
||||||
|
Caption =
|
||||||
|
'Les actionneurs ne sont utilisables qu'#39'en mode RUN avec CDM Rail' +
|
||||||
|
'. Les d'#233'tecteurs sont utilisables en mode autonome.'
|
||||||
|
Visible = False
|
||||||
|
WordWrap = True
|
||||||
|
end
|
||||||
object ButtonAppliquerEtFermer: TButton
|
object ButtonAppliquerEtFermer: TButton
|
||||||
Left = 240
|
Left = 240
|
||||||
Top = 512
|
Top = 520
|
||||||
Width = 201
|
Width = 201
|
||||||
Height = 25
|
Height = 25
|
||||||
Hint = 'Enregistre la configuration et ferme la fen'#234'tre'
|
Hint = 'Enregistre la configuration et ferme la fen'#234'tre'
|
||||||
@@ -1565,7 +1576,7 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object Button2: TButton
|
object Button2: TButton
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 512
|
Top = 520
|
||||||
Width = 201
|
Width = 201
|
||||||
Height = 25
|
Height = 25
|
||||||
Hint = 'Ferme la fen'#234'tre sans enregistrer la configuration'
|
Hint = 'Ferme la fen'#234'tre sans enregistrer la configuration'
|
||||||
@@ -1579,7 +1590,7 @@ object FormConfig: TFormConfig
|
|||||||
Left = 8
|
Left = 8
|
||||||
Top = 8
|
Top = 8
|
||||||
Width = 633
|
Width = 633
|
||||||
Height = 497
|
Height = 505
|
||||||
ActivePage = TabSheetSig
|
ActivePage = TabSheetSig
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clBlack
|
Font.Color = clBlack
|
||||||
@@ -3082,7 +3093,7 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object CheckVerrouCarre: TCheckBox
|
object CheckVerrouCarre: TCheckBox
|
||||||
Left = 120
|
Left = 120
|
||||||
Top = 232
|
Top = 216
|
||||||
Width = 145
|
Width = 145
|
||||||
Height = 17
|
Height = 17
|
||||||
Hint =
|
Hint =
|
||||||
@@ -3147,7 +3158,7 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object CheckBoxFB: TCheckBox
|
object CheckBoxFB: TCheckBox
|
||||||
Left = 120
|
Left = 120
|
||||||
Top = 256
|
Top = 264
|
||||||
Width = 153
|
Width = 153
|
||||||
Height = 17
|
Height = 17
|
||||||
Caption = 'Avec demande feu blanc'
|
Caption = 'Avec demande feu blanc'
|
||||||
@@ -3164,6 +3175,30 @@ object FormConfig: TFormConfig
|
|||||||
Visible = False
|
Visible = False
|
||||||
OnClick = ButtonConfigSRClick
|
OnClick = ButtonConfigSRClick
|
||||||
end
|
end
|
||||||
|
object CheckFVC: TCheckBox
|
||||||
|
Left = 120
|
||||||
|
Top = 232
|
||||||
|
Width = 145
|
||||||
|
Height = 17
|
||||||
|
Hint = 'Remplace le feu vert par un feu vert clignotant'
|
||||||
|
Caption = 'Feu vert clignotant'
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
|
TabOrder = 17
|
||||||
|
OnClick = CheckFVCClick
|
||||||
|
end
|
||||||
|
object CheckFRC: TCheckBox
|
||||||
|
Left = 120
|
||||||
|
Top = 248
|
||||||
|
Width = 145
|
||||||
|
Height = 17
|
||||||
|
Hint = 'Remplace le s'#233'maphore par un feu rouge clignotant'
|
||||||
|
Caption = 'Feu rouge clignotant'
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
|
TabOrder = 18
|
||||||
|
OnClick = CheckFRCClick
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object RichSig: TRichEdit
|
object RichSig: TRichEdit
|
||||||
Left = 0
|
Left = 0
|
||||||
@@ -3233,17 +3268,6 @@ object FormConfig: TFormConfig
|
|||||||
TabOrder = 6
|
TabOrder = 6
|
||||||
OnChange = EditTempoFeuChange
|
OnChange = EditTempoFeuChange
|
||||||
end
|
end
|
||||||
object CheckBoxFVR: TCheckBox
|
|
||||||
Left = 0
|
|
||||||
Top = 416
|
|
||||||
Width = 281
|
|
||||||
Height = 17
|
|
||||||
Hint = 'Le changement de cette option n'#233'cessite un red'#233'marrage'
|
|
||||||
Caption = 'Gestion feux verts et s'#233'maphore clignotants'
|
|
||||||
ParentShowHint = False
|
|
||||||
ShowHint = True
|
|
||||||
TabOrder = 7
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
object TabSheetAct: TTabSheet
|
object TabSheetAct: TTabSheet
|
||||||
Caption = 'Actionneurs/D'#233'tecteurs'
|
Caption = 'Actionneurs/D'#233'tecteurs'
|
||||||
@@ -3264,21 +3288,11 @@ object FormConfig: TFormConfig
|
|||||||
Height = 441
|
Height = 441
|
||||||
Caption = 'Description de l'#39'action'
|
Caption = 'Description de l'#39'action'
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object Label40: TLabel
|
|
||||||
Left = 16
|
|
||||||
Top = 384
|
|
||||||
Width = 222
|
|
||||||
Height = 39
|
|
||||||
Caption =
|
|
||||||
'Les actionneurs ne sont utilisables qu'#39'en mode RUN avec CDM Rail' +
|
|
||||||
'. Les d'#233'tecteurs sont utilisables en mode autonome.'
|
|
||||||
WordWrap = True
|
|
||||||
end
|
|
||||||
object GroupBoxPN: TGroupBox
|
object GroupBoxPN: TGroupBox
|
||||||
Left = 8
|
Left = 0
|
||||||
Top = 16
|
Top = 24
|
||||||
Width = 233
|
Width = 233
|
||||||
Height = 353
|
Height = 401
|
||||||
Caption = 'Action gestion passage '#224' niveau'
|
Caption = 'Action gestion passage '#224' niveau'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = False
|
ShowHint = False
|
||||||
@@ -3683,8 +3697,8 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
object GroupBoxRadio: TGroupBox
|
object GroupBoxRadio: TGroupBox
|
||||||
Left = 16
|
Left = 8
|
||||||
Top = 128
|
Top = 16
|
||||||
Width = 225
|
Width = 225
|
||||||
Height = 73
|
Height = 73
|
||||||
Caption = 'Type d'#39'action'
|
Caption = 'Type d'#39'action'
|
||||||
@@ -3719,21 +3733,21 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object GroupBoxAct: TGroupBox
|
object GroupBoxAct: TGroupBox
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 148
|
Top = 84
|
||||||
Width = 225
|
Width = 233
|
||||||
Height = 293
|
Height = 341
|
||||||
Caption = 'Action fonction de locomotive '
|
Caption = 'Action fonction de locomotive '
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
object GroupBox18: TGroupBox
|
object GroupBox18: TGroupBox
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 16
|
Top = 16
|
||||||
Width = 209
|
Width = 217
|
||||||
Height = 137
|
Height = 153
|
||||||
Caption = 'D'#233'clencheur '
|
Caption = 'D'#233'clencheur '
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object LabelActionneur: TLabel
|
object LabelActionneur: TLabel
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 80
|
Top = 96
|
||||||
Width = 54
|
Width = 54
|
||||||
Height = 26
|
Height = 26
|
||||||
Caption = 'Actionneur D'#233'tecteurZ'
|
Caption = 'Actionneur D'#233'tecteurZ'
|
||||||
@@ -3741,21 +3755,21 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object Label30: TLabel
|
object Label30: TLabel
|
||||||
Left = 168
|
Left = 168
|
||||||
Top = 88
|
Top = 104
|
||||||
Width = 6
|
Width = 6
|
||||||
Height = 13
|
Height = 13
|
||||||
Caption = #224
|
Caption = #224
|
||||||
end
|
end
|
||||||
object LabelTrain: TLabel
|
object LabelTrain: TLabel
|
||||||
Left = 16
|
Left = 16
|
||||||
Top = 110
|
Top = 126
|
||||||
Width = 49
|
Width = 49
|
||||||
Height = 13
|
Height = 13
|
||||||
Caption = 'Train D'#233'cl'
|
Caption = 'Train D'#233'cl'
|
||||||
end
|
end
|
||||||
object EditAct: TEdit
|
object EditAct: TEdit
|
||||||
Left = 72
|
Left = 72
|
||||||
Top = 84
|
Top = 100
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
@@ -3765,7 +3779,7 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object EditEtatActionneur: TEdit
|
object EditEtatActionneur: TEdit
|
||||||
Left = 184
|
Left = 184
|
||||||
Top = 84
|
Top = 100
|
||||||
Width = 17
|
Width = 17
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
@@ -3773,7 +3787,7 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object EditTrainDecl: TEdit
|
object EditTrainDecl: TEdit
|
||||||
Left = 72
|
Left = 72
|
||||||
Top = 108
|
Top = 124
|
||||||
Width = 129
|
Width = 129
|
||||||
Height = 21
|
Height = 21
|
||||||
Hint =
|
Hint =
|
||||||
@@ -3788,7 +3802,7 @@ object FormConfig: TFormConfig
|
|||||||
Left = 8
|
Left = 8
|
||||||
Top = 16
|
Top = 16
|
||||||
Width = 193
|
Width = 193
|
||||||
Height = 57
|
Height = 73
|
||||||
Caption = 'Type de d'#233'clenchement'
|
Caption = 'Type de d'#233'clenchement'
|
||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
end
|
end
|
||||||
@@ -3812,18 +3826,27 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object EditAct2: TEdit
|
object EditAct2: TEdit
|
||||||
Left = 120
|
Left = 120
|
||||||
Top = 84
|
Top = 100
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 6
|
TabOrder = 6
|
||||||
OnChange = EditAct2Change
|
OnChange = EditAct2Change
|
||||||
end
|
end
|
||||||
|
object RadioButtonAig: TRadioButton
|
||||||
|
Left = 32
|
||||||
|
Top = 64
|
||||||
|
Width = 145
|
||||||
|
Height = 17
|
||||||
|
Caption = 'Ev'#232'nement aiguillage'
|
||||||
|
TabOrder = 7
|
||||||
|
OnClick = RadioButtonAigClick
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object GroupBox19: TGroupBox
|
object GroupBox19: TGroupBox
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 160
|
Top = 176
|
||||||
Width = 209
|
Width = 217
|
||||||
Height = 113
|
Height = 129
|
||||||
Caption = 'Destinataire de l'#39'action '
|
Caption = 'Destinataire de l'#39'action '
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
object LabelTempo: TLabel
|
object LabelTempo: TLabel
|
||||||
@@ -3859,7 +3882,7 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object SpeedButtonJoue: TSpeedButton
|
object SpeedButtonJoue: TSpeedButton
|
||||||
Left = 56
|
Left = 56
|
||||||
Top = 80
|
Top = 88
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 33
|
Height = 33
|
||||||
Hint = 'Joue le son'
|
Hint = 'Joue le son'
|
||||||
@@ -3882,7 +3905,7 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object SpeedButtonCharger: TSpeedButton
|
object SpeedButtonCharger: TSpeedButton
|
||||||
Left = 120
|
Left = 120
|
||||||
Top = 80
|
Top = 88
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 34
|
Height = 34
|
||||||
Hint = 'Ouvre un fichier son WAV'
|
Hint = 'Ouvre un fichier son WAV'
|
||||||
@@ -3963,7 +3986,7 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object CheckRAZ: TCheckBox
|
object CheckRAZ: TCheckBox
|
||||||
Left = 32
|
Left = 32
|
||||||
Top = 40
|
Top = 48
|
||||||
Width = 145
|
Width = 145
|
||||||
Height = 17
|
Height = 17
|
||||||
Caption = 'Remise '#224' 0 apr'#232's pilotage'
|
Caption = 'Remise '#224' 0 apr'#232's pilotage'
|
||||||
@@ -4011,7 +4034,7 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object ButtonTestAct: TButton
|
object ButtonTestAct: TButton
|
||||||
Left = 64
|
Left = 64
|
||||||
Top = 266
|
Top = 306
|
||||||
Width = 89
|
Width = 89
|
||||||
Height = 20
|
Height = 20
|
||||||
Hint = 'Test de l'#39'actionneur/d'#233'tecteur en mode RUN'
|
Hint = 'Test de l'#39'actionneur/d'#233'tecteur en mode RUN'
|
||||||
@@ -4072,7 +4095,7 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object GroupBox17: TGroupBox
|
object GroupBox17: TGroupBox
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 232
|
Top = 224
|
||||||
Width = 345
|
Width = 345
|
||||||
Height = 193
|
Height = 193
|
||||||
Caption = 'Actionneurs passage '#224' niveau'
|
Caption = 'Actionneurs passage '#224' niveau'
|
||||||
@@ -4121,7 +4144,7 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object ButtonEnregistre: TButton
|
object ButtonEnregistre: TButton
|
||||||
Left = 472
|
Left = 472
|
||||||
Top = 512
|
Top = 520
|
||||||
Width = 169
|
Width = 169
|
||||||
Height = 25
|
Height = 25
|
||||||
Hint = 'Enregistre la configuration sans fermer la fen'#234'tre'
|
Hint = 'Enregistre la configuration sans fermer la fen'#234'tre'
|
||||||
|
|||||||
+256
-122
@@ -219,7 +219,6 @@ type
|
|||||||
Label39: TLabel;
|
Label39: TLabel;
|
||||||
EditV4F: TEdit;
|
EditV4F: TEdit;
|
||||||
EditV4O: TEdit;
|
EditV4O: TEdit;
|
||||||
Label40: TLabel;
|
|
||||||
Label41: TLabel;
|
Label41: TLabel;
|
||||||
EditFonte: TEdit;
|
EditFonte: TEdit;
|
||||||
ComboBoxDD: TComboBox;
|
ComboBoxDD: TComboBox;
|
||||||
@@ -286,7 +285,10 @@ type
|
|||||||
Button1: TButton;
|
Button1: TButton;
|
||||||
Button3: TButton;
|
Button3: TButton;
|
||||||
CheckPnPulse: TCheckBox;
|
CheckPnPulse: TCheckBox;
|
||||||
CheckBoxFVR: TCheckBox;
|
CheckFVC: TCheckBox;
|
||||||
|
CheckFRC: TCheckBox;
|
||||||
|
Label40: TLabel;
|
||||||
|
RadioButtonAig: TRadioButton;
|
||||||
procedure ButtonAppliquerEtFermerClick(Sender: TObject);
|
procedure ButtonAppliquerEtFermerClick(Sender: TObject);
|
||||||
procedure FormActivate(Sender: TObject);
|
procedure FormActivate(Sender: TObject);
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
@@ -412,6 +414,9 @@ type
|
|||||||
procedure Button1Click(Sender: TObject);
|
procedure Button1Click(Sender: TObject);
|
||||||
procedure Button3Click(Sender: TObject);
|
procedure Button3Click(Sender: TObject);
|
||||||
procedure CheckPnPulseClick(Sender: TObject);
|
procedure CheckPnPulseClick(Sender: TObject);
|
||||||
|
procedure CheckFVCClick(Sender: TObject);
|
||||||
|
procedure CheckFRCClick(Sender: TObject);
|
||||||
|
procedure RadioButtonAigClick(Sender: TObject);
|
||||||
private
|
private
|
||||||
{ Déclarations privées }
|
{ Déclarations privées }
|
||||||
public
|
public
|
||||||
@@ -447,7 +452,6 @@ NOTIF_VERSION_ch='NOTIF_VERSION';
|
|||||||
verif_version_ch='verif_version';
|
verif_version_ch='verif_version';
|
||||||
Fonte_ch='Fonte';
|
Fonte_ch='Fonte';
|
||||||
Raz_signaux_ch='RazSignaux';
|
Raz_signaux_ch='RazSignaux';
|
||||||
AvecFVR_ch='FeuxVertRougeCli';
|
|
||||||
|
|
||||||
// sections de config
|
// sections de config
|
||||||
section_aig_ch='[section_aig]';
|
section_aig_ch='[section_aig]';
|
||||||
@@ -841,6 +845,11 @@ begin
|
|||||||
|
|
||||||
//verrouillage au carré
|
//verrouillage au carré
|
||||||
if feux[i].verrouCarre then s:=s+'1' else s:=s+'0';
|
if feux[i].verrouCarre then s:=s+'1' else s:=s+'0';
|
||||||
|
// feu vert cli
|
||||||
|
if feux[i].checkFV then s:=s+',FVC1' else s:=s+',FVC0';
|
||||||
|
// feu rouge cli
|
||||||
|
if feux[i].checkFR then s:=s+',FRC1' else s:=s+',FRC0';
|
||||||
|
|
||||||
// si unsemaf, paramètre supplémentaire
|
// si unsemaf, paramètre supplémentaire
|
||||||
if feux[i].decodeur=6 then s:=s+',U'+intToSTR(feux[i].unisemaf);
|
if feux[i].decodeur=6 then s:=s+',U'+intToSTR(feux[i].unisemaf);
|
||||||
|
|
||||||
@@ -1049,6 +1058,19 @@ begin
|
|||||||
if length(s)=0 then begin Affiche('Erreur 679: fichier de configuration ligne erronnée : '+chaine_signal,clred); closefile(fichier);exit;end;
|
if length(s)=0 then begin Affiche('Erreur 679: fichier de configuration ligne erronnée : '+chaine_signal,clred); closefile(fichier);exit;end;
|
||||||
feux[i].VerrouCarre:=s[1]='1';
|
feux[i].VerrouCarre:=s[1]='1';
|
||||||
delete(s,1,1);
|
delete(s,1,1);
|
||||||
|
if length(s)>0 then if s[1]=',' then delete(s,1,1);
|
||||||
|
if copy(s,1,3)='FVC' then
|
||||||
|
begin
|
||||||
|
delete(s,1,3);
|
||||||
|
if length(s)>0 then begin feux[i].checkFV:=s[1]='1';delete(s,1,1);end;
|
||||||
|
end;
|
||||||
|
if length(s)>0 then if s[1]=',' then delete(s,1,1);
|
||||||
|
if copy(s,1,3)='FRC' then
|
||||||
|
begin
|
||||||
|
delete(s,1,3);
|
||||||
|
if length(s)>0 then begin feux[i].checkFR:=s[1]='1';delete(s,1,1);end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
if length(s)>0 then if s[1]=',' then delete(s,1,1);
|
if length(s)>0 then if s[1]=',' then delete(s,1,1);
|
||||||
if length(s)>0 then if s[1]='U' then delete(s,1,1);
|
if length(s)>0 then if s[1]='U' then delete(s,1,1);
|
||||||
@@ -1141,18 +1163,24 @@ var s : string;
|
|||||||
begin
|
begin
|
||||||
// adresse
|
// adresse
|
||||||
adresse:=Tablo_Actionneur[i].adresse;
|
adresse:=Tablo_Actionneur[i].adresse;
|
||||||
|
|
||||||
|
|
||||||
if Tablo_Actionneur[i].typActMemZone=0 then
|
// type actionneur
|
||||||
|
case Tablo_Actionneur[i].typdeclenche of
|
||||||
|
0 :
|
||||||
begin
|
begin
|
||||||
s:=IntToSTR(adresse); if tablo_actionneur[i].det then s:=s+'Z';
|
s:=IntToSTR(adresse); if tablo_actionneur[i].det then s:=s+'Z';
|
||||||
end
|
end;
|
||||||
else
|
// type mémoire de zone
|
||||||
|
1 :
|
||||||
begin
|
begin
|
||||||
s:='Mem['+IntToSTR(adresse)+','+IntToSTR(Tablo_Actionneur[i].adresse2)+']';
|
s:='Mem['+IntToSTR(adresse)+','+IntToSTR(Tablo_Actionneur[i].adresse2)+']';
|
||||||
end;
|
end;
|
||||||
|
// type aiguillage
|
||||||
|
2 :
|
||||||
|
begin
|
||||||
|
s:='A'+IntToSTR(adresse);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
if Tablo_Actionneur[i].loco then
|
if Tablo_Actionneur[i].loco then
|
||||||
s:=s+','+IntToSTR(Tablo_Actionneur[i].Etat)+','+Tablo_Actionneur[i].trainDecl+',F'+
|
s:=s+','+IntToSTR(Tablo_Actionneur[i].Etat)+','+Tablo_Actionneur[i].trainDecl+',F'+
|
||||||
@@ -1309,9 +1337,6 @@ begin
|
|||||||
if Raz_Acc_signaux then s:='1' else s:='0';
|
if Raz_Acc_signaux then s:='1' else s:='0';
|
||||||
writeln(fichierN,Raz_signaux_ch+'='+s);
|
writeln(fichierN,Raz_signaux_ch+'='+s);
|
||||||
|
|
||||||
if AvecFVR then s:='1' else s:='0';
|
|
||||||
writeln(fichierN,AvecFVR_ch+'='+s);
|
|
||||||
|
|
||||||
// temporisation entre 2 commandes décodeurs feu
|
// temporisation entre 2 commandes décodeurs feu
|
||||||
writeln(fichierN,Tempo_feu_ch+'=',IntToSTR(Tempo_feu));
|
writeln(fichierN,Tempo_feu_ch+'=',IntToSTR(Tempo_feu));
|
||||||
|
|
||||||
@@ -1466,7 +1491,7 @@ begin
|
|||||||
Tablo_actionneur[i].etat:=0;
|
Tablo_actionneur[i].etat:=0;
|
||||||
Tablo_actionneur[i].adresse:=0;
|
Tablo_actionneur[i].adresse:=0;
|
||||||
Tablo_actionneur[i].adresse2:=0;
|
Tablo_actionneur[i].adresse2:=0;
|
||||||
Tablo_Actionneur[i].typActMemZone:=0;
|
Tablo_Actionneur[i].typdeclenche:=0;
|
||||||
Tablo_actionneur[i].accessoire:=0;
|
Tablo_actionneur[i].accessoire:=0;
|
||||||
Tablo_actionneur[i].sortie:=0;
|
Tablo_actionneur[i].sortie:=0;
|
||||||
Tablo_actionneur[i].fichierSon:='';
|
Tablo_actionneur[i].fichierSon:='';
|
||||||
@@ -1485,10 +1510,20 @@ begin
|
|||||||
s:=lit_ligne;
|
s:=lit_ligne;
|
||||||
sa:=s; sOrigine:=s;
|
sa:=s; sOrigine:=s;
|
||||||
|
|
||||||
|
if s[1]='A' then
|
||||||
|
begin
|
||||||
|
Tablo_actionneur[maxtablo_act].typdeclenche:=2; // type aiguillage
|
||||||
|
Delete(sa,1,1);
|
||||||
|
val(sa,j,erreur);
|
||||||
|
Tablo_actionneur[maxtablo_act].adresse:=j;
|
||||||
|
delete(sa,1,erreur);
|
||||||
|
s:=sa;
|
||||||
|
end;
|
||||||
|
|
||||||
i:=pos('MEM[',sOrigine);
|
i:=pos('MEM[',sOrigine);
|
||||||
if i>0 then
|
if i>0 then
|
||||||
begin
|
begin
|
||||||
Tablo_actionneur[maxtablo_act].typActMemZone:=1; // type mémoire de zone
|
Tablo_actionneur[maxtablo_act].typdeclenche:=1; // type mémoire de zone
|
||||||
Delete(sa,1,4);
|
Delete(sa,1,4);
|
||||||
val(sa,j,erreur);
|
val(sa,j,erreur);
|
||||||
Tablo_actionneur[maxtablo_act].adresse:=j;
|
Tablo_actionneur[maxtablo_act].adresse:=j;
|
||||||
@@ -1503,12 +1538,12 @@ begin
|
|||||||
|
|
||||||
if length(sOrigine)>1 then
|
if length(sOrigine)>1 then
|
||||||
begin
|
begin
|
||||||
if (sOrigine[1]<>'(') and (pos('MEM[',sOrigine)=0) then // si pas détecteur de PN
|
if (sOrigine[1]<>'(') and (sorigine[1]<>'A') and (pos('MEM[',sOrigine)=0) then // si pas détecteur de PN
|
||||||
begin
|
begin
|
||||||
Tablo_actionneur[maxtablo_act].typActMemZone:=0; // type actionneur
|
Tablo_actionneur[maxtablo_act].typdeclenche:=0; // type actionneur
|
||||||
val(sa,j,erreur);
|
val(sa,j,erreur);
|
||||||
Tablo_actionneur[maxtablo_act].adresse:=j;
|
Tablo_actionneur[maxtablo_act].adresse:=j;
|
||||||
if erreur<>0 then Tablo_actionneur[maxTablo_act].det:=sa[erreur]='Z'
|
if erreur<>0 then Tablo_actionneur[maxTablo_act].det:=sa[erreur]='Z'
|
||||||
else Affiche('Erreur actionneur '+sOrigine,clred);
|
else Affiche('Erreur actionneur '+sOrigine,clred);
|
||||||
delete(sa,1,erreur);
|
delete(sa,1,erreur);
|
||||||
s:=sa;
|
s:=sa;
|
||||||
@@ -2316,20 +2351,6 @@ begin
|
|||||||
Raz_Acc_signaux:=i=1;
|
Raz_Acc_signaux:=i=1;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
sa:=uppercase(AvecFVR_ch)+'=';
|
|
||||||
i:=pos(sa,s);
|
|
||||||
if i=1 then
|
|
||||||
begin
|
|
||||||
inc(nv);
|
|
||||||
trouve_FVR:=true;
|
|
||||||
delete(s,i,length(sa));
|
|
||||||
val(s,i,erreur);
|
|
||||||
if i>1 then i:=1;
|
|
||||||
AvecFVR:=i=1;
|
|
||||||
if avecFVR then espY:=48 else espY:=15; // espacement Y entre deux lignes de feux
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
// section aiguillages
|
// section aiguillages
|
||||||
sa:=uppercase(section_aig_ch);
|
sa:=uppercase(section_aig_ch);
|
||||||
if pos(sa,s)<>0 then
|
if pos(sa,s)<>0 then
|
||||||
@@ -2397,8 +2418,8 @@ begin
|
|||||||
trouve_demcnxEth:=false;
|
trouve_demcnxEth:=false;
|
||||||
trouve_Algo_Uni:=false;
|
trouve_Algo_Uni:=false;
|
||||||
trouve_Nb_cantons_Sig:=false;
|
trouve_Nb_cantons_Sig:=false;
|
||||||
trouve_FVR:=false;
|
//trouve_FVR:=false;
|
||||||
|
|
||||||
if not(trouve_tempo_feu) then
|
if not(trouve_tempo_feu) then
|
||||||
begin
|
begin
|
||||||
s:=tempo_feu_ch;
|
s:=tempo_feu_ch;
|
||||||
@@ -2408,7 +2429,6 @@ begin
|
|||||||
if not(trouve_NOTIF_VERSION) then s:=NOTIF_VERSION_ch;
|
if not(trouve_NOTIF_VERSION) then s:=NOTIF_VERSION_ch;
|
||||||
if not(trouve_verif_version) then s:=verif_version_ch;
|
if not(trouve_verif_version) then s:=verif_version_ch;
|
||||||
if not(trouve_fonte) then s:=fonte_ch;
|
if not(trouve_fonte) then s:=fonte_ch;
|
||||||
if not(trouve_FVR) then s:=AvecFVR_ch;
|
|
||||||
|
|
||||||
Nb_Det_Dist:=3;
|
Nb_Det_Dist:=3;
|
||||||
// initialisation des aiguillages avec des valeurs par défaut
|
// initialisation des aiguillages avec des valeurs par défaut
|
||||||
@@ -2447,7 +2467,6 @@ begin
|
|||||||
AvecDemandeInterfaceUSB:=true;
|
AvecDemandeInterfaceUSB:=true;
|
||||||
AvecDemandeInterfaceEth:=true;
|
AvecDemandeInterfaceEth:=true;
|
||||||
lay:='';
|
lay:='';
|
||||||
avecFVR:=false;
|
|
||||||
Tempo_Aig:=100;
|
Tempo_Aig:=100;
|
||||||
Tempo_feu:=100;
|
Tempo_feu:=100;
|
||||||
ServeurInterfaceCDM:=1;
|
ServeurInterfaceCDM:=1;
|
||||||
@@ -2486,8 +2505,7 @@ begin
|
|||||||
if not(trouve_dem_aig) then s:=Init_dem_aig_ch;
|
if not(trouve_dem_aig) then s:=Init_dem_aig_ch;
|
||||||
if not(trouve_demcnxCOMUSB) then s:=Init_dem_interfaceUSBCOM_ch;
|
if not(trouve_demcnxCOMUSB) then s:=Init_dem_interfaceUSBCOM_ch;
|
||||||
if not(trouve_demcnxEth) then s:=Init_dem_interfaceEth_ch;
|
if not(trouve_demcnxEth) then s:=Init_dem_interfaceEth_ch;
|
||||||
if not(trouve_FVR) then s:=AvecFVR_ch;
|
|
||||||
|
|
||||||
if not(trouve_tempo_feu) then
|
if not(trouve_tempo_feu) then
|
||||||
begin
|
begin
|
||||||
s:=tempo_feu_ch;
|
s:=tempo_feu_ch;
|
||||||
@@ -2497,7 +2515,6 @@ begin
|
|||||||
if not(trouve_NOTIF_VERSION) then s:=NOTIF_VERSION_ch;
|
if not(trouve_NOTIF_VERSION) then s:=NOTIF_VERSION_ch;
|
||||||
if not(trouve_verif_version) then s:=verif_version_ch;
|
if not(trouve_verif_version) then s:=verif_version_ch;
|
||||||
if not(trouve_fonte) then s:=fonte_ch;
|
if not(trouve_fonte) then s:=fonte_ch;
|
||||||
if not(trouve_FVR) then s:=AvecFVR_ch;
|
|
||||||
|
|
||||||
if s<>'' then
|
if s<>'' then
|
||||||
begin
|
begin
|
||||||
@@ -2666,7 +2683,6 @@ begin
|
|||||||
Srvc_PosTrain:=CheckServPosTrains.checked;
|
Srvc_PosTrain:=CheckServPosTrains.checked;
|
||||||
Srvc_Sig:=CheckBoxSrvSig.checked;
|
Srvc_Sig:=CheckBoxSrvSig.checked;
|
||||||
Raz_Acc_signaux:=CheckBoxRazSignaux.checked;
|
Raz_Acc_signaux:=CheckBoxRazSignaux.checked;
|
||||||
AvecFVR:=CheckBoxFVR.checked;
|
|
||||||
AvecInitAiguillages:=CheckBoxInitAig.Checked;
|
AvecInitAiguillages:=CheckBoxInitAig.Checked;
|
||||||
AvecDemandeAiguillages:=checkPosAig.checked;
|
AvecDemandeAiguillages:=checkPosAig.checked;
|
||||||
AvecDemandeInterfaceUSB:=CheckBoxDemarUSB.checked;
|
AvecDemandeInterfaceUSB:=CheckBoxDemarUSB.checked;
|
||||||
@@ -2815,7 +2831,6 @@ begin
|
|||||||
CheckBoxServAct.checked:=Srvc_Act;
|
CheckBoxServAct.checked:=Srvc_Act;
|
||||||
CheckServPosTrains.checked:=Srvc_PosTrain;
|
CheckServPosTrains.checked:=Srvc_PosTrain;
|
||||||
CheckBoxRazSignaux.checked:=Raz_Acc_signaux;
|
CheckBoxRazSignaux.checked:=Raz_Acc_signaux;
|
||||||
CheckBoxFVR.Checked:=AvecFVR;
|
|
||||||
CheckBoxInitAig.checked:=AvecInitAiguillages;
|
CheckBoxInitAig.checked:=AvecInitAiguillages;
|
||||||
CheckPosAig.checked:=AvecDemandeAiguillages;
|
CheckPosAig.checked:=AvecDemandeAiguillages;
|
||||||
CheckBoxDemarUSB.checked:=AvecDemandeInterfaceUSB;
|
CheckBoxDemarUSB.checked:=AvecDemandeInterfaceUSB;
|
||||||
@@ -3218,7 +3233,7 @@ begin
|
|||||||
EditSon.Visible:=false;
|
EditSon.Visible:=false;
|
||||||
SpeedButtonJoue.Visible:=false;
|
SpeedButtonJoue.Visible:=false;
|
||||||
SpeedButtonCharger.Visible:=false;
|
SpeedButtonCharger.Visible:=false;
|
||||||
|
|
||||||
LabelNomSon.Visible:=false;
|
LabelNomSon.Visible:=false;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@@ -3232,10 +3247,10 @@ begin
|
|||||||
GroupBoxRadio.Left:=16;
|
GroupBoxRadio.Left:=16;
|
||||||
GroupBoxAct.Top:=92;
|
GroupBoxAct.Top:=92;
|
||||||
GroupBoxAct.Left:=16;
|
GroupBoxAct.Left:=16;
|
||||||
GroupBoxAct.Height:=292;
|
GroupBoxAct.Height:=340;
|
||||||
GroupBox18.Top:=16;
|
GroupBox18.Top:=16;
|
||||||
GroupBox18.Height:=136;
|
GroupBox18.Height:=150;
|
||||||
GroupBox19.Top:=160;
|
GroupBox19.Top:=190;
|
||||||
GroupBox19.Height:=96;
|
GroupBox19.Height:=96;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@@ -3311,7 +3326,7 @@ begin
|
|||||||
SpeedButtonJoue.Visible:=true;
|
SpeedButtonJoue.Visible:=true;
|
||||||
SpeedButtonCharger.Visible:=true;
|
SpeedButtonCharger.Visible:=true;
|
||||||
LabelNomSon.Visible:=true;
|
LabelNomSon.Visible:=true;
|
||||||
|
|
||||||
RadioButtonLoc.Checked:=false;
|
RadioButtonLoc.Checked:=false;
|
||||||
RadioButtonAccess.Checked:=false;
|
RadioButtonAccess.Checked:=false;
|
||||||
RadioButtonSon.checked:=true;
|
RadioButtonSon.checked:=true;
|
||||||
@@ -3323,6 +3338,49 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure champs_decl_actdet;
|
||||||
|
begin
|
||||||
|
with formconfig do
|
||||||
|
begin
|
||||||
|
EditTrainDecl.Visible:=true ;
|
||||||
|
LabelTrain.Visible:=true ;
|
||||||
|
radioButtonActDet.Checked:=true;
|
||||||
|
radioButtonZones.Checked:=false;
|
||||||
|
radioButtonAig.Checked:=false;
|
||||||
|
editact2.Visible:=false;
|
||||||
|
LabelActionneur.Caption:='Actionneur DétecteurZ';
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure champs_decl_zones;
|
||||||
|
begin
|
||||||
|
with formconfig do
|
||||||
|
begin
|
||||||
|
radioButtonActDet.Checked:=false;
|
||||||
|
radioButtonZones.Checked:=true;
|
||||||
|
radioButtonAig.Checked:=false;
|
||||||
|
EditTrainDecl.Visible:=false;
|
||||||
|
LabelTrain.Visible:=false;
|
||||||
|
editact2.Visible:=true;
|
||||||
|
LabelActionneur.Caption:='Mémoire de Zone';
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure champs_decl_aig;
|
||||||
|
begin
|
||||||
|
with formconfig do
|
||||||
|
begin
|
||||||
|
radioButtonActDet.Checked:=false;
|
||||||
|
radioButtonZones.Checked:=false;
|
||||||
|
radioButtonAig.Checked:=true;
|
||||||
|
EditAct2.Visible:=false;
|
||||||
|
EditTrainDecl.Visible:=false;
|
||||||
|
LabelTrain.Visible:=false;
|
||||||
|
editact2.Visible:=false;
|
||||||
|
LabelActionneur.Caption:='Aiguillage';
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
// transforme une chaine "élément" en une chaine affichable pour le hint
|
// transforme une chaine "élément" en une chaine affichable pour le hint
|
||||||
// ex chaine_element("A32")=aiguillage 32
|
// ex chaine_element("A32")=aiguillage 32
|
||||||
function chaine_element(Equip : Tequipement;adr : integer) : string;
|
function chaine_element(Equip : Tequipement;adr : integer) : string;
|
||||||
@@ -3389,9 +3447,19 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
if ((d=2) or (d>=5)) and (d<10) then checkBoxFB.Visible:=true else checkBoxFB.Visible:=false;
|
if ((d=2) or (d>=5)) and (d<10) then checkBoxFB.Visible:=true else checkBoxFB.Visible:=false;
|
||||||
|
if d>2 then
|
||||||
|
begin
|
||||||
|
checkFVC.Visible:=true;
|
||||||
|
checkFRC.Visible:=true;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
checkFVC.Visible:=false;
|
||||||
|
checkFRC.Visible:=false;
|
||||||
|
end;
|
||||||
|
|
||||||
if (d>3) and (d<10) then CheckVerrouCarre.Visible:=true else CheckVerrouCarre.Visible:=false;
|
if (d>3) and (d<10) then CheckVerrouCarre.Visible:=true else CheckVerrouCarre.Visible:=false;
|
||||||
|
|
||||||
// signal normal
|
// signal normal
|
||||||
if d<10 then
|
if d<10 then
|
||||||
begin
|
begin
|
||||||
@@ -3415,7 +3483,7 @@ begin
|
|||||||
EditSuiv2.Hint:=chaine_element(feux[i].Btype_suiv2,feux[i].Adr_el_suiv2);
|
EditSuiv2.Hint:=chaine_element(feux[i].Btype_suiv2,feux[i].Adr_el_suiv2);
|
||||||
end else begin EditDet2.Text:='';EditSuiv2.Text:='';EditSuiv2.Hint:='';end;
|
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);
|
EditSuiv3.Hint:=chaine_element(feux[i].Btype_suiv3,feux[i].Adr_el_suiv3);
|
||||||
@@ -3431,7 +3499,9 @@ begin
|
|||||||
|
|
||||||
checkVerrouCarre.Checked:=feux[i].VerrouCarre;
|
checkVerrouCarre.Checked:=feux[i].VerrouCarre;
|
||||||
checkBoxFB.Checked:=feux[i].FeuBlanc;
|
checkBoxFB.Checked:=feux[i].FeuBlanc;
|
||||||
|
checkFVC.Checked:=feux[i].checkFV;
|
||||||
|
checkFRC.Checked:=feux[i].checkFR;
|
||||||
|
|
||||||
// conditions supplémentaires du carré par aiguillages
|
// conditions supplémentaires du carré par aiguillages
|
||||||
l:=1;
|
l:=1;
|
||||||
repeat
|
repeat
|
||||||
@@ -3458,6 +3528,9 @@ begin
|
|||||||
EditDet1.Visible:=false;EditDet2.Visible:=false;EditDet3.Visible:=false;EditDet4.Visible:=false;
|
EditDet1.Visible:=false;EditDet2.Visible:=false;EditDet3.Visible:=false;EditDet4.Visible:=false;
|
||||||
EditSuiv1.Visible:=false;EditSuiv2.Visible:=false;EditSuiv3.Visible:=false;EditSuiv4.Visible:=false;
|
EditSuiv1.Visible:=false;EditSuiv2.Visible:=false;EditSuiv3.Visible:=false;EditSuiv4.Visible:=false;
|
||||||
CheckVerrouCarre.Visible:=false;
|
CheckVerrouCarre.Visible:=false;
|
||||||
|
checkFVC.visible:=false;
|
||||||
|
checkFRC.visible:=false;
|
||||||
|
|
||||||
Label24.Visible:=false; Label25.Visible:=false;Label26.Visible:=false;Label27.Visible:=false;
|
Label24.Visible:=false; Label25.Visible:=false;Label26.Visible:=false;Label27.Visible:=false;
|
||||||
|
|
||||||
// conditions d'affichage du signal directionnel
|
// conditions d'affichage du signal directionnel
|
||||||
@@ -3496,52 +3569,45 @@ begin
|
|||||||
fonction:=Tablo_actionneur[i].fonction;
|
fonction:=Tablo_actionneur[i].fonction;
|
||||||
Access:=Tablo_actionneur[i].accessoire;
|
Access:=Tablo_actionneur[i].accessoire;
|
||||||
det:=Tablo_actionneur[i].det;
|
det:=Tablo_actionneur[i].det;
|
||||||
typ:=Tablo_actionneur[i].typActMemZone;
|
typ:=Tablo_actionneur[i].typdeclenche;
|
||||||
|
|
||||||
|
// déclencheurs
|
||||||
with formconfig do
|
with formconfig do
|
||||||
begin
|
begin
|
||||||
if typ=0 then
|
//
|
||||||
|
case typ of
|
||||||
|
0 :
|
||||||
begin
|
begin
|
||||||
EditTrainDecl.Visible:=true ;
|
champs_decl_actdet;
|
||||||
LabelTrain.Visible:=true ;
|
|
||||||
end
|
|
||||||
else
|
|
||||||
begin
|
|
||||||
EditTrainDecl.Visible:=false;
|
|
||||||
LabelTrain.Visible:=false;
|
|
||||||
end;
|
end;
|
||||||
end;
|
1 :
|
||||||
|
begin
|
||||||
|
champs_decl_zones;
|
||||||
|
end;
|
||||||
|
2 :
|
||||||
|
begin
|
||||||
|
champs_decl_aig;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
if det then s2:='Détecteur ' else s2:='Actionneur ';
|
if det then s2:='Détecteur ' else s2:='Actionneur ';
|
||||||
s2:=s2+intToSTR(Tablo_actionneur[i].adresse);
|
s2:=s2+intToSTR(Tablo_actionneur[i].adresse);
|
||||||
FormConfig.EditAct.Hint:=s2;
|
FormConfig.EditAct.Hint:=s2;
|
||||||
|
|
||||||
|
|
||||||
// Actionneur fonction F loco
|
// Actionneur fonction F loco
|
||||||
if Tablo_actionneur[i].loco then
|
if Tablo_actionneur[i].loco then
|
||||||
begin
|
begin
|
||||||
champs_type_loco;
|
champs_type_loco;
|
||||||
|
formconfig.editAct2.Text:=IntToSTR(Tablo_actionneur[i].adresse2);
|
||||||
if typ=0 then with formconfig do
|
|
||||||
begin
|
|
||||||
radioButtonActDet.Checked:=true;
|
|
||||||
radioButtonZones.Checked:=false;
|
|
||||||
editAct2.Visible:=false;
|
|
||||||
LabelActionneur.Caption:='Actionneur DétecteurZ';
|
|
||||||
end;
|
|
||||||
if typ=1 then with formconfig do
|
|
||||||
begin
|
|
||||||
radioButtonActDet.Checked:=false;
|
|
||||||
radioButtonZones.Checked:=true;
|
|
||||||
editAct2.Visible:=true;
|
|
||||||
LabelActionneur.Caption:='Mémoire de Zone';
|
|
||||||
editAct2.Text:=IntToSTR(Tablo_actionneur[i].adresse2);
|
|
||||||
end;
|
|
||||||
|
|
||||||
etatAct:=Tablo_actionneur[i].etat;
|
etatAct:=Tablo_actionneur[i].etat;
|
||||||
Adresse:=Tablo_actionneur[i].adresse;
|
Adresse:=Tablo_actionneur[i].adresse;
|
||||||
s2:=Tablo_actionneur[i].trainDecl;
|
s2:=Tablo_actionneur[i].trainDecl;
|
||||||
trainsauve:=s2;
|
trainsauve:=s2;
|
||||||
tempo:=tablo_actionneur[i].Tempo;
|
tempo:=tablo_actionneur[i].Tempo;
|
||||||
|
|
||||||
with formconfig do
|
with formconfig do
|
||||||
begin
|
begin
|
||||||
champs_type_loco;
|
champs_type_loco;
|
||||||
@@ -3560,21 +3626,22 @@ begin
|
|||||||
if Tablo_actionneur[i].act then
|
if Tablo_actionneur[i].act then
|
||||||
begin
|
begin
|
||||||
champs_type_act;
|
champs_type_act;
|
||||||
if typ=0 then with formconfig do
|
case typ of
|
||||||
|
0 : with formconfig do
|
||||||
begin
|
begin
|
||||||
radioButtonActDet.Checked:=true;
|
//radioButtonActDet.Checked:=true;
|
||||||
radioButtonZones.Checked:=false;
|
//radioButtonZones.Checked:=false;
|
||||||
editAct2.Visible:=false;
|
//editAct2.Visible:=false;
|
||||||
LabelActionneur.Caption:='Actionneur DétecteurZ';
|
|
||||||
end;
|
end;
|
||||||
if typ=1 then with formconfig do
|
1 : with formconfig do
|
||||||
begin
|
begin
|
||||||
radioButtonActDet.Checked:=false;
|
|
||||||
radioButtonZones.Checked:=true;
|
|
||||||
editAct2.Visible:=true;
|
|
||||||
LabelActionneur.Caption:='Mémoire de Zone';
|
|
||||||
end;
|
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;
|
||||||
@@ -3750,7 +3817,7 @@ begin
|
|||||||
editDroit_BD.Text:='';
|
editDroit_BD.Text:='';
|
||||||
editPointe_BG.Text:='';
|
editPointe_BG.Text:='';
|
||||||
EditTempo10.text:='';
|
EditTempo10.text:='';
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure raz_champs_sig;
|
procedure raz_champs_sig;
|
||||||
@@ -3769,6 +3836,8 @@ begin
|
|||||||
ImageSignal.Picture:=Nil;
|
ImageSignal.Picture:=Nil;
|
||||||
checkVerrouCarre.Checked:=false;
|
checkVerrouCarre.Checked:=false;
|
||||||
checkBoxFB.Checked:=false;
|
checkBoxFB.Checked:=false;
|
||||||
|
checkFVC.Checked:=false;
|
||||||
|
checkFRC.Checked:=false;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -4413,7 +4482,7 @@ var s : string;
|
|||||||
begin
|
begin
|
||||||
if clicliste or (ligneClicSig<0) then exit;
|
if clicliste or (ligneClicSig<0) then exit;
|
||||||
if affevt then Affiche('Evt Verrou carré',clOrange);
|
if affevt then Affiche('Evt Verrou carré',clOrange);
|
||||||
|
|
||||||
if FormConfig.PageControl.ActivePage=FormConfig.TabSheetSig then
|
if FormConfig.PageControl.ActivePage=FormConfig.TabSheetSig then
|
||||||
begin
|
begin
|
||||||
feux[ligneClicSig+1].VerrouCarre:=checkVerrouCarre.Checked;
|
feux[ligneClicSig+1].VerrouCarre:=checkVerrouCarre.Checked;
|
||||||
@@ -4421,7 +4490,7 @@ begin
|
|||||||
RichSig.Lines[ligneClicSig]:=s;
|
RichSig.Lines[ligneClicSig]:=s;
|
||||||
feux[ligneClicSig+1].modifie:=true;
|
feux[ligneClicSig+1].modifie:=true;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfig.CheckBoxFBClick(Sender: TObject);
|
procedure TFormConfig.CheckBoxFBClick(Sender: TObject);
|
||||||
var s : string;
|
var s : string;
|
||||||
@@ -4707,14 +4776,14 @@ begin
|
|||||||
// désactiver la ligne PN
|
// désactiver la ligne PN
|
||||||
RE_ColorLine(Formconfig.RichPN,LigneCliqueePN,ClAqua);
|
RE_ColorLine(Formconfig.RichPN,LigneCliqueePN,ClAqua);
|
||||||
lignecliqueePN:=-1;
|
lignecliqueePN:=-1;
|
||||||
|
|
||||||
with RichAct do
|
with RichAct do
|
||||||
begin
|
begin
|
||||||
i:=Selstart;
|
i:=Selstart;
|
||||||
ligne:=Perform(EM_LINEFROMCHAR,i,0); // numéro de la lignée cliquée
|
ligne:=Perform(EM_LINEFROMCHAR,i,0); // numéro de la lignée cliquée
|
||||||
if ligne<maxTablo_act then
|
if ligne<maxTablo_act then
|
||||||
begin
|
begin
|
||||||
if AncligneClicAct<>-1 then RE_ColorLine(RichAct,AncligneClicAct,ClAqua);
|
if AncligneClicAct<>-1 then RE_ColorLine(RichAct,AncligneClicAct,ClAqua);
|
||||||
AncligneClicAct:=Ligne;
|
AncligneClicAct:=Ligne;
|
||||||
ligneClicAct:=ligne;
|
ligneClicAct:=ligne;
|
||||||
RE_ColorLine(Formconfig.RichAct,ligneClicAct,ClYellow);
|
RE_ColorLine(Formconfig.RichAct,ligneClicAct,ClYellow);
|
||||||
@@ -4732,22 +4801,24 @@ end;
|
|||||||
|
|
||||||
procedure TFormConfig.EditEtatActionneurChange(Sender: TObject);
|
procedure TFormConfig.EditEtatActionneurChange(Sender: TObject);
|
||||||
var s : string;
|
var s : string;
|
||||||
etat,erreur : integer;
|
etat,erreur,typ : integer;
|
||||||
begin
|
begin
|
||||||
if clicliste then exit;
|
if clicliste then exit;
|
||||||
if affevt then affiche('Evt EditActionneur Change',clyellow);
|
if affevt then affiche('Evt EditActionneur Change',clyellow);
|
||||||
if FormConfig.PageControl.ActivePage=FormConfig.TabSheetAct then
|
if FormConfig.PageControl.ActivePage=FormConfig.TabSheetAct then
|
||||||
with Formconfig do
|
with Formconfig do
|
||||||
begin
|
begin
|
||||||
s:=EditEtatActionneur.Text;
|
s:=EditEtatActionneur.Text;
|
||||||
if radioButtonLoc.Checked or RadioButtonAccess.Checked then
|
if radioButtonLoc.Checked or RadioButtonAccess.Checked or RadioButtonSon.Checked then
|
||||||
begin
|
begin
|
||||||
Val(s,etat,erreur);
|
Val(s,etat,erreur);
|
||||||
if (erreur<>0) or (etat<0) or (etat>1) then
|
typ:=tablo_actionneur[ligneClicAct+1].typdeclenche;
|
||||||
|
if (erreur<>0) or (etat<0) or ((typ<2) and (etat>1)) or ((typ=2) and (etat>2)) then
|
||||||
begin
|
begin
|
||||||
LabelInfo.caption:='Erreur état actionneur';exit
|
if typ<2 then begin LabelInfo.caption:='Erreur état actionneur';exit;end;
|
||||||
|
if typ=2 then begin LabelInfo.caption:='Erreur position aiguillage';exit;end;
|
||||||
end else LabelInfo.caption:=' ';
|
end else LabelInfo.caption:=' ';
|
||||||
|
|
||||||
tablo_actionneur[ligneClicAct+1].etat:=etat;
|
tablo_actionneur[ligneClicAct+1].etat:=etat;
|
||||||
s:=encode_act_loc_son(ligneClicAct+1);
|
s:=encode_act_loc_son(ligneClicAct+1);
|
||||||
RichAct.Lines[ligneClicAct]:=s;
|
RichAct.Lines[ligneClicAct]:=s;
|
||||||
@@ -5047,7 +5118,24 @@ begin
|
|||||||
checkBoxFB.Visible:=false;
|
checkBoxFB.Visible:=false;
|
||||||
checkBoxFB.Checked:=false;
|
checkBoxFB.Checked:=false;
|
||||||
end;
|
end;
|
||||||
if (aspect>3) and (aspect<10) then CheckVerrouCarre.Visible:=true else CheckVerrouCarre.Visible:=false;
|
if (aspect>3) and (aspect<10) then
|
||||||
|
begin
|
||||||
|
CheckVerrouCarre.Visible:=true
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
CheckVerrouCarre.Visible:=false;
|
||||||
|
end;
|
||||||
|
if (aspect>2) and (aspect<10) then
|
||||||
|
begin
|
||||||
|
checkFVC.visible:=true;
|
||||||
|
checkFRC.visible:=true;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
checkFVC.visible:=false;
|
||||||
|
checkFRC.visible:=false;
|
||||||
|
end;
|
||||||
|
|
||||||
feux[index].aspect:=aspect;
|
feux[index].aspect:=aspect;
|
||||||
s:=encode_sig_feux(index);
|
s:=encode_sig_feux(index);
|
||||||
@@ -5791,8 +5879,6 @@ begin
|
|||||||
feux[i].Img.free; // supprime l'image, ce qui efface le feu du tableau graphique
|
feux[i].Img.free; // supprime l'image, ce qui efface le feu du tableau graphique
|
||||||
Feux[i].Lbl.free; // supprime le label, ...
|
Feux[i].Lbl.free; // supprime le label, ...
|
||||||
if Feux[i].checkFB<>nil then begin Feux[i].checkFB.Free;Feux[i].CheckFB:=nil;end; // supprime le check du feu blanc s'il existait
|
if Feux[i].checkFB<>nil then begin Feux[i].checkFB.Free;Feux[i].CheckFB:=nil;end; // supprime le check du feu blanc s'il existait
|
||||||
feux[i].checkFR.Free;feux[i].checkFR:=nil;
|
|
||||||
feux[i].checkFV.Free;feux[i].checkFV:=nil;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
for i:=1 to NbreFeux-ligneFin do
|
for i:=1 to NbreFeux-ligneFin do
|
||||||
@@ -5831,22 +5917,6 @@ begin
|
|||||||
Top:=HtImg+15+((HtImg+EspY+20)*((IndexFeu-1) div NbreImagePLigne));
|
Top:=HtImg+15+((HtImg+EspY+20)*((IndexFeu-1) div NbreImagePLigne));
|
||||||
Left:=10+ (LargImg+5)*((IndexFeu-1) mod (NbreImagePLigne));
|
Left:=10+ (LargImg+5)*((IndexFeu-1) mod (NbreImagePLigne));
|
||||||
end;
|
end;
|
||||||
if Feux[IndexFeu].checkFV<>nil then
|
|
||||||
with Feux[IndexFeu].CheckFV do
|
|
||||||
begin
|
|
||||||
Name:='CheckBoxFV'+intToSTR(adresse);
|
|
||||||
Hint:='Feu vert clignotant';
|
|
||||||
Top:=HtImg+30+((HtImg+EspY+20)*((IndexFeu-1) div NbreImagePLigne));
|
|
||||||
Left:=10+ (LargImg+5)*((IndexFeu-1) mod (NbreImagePLigne));
|
|
||||||
end;
|
|
||||||
if Feux[IndexFeu].checkFR<>nil then
|
|
||||||
with Feux[IndexFeu].CheckFR do
|
|
||||||
begin
|
|
||||||
Name:='CheckBoxFR'+intToSTR(adresse);
|
|
||||||
Hint:='Sémaphore clignotant';
|
|
||||||
Top:=HtImg+45+((HtImg+EspY+20)*((IndexFeu-1) div NbreImagePLigne));
|
|
||||||
Left:=10+ (LargImg+5)*((IndexFeu-1) mod (NbreImagePLigne));
|
|
||||||
end;
|
|
||||||
|
|
||||||
//Affiche('décale feu '+IntToSTR(i)+'<'+intToSTR(i+1),clorange);
|
//Affiche('décale feu '+IntToSTR(i)+'<'+intToSTR(i+1),clorange);
|
||||||
|
|
||||||
@@ -7754,6 +7824,8 @@ end;
|
|||||||
procedure TFormConfig.PageControlChange(Sender: TObject);
|
procedure TFormConfig.PageControlChange(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
Label20.Visible:=false;
|
Label20.Visible:=false;
|
||||||
|
if FormConfig.PageControl.ActivePage=FormConfig.TabSheetAct then label40.Visible:=true
|
||||||
|
else label40.Visible:=false;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@@ -7785,7 +7857,7 @@ begin
|
|||||||
if clicListe then exit;
|
if clicListe then exit;
|
||||||
i:=ligneClicAct+1;
|
i:=ligneClicAct+1;
|
||||||
if AffEvt then Affiche('RadioBoutonActDet '+IntToSTR(i),clyellow);
|
if AffEvt then Affiche('RadioBoutonActDet '+IntToSTR(i),clyellow);
|
||||||
Tablo_Actionneur[i].typActMemZone:=0;
|
Tablo_Actionneur[i].typdeclenche:=0;
|
||||||
LabelActionneur.Caption:='Actionneur DétecteurZ';
|
LabelActionneur.Caption:='Actionneur DétecteurZ';
|
||||||
editAct2.Visible:=false;
|
editAct2.Visible:=false;
|
||||||
EditTrainDecl.Visible:=true;
|
EditTrainDecl.Visible:=true;
|
||||||
@@ -7819,13 +7891,43 @@ begin
|
|||||||
if clicListe then exit;
|
if clicListe then exit;
|
||||||
i:=ligneClicAct+1;
|
i:=ligneClicAct+1;
|
||||||
if AffEvt then Affiche('RadioBoutonZones '+IntToSTR(i),clyellow);
|
if AffEvt then Affiche('RadioBoutonZones '+IntToSTR(i),clyellow);
|
||||||
Tablo_Actionneur[i].typActMemZone:=1;
|
Tablo_Actionneur[i].typdeclenche:=1;
|
||||||
LabelActionneur.Caption:='Mémoire de Zone';
|
LabelActionneur.Caption:='Mémoire de Zone';
|
||||||
EditTrainDecl.Visible:=false;
|
EditTrainDecl.Visible:=false;
|
||||||
LabelTrain.Visible:=false;
|
LabelTrain.Visible:=false;
|
||||||
editAct2.Visible:=true;
|
editAct2.Visible:=true;
|
||||||
//editact.Text:=intToSTR(Tablo_actionneur[i].adresse2);
|
//editact.Text:=intToSTR(Tablo_actionneur[i].adresse2);
|
||||||
|
|
||||||
|
Tablo_actionneur[i].trainDecl:='X';
|
||||||
|
val(editact.Text,champ,erreur);
|
||||||
|
Tablo_actionneur[i].adresse:=champ ;
|
||||||
|
val(editEtatActionneur.Text,champ,erreur);
|
||||||
|
Tablo_actionneur[i].etat:=champ;
|
||||||
|
val(editFonctionAccess.Text,champ,erreur);
|
||||||
|
Tablo_actionneur[i].fonction:=champ;
|
||||||
|
val(editEtatFoncSortie.Text,champ,erreur);
|
||||||
|
Tablo_actionneur[i].sortie:=champ;
|
||||||
|
val(editTempo.Text,champ,erreur);
|
||||||
|
Tablo_actionneur[i].tempo:=champ;
|
||||||
|
tablo_actionneur[i].Raz:=checkRaz.checked;
|
||||||
|
s:=encode_act_loc_son(i);
|
||||||
|
RichAct.Lines[ligneClicAct]:=s;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TFormConfig.RadioButtonAigClick(Sender: TObject);
|
||||||
|
var i,champ,erreur : integer;
|
||||||
|
s : string;
|
||||||
|
begin
|
||||||
|
if clicListe then exit;
|
||||||
|
i:=ligneClicAct+1;
|
||||||
|
if AffEvt then Affiche('RadioBoutonAig '+IntToSTR(i),clyellow);
|
||||||
|
Tablo_Actionneur[i].typdeclenche:=2;
|
||||||
|
LabelActionneur.Caption:='Aiguillage';
|
||||||
|
EditTrainDecl.Visible:=false;
|
||||||
|
LabelTrain.Visible:=false;
|
||||||
|
editAct2.Visible:=false;
|
||||||
|
//editact.Text:=intToSTR(Tablo_actionneur[i].adresse2);
|
||||||
|
|
||||||
Tablo_actionneur[i].trainDecl:='X';
|
Tablo_actionneur[i].trainDecl:='X';
|
||||||
val(editact.Text,champ,erreur);
|
val(editact.Text,champ,erreur);
|
||||||
Tablo_actionneur[i].adresse:=champ ;
|
Tablo_actionneur[i].adresse:=champ ;
|
||||||
@@ -8398,7 +8500,39 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TFormConfig.CheckFVCClick(Sender: TObject);
|
||||||
|
var s : string;
|
||||||
begin
|
begin
|
||||||
|
if clicliste or (ligneClicSig<0) then exit;
|
||||||
|
if affevt then Affiche('Evt FVC',clOrange);
|
||||||
|
|
||||||
|
if FormConfig.PageControl.ActivePage=FormConfig.TabSheetSig then
|
||||||
|
begin
|
||||||
|
feux[ligneClicSig+1].checkFV:=checkFVC.Checked;
|
||||||
|
s:=encode_sig_feux(ligneClicSig+1);
|
||||||
|
RichSig.Lines[ligneClicSig]:=s;
|
||||||
|
feux[ligneClicSig+1].modifie:=true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TFormConfig.CheckFRCClick(Sender: TObject);
|
||||||
|
var s : string;
|
||||||
|
begin
|
||||||
|
if clicliste or (ligneClicSig<0) then exit;
|
||||||
|
if affevt then Affiche('Evt FRC',clOrange);
|
||||||
|
|
||||||
|
if FormConfig.PageControl.ActivePage=FormConfig.TabSheetSig then
|
||||||
|
begin
|
||||||
|
feux[ligneClicSig+1].checkFR:=checkFRC.Checked;
|
||||||
|
s:=encode_sig_feux(ligneClicSig+1);
|
||||||
|
RichSig.Lines[ligneClicSig]:=s;
|
||||||
|
feux[ligneClicSig+1].modifie:=true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
object FormPrinc: TFormPrinc
|
object FormPrinc: TFormPrinc
|
||||||
Left = 70
|
Left = 70
|
||||||
Top = 187
|
Top = 246
|
||||||
Width = 1213
|
Width = 1213
|
||||||
Height = 670
|
Height = 670
|
||||||
Caption = 'Client TCP-IP CDM Rail ou USB - syst'#232'me LENZ'
|
Caption = 'Client TCP-IP CDM Rail ou USB - syst'#232'me LENZ'
|
||||||
|
|||||||
+60
-91
@@ -244,7 +244,7 @@ Max_Event_det_tick=30000;
|
|||||||
EtatSign : array[0..13] of string[20] =('carré','sémaphore','sémaphore cli','vert','vert cli','violet',
|
EtatSign : array[0..13] of string[20] =('carré','sémaphore','sémaphore cli','vert','vert cli','violet',
|
||||||
'blanc','blanc cli','jaune','jaune cli','ral 30','ral 60','rappel 30','rappel 60');
|
'blanc','blanc cli','jaune','jaune cli','ral 30','ral 60','rappel 30','rappel 60');
|
||||||
NbDecodeur = 8;
|
NbDecodeur = 8;
|
||||||
decodeur : array[0..NbDecodeur-1] of string[20] =('rien','Digital Bahn','CDF','LDT','LEB','NMRA','Unisemaf','SR');
|
decodeur : array[0..NbDecodeur-1] of string[20] =('rien','Digital Bahn','CDF','LDT','LEB','NMRA','Unisemaf Paco','SR');
|
||||||
Etats : array[0..19] of string[30]=('Non commandé','carré','sémaphore','sémaphore cli','vert','vert cli','violet',
|
Etats : array[0..19] of string[30]=('Non commandé','carré','sémaphore','sémaphore cli','vert','vert cli','violet',
|
||||||
'blanc','blanc cli','jaune','jaune cli','ralen 30','ralen 60','ralen 60 + jaune cli','rappel 30','rappel 60',
|
'blanc','blanc cli','jaune','jaune cli','ralen 30','ralen 60','ralen 60 + jaune cli','rappel 30','rappel 60',
|
||||||
'rappel 30 + jaune','rappel 30 + jaune cli','rappel 60 + jaune','rappel 60 + jaune cli');
|
'rappel 30 + jaune','rappel 30 + jaune cli','rappel 60 + jaune','rappel 60 + jaune cli');
|
||||||
@@ -301,8 +301,8 @@ TFeu = record
|
|||||||
Img : TImage; // Pointeur sur structure TImage du feu
|
Img : TImage; // Pointeur sur structure TImage du feu
|
||||||
Lbl : TLabel; // pointeur sur structure Tlabel du feu
|
Lbl : TLabel; // pointeur sur structure Tlabel du feu
|
||||||
checkFB : TCheckBox; // pointeur sur structure Checkbox "demande feu blanc"
|
checkFB : TCheckBox; // pointeur sur structure Checkbox "demande feu blanc"
|
||||||
checkFR : TCheckBox; // pointeur demande feu rouge cli
|
checkFR : boolean; // demande feu rouge cli
|
||||||
checkFV : TcheckBox; // pointeur demande feu vert cli
|
checkFV : boolean; // demande feu vert cli
|
||||||
FeuVertCli : boolean ; // avec checkbox ou pas
|
FeuVertCli : boolean ; // avec checkbox ou pas
|
||||||
FeuRougeCli : boolean ; // avec checkbox ou pas
|
FeuRougeCli : boolean ; // avec checkbox ou pas
|
||||||
FeuBlanc : boolean ; // avec checkbox ou pas
|
FeuBlanc : boolean ; // avec checkbox ou pas
|
||||||
@@ -414,13 +414,13 @@ var
|
|||||||
|
|
||||||
Tablo_actionneur : array[1..100] of
|
Tablo_actionneur : array[1..100] of
|
||||||
record
|
record
|
||||||
loco,act,son: boolean; // type loco actionneur ou son
|
loco,act,son: boolean; // destinataire loco acessoire ou son
|
||||||
adresse,adresse2, // adresse: adresse de base ; adresse2=cas d'une Zone
|
adresse,adresse2, // adresse: adresse de base ; adresse2=cas d'une Zone
|
||||||
etat,fonction,tempo,TempoCourante,
|
etat,fonction,tempo,TempoCourante,
|
||||||
accessoire,sortie,
|
accessoire,sortie,
|
||||||
typActMemZone : integer; // 0=actioneur 1=MemZone
|
typdeclenche : integer; // déclencheur: 0=actioneur 1=MemZone 2=evt aig
|
||||||
Raz : boolean;
|
Raz : boolean;
|
||||||
det : boolean; // désigne un détecteur
|
det : boolean; // le déclencheur est un détecteur
|
||||||
FichierSon,trainDecl,TrainDest,TrainCourant : string;
|
FichierSon,trainDecl,TrainDest,TrainCourant : string;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -645,7 +645,7 @@ procedure dessine_feu2(Acanvas : Tcanvas;x,y : integer;frX,frY : real;EtatSignal
|
|||||||
var Temp,rayon,xViolet,YViolet,xBlanc,yBlanc,
|
var Temp,rayon,xViolet,YViolet,xBlanc,yBlanc,
|
||||||
LgImage,HtImage,code,combine : integer;
|
LgImage,HtImage,code,combine : integer;
|
||||||
ech : real;
|
ech : real;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
code_to_aspect(Etatsignal,code,combine);
|
code_to_aspect(Etatsignal,code,combine);
|
||||||
rayon:=round(6*frX);
|
rayon:=round(6*frX);
|
||||||
@@ -653,7 +653,7 @@ begin
|
|||||||
// récupérer les dimensions de l'image d'origine du feu
|
// récupérer les dimensions de l'image d'origine du feu
|
||||||
LgImage:=Formprinc.Image2feux.Picture.Bitmap.Width;
|
LgImage:=Formprinc.Image2feux.Picture.Bitmap.Width;
|
||||||
HtImage:=Formprinc.Image2feux.Picture.Bitmap.Height;
|
HtImage:=Formprinc.Image2feux.Picture.Bitmap.Height;
|
||||||
|
|
||||||
XBlanc:=13; YBlanc:=11;
|
XBlanc:=13; YBlanc:=11;
|
||||||
xViolet:=13; yViolet:=23;
|
xViolet:=13; yViolet:=23;
|
||||||
|
|
||||||
@@ -691,7 +691,7 @@ procedure dessine_feu3(Acanvas : Tcanvas;x,y : integer;frX,frY : real;EtatSignal
|
|||||||
var Temp,rayon,xSem,Ysem,xJaune,Yjaune,Xvert,Yvert,
|
var Temp,rayon,xSem,Ysem,xJaune,Yjaune,Xvert,Yvert,
|
||||||
LgImage,HtImage,code,combine : integer;
|
LgImage,HtImage,code,combine : integer;
|
||||||
ech : real;
|
ech : real;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
code_to_aspect(Etatsignal,code,combine);
|
code_to_aspect(Etatsignal,code,combine);
|
||||||
rayon:=round(6*frX);
|
rayon:=round(6*frX);
|
||||||
@@ -1266,7 +1266,7 @@ begin
|
|||||||
// indicateurs de direction
|
// indicateurs de direction
|
||||||
12..16 : dessine_dirN(CanvasDest,x,y,frx,fry,feux[i].EtatSignal,orientation,aspect-10);
|
12..16 : dessine_dirN(CanvasDest,x,y,frx,fry,feux[i].EtatSignal,orientation,aspect-10);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// procédure activée quand on clique gauche sur l'image d'un feu
|
// procédure activée quand on clique gauche sur l'image d'un feu
|
||||||
@@ -1421,44 +1421,6 @@ begin
|
|||||||
end
|
end
|
||||||
else Feux[rang].checkFB:=nil;
|
else Feux[rang].checkFB:=nil;
|
||||||
|
|
||||||
// créée la checkbox feu vert cli
|
|
||||||
if AvecFVR or feux[rang].FeuVertCli then
|
|
||||||
begin
|
|
||||||
Feux[rang].CheckFV:=TCheckBox.create(Formprinc.ScrollBox1); // ranger l'adresse de la Checkbox dans la structure du feu
|
|
||||||
with Feux[rang].CheckFV do
|
|
||||||
begin
|
|
||||||
onClick:=formprinc.proc_checkBoxFV; // affecter l'adresse de la procédure de traitement quand on clique dessus
|
|
||||||
Hint:='Vert cli';
|
|
||||||
Name:='CheckBoxFV'+intToSTR(adresse); // affecter l'adresse du feu pour pouvoir le retrouver dans la procédure
|
|
||||||
caption:='dem FVC';
|
|
||||||
Parent:=Formprinc.ScrollBox1;
|
|
||||||
width:=100;height:=15;
|
|
||||||
Top:=HtImg+30+((HtImg+EspY+20)*((rang-1) div NbreImagePLigne));
|
|
||||||
Left:=10+ (LargImg+5)*((rang-1) mod (NbreImagePLigne));
|
|
||||||
BringToFront;
|
|
||||||
end;
|
|
||||||
end
|
|
||||||
else Feux[rang].checkFV:=nil;
|
|
||||||
|
|
||||||
// créée la checkbox feu rouge cli
|
|
||||||
if AvecFVR or feux[rang].FeuRougeCli then
|
|
||||||
begin
|
|
||||||
Feux[rang].checkFR:=TCheckBox.create(Formprinc.ScrollBox1); // ranger l'adresse de la Checkbox dans la structure du feu
|
|
||||||
with Feux[rang].CheckFR do
|
|
||||||
begin
|
|
||||||
Feux[rang].checkFR.onClick:=formprinc.proc_checkBoxFR; // affecter l'adresse de la procédure de traitement quand on clique dessus
|
|
||||||
Feux[rang].checkFR.Hint:='Sémaphore cli'; // affecter l'adresse du feu dans le HINT pour pouvoir le retrouver plus tard
|
|
||||||
Name:='CheckBoxFR'+intToSTR(adresse);
|
|
||||||
caption:='dem FRC';
|
|
||||||
Parent:=Formprinc.ScrollBox1;
|
|
||||||
width:=100;height:=15;
|
|
||||||
Top:=HtImg+45+((HtImg+EspY+20)*((rang-1) div NbreImagePLigne));
|
|
||||||
Left:=10+ (LargImg+5)*((rang-1) mod (NbreImagePLigne));
|
|
||||||
BringToFront;
|
|
||||||
end;
|
|
||||||
end
|
|
||||||
else Feux[rang].checkFR:=nil;
|
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// ajoute en bout de chaine le checksum d'une trame
|
// ajoute en bout de chaine le checksum d'une trame
|
||||||
@@ -5762,13 +5724,9 @@ begin
|
|||||||
if AffSignal then AfficheDebug('Présence train après signal'+intToSTR(AdrFeu)+' -> sémaphore ou carré',clYellow);
|
if AffSignal then AfficheDebug('Présence train après signal'+intToSTR(AdrFeu)+' -> sémaphore ou carré',clYellow);
|
||||||
if testBit(feux[index].EtatSignal,carre)=FALSE then
|
if testBit(feux[index].EtatSignal,carre)=FALSE then
|
||||||
begin
|
begin
|
||||||
if feux[index].checkFR<>nil then
|
if feux[index].checkFR then Maj_Etat_Signal(AdrFeu,semaphore_cli)
|
||||||
begin
|
else Maj_Etat_Signal(AdrFeu,semaphore);
|
||||||
if feux[index].checkFR.Checked then Maj_Etat_Signal(AdrFeu,semaphore_cli)
|
end;
|
||||||
else Maj_Etat_Signal(AdrFeu,semaphore);
|
|
||||||
end
|
|
||||||
else Maj_Etat_Signal(AdrFeu,semaphore);
|
|
||||||
end;
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
@@ -5851,11 +5809,7 @@ begin
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
if feux[index].checkFV<>nil then
|
if feux[index].checkFV then Maj_Etat_Signal(AdrFeu,vert_cli)
|
||||||
begin
|
|
||||||
if feux[index].checkFV.Checked then Maj_Etat_Signal(AdrFeu,vert_cli)
|
|
||||||
else Maj_Etat_Signal(AdrFeu,vert);
|
|
||||||
end
|
|
||||||
else Maj_Etat_Signal(AdrFeu,vert);
|
else Maj_Etat_Signal(AdrFeu,vert);
|
||||||
//if affsignal then AfficheDebug('Mise du feu au vert',clyellow);
|
//if affsignal then AfficheDebug('Mise du feu au vert',clyellow);
|
||||||
end;
|
end;
|
||||||
@@ -6252,7 +6206,7 @@ end;
|
|||||||
// traitement des évènements actionneurs (detecteurs aussi)
|
// traitement des évènements actionneurs (detecteurs aussi)
|
||||||
// adr adr2 : pour mémoire de zone
|
// adr adr2 : pour mémoire de zone
|
||||||
procedure Event_act(adr,adr2,etat : integer;trainDecl : string);
|
procedure Event_act(adr,adr2,etat : integer;trainDecl : string);
|
||||||
var i,v,va,etatAct,Af,Ao,Access,sortie,dZ1F,dZ2F,dZ1O,dZ2O : integer;
|
var typ,i,v,va,etatAct,Af,Ao,Access,sortie,dZ1F,dZ2F,dZ1O,dZ2O : integer;
|
||||||
s,st,trainDest : string;
|
s,st,trainDest : string;
|
||||||
presTrain_PN,adresseOk : boolean;
|
presTrain_PN,adresseOk : boolean;
|
||||||
Ts : TAccessoire;
|
Ts : TAccessoire;
|
||||||
@@ -6269,18 +6223,19 @@ begin
|
|||||||
|
|
||||||
adresseok:=(Tablo_actionneur[i].adresse=adr) ;
|
adresseok:=(Tablo_actionneur[i].adresse=adr) ;
|
||||||
|
|
||||||
if Tablo_actionneur[i].det then
|
typ:=Tablo_actionneur[i].typdeclenche;
|
||||||
|
if typ=1 then
|
||||||
begin
|
begin
|
||||||
st:='Détecteur '+intToSTR(adr);
|
adresseok:=adresseOk and (Tablo_actionneur[i].adresse2=adr2);
|
||||||
if Tablo_actionneur[i].typActMemZone=1 then
|
st:='Mémoire de zone '+intToSTR(adr)+' '+intToStr(adr2);
|
||||||
begin
|
end;
|
||||||
adresseok:=adresseOk and (Tablo_actionneur[i].adresse2=adr2);
|
if typ=0 then
|
||||||
st:='Mémoire de zone '+intToSTR(adr)+' '+intToStr(adr2);
|
|
||||||
end;
|
|
||||||
end
|
|
||||||
else
|
|
||||||
begin
|
begin
|
||||||
st:='Actionneur '+intToSTR(adr);
|
st:='Détecteur/actionneur '+intToSTR(adr);
|
||||||
|
end;
|
||||||
|
if typ=2 then
|
||||||
|
begin
|
||||||
|
st:='Aiguillage '+intToSTR(adr);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// actionneur pour fonction train
|
// actionneur pour fonction train
|
||||||
@@ -6312,7 +6267,8 @@ begin
|
|||||||
if adresseOk and (Tablo_actionneur[i].Son) and ((s=trainDecl) or (s='X') or (trainDecl='X') or (trainDecl='')) and (etatAct=etat)
|
if adresseOk and (Tablo_actionneur[i].Son) and ((s=trainDecl) or (s='X') or (trainDecl='X') or (trainDecl='')) and (etatAct=etat)
|
||||||
then
|
then
|
||||||
begin
|
begin
|
||||||
Affiche(st+' Train='+trainDecl+' son '+Tablo_actionneur[i].FichierSon,clyellow);
|
if typ<>2 then st:=st+' Train='+trainDecl;
|
||||||
|
Affiche(st+' son '+Tablo_actionneur[i].FichierSon,clyellow);
|
||||||
PlaySound(pchar(Tablo_actionneur[i].FichierSon),0,SND_ASYNC);
|
PlaySound(pchar(Tablo_actionneur[i].FichierSon),0,SND_ASYNC);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@@ -6325,7 +6281,7 @@ begin
|
|||||||
// PN par actionneur
|
// PN par actionneur
|
||||||
for v:=1 to Tablo_PN[i].nbvoies do
|
for v:=1 to Tablo_PN[i].nbvoies do
|
||||||
begin
|
begin
|
||||||
|
|
||||||
aF:=Tablo_PN[i].voie[v].actFerme;
|
aF:=Tablo_PN[i].voie[v].actFerme;
|
||||||
|
|
||||||
if (aO=adr) and (etat=0) then // actionneur d'ouverture
|
if (aO=adr) and (etat=0) then // actionneur d'ouverture
|
||||||
@@ -6451,7 +6407,7 @@ begin
|
|||||||
N_Event_tick:=0;
|
N_Event_tick:=0;
|
||||||
Affiche('Raz Evts détecteurs',clLime);
|
Affiche('Raz Evts détecteurs',clLime);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
inc(N_Event_tick);
|
inc(N_Event_tick);
|
||||||
event_det_tick[N_event_tick].tick:=tick;
|
event_det_tick[N_event_tick].tick:=tick;
|
||||||
event_det_tick[N_event_tick].adresse:=Adresse;
|
event_det_tick[N_event_tick].adresse:=Adresse;
|
||||||
@@ -6479,7 +6435,7 @@ begin
|
|||||||
if AdrPrec=0 then
|
if AdrPrec=0 then
|
||||||
begin
|
begin
|
||||||
If traceListe then AfficheDebug('Le feu '+IntToSTR(AdrFeu)+' est précédé d''un buttoir',clyellow);
|
If traceListe then AfficheDebug('Le feu '+IntToSTR(AdrFeu)+' est précédé d''un buttoir',clyellow);
|
||||||
MemZone[0,AdrDetFeu]:=true;
|
MemZone[0,AdrDetFeu]:=true;
|
||||||
event_act(0,AdrDetFeu,1,''); // activation zone
|
event_act(0,AdrDetFeu,1,''); // activation zone
|
||||||
maj_feu(AdrFeu);
|
maj_feu(AdrFeu);
|
||||||
end;
|
end;
|
||||||
@@ -6520,7 +6476,7 @@ begin
|
|||||||
|
|
||||||
// gérer l'évènement detecteur pour action
|
// gérer l'évènement detecteur pour action
|
||||||
if etat then i:=1 else i:=0;
|
if etat then i:=1 else i:=0;
|
||||||
event_act(Adresse,0,i,train);
|
event_act(Adresse,0,i,train);
|
||||||
if not(confignulle) then calcul_zones;
|
if not(confignulle) then calcul_zones;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@@ -6531,7 +6487,7 @@ begin
|
|||||||
N_event_det:=0;
|
N_event_det:=0;
|
||||||
FormDebug.MemoEvtDet.lines.add('Raz sur débordement');
|
FormDebug.MemoEvtDet.lines.add('Raz sur débordement');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// attention à partir de cette section le code est susceptible de ne pas être exécuté??
|
// attention à partir de cette section le code est susceptible de ne pas être exécuté??
|
||||||
|
|
||||||
// Mettre à jour le TCO
|
// Mettre à jour le TCO
|
||||||
@@ -6549,7 +6505,7 @@ end;
|
|||||||
procedure Event_Aig(adresse,pos : integer);
|
procedure Event_Aig(adresse,pos : integer);
|
||||||
var s: string;
|
var s: string;
|
||||||
faire_event,inv : boolean;
|
faire_event,inv : boolean;
|
||||||
prov,index : integer;
|
prov,index,i,etatact,typ,adr : integer;
|
||||||
begin
|
begin
|
||||||
index:=index_aig(adresse);
|
index:=index_aig(adresse);
|
||||||
if index=0 then exit;
|
if index=0 then exit;
|
||||||
@@ -6601,6 +6557,15 @@ begin
|
|||||||
|
|
||||||
// l'évaluation des routes est à faire selon conditions
|
// l'évaluation des routes est à faire selon conditions
|
||||||
if faire_event and not(confignulle) then evalue;
|
if faire_event and not(confignulle) then evalue;
|
||||||
|
|
||||||
|
// actionneur d'aiguillage
|
||||||
|
for i:=1 to maxTablo_act do
|
||||||
|
begin
|
||||||
|
etatAct:=Tablo_actionneur[i].etat ;
|
||||||
|
adr:=Tablo_actionneur[i].adresse;
|
||||||
|
typ:=Tablo_actionneur[i].typdeclenche;
|
||||||
|
if (typ=2) and (Adr=adresse) then event_act(Adresse,0,pos,'');
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// pilote une sortie à 0 à l'interface en Xpressnet dont l'adresse est à octet
|
// pilote une sortie à 0 à l'interface en Xpressnet dont l'adresse est à octet
|
||||||
@@ -7667,7 +7632,7 @@ begin
|
|||||||
Affiche('Fin des initialisations',clyellow);
|
Affiche('Fin des initialisations',clyellow);
|
||||||
LabelEtat.Caption:=' ';
|
LabelEtat.Caption:=' ';
|
||||||
Affiche_memoire;
|
Affiche_memoire;
|
||||||
DoubleBuffered:=true;
|
// DoubleBuffered:=true;
|
||||||
|
|
||||||
{
|
{
|
||||||
aiguillage[index_aig(1)].position:=const_droit;
|
aiguillage[index_aig(1)].position:=const_droit;
|
||||||
@@ -8028,6 +7993,7 @@ begin
|
|||||||
pilote_acc(adr,const_devie,aigP);
|
pilote_acc(adr,const_devie,aigP);
|
||||||
s:='accessoire '+IntToSTR(adr)+' dévié';
|
s:='accessoire '+IntToSTR(adr)+' dévié';
|
||||||
Affiche(s,clyellow);
|
Affiche(s,clyellow);
|
||||||
|
Self.ActiveControl:=nil;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormPrinc.EditvalEnter(Sender: TObject);
|
procedure TFormPrinc.EditvalEnter(Sender: TObject);
|
||||||
@@ -9339,8 +9305,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormPrinc.Codificationdesactionneurs1Click(Sender: TObject);
|
procedure TFormPrinc.Codificationdesactionneurs1Click(Sender: TObject);
|
||||||
var i,adract,etatAct,fonction,v,acc,sortie : integer;
|
var i,typ,adract,etatAct,fonction,v,acc,sortie : integer;
|
||||||
son,Mem : boolean;
|
loc,act,son : boolean;
|
||||||
s,s2 : string;
|
s,s2 : string;
|
||||||
begin
|
begin
|
||||||
if (maxTablo_act=0) and (NbrePN=0) then
|
if (maxTablo_act=0) and (NbrePN=0) then
|
||||||
@@ -9359,26 +9325,26 @@ begin
|
|||||||
acc:=Tablo_actionneur[i].accessoire;
|
acc:=Tablo_actionneur[i].accessoire;
|
||||||
sortie:=Tablo_actionneur[i].sortie;
|
sortie:=Tablo_actionneur[i].sortie;
|
||||||
fonction:=Tablo_actionneur[i].fonction;
|
fonction:=Tablo_actionneur[i].fonction;
|
||||||
|
loc:=Tablo_actionneur[i].loco;
|
||||||
|
act:=Tablo_actionneur[i].act;
|
||||||
son:=Tablo_actionneur[i].son;
|
son:=Tablo_actionneur[i].son;
|
||||||
Mem:=Tablo_actionneur[i].typActMemZone=1;
|
typ:=Tablo_actionneur[i].typdeclenche;
|
||||||
|
|
||||||
if Mem then s:='Mem '+intToSTR(adrAct)+' '+inttostr(Tablo_actionneur[i].Adresse2)
|
if typ=1 then s:='Mem '+intToSTR(adrAct)+' '+inttostr(Tablo_actionneur[i].Adresse2);
|
||||||
else s:=intToSTR(adrAct);
|
if typ=0 then s:=intToSTR(adrAct);
|
||||||
|
if typ=2 then s:='Aig '+intToSTR(AdrAct);
|
||||||
|
|
||||||
if (s2<>'') then
|
if loc then
|
||||||
begin
|
|
||||||
if fonction<>0 then
|
|
||||||
s:='FonctionF Déclencheur='+s+' :'+intToSTR(etatAct)+' TrainDécl='+s2+' TrainDest='+Tablo_actionneur[i].TrainDest+' F'+IntToSTR(fonction)+
|
s:='FonctionF Déclencheur='+s+' :'+intToSTR(etatAct)+' TrainDécl='+s2+' TrainDest='+Tablo_actionneur[i].TrainDest+' F'+IntToSTR(fonction)+
|
||||||
' Temporisation='+intToSTR(tablo_actionneur[i].Tempo);
|
' Temporisation='+intToSTR(tablo_actionneur[i].Tempo);
|
||||||
if acc<>0 then
|
if act then
|
||||||
s:='Accessoire Déclencheur='+s+' :'+intToSTR(etatAct)+' TrainDécl='+s2+' A'+IntToSTR(acc)+
|
s:='Accessoire Déclencheur='+s+' :'+intToSTR(etatAct)+' TrainDécl='+s2+' A'+IntToSTR(acc)+
|
||||||
' sortie='+intToSTR(sortie);
|
' sortie='+intToSTR(sortie);
|
||||||
if son then
|
if son then
|
||||||
s:='Son Déclencheur='+s+' :'+intToSTR(etatAct)+' TrainDécl='+s2+
|
s:='Son Déclencheur='+s+' :'+intToSTR(etatAct)+' TrainDécl='+s2+
|
||||||
' Fichier:'+Tablo_actionneur[i].FichierSon;
|
' Fichier:'+Tablo_actionneur[i].FichierSon;
|
||||||
|
|
||||||
Affiche(s,clYellow);
|
Affiche(s,clYellow);
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// dans le tableau des PN
|
// dans le tableau des PN
|
||||||
@@ -9440,6 +9406,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
readln(fte,s);
|
readln(fte,s);
|
||||||
Affiche(s,clLime);
|
Affiche(s,clLime);
|
||||||
|
sleep(100);
|
||||||
Interprete_trameCDM(s);
|
Interprete_trameCDM(s);
|
||||||
application.processmessages;
|
application.processmessages;
|
||||||
end;
|
end;
|
||||||
@@ -9730,5 +9697,7 @@ end;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|||||||
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
+7
-20
@@ -1,6 +1,6 @@
|
|||||||
object FormTCO: TFormTCO
|
object FormTCO: TFormTCO
|
||||||
Left = 155
|
Left = 178
|
||||||
Top = 94
|
Top = 70
|
||||||
Width = 1139
|
Width = 1139
|
||||||
Height = 694
|
Height = 694
|
||||||
VertScrollBar.Visible = False
|
VertScrollBar.Visible = False
|
||||||
@@ -24,12 +24,12 @@ object FormTCO: TFormTCO
|
|||||||
656)
|
656)
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
object LabelX: TLabel
|
object LabelCoord: TLabel
|
||||||
Left = 64
|
Left = 64
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 7
|
Width = 18
|
||||||
Height = 16
|
Height = 16
|
||||||
Caption = '0'
|
Caption = '0,0'
|
||||||
Font.Charset = ANSI_CHARSET
|
Font.Charset = ANSI_CHARSET
|
||||||
Font.Color = clWindowText
|
Font.Color = clWindowText
|
||||||
Font.Height = -13
|
Font.Height = -13
|
||||||
@@ -50,19 +50,6 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object LabelY: TLabel
|
|
||||||
Left = 88
|
|
||||||
Top = 0
|
|
||||||
Width = 7
|
|
||||||
Height = 16
|
|
||||||
Caption = '0'
|
|
||||||
Font.Charset = ANSI_CHARSET
|
|
||||||
Font.Color = clWindowText
|
|
||||||
Font.Height = -13
|
|
||||||
Font.Name = 'Arial'
|
|
||||||
Font.Style = [fsBold]
|
|
||||||
ParentFont = False
|
|
||||||
end
|
|
||||||
object SourisX: TLabel
|
object SourisX: TLabel
|
||||||
Left = 128
|
Left = 128
|
||||||
Top = 2
|
Top = 2
|
||||||
@@ -133,8 +120,8 @@ object FormTCO: TFormTCO
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
object TrackBarZoom: TTrackBar
|
object TrackBarZoom: TTrackBar
|
||||||
Left = 1051
|
Left = 1059
|
||||||
Top = 34
|
Top = 18
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 366
|
Height = 366
|
||||||
Anchors = [akTop, akRight, akBottom]
|
Anchors = [akTop, akRight, akBottom]
|
||||||
|
|||||||
+1203
-1048
File diff suppressed because it is too large
Load Diff
Binary file not shown.
+1
-1
@@ -23,7 +23,7 @@ var
|
|||||||
Lance_verif : integer;
|
Lance_verif : integer;
|
||||||
verifVersion,notificationVersion : boolean;
|
verifVersion,notificationVersion : boolean;
|
||||||
|
|
||||||
Const Version='4.8'; // sert à la comparaison de la version publiée
|
Const Version='5.0'; // sert à la comparaison de la version publiée
|
||||||
SousVersion=' '; // en cas d'absence de sous version mettre un espace
|
SousVersion=' '; // en cas d'absence de sous version mettre un espace
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|||||||
+5
-29
@@ -113,39 +113,15 @@ version 4.3 : D
|
|||||||
Information sur la compatibilité windows 11 ajoutée à la documentation.
|
Information sur la compatibilité windows 11 ajoutée à la documentation.
|
||||||
version 4.4 : Possibilité d'avoir un champ vide dans le LAY, ce qui ouvre CDM avec le dernier LAY pour les
|
version 4.4 : Possibilité d'avoir un champ vide dans le LAY, ce qui ouvre CDM avec le dernier LAY pour les
|
||||||
problèmes d'ouverture avec W10 et W11.
|
problèmes d'ouverture avec W10 et W11.
|
||||||
Les passages à niveaux peut être commandés par des zones de détection.
|
Les passages à niveaux peuvent être commandés par des zones de détection.
|
||||||
Code source modifié pour être compilable avec Rad Studio 11.
|
Code source modifié pour être compilable avec Rad Studio 11.
|
||||||
version 4.5 : Correction champ "déclencheur" pour son.
|
version 4.5 : Correction champ "déclencheur" pour son.
|
||||||
version 4.6 : Correction TJD 2/4 états dans le changement de sélection.
|
version 4.6 : Correction TJD 2/4 états dans le changement de sélection.
|
||||||
Gestion des panneaux directionnels dans le TCO.
|
Gestion des panneaux directionnels dans le TCO.
|
||||||
version 4.7 : Réorganisation du menu et du panneau de configuration des cellules du TCO.
|
version 4.7 : Réorganisation du menu et du panneau de configuration des cellules du TCO.
|
||||||
Amélioration du séquenceur de connexion à l'interface.
|
Amélioration du séquenceur de connexion à l'interface.
|
||||||
version 4.71 : Correction bug décodage trame actionneur de CDM
|
version 4.71 : Correction bug décodage trame actionneur de CDM.
|
||||||
version 4.72 : Renforcement de la vérification de la configuration.
|
version 4.72 : Renforcement de la vérification de la configuration.
|
||||||
version 4.73 : Pilotage des PN en impulsionnel ou non
|
version 4.73 : Pilotage des PN en impulsionnel ou non.
|
||||||
version 4.8 : gestion des sémaphores clignotants et voie libre clignotants
|
version 5.0 : Gestion des sémaphores clignotants et voies libres clignotants.
|
||||||
|
Gestion des actionneurs déclenchés par évènements aiguillages.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user