V2.5
This commit is contained in:
BIN
Binary file not shown.
Binary file not shown.
+283
-203
@@ -2402,15 +2402,15 @@ object FormConfig: TFormConfig
|
||||
Left = 280
|
||||
Top = 32
|
||||
Width = 289
|
||||
Height = 265
|
||||
Height = 353
|
||||
Caption = 'Description de l'#39'aiguillage'
|
||||
TabOrder = 0
|
||||
object LabelAdresse: TLabel
|
||||
Left = 37
|
||||
Left = 13
|
||||
Top = 20
|
||||
Width = 188
|
||||
Width = 196
|
||||
Height = 19
|
||||
Caption = 'Adresse de l'#39'aiguillage = '
|
||||
Caption = 'Description de l'#39'aiguillage'
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -16
|
||||
@@ -2431,94 +2431,9 @@ object FormConfig: TFormConfig
|
||||
Font.Style = []
|
||||
ParentFont = False
|
||||
end
|
||||
object LabelBG: TLabel
|
||||
Left = 18
|
||||
Top = 174
|
||||
Width = 9
|
||||
Height = 16
|
||||
Caption = 'P'
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -13
|
||||
Font.Name = 'Arial'
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object LabelHD: TLabel
|
||||
Left = 225
|
||||
Top = 150
|
||||
Width = 9
|
||||
Height = 16
|
||||
Caption = 'S'
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -13
|
||||
Font.Name = 'Arial'
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object LabelBD: TLabel
|
||||
Left = 225
|
||||
Top = 174
|
||||
Width = 9
|
||||
Height = 16
|
||||
Caption = 'D'
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -13
|
||||
Font.Name = 'Arial'
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object ImageAffiche: TImage
|
||||
Left = 80
|
||||
Top = 144
|
||||
Width = 137
|
||||
Height = 57
|
||||
end
|
||||
object LabelHG: TLabel
|
||||
Left = 18
|
||||
Top = 142
|
||||
Width = 9
|
||||
Height = 16
|
||||
Caption = 'D'
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -13
|
||||
Font.Name = 'Arial'
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object Label18: TLabel
|
||||
Left = 220
|
||||
Top = 198
|
||||
Width = 16
|
||||
Height = 16
|
||||
Caption = 'S2'
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -13
|
||||
Font.Name = 'Arial'
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object LabelTJD1: TLabel
|
||||
Left = 112
|
||||
Top = 208
|
||||
Width = 52
|
||||
Height = 13
|
||||
Caption = 'LabelTJD1'
|
||||
end
|
||||
object LabelTJD2: TLabel
|
||||
Left = 168
|
||||
Top = 208
|
||||
Width = 52
|
||||
Height = 13
|
||||
Caption = 'LabelTJD1'
|
||||
end
|
||||
object GroupBox10: TGroupBox
|
||||
Left = 8
|
||||
Top = 64
|
||||
Top = 104
|
||||
Width = 273
|
||||
Height = 73
|
||||
Caption = 'Vitesse de franchissement d'#233'vi'#233' :'
|
||||
@@ -2551,76 +2466,209 @@ object FormConfig: TFormConfig
|
||||
OnClick = RadioButton60kmhClick
|
||||
end
|
||||
end
|
||||
object EditDroit_BD: TEdit
|
||||
Left = 240
|
||||
Top = 174
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 1
|
||||
Text = 'EditDroit_BD'
|
||||
OnChange = EditDroit_BDChange
|
||||
end
|
||||
object EditDevie_HD: TEdit
|
||||
Left = 240
|
||||
Top = 148
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 2
|
||||
Text = 'EditDevie_HD'
|
||||
OnChange = EditDevie_HDChange
|
||||
end
|
||||
object EditPointe_BG: TEdit
|
||||
Left = 32
|
||||
Top = 172
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 3
|
||||
Text = 'EditPointe_BG'
|
||||
OnChange = EditPointe_BGChange
|
||||
end
|
||||
object EditP1: TEdit
|
||||
Left = 112
|
||||
Top = 148
|
||||
Width = 33
|
||||
Height = 21
|
||||
TabOrder = 4
|
||||
Text = 'EditDDroit'
|
||||
end
|
||||
object EditP2: TEdit
|
||||
Left = 112
|
||||
Top = 172
|
||||
Width = 33
|
||||
Height = 21
|
||||
TabOrder = 5
|
||||
Text = 'EditDdevie'
|
||||
end
|
||||
object EditDevieS2: TEdit
|
||||
Left = 240
|
||||
Top = 196
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 6
|
||||
Text = 'EditDevie_HD'
|
||||
OnChange = EditDevieS2Change
|
||||
end
|
||||
object CheckInverse: TCheckBox
|
||||
Left = 40
|
||||
Top = 232
|
||||
Top = 312
|
||||
Width = 185
|
||||
Height = 17
|
||||
Caption = 'Inversion de l'#39#233'tat CDM'
|
||||
TabOrder = 7
|
||||
TabOrder = 1
|
||||
OnClick = CheckInverseClick
|
||||
end
|
||||
end
|
||||
object Edit_HG: TEdit
|
||||
Left = 312
|
||||
Top = 172
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 1
|
||||
Text = 'EditPointe'
|
||||
OnChange = Edit_HGChange
|
||||
object EditAdrAig: TEdit
|
||||
Left = 216
|
||||
Top = 20
|
||||
Width = 49
|
||||
Height = 21
|
||||
Enabled = False
|
||||
TabOrder = 2
|
||||
OnChange = EditAdrAigChange
|
||||
end
|
||||
object ComboBoxAig: TComboBox
|
||||
Left = 72
|
||||
Top = 64
|
||||
Width = 145
|
||||
Height = 21
|
||||
Enabled = False
|
||||
ItemHeight = 13
|
||||
TabOrder = 3
|
||||
Text = 'Type'
|
||||
Items.Strings = (
|
||||
'Aiguillage simple'
|
||||
'TJD'
|
||||
'TJS'
|
||||
'Aiguillage triple')
|
||||
end
|
||||
object GroupBox16: TGroupBox
|
||||
Left = 8
|
||||
Top = 192
|
||||
Width = 273
|
||||
Height = 105
|
||||
Caption = 'Repr'#233'sentation'
|
||||
TabOrder = 4
|
||||
object LabelHG: TLabel
|
||||
Left = 10
|
||||
Top = 17
|
||||
Width = 9
|
||||
Height = 16
|
||||
Caption = 'D'
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -13
|
||||
Font.Name = 'Arial'
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object LabelBG: TLabel
|
||||
Left = 10
|
||||
Top = 45
|
||||
Width = 9
|
||||
Height = 16
|
||||
Caption = 'P'
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -13
|
||||
Font.Name = 'Arial'
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object ImageAffiche: TImage
|
||||
Left = 72
|
||||
Top = 16
|
||||
Width = 137
|
||||
Height = 57
|
||||
end
|
||||
object LabelHD: TLabel
|
||||
Left = 217
|
||||
Top = 25
|
||||
Width = 9
|
||||
Height = 16
|
||||
Caption = 'S'
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -13
|
||||
Font.Name = 'Arial'
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object LabelBD: TLabel
|
||||
Left = 217
|
||||
Top = 49
|
||||
Width = 9
|
||||
Height = 16
|
||||
Caption = 'D'
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -13
|
||||
Font.Name = 'Arial'
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object Label18: TLabel
|
||||
Left = 212
|
||||
Top = 73
|
||||
Width = 16
|
||||
Height = 16
|
||||
Caption = 'S2'
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -13
|
||||
Font.Name = 'Arial'
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object LabelTJD1: TLabel
|
||||
Left = 72
|
||||
Top = 84
|
||||
Width = 52
|
||||
Height = 13
|
||||
Caption = 'LabelTJD1'
|
||||
end
|
||||
object LabelTJD2: TLabel
|
||||
Left = 152
|
||||
Top = 84
|
||||
Width = 52
|
||||
Height = 13
|
||||
Caption = 'LabelTJD1'
|
||||
end
|
||||
object Edit_HG: TEdit
|
||||
Left = 24
|
||||
Top = 20
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 0
|
||||
Text = 'EditPointe'
|
||||
OnChange = Edit_HGChange
|
||||
end
|
||||
object EditPointe_BG: TEdit
|
||||
Left = 24
|
||||
Top = 44
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 1
|
||||
Text = 'EditPointe_BG'
|
||||
OnChange = EditPointe_BGChange
|
||||
end
|
||||
object EditP1: TEdit
|
||||
Left = 88
|
||||
Top = 28
|
||||
Width = 33
|
||||
Height = 21
|
||||
TabOrder = 2
|
||||
Text = 'EditDDroit'
|
||||
end
|
||||
object EditP2: TEdit
|
||||
Left = 88
|
||||
Top = 48
|
||||
Width = 33
|
||||
Height = 21
|
||||
TabOrder = 3
|
||||
Text = 'EditDdevie'
|
||||
end
|
||||
object EditP3: TEdit
|
||||
Left = 160
|
||||
Top = 22
|
||||
Width = 33
|
||||
Height = 21
|
||||
TabOrder = 4
|
||||
Text = 'EditDDroit'
|
||||
end
|
||||
object EditP4: TEdit
|
||||
Left = 160
|
||||
Top = 44
|
||||
Width = 33
|
||||
Height = 21
|
||||
TabOrder = 5
|
||||
Text = 'EditDDroit'
|
||||
end
|
||||
object EditDevie_HD: TEdit
|
||||
Left = 232
|
||||
Top = 20
|
||||
Width = 33
|
||||
Height = 21
|
||||
TabOrder = 6
|
||||
Text = 'EditDevie_HD'
|
||||
OnChange = EditDevie_HDChange
|
||||
end
|
||||
object EditDroit_BD: TEdit
|
||||
Left = 232
|
||||
Top = 44
|
||||
Width = 33
|
||||
Height = 21
|
||||
TabOrder = 7
|
||||
Text = 'EditDroit_BD'
|
||||
OnChange = EditDroit_BDChange
|
||||
end
|
||||
object EditDevieS2: TEdit
|
||||
Left = 232
|
||||
Top = 68
|
||||
Width = 33
|
||||
Height = 21
|
||||
TabOrder = 8
|
||||
Text = 'EditDevie_HD'
|
||||
OnChange = EditDevieS2Change
|
||||
end
|
||||
end
|
||||
end
|
||||
object RichAig: TRichEdit
|
||||
Left = 0
|
||||
@@ -2632,25 +2680,9 @@ object FormConfig: TFormConfig
|
||||
'RichAig')
|
||||
ReadOnly = True
|
||||
ScrollBars = ssVertical
|
||||
TabOrder = 2
|
||||
TabOrder = 1
|
||||
OnMouseDown = RichAigMouseDown
|
||||
end
|
||||
object EditP3: TEdit
|
||||
Left = 432
|
||||
Top = 180
|
||||
Width = 33
|
||||
Height = 21
|
||||
TabOrder = 3
|
||||
Text = 'EditDDroit'
|
||||
end
|
||||
object EditP4: TEdit
|
||||
Left = 432
|
||||
Top = 204
|
||||
Width = 33
|
||||
Height = 21
|
||||
TabOrder = 4
|
||||
Text = 'EditDDroit'
|
||||
end
|
||||
end
|
||||
object TabSheetBranches: TTabSheet
|
||||
Caption = 'Branches'
|
||||
@@ -2696,21 +2728,21 @@ object FormConfig: TFormConfig
|
||||
Left = 288
|
||||
Top = 40
|
||||
Width = 281
|
||||
Height = 313
|
||||
Height = 353
|
||||
Caption = 'Description du signal'
|
||||
TabOrder = 0
|
||||
object ImageSignal: TImage
|
||||
Left = 8
|
||||
Top = 72
|
||||
Width = 65
|
||||
Top = 80
|
||||
Width = 81
|
||||
Height = 105
|
||||
end
|
||||
object LabelAdrSig: TLabel
|
||||
Left = 13
|
||||
Top = 20
|
||||
Width = 52
|
||||
Width = 166
|
||||
Height = 19
|
||||
Caption = 'Signal '
|
||||
Caption = 'Description du signal '
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -16
|
||||
@@ -2719,37 +2751,39 @@ object FormConfig: TFormConfig
|
||||
ParentFont = False
|
||||
end
|
||||
object LabelDec: TLabel
|
||||
Left = 80
|
||||
Left = 88
|
||||
Top = 52
|
||||
Width = 53
|
||||
Width = 56
|
||||
Height = 13
|
||||
Caption = 'D'#233'codeur: '
|
||||
Caption = 'D'#233'codeur : '
|
||||
end
|
||||
object LabelDetAss: TLabel
|
||||
Left = 80
|
||||
Top = 72
|
||||
Left = 88
|
||||
Top = 104
|
||||
Width = 86
|
||||
Height = 13
|
||||
Caption = 'D'#233'tecteur associ'#233
|
||||
end
|
||||
object LabelElSuiv: TLabel
|
||||
Left = 176
|
||||
Top = 72
|
||||
Left = 184
|
||||
Top = 104
|
||||
Width = 75
|
||||
Height = 13
|
||||
Caption = 'Element suivant'
|
||||
end
|
||||
object Label17: TLabel
|
||||
Left = 8
|
||||
Top = 216
|
||||
Width = 131
|
||||
Top = 248
|
||||
Width = 228
|
||||
Height = 26
|
||||
Caption = 'Conditions suppl'#233'mentaires d'#39'affichage du carr'#233' :'
|
||||
Caption =
|
||||
'Conditions suppl'#233'mentaires d'#39'affichage du carr'#233' par les aiguilla' +
|
||||
'ges :'
|
||||
WordWrap = True
|
||||
end
|
||||
object Label24: TLabel
|
||||
Left = 104
|
||||
Top = 88
|
||||
Top = 120
|
||||
Width = 8
|
||||
Height = 13
|
||||
Caption = '1'
|
||||
@@ -2762,7 +2796,7 @@ object FormConfig: TFormConfig
|
||||
end
|
||||
object Label25: TLabel
|
||||
Left = 104
|
||||
Top = 112
|
||||
Top = 144
|
||||
Width = 8
|
||||
Height = 13
|
||||
Caption = '2'
|
||||
@@ -2775,7 +2809,7 @@ object FormConfig: TFormConfig
|
||||
end
|
||||
object Label26: TLabel
|
||||
Left = 104
|
||||
Top = 136
|
||||
Top = 168
|
||||
Width = 8
|
||||
Height = 13
|
||||
Caption = '3'
|
||||
@@ -2788,7 +2822,7 @@ object FormConfig: TFormConfig
|
||||
end
|
||||
object Label27: TLabel
|
||||
Left = 104
|
||||
Top = 160
|
||||
Top = 192
|
||||
Width = 8
|
||||
Height = 13
|
||||
Caption = '4'
|
||||
@@ -2799,17 +2833,32 @@ object FormConfig: TFormConfig
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object Label33: TLabel
|
||||
Left = 96
|
||||
Top = 76
|
||||
Width = 39
|
||||
Height = 13
|
||||
Caption = 'Aspect :'
|
||||
end
|
||||
object LabelUni: TLabel
|
||||
Left = 8
|
||||
Top = 200
|
||||
Width = 75
|
||||
Height = 13
|
||||
Caption = 'Spec Unisemaf:'
|
||||
Visible = False
|
||||
end
|
||||
object MemoCarre: TMemo
|
||||
Left = 8
|
||||
Top = 248
|
||||
Top = 280
|
||||
Width = 241
|
||||
Height = 49
|
||||
Height = 57
|
||||
ReadOnly = True
|
||||
ScrollBars = ssVertical
|
||||
TabOrder = 0
|
||||
end
|
||||
object ComboBoxDec: TComboBox
|
||||
Left = 136
|
||||
Left = 144
|
||||
Top = 48
|
||||
Width = 129
|
||||
Height = 21
|
||||
@@ -2819,7 +2868,7 @@ object FormConfig: TFormConfig
|
||||
end
|
||||
object EditDet1: TEdit
|
||||
Left = 120
|
||||
Top = 88
|
||||
Top = 120
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 2
|
||||
@@ -2828,7 +2877,7 @@ object FormConfig: TFormConfig
|
||||
end
|
||||
object EditSuiv1: TEdit
|
||||
Left = 184
|
||||
Top = 88
|
||||
Top = 120
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 3
|
||||
@@ -2837,7 +2886,7 @@ object FormConfig: TFormConfig
|
||||
end
|
||||
object EditDet2: TEdit
|
||||
Left = 120
|
||||
Top = 112
|
||||
Top = 144
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 4
|
||||
@@ -2846,7 +2895,7 @@ object FormConfig: TFormConfig
|
||||
end
|
||||
object EditSuiv2: TEdit
|
||||
Left = 184
|
||||
Top = 112
|
||||
Top = 144
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 5
|
||||
@@ -2855,7 +2904,7 @@ object FormConfig: TFormConfig
|
||||
end
|
||||
object EditDet3: TEdit
|
||||
Left = 120
|
||||
Top = 136
|
||||
Top = 168
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 6
|
||||
@@ -2864,7 +2913,7 @@ object FormConfig: TFormConfig
|
||||
end
|
||||
object EditSuiv3: TEdit
|
||||
Left = 184
|
||||
Top = 136
|
||||
Top = 168
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 7
|
||||
@@ -2873,7 +2922,7 @@ object FormConfig: TFormConfig
|
||||
end
|
||||
object EditDet4: TEdit
|
||||
Left = 120
|
||||
Top = 160
|
||||
Top = 192
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 8
|
||||
@@ -2882,7 +2931,7 @@ object FormConfig: TFormConfig
|
||||
end
|
||||
object EditSuiv4: TEdit
|
||||
Left = 184
|
||||
Top = 160
|
||||
Top = 192
|
||||
Width = 41
|
||||
Height = 21
|
||||
TabOrder = 9
|
||||
@@ -2891,7 +2940,7 @@ object FormConfig: TFormConfig
|
||||
end
|
||||
object CheckVerrouCarre: TCheckBox
|
||||
Left = 112
|
||||
Top = 192
|
||||
Top = 224
|
||||
Width = 145
|
||||
Height = 17
|
||||
Caption = 'Verrouillable au carr'#233
|
||||
@@ -2899,14 +2948,45 @@ object FormConfig: TFormConfig
|
||||
OnClick = CheckVerrouCarreClick
|
||||
end
|
||||
object EditAdrSig: TEdit
|
||||
Left = 72
|
||||
Left = 184
|
||||
Top = 18
|
||||
Width = 41
|
||||
Width = 33
|
||||
Height = 21
|
||||
Enabled = False
|
||||
TabOrder = 11
|
||||
Text = ' '
|
||||
OnChange = EditAdrSigChange
|
||||
end
|
||||
object ComboBoxAsp: TComboBox
|
||||
Left = 144
|
||||
Top = 72
|
||||
Width = 129
|
||||
Height = 21
|
||||
ItemHeight = 13
|
||||
TabOrder = 12
|
||||
OnChange = ComboBoxAspChange
|
||||
Items.Strings = (
|
||||
'2 feux'
|
||||
'3 feux'
|
||||
'4 feux'
|
||||
'5 feux'
|
||||
'7 feux'
|
||||
'9 feux'
|
||||
'Directionnel 2 feux'
|
||||
'Directionnel 3 feux'
|
||||
'Directionnel 4 feux'
|
||||
'Directionnel 5 feux'
|
||||
'Directionnel 6 feux')
|
||||
end
|
||||
object EditSpecUni: TEdit
|
||||
Left = 8
|
||||
Top = 216
|
||||
Width = 33
|
||||
Height = 21
|
||||
TabOrder = 13
|
||||
Visible = False
|
||||
OnChange = EditSpecUniChange
|
||||
end
|
||||
end
|
||||
object RichSig: TRichEdit
|
||||
Left = 0
|
||||
|
||||
+192
-47
@@ -90,23 +90,10 @@ type
|
||||
RadioButtonsans: TRadioButton;
|
||||
RadioButton30kmh: TRadioButton;
|
||||
RadioButton60kmh: TRadioButton;
|
||||
EditDroit_BD: TEdit;
|
||||
EditDevie_HD: TEdit;
|
||||
EditPointe_BG: TEdit;
|
||||
LabelLigne: TLabel;
|
||||
LabelBG: TLabel;
|
||||
LabelHD: TLabel;
|
||||
LabelBD: TLabel;
|
||||
ImageAig: TImage;
|
||||
ImageAffiche: TImage;
|
||||
ImageTJD: TImage;
|
||||
Edit_HG: TEdit;
|
||||
LabelHG: TLabel;
|
||||
EditP1: TEdit;
|
||||
EditP2: TEdit;
|
||||
ImageTri: TImage;
|
||||
Label18: TLabel;
|
||||
EditDevieS2: TEdit;
|
||||
GroupBox12: TGroupBox;
|
||||
ImageSignal: TImage;
|
||||
LabelAdrSig: TLabel;
|
||||
@@ -169,11 +156,7 @@ type
|
||||
EditSuiv4: TEdit;
|
||||
CheckVerrouCarre: TCheckBox;
|
||||
Image2: TImage;
|
||||
LabelTJD1: TLabel;
|
||||
EditP3: TEdit;
|
||||
EditP4: TEdit;
|
||||
Label28: TLabel;
|
||||
LabelTJD2: TLabel;
|
||||
CheckInverse: TCheckBox;
|
||||
RadioButtonAccess: TRadioButton;
|
||||
Label29: TLabel;
|
||||
@@ -189,6 +172,30 @@ type
|
||||
EditAdrSig: TEdit;
|
||||
Label32: TLabel;
|
||||
EditTempoAig: TEdit;
|
||||
EditAdrAig: TEdit;
|
||||
ComboBoxAig: TComboBox;
|
||||
GroupBox16: TGroupBox;
|
||||
LabelHG: TLabel;
|
||||
Edit_HG: TEdit;
|
||||
LabelBG: TLabel;
|
||||
EditPointe_BG: TEdit;
|
||||
ImageAffiche: TImage;
|
||||
EditP1: TEdit;
|
||||
EditP2: TEdit;
|
||||
EditP3: TEdit;
|
||||
EditP4: TEdit;
|
||||
LabelHD: TLabel;
|
||||
EditDevie_HD: TEdit;
|
||||
LabelBD: TLabel;
|
||||
EditDroit_BD: TEdit;
|
||||
Label18: TLabel;
|
||||
EditDevieS2: TEdit;
|
||||
LabelTJD1: TLabel;
|
||||
LabelTJD2: TLabel;
|
||||
Label33: TLabel;
|
||||
ComboBoxAsp: TComboBox;
|
||||
EditSpecUni: TEdit;
|
||||
LabelUni: TLabel;
|
||||
procedure ButtonAppliquerEtFermerClick(Sender: TObject);
|
||||
procedure Button2Click(Sender: TObject);
|
||||
procedure FormActivate(Sender: TObject);
|
||||
@@ -228,6 +235,9 @@ type
|
||||
procedure Edit_HGChange(Sender: TObject);
|
||||
procedure CheckInverseClick(Sender: TObject);
|
||||
procedure EditAdrSigChange(Sender: TObject);
|
||||
procedure EditAdrAigChange(Sender: TObject);
|
||||
procedure ComboBoxAspChange(Sender: TObject);
|
||||
procedure EditSpecUniChange(Sender: TObject);
|
||||
private
|
||||
{ Déclarations privées }
|
||||
public
|
||||
@@ -519,11 +529,11 @@ begin
|
||||
|
||||
end;
|
||||
|
||||
// transforme le signal du tableau en texte
|
||||
// transforme le signal du tableau graphique en texte
|
||||
function encode_sig(i : integer): string;
|
||||
var s : string;
|
||||
c : char;
|
||||
adresse,aspect,j,k,NfeuxDir : integer;
|
||||
adresse,aspect,j,k,NfeuxDir,CondCarre,l,nc : integer;
|
||||
begin
|
||||
// adresse
|
||||
adresse:=feux[i].adresse;
|
||||
@@ -553,7 +563,7 @@ begin
|
||||
s:=s+'),';
|
||||
end
|
||||
else
|
||||
// feux directionels
|
||||
// feux directionnels
|
||||
begin
|
||||
NfeuxDir:=aspect-10;
|
||||
for j:=1 to NfeuxDir+1 do
|
||||
@@ -575,6 +585,32 @@ begin
|
||||
// si unsemaf, paramètre supplémentaire
|
||||
if feux[i].decodeur=6 then s:=s+','+intToSTR(feux[i].unisemaf);
|
||||
end;
|
||||
|
||||
// conditions supplémentaires pour le carré
|
||||
if aspect<10 then
|
||||
begin
|
||||
CondCarre:=Length(feux[i].condcarre[1]); // nombre de conditions (nombre de parenthèses ex 3 pour (A21S,A6D)(A30S,A20D)(A1D,A2S,A3D)
|
||||
if condCarre<>0 then
|
||||
begin
|
||||
dec(condCarre);
|
||||
l:=1;
|
||||
while condCarre<>0 do
|
||||
begin
|
||||
//if condcarre<>0 then dec(condcarre);
|
||||
s:=s+',(';
|
||||
nc:=Length(feux[i].condcarre[l])-1 ; // nombre d'aiguillages dans la parenthèse A21,S,A6,D = 4
|
||||
for k:=1 to nc do
|
||||
begin
|
||||
s:=s+'A'+IntToSTR(feux[i].condcarre[l][k].Adresse)+feux[i].condcarre[l][k].PosAig;
|
||||
if k<nc then s:=s+',';
|
||||
end;
|
||||
s:=s+')';
|
||||
inc(l);
|
||||
//CondCarre:=Length(feux[i].condcarre[l]);
|
||||
dec(condcarre);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
encode_sig:=s;
|
||||
end;
|
||||
|
||||
@@ -1138,7 +1174,7 @@ end;
|
||||
// procédure appellée quand on clique une ligne aiguillage de RichAig
|
||||
procedure Aff_champs_aig;
|
||||
var Adresse,Adr2,traite,erreur,i,j,Nboucle,selpos,AncAdresse,lc : integer;
|
||||
bis,tjd,tri : boolean;
|
||||
bis,tjd,tri,tjs : boolean;
|
||||
s,ss : string;
|
||||
B : char;
|
||||
begin
|
||||
@@ -1147,7 +1183,7 @@ begin
|
||||
begin
|
||||
lc:=Perform(EM_LINEFROMCHAR,-1,0); // numéro de la lignée cliquée
|
||||
|
||||
s:=Uppercase(Lines[lc]); // ligne cliquée
|
||||
s:=Uppercase(Lines[lc]);
|
||||
if s='' then exit;
|
||||
|
||||
AncLigneCliquee:=LigneCliquee;
|
||||
@@ -1171,16 +1207,17 @@ begin
|
||||
|
||||
end;
|
||||
|
||||
Val(s,Adresse,erreur); // Adresse de l'aiguillage
|
||||
Val(s,Adresse,erreur); // Récupérer l'adresse de l'aiguillage
|
||||
if adresse=0 then exit;
|
||||
|
||||
RE_ColorLine(Formconfig.RichAig,ligneCliquee,Clyellow);
|
||||
|
||||
ss:='Description de l''aiguillage '+InttoSTr(Adresse);
|
||||
formconfig.LabelAdresse.Caption:= ss;
|
||||
ss:=InttoSTr(Adresse);
|
||||
formconfig.EditAdrAig.text:= ss;
|
||||
|
||||
tjd:=pos('TJD',s)<>0 ;
|
||||
tri:=pos('TRI',s)<>0 ;
|
||||
tjs:=pos('TJS',s)<>0 ;
|
||||
with formconfig do
|
||||
begin
|
||||
LabelLigne.caption:=s;
|
||||
@@ -1188,8 +1225,10 @@ begin
|
||||
ImageAffiche.Picture.Bitmap.TransparentColor:=clblue;
|
||||
ImageAffiche.Transparent:=true;
|
||||
// tjd
|
||||
if tjd then
|
||||
if tjd or tjs then
|
||||
begin
|
||||
if tjd then ComboBoxAig.ItemIndex:=1; // 0=n'existe pas 1=aiguillage 2=TJD 3=TJS 4=aiguillage triple
|
||||
if tjs then ComboBoxAig.ItemIndex:=2;
|
||||
ImageAffiche.Picture.BitMap:=Imagetjd.Picture.Bitmap;
|
||||
labelBG.Caption:='S';
|
||||
Edit_HG.Visible:=true;
|
||||
@@ -1249,6 +1288,7 @@ begin
|
||||
// aiguillage tri
|
||||
if tri then
|
||||
begin
|
||||
ComboBoxAig.ItemIndex:=3; // 0=n'existe pas 1=aiguillage 2=TJD 3=TJS 4=aiguillage triple
|
||||
tri:=true;
|
||||
labelTJD1.Visible:=false;
|
||||
LabelTJD2.Visible:=false;
|
||||
@@ -1264,6 +1304,7 @@ begin
|
||||
else
|
||||
// aiguillage normal
|
||||
begin
|
||||
ComboBoxAig.ItemIndex:=0; // 0=n'existe pas 1=aiguillage 2=TJD 3=TJS 4=aiguillage triple
|
||||
ImageAffiche.Picture.BitMap:=Imageaig.Picture.Bitmap;
|
||||
labelBG.Caption:='P';
|
||||
EditPointe_BG.ReadOnly:=false;
|
||||
@@ -1360,14 +1401,14 @@ end;
|
||||
|
||||
// appellée quand on clique sur la liste signaux
|
||||
Procedure aff_champs_sig;
|
||||
var i,j,l,d,k, ligne,lc, adresse,erreur,condCarre,AncAdresse : integer;
|
||||
var i,j,l,d,k,nc, ligne,lc, adresse,erreur,condCarre,AncAdresse : integer;
|
||||
s,ss,s2 : string;
|
||||
begin
|
||||
// déterminer la ligne cliquée et mettre en surbrillance
|
||||
with Formconfig.RichSig do
|
||||
begin
|
||||
lc:=Perform(EM_LINEFROMCHAR,-1,0); // numéro de la lignée cliquée
|
||||
|
||||
//Affiche('numéro de la ligne cliquée '+intToStr(lc),clyellow);
|
||||
s:=Uppercase(Lines[lc]); // ligne cliquée
|
||||
if s='' then exit;
|
||||
|
||||
@@ -1375,7 +1416,7 @@ begin
|
||||
ligneCliquee:=lc;
|
||||
//Affiche('Ancienne='+IntToSTR(AncLigneCliquee)+' Nouvelle='+IntToSTR(LigneCliquee),clyellow);
|
||||
|
||||
// Mettre en rouge le signal modifié quand on clique sur un autre aiguillage
|
||||
// Mettre en rouge le signal modifié quand on clique sur un autre signal
|
||||
if AncLigneCliquee<>-1 then
|
||||
begin
|
||||
val(FormConfig.RichSig.Lines[AncLigneCliquee],AncAdresse,erreur);
|
||||
@@ -1392,6 +1433,7 @@ begin
|
||||
|
||||
FormConfig.EditAdrSig.text:=InttoSTr(Adresse);
|
||||
i:=Index_feu(adresse);
|
||||
|
||||
with formconfig.ImageSignal do
|
||||
begin
|
||||
Picture.Bitmap.TransparentMode:=tmAuto;
|
||||
@@ -1406,7 +1448,24 @@ begin
|
||||
EditDet3.Text:=''; EditSuiv3.Text:='';
|
||||
EditDet4.Text:=''; EditSuiv4.Text:='';
|
||||
ComboBoxDec.ItemIndex:=feux[i].decodeur;
|
||||
if feux[i].decodeur=6 then
|
||||
begin
|
||||
EditSpecUni.Visible:=true;LabelUni.Visible:=true;
|
||||
EditSpecUni.Text:=IntToSTR(feux[i].Unisemaf);
|
||||
end
|
||||
else begin EditSpecUni.Visible:=false;LabelUni.Visible:=false;end;
|
||||
d:=feux[i].aspect;
|
||||
case d of
|
||||
2 : ComboBoxAsp.ItemIndex:=0;
|
||||
3 : ComboBoxAsp.ItemIndex:=1;
|
||||
4 : ComboBoxAsp.ItemIndex:=2;
|
||||
5 : ComboBoxAsp.ItemIndex:=3;
|
||||
7 : ComboBoxAsp.ItemIndex:=4;
|
||||
9 : ComboBoxAsp.ItemIndex:=5;
|
||||
else
|
||||
ComboBoxAsp.ItemIndex:=d-10+4;
|
||||
end;
|
||||
|
||||
// signal normal
|
||||
if d<10 then
|
||||
begin
|
||||
@@ -1438,26 +1497,30 @@ begin
|
||||
|
||||
checkVerrouCarre.Checked:=feux[i].VerrouCarre;
|
||||
|
||||
// conditions supplémentaires
|
||||
CondCarre:=Length(feux[i].condcarre[1]);
|
||||
// conditions supplémentaires du carré par aiguillages
|
||||
CondCarre:=Length(feux[i].condcarre[1]); // nombre de conditions (nombre de parenthèses ex 3 pour (A21S,A6D)(A30S,A20D)(A1D,A2S,A3D)
|
||||
l:=1;
|
||||
|
||||
while condCarre<>0 do
|
||||
if condCarre<>0 then
|
||||
begin
|
||||
if condcarre<>0 then dec(condcarre);
|
||||
s2:='';
|
||||
for k:=1 to condCarre do
|
||||
dec(condCarre);
|
||||
while condCarre<>0 do
|
||||
begin
|
||||
s2:=s2+'A'+IntToSTR(feux[i].condcarre[l][k].Adresse)+feux[i].condcarre[l][k].PosAig;
|
||||
if k<condCarre then s2:=s2+',';
|
||||
|
||||
//if condcarre<>0 then dec(condcarre);
|
||||
s2:='';
|
||||
nc:=Length(feux[i].condcarre[l])-1 ; // nombre d'aiguillages dans la parenthèse A21,S,A6,D = 4
|
||||
for k:=1 to nc do
|
||||
begin
|
||||
s2:=s2+'A'+IntToSTR(feux[i].condcarre[l][k].Adresse)+feux[i].condcarre[l][k].PosAig;
|
||||
if k<nc then s2:=s2+',';
|
||||
end;
|
||||
MemoCarre.Lines.Add(s2);
|
||||
inc(l);
|
||||
dec(condcarre);
|
||||
end;
|
||||
//s2:=s2+'/';
|
||||
MemoCarre.Lines.Add(s2);
|
||||
inc(l);
|
||||
CondCarre:=Length(feux[i].condcarre[l]);
|
||||
end;
|
||||
|
||||
// scrolle le MemoCarre sur la première ligne
|
||||
MemoCarre.SelStart:=0;
|
||||
MemoCarre.Perform(EM_SCROLLCARET,0,0);
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin // directionnel
|
||||
@@ -1964,7 +2027,7 @@ procedure TFormConfig.EditDet1Change(Sender: TObject);
|
||||
var s : string;
|
||||
i,erreur : integer;
|
||||
begin
|
||||
if clicliste then exit;
|
||||
if clicliste or (feux[lignecliquee+1].Aspect>10) then exit;
|
||||
|
||||
if FormConfig.PageControl.ActivePage=FormConfig.TabSheetSig then
|
||||
with Formconfig do
|
||||
@@ -1985,7 +2048,7 @@ var s : string;
|
||||
i,erreur : integer;
|
||||
B : char;
|
||||
begin
|
||||
if clicliste then exit;
|
||||
if clicliste or (feux[lignecliquee+1].Aspect>10) then exit;
|
||||
|
||||
if FormConfig.PageControl.ActivePage=FormConfig.TabSheetSig then
|
||||
with Formconfig do
|
||||
@@ -2399,6 +2462,88 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
procedure TFormConfig.EditAdrAigChange(Sender: TObject);
|
||||
var s : string;
|
||||
i, erreur : integer;
|
||||
begin
|
||||
if clicliste then exit;
|
||||
|
||||
if FormConfig.PageControl.ActivePage=FormConfig.TabSheetAig then
|
||||
with Formconfig do
|
||||
begin
|
||||
s:=EditAdrAig.Text;
|
||||
Val(s,i,erreur);
|
||||
if erreur<>0 then begin LabelInfo.caption:='Erreur adresse aiguillage ';exit;end;
|
||||
// vérifier si l'adresse de l'aiguillage existe déja
|
||||
if (aiguillage[i].modele<>0) then
|
||||
begin
|
||||
LabelInfo.caption:='aiguillage '+IntToSTR(i)+' existe déja - ne sera pas écrasé' ;
|
||||
exit;
|
||||
end
|
||||
else LabelInfo.caption:='';
|
||||
|
||||
LabelInfo.caption:=' ';
|
||||
s:=encode_aig(i);
|
||||
affiche(s,clyellow);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFormConfig.ComboBoxAspChange(Sender: TObject);
|
||||
var i,index,feu,asp : integer;
|
||||
s : string;
|
||||
begin
|
||||
i:=ComboBoxAsp.ItemIndex;
|
||||
//Affiche(IntToSTR(i),clyellow);
|
||||
case i of
|
||||
0 : asp:=2;
|
||||
1 : asp:=3;
|
||||
2 : asp:=4;
|
||||
3 : asp:=5;
|
||||
4 : asp:=7;
|
||||
5 : asp:=9;
|
||||
else asp:=i+6;
|
||||
end;
|
||||
index:=lignecliquee+1; // index du feu
|
||||
feux[index].aspect:=asp;
|
||||
|
||||
s:=encode_sig(index);
|
||||
formconfig.RichSig.Lines[lignecliquee]:=s;
|
||||
// change l'image du feu
|
||||
feux[index].Img.picture.Bitmap:=Select_dessin_feu(asp);
|
||||
// mettre rouge par défaut
|
||||
if asp=2 then EtatSignalCplx[feux[index].adresse]:=32;
|
||||
if asp=3 then EtatSignalCplx[feux[index].adresse]:=2;
|
||||
if (asp>3) and (asp<10) then EtatSignalCplx[feux[index].adresse]:=1;
|
||||
if asp>10 then EtatSignalCplx[feux[index].adresse]:=0;
|
||||
|
||||
aff_champs_sig; // redessine le graphisme du cadre
|
||||
dessine_feu_mx(Feux[index].Img.Canvas,0,0,1,1,feux[index].adresse,1);
|
||||
end;
|
||||
|
||||
procedure TFormConfig.EditSpecUniChange(Sender: TObject);
|
||||
var erreur,i,Adr : integer ;
|
||||
s : string ;
|
||||
begin
|
||||
if clicliste then exit;
|
||||
|
||||
if FormConfig.PageControl.ActivePage=FormConfig.TabSheetSig then
|
||||
with Formconfig do
|
||||
begin
|
||||
s:=EditSpecUni.Text;
|
||||
Val(s,i,erreur); // code unisemaf
|
||||
s:=EditAdrSig.Text;
|
||||
Val(s,Adr,erreur); // Adresse signal
|
||||
// vérification code unisemaf
|
||||
erreur:=verif_unisemaf(Adr,i);
|
||||
if erreur=1 then begin LabelInfo.caption:='Erreur code Unisemaf';exit;end;
|
||||
if erreur=2 then begin LabelInfo.caption:='Erreur cohérence aspect signal';exit;end;
|
||||
|
||||
LabelInfo.caption:=' ';
|
||||
feux[lignecliquee+1].Unisemaf:=i;
|
||||
s:=encode_sig(lignecliquee+1);
|
||||
formconfig.RichSig.Lines[lignecliquee]:=s;
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
+11
-3
@@ -12,6 +12,7 @@ object FormPilote: TFormPilote
|
||||
Font.Name = 'MS Sans Serif'
|
||||
Font.Style = []
|
||||
OldCreateOrder = False
|
||||
OnActivate = FormActivate
|
||||
OnClose = FormClose
|
||||
OnCreate = FormCreate
|
||||
PixelsPerInch = 96
|
||||
@@ -37,14 +38,14 @@ object FormPilote: TFormPilote
|
||||
end
|
||||
object LabelNbFeux: TLabel
|
||||
Left = 208
|
||||
Top = 224
|
||||
Top = 240
|
||||
Width = 120
|
||||
Height = 13
|
||||
Caption = 'Nombre de feux '#224' allumer'
|
||||
end
|
||||
object LabelDec: TLabel
|
||||
Left = 216
|
||||
Top = 192
|
||||
Top = 208
|
||||
Width = 72
|
||||
Height = 19
|
||||
Caption = 'LabelDec'
|
||||
@@ -55,6 +56,13 @@ object FormPilote: TFormPilote
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object Label1: TLabel
|
||||
Left = 232
|
||||
Top = 192
|
||||
Width = 50
|
||||
Height = 13
|
||||
Caption = 'D'#233'codeur:'
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 8
|
||||
Top = 40
|
||||
@@ -208,7 +216,7 @@ object FormPilote: TFormPilote
|
||||
end
|
||||
object EditNbreFeux: TEdit
|
||||
Left = 240
|
||||
Top = 248
|
||||
Top = 256
|
||||
Width = 57
|
||||
Height = 21
|
||||
TabOrder = 3
|
||||
|
||||
+12
-10
@@ -32,6 +32,7 @@ type
|
||||
EditNbreFeux: TEdit;
|
||||
LabelNbFeux: TLabel;
|
||||
LabelDec: TLabel;
|
||||
Label1: TLabel;
|
||||
procedure RadioVertClick(Sender: TObject);
|
||||
procedure RadioVertCliClick(Sender: TObject);
|
||||
procedure RadioJauneClick(Sender: TObject);
|
||||
@@ -50,6 +51,7 @@ type
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure ButtonPiloteClick(Sender: TObject);
|
||||
procedure EditNbreFeuxKeyPress(Sender: TObject; var Key: Char);
|
||||
procedure FormActivate(Sender: TObject);
|
||||
private
|
||||
{ Déclarations privées }
|
||||
public
|
||||
@@ -212,15 +214,9 @@ begin
|
||||
end;
|
||||
|
||||
procedure TFormPilote.FormCreate(Sender: TObject);
|
||||
var i,d : integer;
|
||||
begin
|
||||
radioVert.Checked:=false;
|
||||
radioVertCli.Checked:=false;
|
||||
i:=index_feu(AdrPilote);
|
||||
d:=feux[i].decodeur;
|
||||
//labelDec.Caption:=decodeur[d];
|
||||
//Affiche(decodeur[d],clred);
|
||||
|
||||
radioVert.Checked:=false;
|
||||
radioVertCli.Checked:=false;
|
||||
end;
|
||||
|
||||
procedure TFormPilote.ButtonPiloteClick(Sender: TObject);
|
||||
@@ -255,13 +251,19 @@ if ord(Key) = VK_RETURN then
|
||||
EtatSignalCplx[0]:=i;
|
||||
dessine_feu_pilote;
|
||||
end;
|
||||
|
||||
if (i<0) and (i>6) then EditNbreFeux.text:='1';
|
||||
end
|
||||
else EditNbreFeux.text:='1';
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure TFormPilote.FormActivate(Sender: TObject);
|
||||
var i,d : integer;
|
||||
begin
|
||||
// mise à jour du champ décodeur
|
||||
i:=index_feu(AdrPilote);
|
||||
d:=feux[i].decodeur;
|
||||
LabelDec.Caption:=decodeur[d];
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
Binary file not shown.
+4
-4
@@ -1557,12 +1557,12 @@ object FormPrinc: TFormPrinc
|
||||
object Interface1: TMenuItem
|
||||
Caption = 'Interface'
|
||||
object MenuConnecterUSB: TMenuItem
|
||||
Caption = 'Connecter l'#39'interface en USB'
|
||||
Caption = 'Connecter l'#39'interface XpressNet en USB'
|
||||
Hint = 'Connecter l'#39'interface en USB'
|
||||
OnClick = MenuConnecterUSBClick
|
||||
end
|
||||
object DeconnecterUSB: TMenuItem
|
||||
Caption = 'D'#233'connecter interface de l'#39'USB'
|
||||
Caption = 'D'#233'connecter l'#39'interface XpressNet de l'#39'USB'
|
||||
Hint = 'D'#233'connecter l'#39'interface USB'
|
||||
OnClick = DeconnecterUSBClick
|
||||
end
|
||||
@@ -1570,12 +1570,12 @@ object FormPrinc: TFormPrinc
|
||||
Caption = '-'
|
||||
end
|
||||
object MenuConnecterEthernet: TMenuItem
|
||||
Caption = 'Connecter l'#39'interface en Ethernet'
|
||||
Caption = 'Connecter l'#39'interface XpressNet en Ethernet'
|
||||
Hint = 'Connecter l'#39'interface par Ethernet'
|
||||
OnClick = MenuConnecterEthernetClick
|
||||
end
|
||||
object MenuDeconnecterEthernet: TMenuItem
|
||||
Caption = 'D'#233'connecter l'#39'interface de Ethernet'
|
||||
Caption = 'D'#233'connecter l'#39'interface XpressNet de Ethernet'
|
||||
Hint = 'D'#233'connecter l'#39'interface par Ethernet'
|
||||
OnClick = MenuDeconnecterEthernetClick
|
||||
end
|
||||
|
||||
+82
-35
@@ -198,8 +198,8 @@ type TBranche = record
|
||||
position, // position actuelle : 1=dévié 2=droit (centrale LENZ)
|
||||
Adrtriple, // 2eme adresse pour un aiguillage triple
|
||||
temps, // temps de pilotage (durée de l'impulsion en x 100 ms)
|
||||
inversion : integer; // pilotage inversé pour la commande (en mode sans CDM) 0=normal 1=inversé (positionné dans fichier config_gl section_init
|
||||
InversionCDM : integer ; // inversion pour les aiguillages en lecture (paramètre I1)
|
||||
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)
|
||||
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
|
||||
@@ -329,6 +329,7 @@ var
|
||||
posAig : char;
|
||||
end;
|
||||
CondCarre : array[1..6] of array of record // conditions supplémentaires d'aiguillages en position pour le carré
|
||||
// attention les données sont stockée en adresse 1 du tableau dynamique
|
||||
Adresse : integer; // aiguillage
|
||||
posAig : char;
|
||||
end;
|
||||
@@ -369,6 +370,8 @@ function PresTrainPrec(AdrFeu : integer) : boolean;
|
||||
function cond_carre(adresse : integer) : boolean;
|
||||
function carre_signal(adresse : integer) : boolean;
|
||||
procedure Event_Detecteur(Adresse : integer;etat : boolean;train : string);
|
||||
function verif_UniSemaf(adresse,UniSem : integer) : integer;
|
||||
function Select_dessin_feu(TypeFeu : integer) : TBitmap;
|
||||
|
||||
implementation
|
||||
|
||||
@@ -1163,6 +1166,26 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function Select_dessin_feu(TypeFeu : integer) : TBitmap;
|
||||
var Bm : TBitMap;
|
||||
begin
|
||||
case TypeFeu of // charger le bit map depuis le fichier
|
||||
2 : Bm:=Formprinc.Image2feux.picture.Bitmap;
|
||||
3 : Bm:=Formprinc.Image3feux.picture.Bitmap;
|
||||
4 : Bm:=Formprinc.Image4feux.picture.Bitmap;
|
||||
5 : Bm:=Formprinc.Image5feux.picture.Bitmap;
|
||||
7 : Bm:=Formprinc.Image7feux.picture.Bitmap;
|
||||
9 : Bm:=Formprinc.Image9feux.picture.Bitmap;
|
||||
|
||||
12 : Bm:=Formprinc.Image2Dir.picture.Bitmap;
|
||||
13 : Bm:=Formprinc.Image3Dir.picture.Bitmap;
|
||||
14 : Bm:=Formprinc.Image4Dir.picture.Bitmap;
|
||||
15 : Bm:=Formprinc.Image5Dir.picture.Bitmap;
|
||||
16 : Bm:=Formprinc.Image6Dir.picture.Bitmap;
|
||||
end;
|
||||
Select_dessin_feu:=bm;
|
||||
end;
|
||||
|
||||
// créée une image dynamiquement pour un nouveau feu déclaré dans le fichier de config
|
||||
procedure cree_image(rang : integer);
|
||||
var TypeFeu : integer;
|
||||
@@ -1187,22 +1210,10 @@ begin
|
||||
Picture.Bitmap.TransparentMode:=tmAuto;
|
||||
Picture.Bitmap.TransparentColor:=clblue;
|
||||
Transparent:=true;
|
||||
|
||||
// affecter le type d'image de feu dans l'image créée
|
||||
picture.Bitmap:=Select_dessin_feu(TypeFeu);
|
||||
|
||||
case TypeFeu of // charger le bit map depuis le fichier
|
||||
2 : picture.bitmap:=Formprinc.Image2feux.picture.Bitmap;
|
||||
3 : picture.bitmap:=Formprinc.Image3feux.picture.Bitmap;
|
||||
4 : picture.bitmap:=Formprinc.Image4feux.picture.Bitmap;
|
||||
5 : picture.bitmap:=Formprinc.Image5feux.picture.Bitmap;
|
||||
7 : picture.bitmap:=Formprinc.Image7feux.picture.Bitmap;
|
||||
9 : picture.bitmap:=Formprinc.Image9feux.picture.Bitmap;
|
||||
|
||||
12 : picture.bitmap:=Formprinc.Image2Dir.picture.Bitmap;
|
||||
13 : picture.bitmap:=Formprinc.Image3Dir.picture.Bitmap;
|
||||
14 : picture.bitmap:=Formprinc.Image4Dir.picture.Bitmap;
|
||||
15 : picture.bitmap:=Formprinc.Image5Dir.picture.Bitmap;
|
||||
16 : picture.bitmap:=Formprinc.Image6Dir.picture.Bitmap;
|
||||
end;
|
||||
|
||||
// mettre rouge par défaut
|
||||
if TypeFeu=2 then EtatSignalCplx[feux[rang].adresse]:=violet_F;
|
||||
if TypeFeu=3 then EtatSignalCplx[feux[rang].adresse]:=semaphore_F;
|
||||
@@ -3369,6 +3380,27 @@ begin
|
||||
IndexBranche_trouve:=i;
|
||||
end;
|
||||
|
||||
// si 0 = OK
|
||||
// si 1 = erreur code Unisemaf
|
||||
// si 2 = erreur cohérence entre code et aspect
|
||||
function verif_UniSemaf(adresse,UniSem : integer) : integer;
|
||||
var aspect : integer;
|
||||
begin
|
||||
if UniSem=0 then begin verif_unisemaf:=0;exit;end;
|
||||
if (UniSem<>2) and (UniSem<>3) and (UniSem<>4) and (UniSem<>51) and (UniSem<>52) and (UniSem<>71) and (UniSem<>72) and (UniSem<>73) and
|
||||
((UniSem<90) or (UniSem>99)) then begin verif_UniSemaf:=1;exit;end;
|
||||
|
||||
aspect:=feux[adresse].aspect;
|
||||
if ((aspect=2) and (UniSem=2)) or
|
||||
((aspect=3) and (UniSem=3)) or
|
||||
((aspect=4) and (UniSem=4)) or
|
||||
((aspect=5) and ((UniSem=51) or (UniSem=52))) or
|
||||
((aspect=7) and ((UniSem=71) or (UniSem=72) or (UniSem=73))) or
|
||||
((aspect=9) and ((UniSem>=90) or (UniSem<=99)))
|
||||
then Verif_unisemaf:=0
|
||||
else Verif_Unisemaf:=2;
|
||||
end;
|
||||
|
||||
procedure lit_config;
|
||||
var s,sa,chaine,SOrigine: string;
|
||||
c,paig : char;
|
||||
@@ -3378,7 +3410,7 @@ var s,sa,chaine,SOrigine: string;
|
||||
trouve_NOTIF_VERSION,trouve_verif_version,trouve_fonte,trouve_tempo_aig : boolean;
|
||||
bd,virgule,i_detect,i,erreur,aig,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,
|
||||
postjd,postjs,nv,it,Num_Champ : integer;
|
||||
postjd,postjs,nv,it,Num_Champ,asp : integer;
|
||||
function lit_ligne : string ;
|
||||
begin
|
||||
repeat
|
||||
@@ -3499,7 +3531,12 @@ begin
|
||||
trouve_ipv4_PC:=true;
|
||||
delete(s,i,length(sa));
|
||||
i:=pos(':',s);
|
||||
if i<>0 then begin adresseIPCDM:=copy(s,1,i-1);Delete(s,1,i);portCDM:=StrToINT(s);end;
|
||||
if i<>0 then
|
||||
begin
|
||||
adresseIPCDM:=copy(s,1,i-1);Delete(s,1,i);portCDM:=StrToINT(s);
|
||||
if portCDM=0 then affiche('Erreur port nul : '+s,clred);
|
||||
end
|
||||
else affiche('Erreur adresse ip cdm rail '+s,clred);
|
||||
end;
|
||||
|
||||
// adresse ip et port de la centrale
|
||||
@@ -3512,7 +3549,11 @@ begin
|
||||
trouve_IPV4_INTERFACE:=true;
|
||||
delete(s,i,length(sa));
|
||||
i:=pos(':',s);
|
||||
if i<>0 then begin adresseIP:=copy(s,1,i-1);Delete(s,1,i);port:=StrToINT(s);end
|
||||
if i<>0 then
|
||||
begin
|
||||
adresseIP:=copy(s,1,i-1);Delete(s,1,i);port:=StrToINT(s);
|
||||
if port=0 then affiche('Erreur port nul : '+s,clred);
|
||||
end
|
||||
else begin adresseIP:='0';parSocketLenz:=false;end;
|
||||
end;
|
||||
|
||||
@@ -3967,7 +4008,7 @@ begin
|
||||
end;
|
||||
inc(itl);
|
||||
until (enregistrement='') or (itl>2);
|
||||
if itl>2 then begin Affiche('Erreur 400 ligne '+sOrigine,clred);closefile(fichier);exit;end;
|
||||
if itl>4 then begin Affiche('Erreur 400 ligne '+sOrigine,clred);closefile(fichier);exit;end;
|
||||
end;
|
||||
until (s='0');
|
||||
//Affiche(IntToSTR(maxaiguillage)+' Aiguillages',clYellow);
|
||||
@@ -4123,10 +4164,10 @@ begin
|
||||
else
|
||||
// feu de signalisation---------------------------------
|
||||
begin
|
||||
k:=StrToInt(sa); //aspect
|
||||
feux[i].aspect:=k;Delete(s,1,j);
|
||||
if (k=0) or (k=6) or (k>9) then
|
||||
Affiche('Fichier config.cfg: configuration aspect ('+intToSTR(k)+') feu incorrecte à la ligne '+chaine,clRed);
|
||||
asp:=StrToInt(sa); //aspect
|
||||
feux[i].aspect:=asp;Delete(s,1,j);
|
||||
if (asp=0) or (asp=6) or (asp>9) then
|
||||
Affiche('Fichier config.cfg: configuration aspect ('+intToSTR(asp)+') feu incorrecte à la ligne '+chaine,clRed);
|
||||
j:=pos(',',s);
|
||||
if j>1 then begin Feux[i].FeuBlanc:=(copy(s,1,j-1))='1';delete(s,1,j);end;
|
||||
j:=pos(',',s);
|
||||
@@ -4220,6 +4261,13 @@ begin
|
||||
Delete(S,1,k);
|
||||
Val(s,k,erreur);
|
||||
Feux[i].UniSemaf:=k;
|
||||
erreur:=verif_UniSemaf(i,k);
|
||||
if erreur=1 then begin Affiche('Ligne '+chaine,clred);Affiche('Erreur code Unisemaf',clred);end;
|
||||
if erreur=2 then
|
||||
begin
|
||||
Affiche('Ligne '+chaine,clred);Affiche('Erreur cohérence aspect signal ('+intToSTR(asp)+') et code Unisemaf ('+intToSTR(k)+')',clred);
|
||||
end;
|
||||
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@@ -4451,16 +4499,15 @@ begin
|
||||
j:=1;
|
||||
repeat
|
||||
detect:=BrancheN[i][j].Adresse;
|
||||
modele:=BrancheN[i][j].BType; // 1= détecteur 2= aiguillage 3=bis 4=Buttoir
|
||||
modele:=BrancheN[i][j].BType; // 1= détecteur 2= aiguillage 4=Buttoir
|
||||
if (modele=2) then
|
||||
begin
|
||||
//affiche('trouvé aig '+intToSTR(detect),clyellow);
|
||||
modele:=aiguillage[detect].modele;
|
||||
if (modele=0) then Affiche('Erreur 1: Aiguillage '+intToStr(detect)+' non décrit mais présent en branche '+intToStr(i)+' pos. '+intToSTR(j),clred);
|
||||
end;
|
||||
j:=j+1;
|
||||
until ( (modele=1) or (modele=2) or (modele=3) or ((modele=0) and (detect=0)));
|
||||
// trouvé un aiguillage et récupéré son adresse dans detect
|
||||
//if (type!=1) Display("Erreur aucun détecteur dans la déclaration du réseau\r\n");
|
||||
if (modele=1) or (modele=2) or (modele=3) then
|
||||
begin
|
||||
modele:=aiguillage[detect].modele;
|
||||
if (modele=0) then Affiche('Erreur 1: Aiguillage='+intToStr(detect)+' non décrit mais présent dans la description des branches '+intToStr(i)+'/'+intToSTR(j),clred);
|
||||
end;
|
||||
until((modele=0) and (detect=0));
|
||||
end;
|
||||
|
||||
// vérification de la cohérence2
|
||||
@@ -6797,7 +6844,7 @@ begin
|
||||
|
||||
// si l'aiguillage est inversé dans CDM et qu'on est en mode autonome, inverser sa position
|
||||
inv:=false;
|
||||
if (aiguillage[adresse].inversionCDM=1) then // and (portCommOuvert or parSocketLenz) then
|
||||
if (aiguillage[adresse].inversionCDM=1) and (portCommOuvert or parSocketLenz) then
|
||||
begin
|
||||
prov:=pos;
|
||||
inv:=true;
|
||||
|
||||
Binary file not shown.
BIN
Binary file not shown.
+19
-66
@@ -465,7 +465,7 @@ end;
|
||||
procedure sauve_fichier_tco;
|
||||
var fichier : textfile;
|
||||
s : string;
|
||||
x,y,i,erreur : integer;
|
||||
x,y : integer;
|
||||
begin
|
||||
AssignFile(fichier,'tco.cfg');
|
||||
rewrite(fichier);
|
||||
@@ -509,7 +509,6 @@ end;
|
||||
|
||||
procedure TformTCO.grille;
|
||||
var x,y : integer;
|
||||
r : Trect;
|
||||
begin
|
||||
if not(AvecGrille) then exit;
|
||||
With PCanvasTCO do
|
||||
@@ -533,10 +532,9 @@ end;
|
||||
|
||||
// élément de voie horizontale Element 1
|
||||
procedure TFormTCO.dessin_voie(Canvas : Tcanvas;x,y,mode : integer);
|
||||
var Adr, x0,y0,x1,y1,x2,y2,x3,y3,x4,y4,jy1,jy2 : integer;
|
||||
var Adr, x0,y0,jy1,jy2 : integer;
|
||||
r : Trect;
|
||||
couleur : Tcolor;
|
||||
s : string;
|
||||
begin
|
||||
x0:=(x-1)*LargeurCell;
|
||||
y0:=(y-1)*HauteurCell;
|
||||
@@ -579,7 +577,6 @@ procedure TformTCO.dessin_AigG_PD(canvas : Tcanvas;x,y : integer; Mode,position
|
||||
var x0,y0,x1,y1,x2,y2,x3,y3,x4,y4,jy1,jy2 : integer;
|
||||
inverse : boolean;
|
||||
r : Trect;
|
||||
s : string;
|
||||
|
||||
procedure horz;
|
||||
begin
|
||||
@@ -663,7 +660,6 @@ procedure TFormTCO.dessin_AigPG_AG(Canvas : Tcanvas;x,y : integer;Mode ,position
|
||||
var x0,y0,x1,y1,x2,y2,x3,y3,x4,y4,jy1,jy2 : integer;
|
||||
inverse : boolean;
|
||||
r : Trect;
|
||||
s : string;
|
||||
|
||||
procedure horz;
|
||||
begin
|
||||
@@ -748,7 +744,6 @@ procedure TformTCO.dessin_AigD_PG(Canvas : Tcanvas;x,y,Mode,position : integer);
|
||||
var x0,y0,x1,y1,x2,y2,x3,y3,x4,y4,jy1,jy2 : integer;
|
||||
inverse : boolean;
|
||||
r : Trect;
|
||||
s : string;
|
||||
|
||||
procedure bande_horz;
|
||||
begin
|
||||
@@ -836,7 +831,6 @@ procedure TFormTCO.dessin_AigPD_AD(Canvas : Tcanvas;x,y : integer;Mode,position
|
||||
var x0,y0,x1,y1,x2,y2,x3,y3,x4,y4,jy1,jy2 : integer;
|
||||
inverse : boolean;
|
||||
r : Trect;
|
||||
s : string;
|
||||
|
||||
procedure horz;
|
||||
begin
|
||||
@@ -983,7 +977,7 @@ end;
|
||||
|
||||
// courbe: droit vers bas -\ Element 8
|
||||
procedure TFormTCO.dessin_infD(Canvas : Tcanvas;x,y : integer;Mode : integer);
|
||||
var jy1,jy2,x0,y0,i,x1,y1,x2,y2,x3,y3,x4,y4 : integer;
|
||||
var jy1,jy2,x0,y0,x1,y1,x2,y2,x3,y3,x4,y4 : integer;
|
||||
r : Trect;
|
||||
begin
|
||||
x0:=(x-1)*LargeurCell;
|
||||
@@ -1017,7 +1011,7 @@ end;
|
||||
|
||||
// courbe bas gauche vers droit Elément 9
|
||||
procedure TFormTCO.dessin_infG(Canvas : Tcanvas;x,y : integer;Mode : integer);
|
||||
var jy1,jy2,x0,y0,i,x1,y1,x2,y2,x3,y3,x4,y4 : integer;
|
||||
var jy1,jy2,x0,y0,x1,y1,x2,y2,x3,y3,x4,y4 : integer;
|
||||
r : Trect;
|
||||
begin
|
||||
x0:=(x-1)*LargeurCell;
|
||||
@@ -1050,9 +1044,8 @@ end;
|
||||
|
||||
// élément 10
|
||||
procedure TformTCO.dessin_Diag1(Canvas : Tcanvas;x,y : integer;Mode : integer);
|
||||
var Adr, x0,y0,x1,y1,x2,y2,x3,y3,x4,y4,jy1,jy2 : integer;
|
||||
var Adr, x0,y0,x1,y1,x2,y2,x3,y3,x4,y4 : integer;
|
||||
r : Trect;
|
||||
s : string;
|
||||
begin
|
||||
x0:=(x-1)*LargeurCell;
|
||||
y0:=(y-1)*HauteurCell;
|
||||
@@ -1097,9 +1090,8 @@ end;
|
||||
|
||||
// élément 11
|
||||
procedure TformTCO.dessin_Diag2(Canvas : Tcanvas;x,y : integer;Mode : integer);
|
||||
var Adr, x0,y0,x1,y1,x2,y2,x3,y3,x4,y4,jy1,jy2 : integer;
|
||||
var Adr, x0,y0,x1,y1,x2,y2,x3,y3,x4,y4 : integer;
|
||||
r : Trect;
|
||||
s : string;
|
||||
begin
|
||||
x0:=(x-1)*LargeurCell;
|
||||
y0:=(y-1)*HauteurCell;
|
||||
@@ -1636,7 +1628,7 @@ end;
|
||||
|
||||
// Element 20
|
||||
procedure TFormTCO.dessin_20(Canvas : Tcanvas;x,y,mode: integer);
|
||||
var x0,y0,x1,y1,x2,y2,x3,y3,x4,y4,xbv1,xbv2,adr : integer;
|
||||
var x0,y0,xbv1,xbv2,adr : integer;
|
||||
r : Trect;
|
||||
begin
|
||||
x0:=(x-1)*LargeurCell;
|
||||
@@ -1784,7 +1776,7 @@ end;
|
||||
// copie de l'image du feu à 90° dans le canvas source et le tourne de 90° et le met dans l'image temporaire
|
||||
procedure Feu_90D(ImageSource : TImage;x,y : integer ; FrX,FrY : real);
|
||||
var p : array[0..2] of TPoint;
|
||||
x0,y0,TailleY,TailleX : integer;
|
||||
TailleY,TailleX : integer;
|
||||
begin
|
||||
TailleY:=ImageSource.Picture.Height;
|
||||
TailleX:=ImageSource.Picture.Width;
|
||||
@@ -1806,30 +1798,6 @@ begin
|
||||
|
||||
end;
|
||||
|
||||
|
||||
// renvoie un pointeur vers l'image du feu suivant l'aspect du feu de adresse
|
||||
// ne marche pas
|
||||
function PointeurImage(adresse : integer) : TImage;
|
||||
var i,aspect : integer;
|
||||
Pim : TImage;
|
||||
begin
|
||||
// trouver l'aspect du feu
|
||||
i:=Index_feu(adresse);
|
||||
aspect:=feux[i].aspect;
|
||||
|
||||
pim:=nil;
|
||||
case aspect of
|
||||
2 : Pim:=Formprinc.Image2feux;
|
||||
3 : Pim:=Formprinc.Image3feux;
|
||||
4 : Pim:=Formprinc.Image4feux;
|
||||
5 : Pim:=Formprinc.Image5feux;
|
||||
7 : Pim:=Formprinc.Image7feux;
|
||||
9 : Pim:=Formprinc.Image9feux;
|
||||
else Pim:=Formprinc.Image3feux;
|
||||
end;
|
||||
PointeurImage:=Pim;
|
||||
end;
|
||||
|
||||
procedure cercle(ACanvas : Tcanvas;x,y,rayon : integer;couleur : Tcolor);
|
||||
begin
|
||||
with PCanvasTCO do
|
||||
@@ -2171,7 +2139,7 @@ end;
|
||||
|
||||
// Dessine un feu dans le canvas en x,y , dont l'adresse se trouve à la cellule x,y
|
||||
procedure dessin_feu(CanvasDest : Tcanvas;x,y : integer );
|
||||
var OffsetX,x0,y0,xp,yp,orientation,adresse,i,aspect,TailleX,TailleY,NbCellDest : integer;
|
||||
var x0,y0,xp,yp,orientation,adresse,aspect,TailleX,TailleY : integer;
|
||||
ImageFeu : Timage;
|
||||
frX,frY : real;
|
||||
begin
|
||||
@@ -2185,7 +2153,6 @@ begin
|
||||
aspect:=TCO[x,y].aspect;
|
||||
// Affiche(IntToSTR(i)+' '+intToSTR(aspect),clred);
|
||||
|
||||
offsetX:=0;
|
||||
case aspect of
|
||||
2 : ImageFeu:=Formprinc.Image2feux;
|
||||
3 : ImageFeu:=Formprinc.Image3feux;
|
||||
@@ -2289,7 +2256,7 @@ begin
|
||||
end;
|
||||
|
||||
procedure TFormTCO.Efface_Cellule(Canvas : Tcanvas;x,y : integer; couleur : Tcolor;Mode : TPenMode);
|
||||
var x0,y0,x1,y1,x2,y2,x3,y3,x4,y4,jy1,jy2 : integer;
|
||||
var x0,y0 : integer;
|
||||
r : TRect;
|
||||
begin
|
||||
if y>1 then
|
||||
@@ -2375,9 +2342,9 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
// affiche la cellule. x et y en cases
|
||||
// affiche la cellule x et y en cases
|
||||
procedure TformTCO.affiche_cellule(x,y : integer);
|
||||
var i,Xorg,Yorg,mode,adresse,btype,Bimage,aspect,oriente,pos : integer;
|
||||
var Xorg,Yorg,mode,adresse,btype,Bimage,aspect,oriente,pos : integer;
|
||||
s : string;
|
||||
begin
|
||||
PcanvasTCO.pen.Mode:=PmCopy;
|
||||
@@ -2665,9 +2632,8 @@ end;
|
||||
// clic gauche sur image
|
||||
procedure TFormTCO.ImageTCOClick(Sender: TObject);
|
||||
var Position: TPoint;
|
||||
i,j ,adresse,Bimage : integer;
|
||||
Bimage : integer;
|
||||
s : string;
|
||||
menuItem: TmenuItem;
|
||||
begin
|
||||
//Affiche('1 Clic',clyellow);
|
||||
GetCursorPos(Position);
|
||||
@@ -2748,7 +2714,6 @@ end;
|
||||
procedure zone_TCO(det1,det2,mode : integer);
|
||||
var i,x,y,ancienY,ancien2Y,ancienX,ancien2X,Xdet1,Ydet1,Xdet2,Ydet2,Bimage,adresse,
|
||||
pos,pos2 : integer;
|
||||
trouve : boolean;
|
||||
s : string;
|
||||
begin
|
||||
// trouver le détecteur det1
|
||||
@@ -2959,7 +2924,6 @@ begin
|
||||
end;
|
||||
|
||||
procedure TFormTCO.FormActivate(Sender: TObject);
|
||||
var r : Trect;
|
||||
begin
|
||||
if not(Forminit) then
|
||||
begin
|
||||
@@ -3075,7 +3039,6 @@ begin
|
||||
end;
|
||||
|
||||
procedure TFormTCO.Elmentdroit1Click(Sender: TObject);
|
||||
var Position: TPoint;
|
||||
begin
|
||||
// effacer le carré pointeur
|
||||
//Entoure_cell(XclicCell,YclicCell);
|
||||
@@ -3696,9 +3659,8 @@ end;
|
||||
|
||||
// supprimer la sélection
|
||||
procedure TFormTCO.MenuCouperClick(Sender: TObject);
|
||||
var Position: TPoint;
|
||||
r : Trect;
|
||||
Adresse,x0,y0,x,y,XCell1,YCell1,xCell2,yCell2,i,j : integer;
|
||||
var
|
||||
x,y,XCell1,YCell1,xCell2,yCell2 : integer;
|
||||
begin
|
||||
// couper sans sélection : on coupe une seule cellule
|
||||
if not(SelectionAffichee) then
|
||||
@@ -3780,7 +3742,7 @@ begin
|
||||
end;
|
||||
|
||||
procedure TFormTCO.AnnulercouperClick(Sender: TObject);
|
||||
var x,y,Xplace,yplace,i,j,adresse : integer;
|
||||
var x,y,Xplace,yplace,adresse : integer;
|
||||
begin
|
||||
if TamponAffecte then
|
||||
begin
|
||||
@@ -3798,7 +3760,6 @@ begin
|
||||
if tco[xPlace,yPlace].Bimage=30 then
|
||||
begin
|
||||
adresse:=tco[xPlace,yPlace].Adresse;
|
||||
j:=Index_feu(adresse);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@@ -3951,7 +3912,7 @@ end;
|
||||
|
||||
// changement de l'adresse d'un élément
|
||||
procedure TFormTCO.EditAdrElementChange(Sender: TObject);
|
||||
var Adr,erreur,i,index,aspect : integer;
|
||||
var Adr,erreur,index,aspect : integer;
|
||||
begin
|
||||
Val(EditAdrElement.Text,Adr,erreur);
|
||||
if (erreur<>0) or (Adr<0) or (Adr>2048) then
|
||||
@@ -4042,7 +4003,6 @@ end;
|
||||
|
||||
// dépose d'un feu sur le TCO
|
||||
procedure TFormTCO.ImageDiag1EndDrag(Sender, Target: TObject; X, Y: Integer);
|
||||
var i : integer;
|
||||
begin
|
||||
if (x=0) and (y=0) then exit;
|
||||
TCO_modifie:=true;
|
||||
@@ -4101,8 +4061,6 @@ begin
|
||||
end;
|
||||
|
||||
procedure TFormTCO.ImageFeuEndDrag(Sender, Target: TObject; X, Y: Integer);
|
||||
var r : Trect;
|
||||
i : integer;
|
||||
begin
|
||||
if (x=0) and (y=0) then exit;
|
||||
efface_entoure;
|
||||
@@ -4137,9 +4095,7 @@ end;
|
||||
|
||||
|
||||
procedure TFormTCO.Tourner90GClick(Sender: TObject);
|
||||
var BImage,aspect,adresse : integer;
|
||||
ImageFeu : TImage;
|
||||
frX,frY : real;
|
||||
var BImage,adresse : integer;
|
||||
begin
|
||||
BImage:=TCO[XClicCell,YClicCell].Bimage;
|
||||
if Bimage<>30 then exit;
|
||||
@@ -4174,8 +4130,6 @@ end;
|
||||
|
||||
procedure TFormTCO.Tourner90DClick(Sender: TObject);
|
||||
var BImage ,aspect,adresse : integer;
|
||||
ImageFeu : TImage;
|
||||
frX,frY : real;
|
||||
begin
|
||||
BImage:=TCO[XClicCell,YClicCell].Bimage;
|
||||
if Bimage<>30 then exit;
|
||||
@@ -4213,7 +4167,6 @@ end;
|
||||
|
||||
procedure TFormTCO.Pos_vertClick(Sender: TObject);
|
||||
var BImage ,aspect,Adresse : integer;
|
||||
ImageFeu : TImage;
|
||||
begin
|
||||
BImage:=TCO[XClicCell,YClicCell].Bimage;
|
||||
// si c'est autre chose qu'un feu, sortir
|
||||
@@ -4343,7 +4296,7 @@ begin
|
||||
end;
|
||||
|
||||
procedure TFormTCO.ImageTCODblClick(Sender: TObject);
|
||||
var Bimage,Adresse,aspect,i : integer;
|
||||
var Bimage,Adresse,i : integer;
|
||||
Msgdlg: Tform;
|
||||
Result : TModalResult;
|
||||
begin
|
||||
|
||||
Binary file not shown.
+1
-1
@@ -23,7 +23,7 @@ var
|
||||
Lance_verif : integer;
|
||||
verifVersion,notificationVersion : boolean;
|
||||
|
||||
Const Version='2.4'; // sert à la comparaison de la version publiée
|
||||
Const Version='2.5'; // sert à la comparaison de la version publiée
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
@@ -49,6 +49,12 @@ version 2.31 : Am
|
||||
version 2.4 : Optimisation de la gestion des évènements aiguillages
|
||||
Gestion des aiguillages inversés dans CDM pour le mode autonome
|
||||
Debug pilotage feux LEB
|
||||
version 2.5 : Panneau de configuration:
|
||||
- Correction gestion des conditions supplémentaires d'affichage du carré
|
||||
- Affichage de champs modifiables supplémentaires
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user