This commit is contained in:
f1iwq2
2021-07-26 10:25:28 +02:00
parent 79fac9f9d8
commit effa51ce98
20 changed files with 11455 additions and 10384 deletions
Binary file not shown.
-3
View File
@@ -130,6 +130,3 @@ OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
Comments=
[HistoryLists\hlUnitAliases]
Count=1
Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
BIN
View File
Binary file not shown.
+447 -197
View File
@@ -1,13 +1,13 @@
object FormConfig: TFormConfig
Left = 228
Top = 189
Left = 345
Top = 219
Hint =
'Modifie les fichiers de configuration selon les s'#233'lections chois' +
'ies'
BorderStyle = bsDialog
Caption = 'Configuration g'#233'n'#233'rale'
ClientHeight = 501
ClientWidth = 858
ClientWidth = 854
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@@ -1365,8 +1365,8 @@ object FormConfig: TFormConfig
Visible = False
end
object ImageTri: TImage
Left = 592
Top = 360
Left = 600
Top = 336
Width = 145
Height = 65
Picture.Data = {
@@ -1543,8 +1543,8 @@ object FormConfig: TFormConfig
Caption = 'Verrouillable au carr'#233' :'
end
object Image2: TImage
Left = 712
Top = 424
Left = 720
Top = 352
Width = 129
Height = 41
Picture.Data = {
@@ -1756,7 +1756,7 @@ object FormConfig: TFormConfig
Top = 472
Width = 201
Height = 25
Caption = 'Enregistrer la configuration et Fermer'
Caption = 'Enregistre la configuration et Fermer'
ParentShowHint = False
ShowHint = True
TabOrder = 0
@@ -1769,7 +1769,6 @@ object FormConfig: TFormConfig
Height = 25
Caption = 'Fermer sans enregistrer la configuration'
TabOrder = 1
OnClick = Button2Click
end
object PageControl: TPageControl
Left = 8
@@ -1778,7 +1777,7 @@ object FormConfig: TFormConfig
Height = 457
ActivePage = TabSheetSig
Font.Charset = DEFAULT_CHARSET
Font.Color = clBackground
Font.Color = clBlack
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
@@ -2406,7 +2405,7 @@ object FormConfig: TFormConfig
Caption = 'Description de l'#39'aiguillage'
TabOrder = 0
object LabelAdresse: TLabel
Left = 13
Left = 5
Top = 20
Width = 196
Height = 19
@@ -2419,10 +2418,11 @@ object FormConfig: TFormConfig
ParentFont = False
end
object LabelLigne: TLabel
Left = 72
Left = 16
Top = 42
Width = 104
Height = 16
Alignment = taCenter
Caption = ' - '
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
@@ -2433,7 +2433,7 @@ object FormConfig: TFormConfig
end
object GroupBox10: TGroupBox
Left = 8
Top = 104
Top = 96
Width = 273
Height = 73
Caption = 'Vitesse de franchissement d'#233'vi'#233' :'
@@ -2467,20 +2467,19 @@ object FormConfig: TFormConfig
end
end
object CheckInverse: TCheckBox
Left = 40
Top = 312
Width = 185
Left = 16
Top = 296
Width = 137
Height = 17
Caption = 'Inversion de l'#39#233'tat CDM'
TabOrder = 1
OnClick = CheckInverseClick
end
object EditAdrAig: TEdit
Left = 216
Left = 208
Top = 20
Width = 49
Width = 33
Height = 21
Enabled = False
TabOrder = 2
OnChange = EditAdrAigChange
end
@@ -2489,10 +2488,10 @@ object FormConfig: TFormConfig
Top = 64
Width = 145
Height = 21
Enabled = False
ItemHeight = 13
TabOrder = 3
Text = 'Type'
OnChange = ComboBoxAigChange
Items.Strings = (
'Aiguillage simple'
'TJD'
@@ -2501,7 +2500,7 @@ object FormConfig: TFormConfig
end
object GroupBox16: TGroupBox
Left = 8
Top = 192
Top = 176
Width = 273
Height = 105
Caption = 'Repr'#233'sentation'
@@ -2616,6 +2615,7 @@ object FormConfig: TFormConfig
Height = 21
TabOrder = 2
Text = 'EditDDroit'
OnChange = EditP1Change
end
object EditP2: TEdit
Left = 88
@@ -2624,6 +2624,7 @@ object FormConfig: TFormConfig
Height = 21
TabOrder = 3
Text = 'EditDdevie'
OnChange = EditP2Change
end
object EditP3: TEdit
Left = 160
@@ -2632,6 +2633,7 @@ object FormConfig: TFormConfig
Height = 21
TabOrder = 4
Text = 'EditDDroit'
OnChange = EditP3Change
end
object EditP4: TEdit
Left = 160
@@ -2640,6 +2642,7 @@ object FormConfig: TFormConfig
Height = 21
TabOrder = 5
Text = 'EditDDroit'
OnChange = EditP4Change
end
object EditDevie_HD: TEdit
Left = 232
@@ -2669,20 +2672,76 @@ object FormConfig: TFormConfig
OnChange = EditDevieS2Change
end
end
object ButtonRestaureAig: TButton
Left = 192
Top = 296
Width = 75
Height = 25
Hint =
'Restaure la configuration de l'#39'aiguillage d'#39'avant sa modificatio' +
'n'
Caption = 'Restaurer'
ParentShowHint = False
ShowHint = True
TabOrder = 5
OnClick = ButtonRestaureAigClick
end
object EditAigTriple: TEdit
Left = 248
Top = 20
Width = 33
Height = 21
TabOrder = 6
Visible = False
OnChange = EditAigTripleChange
end
end
object RichAig: TRichEdit
Left = 0
Top = 32
Top = 56
Width = 265
Height = 361
Height = 337
Color = clBlack
Font.Charset = DEFAULT_CHARSET
Font.Color = clYellow
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
Lines.Strings = (
'RichAig')
ParentFont = False
ReadOnly = True
ScrollBars = ssVertical
TabOrder = 1
OnMouseDown = RichAigMouseDown
end
object ButtonNouvAig: TButton
Left = 0
Top = 32
Width = 65
Height = 17
Caption = 'Nouveau'
TabOrder = 2
OnClick = ButtonNouvAigClick
end
object BoutSupAig: TButton
Left = 72
Top = 32
Width = 65
Height = 17
Caption = 'Supprime'
TabOrder = 3
OnClick = BoutSupAigClick
end
object ButtonAjSup: TButton
Left = 144
Top = 32
Width = 121
Height = 17
Caption = 'Ajoute l'#39'aig supprim'#233
TabOrder = 4
OnClick = ButtonAjSupClick
end
end
object TabSheetBranches: TTabSheet
Caption = 'Branches'
@@ -2690,26 +2749,80 @@ object FormConfig: TFormConfig
object Label14: TLabel
Left = 0
Top = 8
Width = 261
Width = 508
Height = 13
Caption = 'Liste de mod'#233'lisation des branches du fichier config.cfg'
Caption =
'Liste de mod'#233'lisation des branches - Cliquer sur une ligne pour ' +
'la modifier - Valider la ligne apr'#232's modification'
end
object MemoBranches: TMemo
object Label34: TLabel
Left = 408
Top = 192
Width = 136
Height = 26
Caption = 'Tapez CTRL-Z pour annuler une modification r'#233'cente'
WordWrap = True
end
object GroupBox20: TGroupBox
Left = 408
Top = 24
Width = 153
Height = 161
Caption = 'Commandes'
TabOrder = 0
object LabelResult: TLabel
Left = 11
Top = 112
Width = 3
Height = 13
Caption = '-'
end
object ButtonValLigne: TButton
Left = 8
Top = 24
Width = 137
Height = 33
Hint =
'V'#233'rifie la syntaxe de chaque ligne et valide les lignes correcte' +
's'
Caption = 'Valider les modifications'
ParentShowHint = False
ShowHint = True
TabOrder = 0
WordWrap = True
OnClick = ButtonValLigneClick
end
object ButtonVerifConfig: TButton
Left = 8
Top = 64
Width = 137
Height = 33
Hint = 'V'#233'rification de la coh'#233'rence de l'#39'ensemble de la configuration'
Caption = 'V'#233'rification de la coh'#233'rence'
ParentShowHint = False
ShowHint = True
TabOrder = 1
WordWrap = True
OnClick = ButtonVerifConfigClick
end
end
object RichBranche: TRichEdit
Left = 0
Top = 24
Width = 569
Height = 369
Color = clInfoText
Width = 401
Height = 401
Color = clBlack
Font.Charset = DEFAULT_CHARSET
Font.Color = clAqua
Font.Color = clGreen
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
Lines.Strings = (
'RichBranche')
ParentFont = False
ReadOnly = True
ScrollBars = ssVertical
TabOrder = 0
WordWrap = False
ScrollBars = ssBoth
TabOrder = 1
OnMouseDown = RichBrancheMouseDown
end
end
object TabSheetSig: TTabSheet
@@ -2733,7 +2846,7 @@ object FormConfig: TFormConfig
TabOrder = 0
object ImageSignal: TImage
Left = 8
Top = 80
Top = 48
Width = 81
Height = 105
end
@@ -2751,11 +2864,11 @@ object FormConfig: TFormConfig
ParentFont = False
end
object LabelDec: TLabel
Left = 88
Left = 92
Top = 52
Width = 56
Width = 53
Height = 13
Caption = 'D'#233'codeur : '
Caption = 'D'#233'codeur: '
end
object LabelDetAss: TLabel
Left = 88
@@ -2834,15 +2947,15 @@ object FormConfig: TFormConfig
ParentFont = False
end
object Label33: TLabel
Left = 96
Left = 104
Top = 76
Width = 39
Width = 36
Height = 13
Caption = 'Aspect :'
Caption = 'Aspect:'
end
object LabelUni: TLabel
Left = 8
Top = 200
Top = 160
Width = 75
Height = 13
Caption = 'Spec Unisemaf:'
@@ -2852,10 +2965,10 @@ object FormConfig: TFormConfig
Left = 8
Top = 280
Width = 241
Height = 57
ReadOnly = True
Height = 65
ScrollBars = ssVertical
TabOrder = 0
OnChange = MemoCarreChange
end
object ComboBoxDec: TComboBox
Left = 144
@@ -2939,7 +3052,7 @@ object FormConfig: TFormConfig
OnChange = EditSuiv4Change
end
object CheckVerrouCarre: TCheckBox
Left = 112
Left = 104
Top = 224
Width = 145
Height = 17
@@ -2952,7 +3065,6 @@ object FormConfig: TFormConfig
Top = 18
Width = 33
Height = 21
Enabled = False
TabOrder = 11
Text = ' '
OnChange = EditAdrSigChange
@@ -2980,28 +3092,73 @@ object FormConfig: TFormConfig
end
object EditSpecUni: TEdit
Left = 8
Top = 216
Top = 176
Width = 33
Height = 21
TabOrder = 13
Visible = False
OnChange = EditSpecUniChange
end
object Buttonrestaure: TButton
Left = 8
Top = 216
Width = 75
Height = 25
Hint = 'Restaure la configuration du feu d'#39'avant sa modification'
Caption = 'Restaurer'
ParentShowHint = False
ShowHint = True
TabOrder = 14
OnClick = ButtonrestaureClick
end
end
object RichSig: TRichEdit
Left = 0
Top = 32
Top = 56
Width = 273
Height = 361
Height = 337
Color = clBlack
Font.Charset = DEFAULT_CHARSET
Font.Color = clYellow
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
Lines.Strings = (
'RichSig')
ParentFont = False
ReadOnly = True
ScrollBars = ssBoth
TabOrder = 1
WordWrap = False
OnMouseDown = RichSigMouseDown
end
object ButtonNouvFeu: TButton
Left = 0
Top = 32
Width = 65
Height = 17
Caption = 'Nouveau'
TabOrder = 2
OnClick = ButtonNouvFeuClick
end
object ButtonSupFeu: TButton
Left = 72
Top = 32
Width = 65
Height = 17
Caption = 'Supprime'
TabOrder = 3
OnClick = ButtonSupFeuClick
end
object ButtonInsFeu: TButton
Left = 144
Top = 32
Width = 113
Height = 17
Caption = 'Ajouter le feu supprim'#233
TabOrder = 4
OnClick = ButtonInsFeuClick
end
end
object TabSheetAct: TTabSheet
Caption = 'Actionneurs'
@@ -3019,160 +3176,38 @@ object FormConfig: TFormConfig
Left = 304
Top = 32
Width = 257
Height = 345
Height = 385
Caption = 'Description de l'#39'actionneur '
TabOrder = 0
object GroupBox14: TGroupBox
object GroupBoxRadio: TGroupBox
Left = 16
Top = 24
Width = 225
Height = 73
Height = 65
Caption = 'Type d'#39'actionneur '
TabOrder = 0
object RadioButtonLoc: TRadioButton
Left = 24
Top = 16
Top = 24
Width = 193
Height = 17
Caption = 'Fonction F pour locomotive'
Enabled = False
TabOrder = 0
end
object RadioButtonPN: TRadioButton
Left = 24
Top = 48
Width = 193
Height = 17
Caption = 'Gestion de passage '#224' niveau'
Enabled = False
TabOrder = 1
OnClick = RadioButtonLocClick
end
object RadioButtonAccess: TRadioButton
Left = 24
Top = 32
Top = 40
Width = 161
Height = 17
Caption = 'Fonction F pour accessoire'
Enabled = False
TabOrder = 2
end
end
object GroupBoxAct: TGroupBox
Left = 8
Top = 216
Width = 225
Height = 145
Caption = 'Actionneur fonction de locomotive '
TabOrder = 1
object LabelActionneur: TLabel
Left = 48
Top = 24
Width = 51
Height = 13
Caption = 'Actionneur'
end
object LabelTrain: TLabel
Left = 72
Top = 46
Width = 24
Height = 13
Caption = 'Train'
end
object Labela: TLabel
Left = 144
Top = 68
Width = 6
Height = 13
Caption = #224
end
object LabelFonction: TLabel
Left = 56
Top = 70
Width = 41
Height = 13
Caption = 'Fonction'
end
object LabelTempo: TLabel
Left = 40
Top = 94
Width = 55
Height = 13
Caption = 'Tempo (ms)'
end
object Label30: TLabel
Left = 168
Top = 24
Width = 6
Height = 13
Caption = #224
end
object EditAct: TEdit
Left = 112
Top = 20
Width = 49
Height = 21
TabOrder = 0
Text = 'EditAct'
OnChange = EditActChange
end
object EditTrain: TEdit
Left = 112
Top = 44
Width = 105
Height = 21
TabOrder = 1
Text = 'EditTrain'
OnChange = EditTrainChange
end
object EditEtatFoncSortie: TEdit
Left = 160
Top = 68
Width = 25
Height = 21
TabOrder = 2
Text = 'EditEtatFoncSortie'
OnChange = EditEtatFoncSortieChange
end
object EditFonctionAccess: TEdit
Left = 112
Top = 68
Width = 25
Height = 21
TabOrder = 3
Text = 'EditFonc'
OnChange = EditFonctionAccessChange
end
object EditTempo: TEdit
Left = 112
Top = 92
Width = 33
Height = 21
TabOrder = 4
Text = 'EditTempo'
OnChange = EditTempoChange
end
object EditEtatActionneur: TEdit
Left = 184
Top = 20
Width = 25
Height = 21
TabOrder = 5
Text = 'EditEtat'
OnChange = EditEtatActionneurChange
end
object CheckRAZ: TCheckBox
Left = 48
Top = 120
Width = 145
Height = 17
Caption = 'Remise '#224' 0 apr'#232's pilotage'
TabOrder = 6
OnClick = CheckRAZClick
OnClick = RadioButtonAccessClick
end
end
object GroupBoxPN: TGroupBox
Left = 56
Top = 56
Left = 32
Top = 80
Width = 225
Height = 193
Caption = 'Actionneurs gestion passage '#224' niveau'
@@ -3224,7 +3259,7 @@ object FormConfig: TFormConfig
Width = 41
Height = 21
TabOrder = 0
Text = 'EditAdrFerme'
OnChange = EditAdrFermeChange
end
object EditAdrOuvre: TEdit
Left = 120
@@ -3232,7 +3267,7 @@ object FormConfig: TFormConfig
Width = 41
Height = 21
TabOrder = 1
Text = 'EditAdrOuvre'
OnChange = EditAdrOuvreChange
end
object EditCmdFerme: TEdit
Left = 168
@@ -3240,7 +3275,7 @@ object FormConfig: TFormConfig
Width = 25
Height = 21
TabOrder = 2
Text = 'EditCdeFerme'
OnChange = EditCmdFermeChange
end
object EditCdeOuvre: TEdit
Left = 168
@@ -3248,7 +3283,7 @@ object FormConfig: TFormConfig
Width = 25
Height = 21
TabOrder = 3
Text = 'EditCdeOuvre'
OnChange = EditCdeOuvreChange
end
object EditV1F: TEdit
Left = 64
@@ -3256,7 +3291,7 @@ object FormConfig: TFormConfig
Width = 41
Height = 21
TabOrder = 4
Text = 'EditAdrFerme'
OnChange = EditV1FChange
end
object StaticText1: TStaticText
Left = 64
@@ -3280,7 +3315,7 @@ object FormConfig: TFormConfig
Width = 41
Height = 21
TabOrder = 7
Text = 'EditAdrFerme'
OnChange = EditV2FChange
end
object EditV3F: TEdit
Left = 64
@@ -3288,7 +3323,7 @@ object FormConfig: TFormConfig
Width = 41
Height = 21
TabOrder = 8
Text = 'EditAdrFerme'
OnChange = EditV3FChange
end
object EditV1O: TEdit
Left = 152
@@ -3296,7 +3331,7 @@ object FormConfig: TFormConfig
Width = 41
Height = 21
TabOrder = 9
Text = 'EditAdrFerme'
OnChange = EditV1OChange
end
object EditV2O: TEdit
Left = 152
@@ -3304,7 +3339,7 @@ object FormConfig: TFormConfig
Width = 41
Height = 21
TabOrder = 10
Text = 'EditAdrFerme'
OnChange = EditV2OChange
end
object EditV3O: TEdit
Left = 152
@@ -3312,20 +3347,235 @@ object FormConfig: TFormConfig
Width = 41
Height = 21
TabOrder = 11
Text = 'EditAdrFerme'
OnChange = EditV3OChange
end
end
object GroupBoxAct: TGroupBox
Left = 16
Top = 72
Width = 225
Height = 249
Caption = 'Actionneur fonction de locomotive '
TabOrder = 1
object GroupBox18: TGroupBox
Left = 8
Top = 24
Width = 209
Height = 97
Caption = 'D'#233'clencheur '
TabOrder = 0
object LabelActionneur: TLabel
Left = 32
Top = 24
Width = 51
Height = 13
Caption = 'Actionneur'
end
object Label30: TLabel
Left = 152
Top = 24
Width = 6
Height = 13
Caption = #224
end
object LabelTrain: TLabel
Left = 56
Top = 46
Width = 24
Height = 13
Caption = 'Train'
end
object EditAct: TEdit
Left = 96
Top = 20
Width = 49
Height = 21
TabOrder = 0
OnChange = EditActChange
end
object EditEtatActionneur: TEdit
Left = 168
Top = 20
Width = 25
Height = 21
TabOrder = 1
OnChange = EditEtatActionneurChange
end
object EditTrain: TEdit
Left = 88
Top = 52
Width = 105
Height = 21
Hint =
'Train pour lequel la condition s'#39'applique (mettre X pour tous le' +
's trains)'
ParentShowHint = False
ShowHint = True
TabOrder = 2
OnChange = EditTrainChange
end
end
object GroupBox19: TGroupBox
Left = 8
Top = 128
Width = 209
Height = 105
Caption = 'Action '
TabOrder = 1
object LabelTempo: TLabel
Left = 40
Top = 52
Width = 55
Height = 13
Caption = 'Tempo (ms)'
end
object LabelFonction: TLabel
Left = 24
Top = 22
Width = 80
Height = 13
Alignment = taRightJustify
BiDiMode = bdLeftToRight
Caption = 'Action : Fonction'
ParentBiDiMode = False
end
object Labela: TLabel
Left = 144
Top = 20
Width = 6
Height = 13
Caption = #224
end
object EditTempo: TEdit
Left = 128
Top = 45
Width = 33
Height = 21
TabOrder = 0
OnChange = EditTempoChange
end
object CheckRAZ: TCheckBox
Left = 32
Top = 72
Width = 145
Height = 17
Caption = 'Remise '#224' 0 apr'#232's pilotage'
TabOrder = 1
OnClick = CheckRAZClick
end
object EditFonctionAccess: TEdit
Left = 112
Top = 15
Width = 25
Height = 21
Hint = 'Num'#233'ro de fonction du d'#233'codeur du train'
ParentShowHint = False
ShowHint = True
TabOrder = 2
OnChange = EditFonctionAccessChange
end
object EditEtatFoncSortie: TEdit
Left = 160
Top = 15
Width = 25
Height = 21
TabOrder = 3
OnChange = EditEtatFoncSortieChange
end
end
end
end
object RichAct: TRichEdit
object GroupBox14: TGroupBox
Left = 0
Top = 32
Width = 289
Height = 369
Color = clBlack
ReadOnly = True
ScrollBars = ssVertical
Width = 297
Height = 185
Caption = 'Actionneurs locomotives ou accessoires'
TabOrder = 1
OnMouseDown = RichActMouseDown
object ButtonNouvAcc: TButton
Left = 8
Top = 24
Width = 65
Height = 17
Caption = 'Nouveau'
TabOrder = 0
OnClick = ButtonNouvAccClick
end
object ButtonSupAcc: TButton
Left = 80
Top = 24
Width = 65
Height = 17
Hint = 'Supprime l'#39'actionneur cliqu'#233' (en jaune)'
Caption = 'Supprime'
ParentShowHint = False
ShowHint = True
TabOrder = 1
OnClick = ButtonSupAccClick
end
object RichAct: TRichEdit
Left = 8
Top = 48
Width = 281
Height = 129
Color = clBlack
Font.Charset = DEFAULT_CHARSET
Font.Color = clYellow
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
ReadOnly = True
ScrollBars = ssVertical
TabOrder = 2
OnMouseDown = RichActMouseDown
end
end
object GroupBox17: TGroupBox
Left = 0
Top = 232
Width = 297
Height = 185
Caption = 'Actionneurs passage '#224' niveau'
TabOrder = 2
object ButtonNouvPN: TButton
Left = 8
Top = 24
Width = 65
Height = 17
Caption = 'Nouveau'
TabOrder = 0
OnClick = ButtonNouvPNClick
end
object ButtonSupPN: TButton
Left = 80
Top = 24
Width = 65
Height = 17
Hint = 'Supprime l'#39'actionneur cliqu'#233' (en jaune)'
Caption = 'Supprime'
ParentShowHint = False
ShowHint = True
TabOrder = 1
OnClick = ButtonSupPNClick
end
object RichPN: TRichEdit
Left = 8
Top = 48
Width = 281
Height = 129
Color = clBlack
Font.Charset = DEFAULT_CHARSET
Font.Color = clYellow
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
ReadOnly = True
ScrollBars = ssVertical
TabOrder = 2
OnMouseDown = RichPNMouseDown
end
end
end
end
+2931 -875
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+24 -2
View File
@@ -1,6 +1,6 @@
object FormPrinc: TFormPrinc
Left = 44
Top = 270
Left = 58
Top = 217
Width = 1212
Height = 664
Caption = 'Client TCP-IP CDM Rail ou USB - syst'#232'me LENZ'
@@ -1598,6 +1598,13 @@ object FormPrinc: TFormPrinc
Hint = 'Modifie les variables de configuration sans sauvegarde'
OnClick = ConfigClick
end
object Vrifierlacohrence: TMenuItem
Caption = 'V'#233'rifier la coh'#233'rence'
OnClick = VrifierlacohrenceClick
end
object N8: TMenuItem
Caption = '-'
end
object FichierSimu: TMenuItem
Caption = 'Ouvrir un fichier de simulation'
Hint =
@@ -1658,4 +1665,19 @@ object FormPrinc: TFormPrinc
OnClick = Copier1Click
end
end
object PopupMenuFeu: TPopupMenu
Left = 856
Top = 144
object Proprits1: TMenuItem
Caption = 'Propri'#233't'#233's'
OnClick = Proprits1Click
end
object N7: TMenuItem
Caption = '-'
end
object Nouveaufeu1: TMenuItem
Caption = 'Nouveau feu'
OnClick = Nouveaufeu1Click
end
end
end
+8013 -9069
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+21 -37
View File
@@ -2286,9 +2286,9 @@ begin
end;
// transforme les branches en TCO
// trop compliqué. Il faudra dessiner son TCO soit meme
// trop compliqué. Il faudra dessiner son TCO soit meme !
procedure construit_TCO;
var x,y,i,j,Max,indexMax,Btype,Adresse,ligne,AdrSuiv,Bimage : integer;
var x,y,i,j,Max,indexMax,Btype,Adresse,ligne,AdrSuiv,Bimage,index : integer;
begin
// étape 0 Raz du TCO
for y:=1 to NbreCellY do
@@ -2326,14 +2326,15 @@ begin
//20,P8P,D547,S548 // 22,P24P,S561,D25S
// on se réfère au suivant
AdrSuiv:=BrancheN[IndexMax,i+1].Adresse;
index:=Index_aig(adresse);
// connecté sur position droite : la pointe est à gauche
if aiguillage[adresse].Adroit=AdrSuiv then
if aiguillage[Index].Adroit=AdrSuiv then
Bimage:=3; // ou 4
// connecté sur position déviée : la pointe est à gauche, mais il faut changer de ligne
if aiguillage[adresse].Adevie=AdrSuiv then
if aiguillage[Index].Adevie=AdrSuiv then
Bimage:=4; // ou 4
// connecté sur pointe : la pointe est à droite
if aiguillage[adresse].Apointe=AdrSuiv then
if aiguillage[Index].Apointe=AdrSuiv then
Bimage:=5; // ou 2
TCO[i,ligne].BImage:=Bimage;
end;
@@ -2356,7 +2357,7 @@ begin
// récupérer la position de l'aiguillage
if (bImage>=2) and (btype<=15) then
begin
if Adresse<>0 then pos:=Aiguillage[adresse].position
if Adresse<>0 then pos:=Aiguillage[Index_Aig(adresse)].position
else pos:=9;
end;
@@ -2710,7 +2711,7 @@ begin
end;
// allume ou éteint (mode) la zone de det1 à det2 sur le TCO
// allume ou éteint (mode) la voie, zone de det1 à det2 sur le TCO
procedure zone_TCO(det1,det2,mode : integer);
var i,x,y,ancienY,ancien2Y,ancienX,ancien2X,Xdet1,Ydet1,Xdet2,Ydet2,Bimage,adresse,
pos,pos2 : integer;
@@ -2759,7 +2760,7 @@ begin
// aiguillage pris en talon - pris en pointe
2 : if ancien2X<x then inc(x) else
begin
pos:=aiguillage[adresse].position;
pos:=aiguillage[Index_Aig(adresse)].position;
if (pos=const_devie) then begin dec(x);inc(y); end;
if (pos=const_droit) then dec(x);
if pos=9 then exit;
@@ -2768,7 +2769,7 @@ begin
3 : begin
if ancien2X<x then
begin
pos:=aiguillage[adresse].position;
pos:=aiguillage[Index_Aig(adresse)].position;
if (pos=const_devie) then begin inc(x);dec(y); end;
if (pos=const_droit) then inc(x);
if pos=9 then exit;
@@ -2779,7 +2780,7 @@ begin
4 : begin
if ancien2X<x then
begin
pos:=aiguillage[adresse].position;
pos:=aiguillage[Index_Aig(adresse)].position;
if (pos=const_devie) then begin inc(x);inc(y); end;
if (pos=const_droit) then inc(x);
if pos=9 then exit;
@@ -2789,7 +2790,7 @@ begin
// aiguillage pris en talon - pris en pointe
5 : if ancien2X<x then inc(x) else
begin
pos:=aiguillage[adresse].position;
pos:=aiguillage[Index_Aig(adresse)].position;
if (pos=const_devie) then begin dec(x);dec(y); end;
if (pos=const_droit) then dec(x);
if pos=9 then exit;
@@ -2811,7 +2812,7 @@ begin
// aiguillage en pointe
12 : if ancien2X<x then
begin
pos:=aiguillage[adresse].position;
pos:=aiguillage[Index_Aig(adresse)].position;
if (pos=const_devie) then inc(x);
if (pos=const_droit) then begin inc(x);inc(y);end;
if pos=9 then exit;
@@ -2821,7 +2822,7 @@ begin
13 : if ancien2X<x then begin inc(x);dec(y); end
else
begin
pos:=aiguillage[adresse].position;
pos:=aiguillage[Index_Aig(adresse)].position;
if (pos=const_devie) then dec(x);
if (pos=const_droit) then begin dec(x);inc(y);end;
if pos=9 then exit;
@@ -2832,7 +2833,7 @@ begin
inc(x);inc(y);
end else
begin
pos:=aiguillage[adresse].position;
pos:=aiguillage[Index_Aig(adresse)].position;
if (pos=const_devie) then dec(x);
if (pos=const_droit) then begin dec(x);dec(y);end;
if pos=9 then exit;
@@ -2840,7 +2841,7 @@ begin
// aiguillage en pointe
15 : if ancien2X<x then
begin
pos:=aiguillage[adresse].position;
pos:=aiguillage[Index_Aig(adresse)].position;
if (pos=const_devie) then inc(x);
if (pos=const_droit) then begin inc(x);dec(y);end;
if pos=9 then exit;
@@ -2855,8 +2856,8 @@ begin
// tjd ou tjs
if adresse<>0 then
begin
//pos:=aiguillage[adresse].position;
//pos2:=aiguillage[aiguillage[adresse].Apointe].position; // 2eme adresse de la TJD
//pos:=aiguillage[Index_Aig(adresse].position;
//pos2:=aiguillage[Index_Aig(aiguillage[Index_Aig(adresse].Apointe].position; // 2eme adresse de la TJD
if (pos=const_droit) and (pos2=const_droit) then
begin
inc(x);
@@ -2885,8 +2886,8 @@ begin
// tjd ou tjs
if adresse<>0 then
begin
pos:=aiguillage[adresse].position;
//pos2:=aiguillage[aiguillage[adresse].Apointe].position; // 2eme adresse de la TJD
pos:=aiguillage[Index_Aig(adresse)].position;
//pos2:=aiguillage[Index_Aig(aiguillage[adresse].Apointe].position; // 2eme adresse de la TJD
if (pos=const_droit) and (pos2=const_droit) then
begin
inc(x);inc(y);
@@ -2919,8 +2920,6 @@ begin
begin
s:='Erreur 1000 : dépassement d''itérations TCO: '+IntToSTR(det1)+' - '+IntToSTR(det2);
Affiche(s,clred); AfficheDebug(s,clred); end;
end;
procedure TFormTCO.FormActivate(Sender: TObject);
@@ -4236,22 +4235,7 @@ end;
procedure TFormTCO.ButtonSimuClick(Sender: TObject);
begin
aiguillage[20].position:=const_droit;
aiguillage[21].position:=const_devie;
aiguillage[22].position:=const_droit;
aiguillage[23].position:=const_devie;
aiguillage[24].position:=const_devie;
aiguillage[25].position:=const_droit;
aiguillage[26].position:=const_devie;
aiguillage[27].position:=const_droit;
aiguillage[28].position:=const_devie;
aiguillage[29].position:=const_devie;
aiguillage[30].position:=const_droit;
aiguillage[31].position:=const_droit;
aiguillage[70].position:=const_droit;
aiguillage[26].position:=const_devie;
aiguillage[28].position:=const_droit;
aiguillage[Index_Aig(28)].position:=const_droit;
zone_TCO(548,580,1);
zone_TCO(561,514,1);
+11 -65
View File
@@ -2,26 +2,9 @@
/ fichier de configuration de signaux_complexes
/ gily - f1iwq - 2019
/******************************************
/ Sans Log=0 / Avec Log=1 : génère un fichier log
Log=0
/ Affichage du débug du calcul des routes, et enregistrement dans le log si la variable précédente est à 1
TraceDet=0
/ Envoie un 0 après le pilotage des décodeurs
/ Mettre 1 si utilisation de décodeurs LEB
RazSignaux=0
/
/ modélisation des aiguillages : détermine les éléments connectés aux 3 branches des aiguilles (Pointe, Droit, Dévié (S)
/ adresse d'aiguillage,P=élément vers pointe D=élément vers Droit, S=élément vers dévié.
/ [60 ou 30 dans le cas d'un aiguillage en position déviée qui doit être fanchie à 30 ou 60]
/ Elément = détecteur (valeur uniquement numérique) ou aiguillage (adresse+branche de connexion (P S ou D)
/ Exemple : 1,P518,D523,S3P signifie : définition de l'aiguillage @1 : sur pointe relié au détecteur 518
/ sur Droit relié au détecteur 518
/ sur Dévié, relié à l'aiguillage 3 en pointe
/ Pour une TJD : 26TJD,D530,S529,P28 - P désigne l'autre adresse de la TJD
/ V=Vitesse de franchissement de l'aiguillage en position déviée (0,30,60)
/ I1=aiguillage à inversion de commande dans CDM
/
/ S'il n'y a pas de détecteur connecté à une branche d'aiguillage, mettre 0.
[section_aig]
1,P518,D523,S3P,V30,I0
2,P12S,D519,S5S,V0,I0
3,P1S,D4P,S5D,V0,I0
@@ -43,23 +26,15 @@ RazSignaux=0
23,P18D,D538,S534,V0,I0
24,P538,D32S,S533,V0,I0
25,P31S,D529,S27P,V0,I0
26TJD,D(530,28D),S(529,28S),I0
26TJD,D(530,28D),S(529,28S),V0,I0
27,P25S,D530,S537,V0,I0
28TJD,D(21D,26D),S(21S,26S),I0
28TJD,D(21D,26D),S(21S,26S),V0,I0
29,P10D,D513,S30S,V60,I0
30,P524,D11D,S29D,V0,I0
31,P534,D0,S25P,V0,I0
32,P22S,D0,S24D,V0,I0
0
//
/ modélisation du réseau par branche
/ 1 ligne par branche - le sens de parcours de la branche est arbitraire.
/ Chaque ligne (branche) doit commmencer et finir par un aiguillage
/ Une ligne qui finit par un 0 signifie un heurtoir
/ @ détecteur A=@aiguillage
/ Terminer par 0
/ Exemple : 519 est un détecteur - A2 est l'aiguillage 2
/
[section_branches]
A2,A12,517,A18,A11,A30,524,521,A8,527,A7,519,A2
A7,520,A20,A12
A1,A3,A4,514,522,A8
@@ -74,24 +49,7 @@ A22,A32,A24
A6,516,0
A31,0
0
/ liste des adresses des signaux et leur forme, pour affichage de l'image correspondante ,
/ avec ou sans bouton de commande pour le feu blanc, type de décodeur [, type de cible (pour les décodeurs Unisemaf uniquement)]
/ la liste doit être terminée par une adresse à 0
/ forme : 2=2 feux(carré violet/blanc) / 3=3 feux / 4=4 feux / 5=5 feux (carré + blanc ou violet)
/ 7=7 feux (blanc ou violet + ralentissement / 9=9 feux (blanc ou violet + rappel ralentissement)
/ Dx : signal directionnel à x feux
/ type de décodeur : 1=digital Bahn 2=CDF 3=LDT 4=LEB 5=NMRA 6=Unisemaf
/ Notation de chaque ligne:
/ adresse de base du signal, forme, avec ou sans bouton de commande du feu blanc, type de décodeur [, détecteur (det2, det3, ...) , élément suivant ,
/ avec ou sans demande de verrouillage du feu au carré]
/
/ signaux de test
/610,4,0,0,(521,a8),1
/615,5,0,0,(521,a8),1
/616,5,0,2,(521,a8),1
/617,5,0,3,(521,a8),1
/618,5,0,5,(521,a8),1
/619,5,0,6,(521,a8),1,52
[section_sig]
176,7,0,1,(520,A20),1
190,7,0,1,(523,526),0
204,9,0,1,(527,A7),1
@@ -115,24 +73,12 @@ A31,0
497,9,0,4,(531,A19),1
600,7,0,0,(521,A8),1
1000,9,0,0,(530,A26),1
1001,9,0,0,(529,A26),1
1001,9,0,0,(529,A26),1,(A21S,A6D),(A30S,A20D),(A1D,A2S,A3D)
0
/
/ Section actionneurs. Ne fonctionne qu'en mode connecté à CDM en run
/ Fonctions Fx à envoyer aux locomotives sur passage d'un actionneur
/ actionneur,état,Nom du train,fonction,temporisation en ms avant remise à 0
/
/ Passages à niveau (PN)
/ (act_ferme_voie1,act_ouvre_voie1),(act_ferme_voie2,act_ouvre_voie2),...,PN(adresse_ferme,adresse_ouvre)
/
/ Klaxon (F2)
[section_act]
815,1,CC406526,F2,400
/
/ passage à niveau à 2 voies
(815,830),(820,840),PN(121+,121-)
/
/ passage à niveau à 1 voie
/(815,809),PN(131+,131-)
/
813,1,CC406526,A613,2,Z
830,1,ZZ406526,A613,2,Z
(815,830),(820,840),PN(121+,121-)
(850,851),PN(12+,12-)
0
-132
View File
@@ -1,132 +0,0 @@
/******************************************
/ fichier de configuration de signaux_complexes
/ gily - f1iwq - 2018
/******************************************
/ Sans Log=0 / Avec Log=1 : génère un fichier log
Log=0
/ Affichage du débug du calcul des routes, et enregistrement dans le log si la variable précédente est à 1
TraceDet=0
/ Envoie un 0 après le pilotage des décodeurs
/ Mettre 1 si utilisation de décodeurs LEB
RazSignaux=1
/
/ modélisation des aiguillages : détermine les éléments connectés aux 3 branches des aiguilles (Pointe, Droit, Dévié (S)
/ adresse d'aiguillage,P=élément vers pointe D=élément vers Droit, S=élément vers dévié.
/ [60 ou 30 dans le cas d'un aiguillage en position déviée qui doit être fanchie à 30 ou 60]
/ Elément = détecteur (valeur uniquement numérique) ou aiguillage (adresse+branche de connexion (P S ou D)
/ Exemple : 1,P518,D523,S3P signifie : définition de l'aiguillage @1 : sur pointe relié au détecteur 518
/ sur Droit relié au détecteur 518
/ sur Dévié, relié à l'aiguillage 3 en pointe
/ Pour une TJD : 26TJD,D530,S529,P28
/ P désigne l'autre adresse de la TJD
/ Aiguillage triple
/
/ S'il n'y a pas de détecteur connecté à une branche d'aiguillage, mettre 0.
1,P518,S3P,D523,30
2,P12S,S5S,D519
3,P1S,S5D,D4P
4,P3D,S514,D6S
5,P515,S2S,D3S
6,P516,S4D,D0
7,P527,S520,D519
8,P527,S522,D521
9,P526,S515,D513,60
10,P19P,S528,D29P,30
11,P18P,D30D,S525
12,P517,D20S,S2P
17,P525,D535,S528
18,P11P,S517,D23P
19,P10P,S531,D22P
20,P520,D21P,S12D
21,P20D,S28D,D28D
22,P19D,S538,D537
23,P18D,S534,D538
24,P538,S533,D32S
25,P31S,D529,S27P
26TJD,D530,S529,P28
28TJD,D21D,S21S,P26
27,P25S,D530,S537
29,P10D,S30S,D513,60
30,P524,S29D,D11D
31,P534,S25P,D0
32,P22S,S24D,D0
0
//
/ modélisation du réseau par branche
/ 1 ligne par branche - le sens de parcours de la branche est arbitraire.
/ Chaque ligne (branche) doit commmencer et finir par un aiguillage
/ Une ligne qui finit par un 0 signifie un heurtoir
/ @ détecteur A=@aiguillage
/ Terminer par 0
/ Exemple : 519 est un détecteur - A2 est l'aiguillage 2
/
A2,A12,517,A18,A11,A30,524,521,A8,527,A7,519,A2
A7,520,A20,A12
A1,A3,A4,514,522,A8
A1,523,526,A9,513,A29,A10,A19,531,518,A1
A9,515,A5
A11,525,A17,528,A10
A17,535,533,A24,538,A23
A7,520,A20,A21,A28,A26,530,A27,A25,A31,534,A23,A18
A26,529,A25
A22,537,A27
A22,A32,A24
A6,516,0
A31,0
0
/ liste des adresses des signaux et leur forme, pour affichage de l'image correspondante ,
/ avec ou sans bouton de commande pour le feu blanc, type de décodeur [, type de cible (pour les décodeurs Unisemaf uniquement)]
/ la liste doit être terminée par une adresse à 0
/ forme : 2=2 feux(carré violet/blanc) / 3=3 feux / 4=4 feux / 5=5 feux (carré + blanc ou violet)
/ 7=7 feux (blanc ou violet + ralentissement / 9=9 feux (blanc ou violet + rappel ralentissement)
/ Dx : signal directionnel à x feux
/ type de décodeur : 1=digital Bahn 2=CDF 3=LDT 4=LEB 5=NMRA 6=Unisemaf
/ Notation de chaque ligne:
/ adresse de base du signal, forme, avec ou sans bouton de commande du feu blanc, type de décodeur [, détecteur (det2, det3, ...) , élément suivant ,
/ avec ou sans demande de verrouillage du feu au carré]
/
176,7,0,1,(520,A20),1
190,7,0,1,(523,526),1
204,9,0,1,(527,A7),1
218,7,0,1,(525,A17),1
232,2,1,1,(516,A6),1
260,9,1,1,(518,A1),1
274,3,0,1,(524,521),1
288,7,0,1,(522,A8),1
302,9,0,1,(526,A9),1
316,7,1,1,(515,A5),1
330,7,0,1,(519,A2),1
344,9,0,1,(528,A10),1
358,9,0,1,(517,A18),1
372,D3,1,(A10D)(A19S)(A19D,A22D)(A19D,A22S)
382,D3,1,(A29S,A10S)(A19S)(A19D,A22D)(A19D,A22S)
392,3,0,1,(535,533),1
420,7,0,1,(529,A25,530,A27,537,A27),1
448,7,0,1,(533,A24),1
462,9,0,1,(513,A29),1
476,9,0,1,(538,A23),1
497,9,0,4,(531,A19),1
600,7,0,0,(521,A8),1
/ signaux de test
610,4,0,0,(521,a8),1
615,5,0,0,(521,a8),1
0
/
/ Section actionneurs. Ne fonctionne qu'en mode connecté à CDM en run
/ Fonctions Fx à envoyer aux locomotives sur passage d'un actionneur
/ actionneur,état,Nom du train,fonction,temporisation en ms avant remise à 0
/
/ Passages à niveau (PN)
/ (act_ferme_voie1,act_ouvre_voie1),(act_ferme_voie2,act_ouvre_voie2),...,PN(adresse_ferme,adresse_ouvre)
/
/ Klaxon (F2)
/ 815,1,CC406526,F2,400
/
/ passage à niveau à 2 voies
/(815,830),(820,840),PN(121+,121-)
/
/ passage à niveau à 1 voie
/(815,809),PN(121+,121-)
0
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -23,7 +23,7 @@ var
Lance_verif : integer;
verifVersion,notificationVersion : boolean;
Const Version='2.5'; // sert à la comparaison de la version publiée
Const Version='3.0'; // sert à la comparaison de la version publiée
implementation
+7 -3
View File
@@ -50,9 +50,13 @@ version 2.4 : Optimisation de la gestion des
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
Correction gestion des conditions supplémentaires d'affichage du carré
Affichage de champs modifiables supplémentaires
version 3.0 : Ajout des fonctions Nouveau / supprimer feu, accessoires dans le panneau de configuration.
Tous les éléments des feux, aiguillages, branches et actionneurs peuvent être modifiés depuis le panneau.
Nécessite de nommer les sections dans le fichier config.cfg
Il n'est donc plus nécessaire de modifier les fichiers de configuration.