V5.7
This commit is contained in:
BIN
Binary file not shown.
@@ -14,8 +14,8 @@
|
|||||||
-$N+
|
-$N+
|
||||||
-$O+
|
-$O+
|
||||||
-$P+
|
-$P+
|
||||||
-$Q-
|
-$Q+
|
||||||
-$R-
|
-$R+
|
||||||
-$S-
|
-$S-
|
||||||
-$T-
|
-$T-
|
||||||
-$U-
|
-$U-
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ M=0
|
|||||||
N=1
|
N=1
|
||||||
O=1
|
O=1
|
||||||
P=1
|
P=1
|
||||||
Q=0
|
Q=1
|
||||||
R=0
|
R=1
|
||||||
S=0
|
S=0
|
||||||
T=0
|
T=0
|
||||||
U=0
|
U=0
|
||||||
|
|||||||
BIN
Binary file not shown.
+29
-29
@@ -223,21 +223,12 @@ object FormCDF: TFormCDF
|
|||||||
Height = 13
|
Height = 13
|
||||||
Caption = '1 '#224' 4'
|
Caption = '1 '#224' 4'
|
||||||
end
|
end
|
||||||
object Button1: TButton
|
|
||||||
Left = 128
|
|
||||||
Top = 432
|
|
||||||
Width = 75
|
|
||||||
Height = 25
|
|
||||||
Caption = 'Ok'
|
|
||||||
TabOrder = 0
|
|
||||||
OnClick = Button1Click
|
|
||||||
end
|
|
||||||
object Edit1: TEdit
|
object Edit1: TEdit
|
||||||
Left = 120
|
Left = 120
|
||||||
Top = 176
|
Top = 176
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 1
|
TabOrder = 0
|
||||||
OnChange = Edit1Change
|
OnChange = Edit1Change
|
||||||
end
|
end
|
||||||
object Edit2: TEdit
|
object Edit2: TEdit
|
||||||
@@ -245,7 +236,7 @@ object FormCDF: TFormCDF
|
|||||||
Top = 200
|
Top = 200
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 2
|
TabOrder = 1
|
||||||
OnChange = Edit2Change
|
OnChange = Edit2Change
|
||||||
end
|
end
|
||||||
object Edit3: TEdit
|
object Edit3: TEdit
|
||||||
@@ -253,7 +244,7 @@ object FormCDF: TFormCDF
|
|||||||
Top = 224
|
Top = 224
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 3
|
TabOrder = 2
|
||||||
OnChange = Edit3Change
|
OnChange = Edit3Change
|
||||||
end
|
end
|
||||||
object Edit4: TEdit
|
object Edit4: TEdit
|
||||||
@@ -261,7 +252,7 @@ object FormCDF: TFormCDF
|
|||||||
Top = 248
|
Top = 248
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 4
|
TabOrder = 3
|
||||||
OnChange = Edit4Change
|
OnChange = Edit4Change
|
||||||
end
|
end
|
||||||
object Edit5: TEdit
|
object Edit5: TEdit
|
||||||
@@ -269,7 +260,7 @@ object FormCDF: TFormCDF
|
|||||||
Top = 272
|
Top = 272
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 5
|
TabOrder = 4
|
||||||
OnChange = Edit5Change
|
OnChange = Edit5Change
|
||||||
end
|
end
|
||||||
object Edit6: TEdit
|
object Edit6: TEdit
|
||||||
@@ -277,7 +268,7 @@ object FormCDF: TFormCDF
|
|||||||
Top = 296
|
Top = 296
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 6
|
TabOrder = 5
|
||||||
OnChange = Edit6Change
|
OnChange = Edit6Change
|
||||||
end
|
end
|
||||||
object Edit7: TEdit
|
object Edit7: TEdit
|
||||||
@@ -285,7 +276,7 @@ object FormCDF: TFormCDF
|
|||||||
Top = 320
|
Top = 320
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 7
|
TabOrder = 6
|
||||||
OnChange = Edit7Change
|
OnChange = Edit7Change
|
||||||
end
|
end
|
||||||
object Edit8: TEdit
|
object Edit8: TEdit
|
||||||
@@ -293,7 +284,7 @@ object FormCDF: TFormCDF
|
|||||||
Top = 344
|
Top = 344
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 8
|
TabOrder = 7
|
||||||
OnChange = Edit8Change
|
OnChange = Edit8Change
|
||||||
end
|
end
|
||||||
object Edit9: TEdit
|
object Edit9: TEdit
|
||||||
@@ -301,7 +292,7 @@ object FormCDF: TFormCDF
|
|||||||
Top = 368
|
Top = 368
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 9
|
TabOrder = 8
|
||||||
OnChange = Edit9Change
|
OnChange = Edit9Change
|
||||||
end
|
end
|
||||||
object Edit10: TEdit
|
object Edit10: TEdit
|
||||||
@@ -309,7 +300,7 @@ object FormCDF: TFormCDF
|
|||||||
Top = 392
|
Top = 392
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 10
|
TabOrder = 9
|
||||||
OnChange = Edit10Change
|
OnChange = Edit10Change
|
||||||
end
|
end
|
||||||
object Edit11: TEdit
|
object Edit11: TEdit
|
||||||
@@ -317,7 +308,7 @@ object FormCDF: TFormCDF
|
|||||||
Top = 200
|
Top = 200
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 11
|
TabOrder = 10
|
||||||
OnChange = Edit11Change
|
OnChange = Edit11Change
|
||||||
end
|
end
|
||||||
object Edit12: TEdit
|
object Edit12: TEdit
|
||||||
@@ -325,7 +316,7 @@ object FormCDF: TFormCDF
|
|||||||
Top = 224
|
Top = 224
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 12
|
TabOrder = 11
|
||||||
OnChange = Edit12Change
|
OnChange = Edit12Change
|
||||||
end
|
end
|
||||||
object Edit13: TEdit
|
object Edit13: TEdit
|
||||||
@@ -333,7 +324,7 @@ object FormCDF: TFormCDF
|
|||||||
Top = 248
|
Top = 248
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 13
|
TabOrder = 12
|
||||||
OnChange = Edit13Change
|
OnChange = Edit13Change
|
||||||
end
|
end
|
||||||
object Edit14: TEdit
|
object Edit14: TEdit
|
||||||
@@ -341,7 +332,7 @@ object FormCDF: TFormCDF
|
|||||||
Top = 272
|
Top = 272
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 14
|
TabOrder = 13
|
||||||
OnChange = Edit14Change
|
OnChange = Edit14Change
|
||||||
end
|
end
|
||||||
object Edit15: TEdit
|
object Edit15: TEdit
|
||||||
@@ -349,7 +340,7 @@ object FormCDF: TFormCDF
|
|||||||
Top = 296
|
Top = 296
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 15
|
TabOrder = 14
|
||||||
OnChange = Edit15Change
|
OnChange = Edit15Change
|
||||||
end
|
end
|
||||||
object Edit16: TEdit
|
object Edit16: TEdit
|
||||||
@@ -357,7 +348,7 @@ object FormCDF: TFormCDF
|
|||||||
Top = 320
|
Top = 320
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 16
|
TabOrder = 15
|
||||||
OnChange = Edit16Change
|
OnChange = Edit16Change
|
||||||
end
|
end
|
||||||
object Edit17: TEdit
|
object Edit17: TEdit
|
||||||
@@ -365,7 +356,7 @@ object FormCDF: TFormCDF
|
|||||||
Top = 344
|
Top = 344
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 17
|
TabOrder = 16
|
||||||
OnChange = Edit17Change
|
OnChange = Edit17Change
|
||||||
end
|
end
|
||||||
object Edit18: TEdit
|
object Edit18: TEdit
|
||||||
@@ -373,7 +364,7 @@ object FormCDF: TFormCDF
|
|||||||
Top = 368
|
Top = 368
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 18
|
TabOrder = 17
|
||||||
OnChange = Edit18Change
|
OnChange = Edit18Change
|
||||||
end
|
end
|
||||||
object Edit19: TEdit
|
object Edit19: TEdit
|
||||||
@@ -381,7 +372,7 @@ object FormCDF: TFormCDF
|
|||||||
Top = 392
|
Top = 392
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 19
|
TabOrder = 18
|
||||||
OnChange = Edit19Change
|
OnChange = Edit19Change
|
||||||
end
|
end
|
||||||
object EditNAdresses: TEdit
|
object EditNAdresses: TEdit
|
||||||
@@ -389,8 +380,17 @@ object FormCDF: TFormCDF
|
|||||||
Top = 120
|
Top = 120
|
||||||
Width = 25
|
Width = 25
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 20
|
TabOrder = 19
|
||||||
Text = '1'
|
Text = '1'
|
||||||
OnChange = EditNAdressesChange
|
OnChange = EditNAdressesChange
|
||||||
end
|
end
|
||||||
|
object BitBtnOk: TBitBtn
|
||||||
|
Left = 136
|
||||||
|
Top = 432
|
||||||
|
Width = 75
|
||||||
|
Height = 25
|
||||||
|
TabOrder = 20
|
||||||
|
OnClick = BitBtnOkClick
|
||||||
|
Kind = bkOK
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
+9
-7
@@ -4,11 +4,10 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
Dialogs, StdCtrls, ExtCtrls , unitconfig, UnitPrinc;
|
Dialogs, StdCtrls, ExtCtrls , unitconfig, UnitPrinc, Buttons;
|
||||||
|
|
||||||
type
|
type
|
||||||
TFormCDF = class(TForm)
|
TFormCDF = class(TForm)
|
||||||
Button1: TButton;
|
|
||||||
Label20: TLabel;
|
Label20: TLabel;
|
||||||
Label1: TLabel;
|
Label1: TLabel;
|
||||||
Label2: TLabel;
|
Label2: TLabel;
|
||||||
@@ -56,7 +55,7 @@ type
|
|||||||
EditNAdresses: TEdit;
|
EditNAdresses: TEdit;
|
||||||
LabelTitre: TLabel;
|
LabelTitre: TLabel;
|
||||||
Label24: TLabel;
|
Label24: TLabel;
|
||||||
procedure Button1Click(Sender: TObject);
|
BitBtnOk: TBitBtn;
|
||||||
procedure FormActivate(Sender: TObject);
|
procedure FormActivate(Sender: TObject);
|
||||||
procedure Edit1Change(Sender: TObject);
|
procedure Edit1Change(Sender: TObject);
|
||||||
procedure Edit2Change(Sender: TObject);
|
procedure Edit2Change(Sender: TObject);
|
||||||
@@ -78,6 +77,7 @@ type
|
|||||||
procedure Edit19Change(Sender: TObject);
|
procedure Edit19Change(Sender: TObject);
|
||||||
procedure Edit17Change(Sender: TObject);
|
procedure Edit17Change(Sender: TObject);
|
||||||
procedure EditNAdressesChange(Sender: TObject);
|
procedure EditNAdressesChange(Sender: TObject);
|
||||||
|
procedure BitBtnOkClick(Sender: TObject);
|
||||||
private
|
private
|
||||||
{ Déclarations privées }
|
{ Déclarations privées }
|
||||||
public
|
public
|
||||||
@@ -92,10 +92,7 @@ implementation
|
|||||||
|
|
||||||
{$R *.dfm}
|
{$R *.dfm}
|
||||||
|
|
||||||
procedure TFormCDF.Button1Click(Sender: TObject);
|
|
||||||
begin
|
|
||||||
close;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TFormCDF.FormActivate(Sender: TObject);
|
procedure TFormCDF.FormActivate(Sender: TObject);
|
||||||
var erreur : integer;
|
var erreur : integer;
|
||||||
@@ -380,4 +377,9 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TFormCDF.BitBtnOkClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
close;
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
Binary file not shown.
+37
-19
@@ -2102,7 +2102,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 200
|
Top = 200
|
||||||
Width = 297
|
Width = 297
|
||||||
Height = 73
|
Height = 73
|
||||||
Caption = 'Acc'#232's Ethernet '#224' l'#39'interface'
|
Caption = 'Acc'#232's Ethernet '#224' l'#39'interface vers la centrale'
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
object Label7: TLabel
|
object Label7: TLabel
|
||||||
Left = 14
|
Left = 14
|
||||||
@@ -2382,7 +2382,7 @@ object FormConfig: TFormConfig
|
|||||||
object LabelCrois: TLabel
|
object LabelCrois: TLabel
|
||||||
Left = 32
|
Left = 32
|
||||||
Top = 320
|
Top = 320
|
||||||
Width = 193
|
Width = 187
|
||||||
Height = 26
|
Height = 26
|
||||||
Caption =
|
Caption =
|
||||||
'Les croisements re'#231'oivent une adresse m'#234'me s'#39'ils ne sont pas pil' +
|
'Les croisements re'#231'oivent une adresse m'#234'me s'#39'ils ne sont pas pil' +
|
||||||
@@ -3793,8 +3793,8 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
object GroupBoxRadio: TGroupBox
|
object GroupBoxRadio: TGroupBox
|
||||||
Left = 120
|
Left = 56
|
||||||
Top = 8
|
Top = 16
|
||||||
Width = 225
|
Width = 225
|
||||||
Height = 73
|
Height = 73
|
||||||
Caption = 'Type d'#39'action'
|
Caption = 'Type d'#39'action'
|
||||||
@@ -3828,8 +3828,8 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
object GroupBoxAct: TGroupBox
|
object GroupBoxAct: TGroupBox
|
||||||
Left = 120
|
Left = 64
|
||||||
Top = 44
|
Top = 60
|
||||||
Width = 233
|
Width = 233
|
||||||
Height = 341
|
Height = 341
|
||||||
Caption = 'Action fonction de locomotive '
|
Caption = 'Action fonction de locomotive '
|
||||||
@@ -4146,7 +4146,7 @@ object FormConfig: TFormConfig
|
|||||||
Left = 0
|
Left = 0
|
||||||
Top = 32
|
Top = 32
|
||||||
Width = 345
|
Width = 345
|
||||||
Height = 185
|
Height = 225
|
||||||
Caption = 'Actionneurs/d'#233'tecteurs locomotives ou accessoires'
|
Caption = 'Actionneurs/d'#233'tecteurs locomotives ou accessoires'
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
object ButtonNouvAcc: TButton
|
object ButtonNouvAcc: TButton
|
||||||
@@ -4174,24 +4174,26 @@ object FormConfig: TFormConfig
|
|||||||
Left = 8
|
Left = 8
|
||||||
Top = 48
|
Top = 48
|
||||||
Width = 329
|
Width = 329
|
||||||
Height = 129
|
Height = 161
|
||||||
Color = clBlack
|
Color = clBlack
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clYellow
|
Font.Color = clYellow
|
||||||
Font.Height = -11
|
Font.Height = -11
|
||||||
Font.Name = 'MS Sans Serif'
|
Font.Name = 'MS Sans Serif'
|
||||||
Font.Style = []
|
Font.Style = []
|
||||||
|
HideSelection = False
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
ScrollBars = ssBoth
|
ScrollBars = ssBoth
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
WordWrap = False
|
WordWrap = False
|
||||||
|
OnKeyDown = RichActKeyDown
|
||||||
OnMouseDown = RichActMouseDown
|
OnMouseDown = RichActMouseDown
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object GroupBox17: TGroupBox
|
object GroupBox17: TGroupBox
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 224
|
Top = 272
|
||||||
Width = 345
|
Width = 345
|
||||||
Height = 193
|
Height = 193
|
||||||
Caption = 'Actionneurs passage '#224' niveau'
|
Caption = 'Actionneurs passage '#224' niveau'
|
||||||
@@ -4228,11 +4230,13 @@ object FormConfig: TFormConfig
|
|||||||
Font.Height = -11
|
Font.Height = -11
|
||||||
Font.Name = 'MS Sans Serif'
|
Font.Name = 'MS Sans Serif'
|
||||||
Font.Style = []
|
Font.Style = []
|
||||||
|
HideSelection = False
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
ScrollBars = ssBoth
|
ScrollBars = ssBoth
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
WordWrap = False
|
WordWrap = False
|
||||||
|
OnKeyDown = RichPNKeyDown
|
||||||
OnMouseDown = RichPNMouseDown
|
OnMouseDown = RichPNMouseDown
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -4607,9 +4611,11 @@ object FormConfig: TFormConfig
|
|||||||
Font.Height = -11
|
Font.Height = -11
|
||||||
Font.Name = 'MS Sans Serif'
|
Font.Name = 'MS Sans Serif'
|
||||||
Font.Style = []
|
Font.Style = []
|
||||||
|
HideSelection = False
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
|
OnKeyDown = RichEditTrainsKeyDown
|
||||||
OnMouseDown = RichEditTrainsMouseDown
|
OnMouseDown = RichEditTrainsMouseDown
|
||||||
end
|
end
|
||||||
object GroupBox24: TGroupBox
|
object GroupBox24: TGroupBox
|
||||||
@@ -4643,9 +4649,9 @@ object FormConfig: TFormConfig
|
|||||||
object Label56: TLabel
|
object Label56: TLabel
|
||||||
Left = 16
|
Left = 16
|
||||||
Top = 72
|
Top = 72
|
||||||
Width = 115
|
Width = 215
|
||||||
Height = 13
|
Height = 13
|
||||||
Caption = 'Vitesse '#224' l'#39'avertissement'
|
Caption = 'Vitesse '#224' l'#39'avertissement ou au ralentissement'
|
||||||
end
|
end
|
||||||
object Label57: TLabel
|
object Label57: TLabel
|
||||||
Left = 16
|
Left = 16
|
||||||
@@ -4659,13 +4665,16 @@ object FormConfig: TFormConfig
|
|||||||
Top = 24
|
Top = 24
|
||||||
Width = 145
|
Width = 145
|
||||||
Height = 21
|
Height = 21
|
||||||
|
Hint = 'Nom du train'
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
OnChange = EditNomTrainChange
|
OnChange = EditNomTrainChange
|
||||||
end
|
end
|
||||||
object EditAdresseTrain: TEdit
|
object EditAdresseTrain: TEdit
|
||||||
Left = 136
|
Left = 240
|
||||||
Top = 48
|
Top = 48
|
||||||
Width = 65
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
Hint = 'Adresse du d'#233'codeur du train'
|
Hint = 'Adresse du d'#233'codeur du train'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
@@ -4674,26 +4683,35 @@ object FormConfig: TFormConfig
|
|||||||
OnChange = EditAdresseTrainChange
|
OnChange = EditAdresseTrainChange
|
||||||
end
|
end
|
||||||
object EditVitesseMaxi: TEdit
|
object EditVitesseMaxi: TEdit
|
||||||
Left = 136
|
Left = 240
|
||||||
Top = 120
|
Top = 120
|
||||||
Width = 65
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
|
Hint = 'Vitesse maximale autoris'#233'e par le d'#233'codeur'
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
OnChange = EditVitesseMaxiChange
|
OnChange = EditVitesseMaxiChange
|
||||||
end
|
end
|
||||||
object EditVitRalenti: TEdit
|
object EditVitRalenti: TEdit
|
||||||
Left = 136
|
Left = 240
|
||||||
Top = 72
|
Top = 72
|
||||||
Width = 65
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
|
Hint = 'Vitesse apr'#232's l'#39'avertissement'
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
OnChange = EditVitRalentiChange
|
OnChange = EditVitRalentiChange
|
||||||
end
|
end
|
||||||
object EditVitNom: TEdit
|
object EditVitNom: TEdit
|
||||||
Left = 136
|
Left = 240
|
||||||
Top = 96
|
Top = 96
|
||||||
Width = 65
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
|
Hint = 'Vitesse si voie libre'
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
OnChange = EditVitNomChange
|
OnChange = EditVitNomChange
|
||||||
end
|
end
|
||||||
|
|||||||
+683
-255
File diff suppressed because it is too large
Load Diff
Binary file not shown.
+13
-12
@@ -14,17 +14,9 @@ object FormConfCellTCO: TFormConfCellTCO
|
|||||||
OldCreateOrder = False
|
OldCreateOrder = False
|
||||||
OnActivate = FormActivate
|
OnActivate = FormActivate
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
|
OnKeyPress = FormKeyPress
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
object ButtonOk: TButton
|
|
||||||
Left = 168
|
|
||||||
Top = 368
|
|
||||||
Width = 75
|
|
||||||
Height = 25
|
|
||||||
Caption = 'Ok'
|
|
||||||
TabOrder = 0
|
|
||||||
OnClick = ButtonOkClick
|
|
||||||
end
|
|
||||||
object GroupBox1: TGroupBox
|
object GroupBox1: TGroupBox
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 264
|
Top = 264
|
||||||
@@ -37,7 +29,7 @@ object FormConfCellTCO: TFormConfCellTCO
|
|||||||
Font.Name = 'MS Sans Serif'
|
Font.Name = 'MS Sans Serif'
|
||||||
Font.Style = []
|
Font.Style = []
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
TabOrder = 1
|
TabOrder = 0
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 41
|
Top = 41
|
||||||
@@ -96,7 +88,7 @@ object FormConfCellTCO: TFormConfCellTCO
|
|||||||
Font.Name = 'MS Sans Serif'
|
Font.Name = 'MS Sans Serif'
|
||||||
Font.Style = []
|
Font.Style = []
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
TabOrder = 2
|
TabOrder = 1
|
||||||
object Label15: TLabel
|
object Label15: TLabel
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 22
|
Top = 22
|
||||||
@@ -297,7 +289,16 @@ object FormConfCellTCO: TFormConfCellTCO
|
|||||||
ParentFont = False
|
ParentFont = False
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 3
|
TabOrder = 2
|
||||||
OnClick = CheckPinvClick
|
OnClick = CheckPinvClick
|
||||||
end
|
end
|
||||||
|
object BitBtnOk: TBitBtn
|
||||||
|
Left = 152
|
||||||
|
Top = 368
|
||||||
|
Width = 75
|
||||||
|
Height = 25
|
||||||
|
TabOrder = 3
|
||||||
|
OnClick = BitBtnOkClick
|
||||||
|
Kind = bkOK
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
+22
-13
@@ -4,11 +4,11 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
Dialogs, StdCtrls, UnitTCO, ExtCtrls;
|
Dialogs, StdCtrls, UnitTCO, ExtCtrls,
|
||||||
|
Buttons;
|
||||||
|
|
||||||
type
|
type
|
||||||
TFormConfCellTCO = class(TForm)
|
TFormConfCellTCO = class(TForm)
|
||||||
ButtonOk: TButton;
|
|
||||||
GroupBox1: TGroupBox;
|
GroupBox1: TGroupBox;
|
||||||
ComboRepr: TComboBox;
|
ComboRepr: TComboBox;
|
||||||
Label1: TLabel;
|
Label1: TLabel;
|
||||||
@@ -29,7 +29,7 @@ type
|
|||||||
RadioButtonD: TRadioButton;
|
RadioButtonD: TRadioButton;
|
||||||
EditAdrElement: TEdit;
|
EditAdrElement: TEdit;
|
||||||
ButtonFond: TButton;
|
ButtonFond: TButton;
|
||||||
procedure ButtonOkClick(Sender: TObject);
|
BitBtnOk: TBitBtn;
|
||||||
procedure EditTypeImageKeyPress(Sender: TObject; var Key: Char);
|
procedure EditTypeImageKeyPress(Sender: TObject; var Key: Char);
|
||||||
procedure EditAdrElementChange(Sender: TObject);
|
procedure EditAdrElementChange(Sender: TObject);
|
||||||
procedure EditTexteCCTCOChange(Sender: TObject);
|
procedure EditTexteCCTCOChange(Sender: TObject);
|
||||||
@@ -45,6 +45,8 @@ type
|
|||||||
procedure EditAdrElementKeyPress(Sender: TObject; var Key: Char);
|
procedure EditAdrElementKeyPress(Sender: TObject; var Key: Char);
|
||||||
procedure ButtonFondClick(Sender: TObject);
|
procedure ButtonFondClick(Sender: TObject);
|
||||||
procedure FormActivate(Sender: TObject);
|
procedure FormActivate(Sender: TObject);
|
||||||
|
procedure FormKeyPress(Sender: TObject; var Key: Char);
|
||||||
|
procedure BitBtnOkClick(Sender: TObject);
|
||||||
private
|
private
|
||||||
{ Déclarations privées }
|
{ Déclarations privées }
|
||||||
public
|
public
|
||||||
@@ -68,6 +70,7 @@ procedure actualise;
|
|||||||
var Bimage : integer;
|
var Bimage : integer;
|
||||||
oriente,piedFeu : integer;
|
oriente,piedFeu : integer;
|
||||||
begin
|
begin
|
||||||
|
if not(formConfCellTCOAff) then exit;
|
||||||
actualize:=true; // évite les évènements parasites
|
actualize:=true; // évite les évènements parasites
|
||||||
FormConfCellTCO.caption:='Propriétés de la cellule '+IntToSTR(XClicCell)+','+intToSTR(YClicCell);
|
FormConfCellTCO.caption:='Propriétés de la cellule '+IntToSTR(XClicCell)+','+intToSTR(YClicCell);
|
||||||
Bimage:=TCO[XClicCell,YClicCell].Bimage;
|
Bimage:=TCO[XClicCell,YClicCell].Bimage;
|
||||||
@@ -118,7 +121,7 @@ begin
|
|||||||
20: Assign(FormTCO.ImagePalette20.Picture);
|
20: Assign(FormTCO.ImagePalette20.Picture);
|
||||||
21: Assign(FormTCO.ImagePalette21.Picture);
|
21: Assign(FormTCO.ImagePalette21.Picture);
|
||||||
22: Assign(FormTCO.ImagePalette22.Picture);
|
22: Assign(FormTCO.ImagePalette22.Picture);
|
||||||
23: Assign(FormTCO.ImagePalette23.Picture);
|
23,31: Assign(FormTCO.ImagePalette31.Picture);
|
||||||
30: begin
|
30: begin
|
||||||
With formConfCellTCO.ImagePalette do
|
With formConfCellTCO.ImagePalette do
|
||||||
begin
|
begin
|
||||||
@@ -194,10 +197,7 @@ begin
|
|||||||
actualize:=false;
|
actualize:=false;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfCellTCO.ButtonOkClick(Sender: TObject);
|
|
||||||
begin
|
|
||||||
close;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TFormConfCellTCO.EditTypeImageKeyPress(Sender: TObject; var Key: Char);
|
procedure TFormConfCellTCO.EditTypeImageKeyPress(Sender: TObject; var Key: Char);
|
||||||
var Bimage,erreur : integer;
|
var Bimage,erreur : integer;
|
||||||
@@ -207,7 +207,7 @@ begin
|
|||||||
Key:=#0; // évite beeping
|
Key:=#0; // évite beeping
|
||||||
Val(EditTypeImage.Text,Bimage,erreur);
|
Val(EditTypeImage.Text,Bimage,erreur);
|
||||||
//Affiche('Keypressed / Bimage='+IntToSTR(bimage),clyellow);
|
//Affiche('Keypressed / Bimage='+IntToSTR(bimage),clyellow);
|
||||||
if (erreur<>0) or not(Bimage in[0..23,30]) then
|
if (erreur<>0) or not(Bimage in[0..23,30,31]) then
|
||||||
begin
|
begin
|
||||||
EditTypeImage.text:=intToSTR(tco[XClicCell,YClicCell].BImage);
|
EditTypeImage.text:=intToSTR(tco[XClicCell,YClicCell].BImage);
|
||||||
exit;
|
exit;
|
||||||
@@ -279,6 +279,7 @@ var i,x,y : integer;
|
|||||||
begin
|
begin
|
||||||
// fenetre toujours dessus
|
// fenetre toujours dessus
|
||||||
actualize:=false;
|
actualize:=false;
|
||||||
|
formConfCellTCOAff:=true;
|
||||||
SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NoMove or SWP_NoSize);
|
SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NoMove or SWP_NoSize);
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
@@ -319,7 +320,7 @@ begin
|
|||||||
20 : ImageSRC:=FormTCO.ImagePalette20;
|
20 : ImageSRC:=FormTCO.ImagePalette20;
|
||||||
21 : ImageSRC:=FormTCO.ImagePalette21;
|
21 : ImageSRC:=FormTCO.ImagePalette21;
|
||||||
22 : ImageSRC:=FormTCO.ImagePalette22;
|
22 : ImageSRC:=FormTCO.ImagePalette22;
|
||||||
23 : ImageSRC:=FormTCO.ImagePalette23;
|
23,31 : ImageSRC:=FormTCO.ImagePalette31;
|
||||||
24 : ImageSRC:=FormTCO.ImagePalette30;
|
24 : ImageSRC:=FormTCO.ImagePalette30;
|
||||||
end;
|
end;
|
||||||
picture.Bitmap:=ImageSRC.picture.BitMap;
|
picture.Bitmap:=ImageSRC.picture.BitMap;
|
||||||
@@ -337,8 +338,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
procedure TFormConfCellTCO.ComboReprChange(Sender: TObject);
|
procedure TFormConfCellTCO.ComboReprChange(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
tco[XClicCell,YClicCell].Repr:=comborepr.ItemIndex;
|
tco[XClicCell,YClicCell].Repr:=comborepr.ItemIndex;
|
||||||
@@ -355,7 +354,7 @@ begin
|
|||||||
if (xClicCell=0) or (xClicCell>NbreCellX) or (yClicCell=0) or (yClicCell>NbreCelly) then exit;
|
if (xClicCell=0) or (xClicCell>NbreCellX) or (yClicCell=0) or (yClicCell>NbreCelly) then exit;
|
||||||
Bimage:=Tco[xClicCell,yClicCell].Bimage;
|
Bimage:=Tco[xClicCell,yClicCell].Bimage;
|
||||||
if (bimage=2) or (bimage=3) or (bimage=4) or (bimage=5) or (bimage=12) or (bimage=13)
|
if (bimage=2) or (bimage=3) or (bimage=4) or (bimage=5) or (bimage=12) or (bimage=13)
|
||||||
or (bimage=14) or (bimage=15) then
|
or (bimage=14) or (bimage=15) or (bimage=24) then
|
||||||
begin
|
begin
|
||||||
TCO[xClicCell,yClicCell].inverse:=CheckPinv.checked;
|
TCO[xClicCell,yClicCell].inverse:=CheckPinv.checked;
|
||||||
TCO_modifie:=true;
|
TCO_modifie:=true;
|
||||||
@@ -423,4 +422,14 @@ begin
|
|||||||
else ButtonFond.caption:='Couleur de fond de la cellule';
|
else ButtonFond.caption:='Couleur de fond de la cellule';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TFormConfCellTCO.FormKeyPress(Sender: TObject; var Key: Char);
|
||||||
|
begin
|
||||||
|
if key=chr(27) then close;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TFormConfCellTCO.BitBtnOkClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
close
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
Binary file not shown.
+25
-26
@@ -63,38 +63,29 @@ object FormConfigTCO: TFormConfigTCO
|
|||||||
Height = 13
|
Height = 13
|
||||||
Caption = '/10'
|
Caption = '/10'
|
||||||
end
|
end
|
||||||
object ButtonOK: TButton
|
|
||||||
Left = 216
|
|
||||||
Top = 240
|
|
||||||
Width = 75
|
|
||||||
Height = 25
|
|
||||||
Caption = 'OK'
|
|
||||||
TabOrder = 0
|
|
||||||
OnClick = ButtonOKClick
|
|
||||||
end
|
|
||||||
object ButtonDessine: TButton
|
object ButtonDessine: TButton
|
||||||
Left = 16
|
Left = 16
|
||||||
Top = 240
|
Top = 240
|
||||||
Width = 75
|
Width = 75
|
||||||
Height = 25
|
Height = 25
|
||||||
Caption = 'Redessine'
|
Caption = 'Redessine'
|
||||||
TabOrder = 1
|
TabOrder = 0
|
||||||
OnClick = ButtonDessineClick
|
OnClick = ButtonDessineClick
|
||||||
end
|
end
|
||||||
object CheckDessineGrille: TCheckBox
|
object CheckDessineGrille: TCheckBox
|
||||||
Left = 16
|
Left = 16
|
||||||
Top = 88
|
Top = 96
|
||||||
Width = 105
|
Width = 105
|
||||||
Height = 17
|
Height = 17
|
||||||
Caption = 'dessine grille'
|
Caption = 'dessine grille'
|
||||||
TabOrder = 2
|
TabOrder = 1
|
||||||
end
|
end
|
||||||
object EditNbCellX: TEdit
|
object EditNbCellX: TEdit
|
||||||
Left = 184
|
Left = 184
|
||||||
Top = 40
|
Top = 40
|
||||||
Width = 49
|
Width = 49
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 3
|
TabOrder = 2
|
||||||
Text = 'EditNbCellX'
|
Text = 'EditNbCellX'
|
||||||
end
|
end
|
||||||
object EditNbCellY: TEdit
|
object EditNbCellY: TEdit
|
||||||
@@ -102,7 +93,7 @@ object FormConfigTCO: TFormConfigTCO
|
|||||||
Top = 64
|
Top = 64
|
||||||
Width = 49
|
Width = 49
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 4
|
TabOrder = 3
|
||||||
Text = 'EditNbCellY'
|
Text = 'EditNbCellY'
|
||||||
end
|
end
|
||||||
object GroupBox1: TGroupBox
|
object GroupBox1: TGroupBox
|
||||||
@@ -111,7 +102,7 @@ object FormConfigTCO: TFormConfigTCO
|
|||||||
Width = 353
|
Width = 353
|
||||||
Height = 265
|
Height = 265
|
||||||
Caption = 'Couleurs '
|
Caption = 'Couleurs '
|
||||||
TabOrder = 5
|
TabOrder = 4
|
||||||
object Label5: TLabel
|
object Label5: TLabel
|
||||||
Left = 21
|
Left = 21
|
||||||
Top = 32
|
Top = 32
|
||||||
@@ -134,9 +125,9 @@ object FormConfigTCO: TFormConfigTCO
|
|||||||
OnClick = ImageFondClick
|
OnClick = ImageFondClick
|
||||||
end
|
end
|
||||||
object Label6: TLabel
|
object Label6: TLabel
|
||||||
Left = 32
|
Left = 33
|
||||||
Top = 72
|
Top = 72
|
||||||
Width = 76
|
Width = 75
|
||||||
Height = 26
|
Height = 26
|
||||||
Alignment = taRightJustify
|
Alignment = taRightJustify
|
||||||
Caption = 'Couleur de fond par d'#233'faut'
|
Caption = 'Couleur de fond par d'#233'faut'
|
||||||
@@ -247,26 +238,25 @@ object FormConfigTCO: TFormConfigTCO
|
|||||||
Top = 208
|
Top = 208
|
||||||
Width = 281
|
Width = 281
|
||||||
Height = 17
|
Height = 17
|
||||||
Caption = 'Couleur du cantons activ'#233' par la couleur du train'
|
Caption = 'Couleur du canton activ'#233' par la couleur du train'
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object Memo1: TMemo
|
object Memo1: TMemo
|
||||||
Left = 16
|
Left = 16
|
||||||
Top = 120
|
Top = 136
|
||||||
Width = 273
|
Width = 273
|
||||||
Height = 81
|
Height = 65
|
||||||
BevelInner = bvLowered
|
BevelInner = bvLowered
|
||||||
BevelKind = bkFlat
|
BevelKind = bkFlat
|
||||||
BorderStyle = bsNone
|
BorderStyle = bsNone
|
||||||
Lines.Strings = (
|
Lines.Strings = (
|
||||||
'Si vous d'#233'finissez un nombre de cellules en '
|
'Si vous d'#233'finissez un nombre de cellules en '
|
||||||
'horizontal ou en vertical plus petit(s) que l'#39'actuel'
|
'horizontal ou en vertical plus petit(s) que l'#39'actuel(s), '
|
||||||
'(s), alors le TCO sera tronqu'#233', et les '#233'l'#233'ments '
|
'alors le TCO sera tronqu'#233', et les '#233'l'#233'ments tronqu'#233's '
|
||||||
'tronqu'#233's seront perdus '#224' la prochaine '
|
'seront perdus '#224' la prochaine sauvegarde.')
|
||||||
'sauvegarde.')
|
|
||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
TabOrder = 6
|
TabOrder = 5
|
||||||
end
|
end
|
||||||
object EditRatio: TEdit
|
object EditRatio: TEdit
|
||||||
Left = 48
|
Left = 48
|
||||||
@@ -276,9 +266,18 @@ object FormConfigTCO: TFormConfigTCO
|
|||||||
Hint = 'Rapport X/Y d'#39'affichage des cellules'
|
Hint = 'Rapport X/Y d'#39'affichage des cellules'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 7
|
TabOrder = 6
|
||||||
Text = 'EditRatio'
|
Text = 'EditRatio'
|
||||||
end
|
end
|
||||||
|
object BitBtnOk: TBitBtn
|
||||||
|
Left = 208
|
||||||
|
Top = 240
|
||||||
|
Width = 75
|
||||||
|
Height = 25
|
||||||
|
TabOrder = 7
|
||||||
|
OnClick = BitBtnOkClick
|
||||||
|
Kind = bkOK
|
||||||
|
end
|
||||||
object ColorDialog1: TColorDialog
|
object ColorDialog1: TColorDialog
|
||||||
OnShow = ColorDialog1Show
|
OnShow = ColorDialog1Show
|
||||||
Left = 248
|
Left = 248
|
||||||
|
|||||||
+64
-65
@@ -4,11 +4,11 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
Dialogs, StdCtrls , UnitTCO, ExtCtrls, Menus;
|
Dialogs, StdCtrls , UnitTCO, ExtCtrls, Menus,
|
||||||
|
Buttons;
|
||||||
|
|
||||||
type
|
type
|
||||||
TFormConfigTCO = class(TForm)
|
TFormConfigTCO = class(TForm)
|
||||||
ButtonOK: TButton;
|
|
||||||
Label3: TLabel;
|
Label3: TLabel;
|
||||||
Label4: TLabel;
|
Label4: TLabel;
|
||||||
ButtonDessine: TButton;
|
ButtonDessine: TButton;
|
||||||
@@ -43,7 +43,7 @@ type
|
|||||||
CheckCouleur: TCheckBox;
|
CheckCouleur: TCheckBox;
|
||||||
Label1: TLabel;
|
Label1: TLabel;
|
||||||
ImagePiedFeu: TImage;
|
ImagePiedFeu: TImage;
|
||||||
procedure ButtonOKClick(Sender: TObject);
|
BitBtnOk: TBitBtn;
|
||||||
procedure ButtonDessineClick(Sender: TObject);
|
procedure ButtonDessineClick(Sender: TObject);
|
||||||
procedure FormActivate(Sender: TObject);
|
procedure FormActivate(Sender: TObject);
|
||||||
procedure ImageAigClick(Sender: TObject);
|
procedure ImageAigClick(Sender: TObject);
|
||||||
@@ -55,6 +55,7 @@ type
|
|||||||
procedure ImageTexteClick(Sender: TObject);
|
procedure ImageTexteClick(Sender: TObject);
|
||||||
procedure ImageQuaiClick(Sender: TObject);
|
procedure ImageQuaiClick(Sender: TObject);
|
||||||
procedure ImagePiedFeuClick(Sender: TObject);
|
procedure ImagePiedFeuClick(Sender: TObject);
|
||||||
|
procedure BitBtnOkClick(Sender: TObject);
|
||||||
private
|
private
|
||||||
{ Déclarations privées }
|
{ Déclarations privées }
|
||||||
public
|
public
|
||||||
@@ -76,25 +77,24 @@ procedure icone_aig;
|
|||||||
var r : Trect;
|
var r : Trect;
|
||||||
x1,y1,x2,y2,x3,y3,x4,y4 : integer;
|
x1,y1,x2,y2,x3,y3,x4,y4 : integer;
|
||||||
begin
|
begin
|
||||||
with FormConfigTCO.ImageAig do
|
with FormConfigTCO.ImageAig do
|
||||||
begin
|
begin
|
||||||
canvas.Pen.color:=clfond;
|
canvas.Pen.color:=clfond;
|
||||||
canvas.Brush.Color:=clfond;
|
canvas.Brush.Color:=clfond;
|
||||||
canvas.Rectangle(0,0,Width,Height);
|
canvas.Rectangle(0,0,Width,Height);
|
||||||
|
|
||||||
canvas.pen.color:=clVoies;
|
canvas.pen.color:=clVoies;
|
||||||
canvas.brush.color:=clvoies;
|
canvas.brush.color:=clvoies;
|
||||||
// bande horizontale
|
// bande horizontale
|
||||||
r:=Rect(0,(height div 2)-3,width,(height div 2)+3);
|
r:=Rect(0,(height div 2)-3,width,(height div 2)+3);
|
||||||
canvas.FillRect(r);
|
canvas.FillRect(r);
|
||||||
|
|
||||||
x1:=(width div 2); y1:=(height div 2)-3;
|
|
||||||
x2:=3; y2:=0;
|
|
||||||
x3:=0; y3:=3;
|
|
||||||
x4:=0+(width div 2)-1; y4:=(height div 2)+3-1;
|
|
||||||
canvas.Polygon([point(x1,y1),Point(x2,y2),Point(x3,y3),Point(x4,y4)]);
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
x1:=(width div 2); y1:=(height div 2)-3;
|
||||||
|
x2:=3; y2:=0;
|
||||||
|
x3:=0; y3:=3;
|
||||||
|
x4:=0+(width div 2)-1; y4:=(height div 2)+3-1;
|
||||||
|
canvas.Polygon([point(x1,y1),Point(x2,y2),Point(x3,y3),Point(x4,y4)]);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure dessine_icones;
|
procedure dessine_icones;
|
||||||
@@ -156,7 +156,7 @@ begin
|
|||||||
canvas.FillRect(r);
|
canvas.FillRect(r);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
//6 texte
|
// 6 texte
|
||||||
with formCOnfigTCO.ImageTexte do
|
with formCOnfigTCO.ImageTexte do
|
||||||
begin
|
begin
|
||||||
canvas.Pen.color:=clfond;
|
canvas.Pen.color:=clfond;
|
||||||
@@ -167,7 +167,7 @@ begin
|
|||||||
canvas.Textout(5,10,'Voie 1');
|
canvas.Textout(5,10,'Voie 1');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
//Quai
|
// Quai
|
||||||
with formconfigTCO.ImageQuai do
|
with formconfigTCO.ImageQuai do
|
||||||
begin
|
begin
|
||||||
canvas.Pen.color:=clfond;
|
canvas.Pen.color:=clfond;
|
||||||
@@ -260,48 +260,6 @@ begin
|
|||||||
NbCellulesTCO:=NbreCellX*NbreCellY;
|
NbCellulesTCO:=NbreCellX*NbreCellY;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfigTCO.ButtonOKClick(Sender: TObject);
|
|
||||||
var ok : boolean;
|
|
||||||
begin
|
|
||||||
ok:=true;
|
|
||||||
|
|
||||||
if verif_config_TCO then
|
|
||||||
begin
|
|
||||||
with FormTCO.ImageTCO do
|
|
||||||
begin
|
|
||||||
Width:=LargeurCell*NbreCellX;
|
|
||||||
Height:=HauteurCell*NbreCellY;
|
|
||||||
end;
|
|
||||||
|
|
||||||
try
|
|
||||||
SetLength(TCO,NbreCellX+1,NbreCellY+1);
|
|
||||||
except
|
|
||||||
LabelErreur.caption:='TCO Mémoire insuffisante';
|
|
||||||
NbreCellX:=20;NbreCellY:=12;
|
|
||||||
SetLength(TCO,NbreCellX+1,NbreCellY+1);
|
|
||||||
ok:=false;
|
|
||||||
end;
|
|
||||||
|
|
||||||
try
|
|
||||||
SetLength(TamponTCO,NbreCellX+1,NbreCellY+1);
|
|
||||||
except
|
|
||||||
LabelErreur.caption:='TamponTCO Mémoire insuffisante';
|
|
||||||
NbreCellX:=20;NbreCellY:=12;
|
|
||||||
SetLength(TamponTCO,NbreCellX+1,NbreCellY+1);
|
|
||||||
ok:=false;
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
AvecGrille:=checkDessineGrille.Checked;
|
|
||||||
if ok then
|
|
||||||
begin
|
|
||||||
calcul_cellules;
|
|
||||||
affiche_TCO;
|
|
||||||
LabelErreur.caption:='';
|
|
||||||
close;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TFormConfigTCO.ButtonDessineClick(Sender: TObject);
|
procedure TFormConfigTCO.ButtonDessineClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
@@ -434,9 +392,50 @@ end;
|
|||||||
// change le titre de la fenêtre de choix des couleurs à son ouverture
|
// change le titre de la fenêtre de choix des couleurs à son ouverture
|
||||||
procedure TFormConfigTCO.ColorDialog1Show(Sender: TObject);
|
procedure TFormConfigTCO.ColorDialog1Show(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
SetWindowText(ColorDialog1.Handle,pchar(titre_couleur));
|
SetWindowText(ColorDialog1.Handle,pchar(titre_couleur));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TFormConfigTCO.BitBtnOkClick(Sender: TObject);
|
||||||
|
var ok : boolean;
|
||||||
|
begin
|
||||||
|
ok:=true;
|
||||||
|
|
||||||
|
if verif_config_TCO then
|
||||||
|
begin
|
||||||
|
with FormTCO.ImageTCO do
|
||||||
|
begin
|
||||||
|
Width:=LargeurCell*NbreCellX;
|
||||||
|
Height:=HauteurCell*NbreCellY;
|
||||||
|
end;
|
||||||
|
|
||||||
|
try
|
||||||
|
SetLength(TCO,NbreCellX+1,NbreCellY+1);
|
||||||
|
except
|
||||||
|
LabelErreur.caption:='TCO Mémoire insuffisante';
|
||||||
|
NbreCellX:=20;NbreCellY:=12;
|
||||||
|
SetLength(TCO,NbreCellX+1,NbreCellY+1);
|
||||||
|
ok:=false;
|
||||||
|
end;
|
||||||
|
|
||||||
|
try
|
||||||
|
SetLength(TamponTCO,NbreCellX+1,NbreCellY+1);
|
||||||
|
except
|
||||||
|
LabelErreur.caption:='TamponTCO Mémoire insuffisante';
|
||||||
|
NbreCellX:=20;NbreCellY:=12;
|
||||||
|
SetLength(TamponTCO,NbreCellX+1,NbreCellY+1);
|
||||||
|
ok:=false;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
AvecGrille:=checkDessineGrille.Checked;
|
||||||
|
if ok then
|
||||||
|
begin
|
||||||
|
calcul_cellules;
|
||||||
|
affiche_TCO;
|
||||||
|
LabelErreur.caption:='';
|
||||||
|
close;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
Binary file not shown.
+22
-20
@@ -3,8 +3,7 @@ object FormDebug: TFormDebug
|
|||||||
Top = 21
|
Top = 21
|
||||||
Width = 864
|
Width = 864
|
||||||
Height = 788
|
Height = 788
|
||||||
VertScrollBar.Position = 28
|
VertScrollBar.Increment = 67
|
||||||
VertScrollBar.Smooth = True
|
|
||||||
VertScrollBar.Tracking = True
|
VertScrollBar.Tracking = True
|
||||||
Caption = 'Fen'#234'tre de d'#233'bug'
|
Caption = 'Fen'#234'tre de d'#233'bug'
|
||||||
Color = clWindow
|
Color = clWindow
|
||||||
@@ -21,13 +20,13 @@ object FormDebug: TFormDebug
|
|||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
OnKeyPress = FormKeyPress
|
OnKeyPress = FormKeyPress
|
||||||
DesignSize = (
|
DesignSize = (
|
||||||
839
|
831
|
||||||
757)
|
749)
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
Left = 595
|
Left = 595
|
||||||
Top = -24
|
Top = 4
|
||||||
Width = 108
|
Width = 108
|
||||||
Height = 13
|
Height = 13
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -43,7 +42,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object Label2: TLabel
|
object Label2: TLabel
|
||||||
Left = 443
|
Left = 443
|
||||||
Top = -26
|
Top = 2
|
||||||
Width = 131
|
Width = 131
|
||||||
Height = 18
|
Height = 18
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -57,7 +56,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object EditNivDebug: TEdit
|
object EditNivDebug: TEdit
|
||||||
Left = 754
|
Left = 754
|
||||||
Top = -26
|
Top = 2
|
||||||
Width = 49
|
Width = 49
|
||||||
Height = 21
|
Height = 21
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -73,7 +72,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object ButtonEcrLog: TButton
|
object ButtonEcrLog: TButton
|
||||||
Left = 442
|
Left = 442
|
||||||
Top = 300
|
Top = 328
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 29
|
Height = 29
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -83,7 +82,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object ButtonRazTampon: TButton
|
object ButtonRazTampon: TButton
|
||||||
Left = 442
|
Left = 442
|
||||||
Top = 332
|
Top = 360
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 33
|
Height = 33
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -94,17 +93,20 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object ButtonCherche: TButton
|
object ButtonCherche: TButton
|
||||||
Left = 442
|
Left = 442
|
||||||
Top = 268
|
Top = 296
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 25
|
Height = 25
|
||||||
|
Hint = 'Cherche la cha'#238'ne "erreur"'
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
Caption = 'Chercher erreurs'
|
Caption = 'Chercher erreurs'
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
OnClick = ButtonChercheClick
|
OnClick = ButtonChercheClick
|
||||||
end
|
end
|
||||||
object ButtonAffEvtChrono: TButton
|
object ButtonAffEvtChrono: TButton
|
||||||
Left = 442
|
Left = 442
|
||||||
Top = 228
|
Top = 256
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 33
|
Height = 33
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -115,7 +117,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object ButtonCop: TButton
|
object ButtonCop: TButton
|
||||||
Left = 442
|
Left = 442
|
||||||
Top = 180
|
Top = 208
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 41
|
Height = 41
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -132,7 +134,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object ButtonRazLog: TButton
|
object ButtonRazLog: TButton
|
||||||
Left = 442
|
Left = 442
|
||||||
Top = 372
|
Top = 400
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 33
|
Height = 33
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -143,7 +145,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object GroupBox1: TGroupBox
|
object GroupBox1: TGroupBox
|
||||||
Left = 448
|
Left = 448
|
||||||
Top = 572
|
Top = 600
|
||||||
Width = 369
|
Width = 369
|
||||||
Height = 185
|
Height = 185
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -291,7 +293,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object GroupBox2: TGroupBox
|
object GroupBox2: TGroupBox
|
||||||
Left = 440
|
Left = 440
|
||||||
Top = -8
|
Top = 20
|
||||||
Width = 401
|
Width = 401
|
||||||
Height = 149
|
Height = 149
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -483,7 +485,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object RichDebug: TRichEdit
|
object RichDebug: TRichEdit
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = -20
|
Top = 8
|
||||||
Width = 425
|
Width = 425
|
||||||
Height = 741
|
Height = 741
|
||||||
Anchors = [akLeft, akTop, akRight, akBottom]
|
Anchors = [akLeft, akTop, akRight, akBottom]
|
||||||
@@ -496,7 +498,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object GroupBox5: TGroupBox
|
object GroupBox5: TGroupBox
|
||||||
Left = 448
|
Left = 448
|
||||||
Top = 460
|
Top = 488
|
||||||
Width = 372
|
Width = 372
|
||||||
Height = 57
|
Height = 57
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -563,7 +565,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object ButtonRazTout: TButton
|
object ButtonRazTout: TButton
|
||||||
Left = 443
|
Left = 443
|
||||||
Top = 148
|
Top = 176
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 25
|
Height = 25
|
||||||
Hint =
|
Hint =
|
||||||
@@ -578,7 +580,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object GroupBox6: TGroupBox
|
object GroupBox6: TGroupBox
|
||||||
Left = 448
|
Left = 448
|
||||||
Top = 524
|
Top = 552
|
||||||
Width = 372
|
Width = 372
|
||||||
Height = 41
|
Height = 41
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -655,7 +657,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
object MemoEvtDet: TRichEdit
|
object MemoEvtDet: TRichEdit
|
||||||
Left = 544
|
Left = 544
|
||||||
Top = 146
|
Top = 174
|
||||||
Width = 281
|
Width = 281
|
||||||
Height = 307
|
Height = 307
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
|
|||||||
+26
-15
@@ -109,7 +109,7 @@ type
|
|||||||
|
|
||||||
var
|
var
|
||||||
FormDebug: TFormDebug;
|
FormDebug: TFormDebug;
|
||||||
NivDebug,signalDebug : integer;
|
NivDebug,signalDebug,compt_erreur,positionErreur,LigneErreur : integer;
|
||||||
AffSignal,AffAffect,initform,AffFD,debug_dec_sig,debugTCO,DebugAffiche,AFfDetSIg : boolean;
|
AffSignal,AffAffect,initform,AffFD,debug_dec_sig,debugTCO,DebugAffiche,AFfDetSIg : boolean;
|
||||||
N_event_det : integer; // index du dernier évènement (de 1 à 20)
|
N_event_det : integer; // index du dernier évènement (de 1 à 20)
|
||||||
N_Event_tick : integer ; // dernier index
|
N_Event_tick : integer ; // dernier index
|
||||||
@@ -183,6 +183,8 @@ begin
|
|||||||
s:=DateToStr(date)+' '+TimeToStr(Time)+' ';
|
s:=DateToStr(date)+' '+TimeToStr(Time)+' ';
|
||||||
Autoscroll:=true; // permet l'affichage de l'ascenseur dans radstudio
|
Autoscroll:=true; // permet l'affichage de l'ascenseur dans radstudio
|
||||||
DebugAffiche:=true;
|
DebugAffiche:=true;
|
||||||
|
compt_erreur:=0;
|
||||||
|
LigneErreur:=0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormDebug.ButtonEcrLogClick(Sender: TObject);
|
procedure TFormDebug.ButtonEcrLogClick(Sender: TObject);
|
||||||
@@ -240,28 +242,37 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormDebug.ButtonChercheClick(Sender: TObject);
|
procedure TFormDebug.ButtonChercheClick(Sender: TObject);
|
||||||
var ligne,l,position : integer;
|
var i,l,positionErreur : integer;
|
||||||
s : string;
|
s : string;
|
||||||
trouve : boolean;
|
trouve : boolean;
|
||||||
begin
|
begin
|
||||||
// faire avec
|
// faire avec
|
||||||
with RichDebug do
|
with RichDebug do
|
||||||
begin
|
begin
|
||||||
ligne:=0;
|
|
||||||
l:=0;
|
|
||||||
repeat
|
repeat
|
||||||
s:=lowercase(Lines[ligne]);
|
s:=lowercase(Lines[ligneErreur]);
|
||||||
l:=l+length(s)+2;
|
positionErreur:=pos('erreur',s);
|
||||||
position:=pos('erreur',s);
|
trouve:=positionErreur<>0;
|
||||||
trouve:=position<>0;
|
inc(LigneErreur);
|
||||||
inc(ligne);
|
until (LigneErreur>=Lines.Count) or trouve;
|
||||||
until (ligne>=Lines.Count) or trouve;
|
|
||||||
if trouve then
|
if trouve then
|
||||||
begin
|
begin
|
||||||
//Affiche('trouvé en '+intToSTR(ligne),clyellow);
|
inc(compt_erreur);
|
||||||
SelStart:= l-length(s)+position-3;
|
//Affiche('trouvé en '+Lines[ligneErreur-1],clred);
|
||||||
|
l:=0;
|
||||||
|
for i:=0 to ligneErreur-1 do
|
||||||
|
begin
|
||||||
|
l:=l+length(Lines[i])+2;
|
||||||
|
end;
|
||||||
|
SelStart:= l-length(s)+positionErreur-3;
|
||||||
SelLength:=6;
|
SelLength:=6;
|
||||||
SetFocus;
|
SetFocus; // afficher la sélection
|
||||||
|
Perform(EM_SCROLLCARET,0,0); // et scroller à l'endroit de la sélection
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
LigneErreur:=0;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@@ -380,7 +391,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
procedure TFormDebug.ButtonCPClick(Sender: TObject);
|
procedure TFormDebug.ButtonCPClick(Sender: TObject);
|
||||||
var Adr,erreur,ancdebug,adrtrain,voie : integer ;
|
var Adr,erreur,ancdebug,adrtrain,voie : integer ;
|
||||||
begin
|
begin
|
||||||
@@ -447,12 +457,13 @@ end;
|
|||||||
|
|
||||||
procedure TFormDebug.ButtonRazToutClick(Sender: TObject);
|
procedure TFormDebug.ButtonRazToutClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
|
AfficheDebug('Raz tous trains et routes',clLime);
|
||||||
Raz_tout;
|
Raz_tout;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormDebug.MemoEvtDet1Change(Sender: TObject);
|
procedure TFormDebug.MemoEvtDet1Change(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
SendMessage(MemoEvtDet.handle, WM_VSCROLL, SB_BOTTOM, 0);
|
SendMessage(MemoEvtDet.handle,WM_VSCROLL,SB_BOTTOM,0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormDebug.EditDebugSignalChange(Sender: TObject);
|
procedure TFormDebug.EditDebugSignalChange(Sender: TObject);
|
||||||
|
|||||||
Binary file not shown.
@@ -0,0 +1,14 @@
|
|||||||
|
object Frame1: TFrame1
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 289
|
||||||
|
Height = 86
|
||||||
|
TabOrder = 0
|
||||||
|
object Label1: TLabel
|
||||||
|
Left = 104
|
||||||
|
Top = 16
|
||||||
|
Width = 60
|
||||||
|
Height = 13
|
||||||
|
Caption = 'Cadre Frame'
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
unit UnitFrame1;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, StdCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TFrame1 = class(TFrame)
|
||||||
|
Label1: TLabel;
|
||||||
|
private
|
||||||
|
{ Déclarations privées }
|
||||||
|
public
|
||||||
|
{ Déclarations publiques }
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
end.
|
||||||
Binary file not shown.
+9
-6
@@ -61,9 +61,6 @@ type
|
|||||||
{ Déclarations publiques }
|
{ Déclarations publiques }
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// définition des adresses normalisées du décodeur de leds de digitalBahn
|
|
||||||
// l'ordre des adresses est à respecter dans la programation des signaux.
|
|
||||||
// L'oeilleton est cablé sur la sortie 4, il est géré directement par le décodeur. **/
|
|
||||||
// code des aspects des signaux
|
// code des aspects des signaux
|
||||||
const
|
const
|
||||||
|
|
||||||
@@ -258,14 +255,20 @@ if ord(Key) = VK_RETURN then
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormPilote.FormActivate(Sender: TObject);
|
procedure TFormPilote.FormActivate(Sender: TObject);
|
||||||
var i,d : integer;
|
var n,i,d : integer;
|
||||||
begin
|
begin
|
||||||
// mise à jour du champ décodeur
|
// mise à jour du champ décodeur
|
||||||
i:=index_feu(AdrPilote);
|
i:=index_feu(AdrPilote);
|
||||||
d:=feux[i].decodeur;
|
d:=feux[i].decodeur;
|
||||||
|
n:=feux[i].aspect;
|
||||||
LabelDec.Caption:=decodeur[d];
|
LabelDec.Caption:=decodeur[d];
|
||||||
// check
|
// checkcarré
|
||||||
checkVerrouCarre.Checked:=feux[i].VerrouilleCarre;
|
if (n<4) or (n>10) then checkVerrouCarre.Visible:=false else
|
||||||
|
begin
|
||||||
|
checkVerrouCarre.Visible:=true;
|
||||||
|
checkVerrouCarre.Checked:=feux[i].VerrouilleCarre;
|
||||||
|
end;
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormPilote.CheckVerrouCarreClick(Sender: TObject);
|
procedure TFormPilote.CheckVerrouCarreClick(Sender: TObject);
|
||||||
|
|||||||
Binary file not shown.
+64
-54
@@ -1,6 +1,6 @@
|
|||||||
object FormPrinc: TFormPrinc
|
object FormPrinc: TFormPrinc
|
||||||
Left = 59
|
Left = 66
|
||||||
Top = 174
|
Top = 209
|
||||||
Width = 1213
|
Width = 1213
|
||||||
Height = 670
|
Height = 670
|
||||||
Caption = 'Signaux complexes'
|
Caption = 'Signaux complexes'
|
||||||
@@ -225,8 +225,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image7feux: TImage
|
object Image7feux: TImage
|
||||||
Left = 504
|
Left = 144
|
||||||
Top = 8
|
Top = 0
|
||||||
Width = 57
|
Width = 57
|
||||||
Height = 105
|
Height = 105
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -666,8 +666,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image2feux: TImage
|
object Image2feux: TImage
|
||||||
Left = 896
|
Left = 904
|
||||||
Top = 88
|
Top = 136
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 57
|
Height = 57
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -740,8 +740,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image2Dir: TImage
|
object Image2Dir: TImage
|
||||||
Left = 936
|
Left = 984
|
||||||
Top = 144
|
Top = 120
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 25
|
Height = 25
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -815,8 +815,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image3Dir: TImage
|
object Image3Dir: TImage
|
||||||
Left = 840
|
Left = 968
|
||||||
Top = 136
|
Top = 168
|
||||||
Width = 49
|
Width = 49
|
||||||
Height = 25
|
Height = 25
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -893,7 +893,7 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image4Dir: TImage
|
object Image4Dir: TImage
|
||||||
Left = 1064
|
Left = 1032
|
||||||
Top = 120
|
Top = 120
|
||||||
Width = 57
|
Width = 57
|
||||||
Height = 25
|
Height = 25
|
||||||
@@ -981,8 +981,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image5Dir: TImage
|
object Image5Dir: TImage
|
||||||
Left = 464
|
Left = 1096
|
||||||
Top = 0
|
Top = 120
|
||||||
Width = 65
|
Width = 65
|
||||||
Height = 25
|
Height = 25
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -1079,8 +1079,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image6Dir: TImage
|
object Image6Dir: TImage
|
||||||
Left = 872
|
Left = 896
|
||||||
Top = 136
|
Top = 120
|
||||||
Width = 81
|
Width = 81
|
||||||
Height = 25
|
Height = 25
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -1200,22 +1200,17 @@ object FormPrinc: TFormPrinc
|
|||||||
Font.Style = []
|
Font.Style = []
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object Splitter: TSplitter
|
object SplitterH: TSplitter
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 5
|
|
||||||
Height = 589
|
Height = 589
|
||||||
Color = clWindowFrame
|
|
||||||
ParentColor = False
|
|
||||||
Visible = False
|
|
||||||
OnMoved = SplitterMoved
|
|
||||||
end
|
end
|
||||||
object ScrollBox1: TScrollBox
|
object ScrollBox1: TScrollBox
|
||||||
Left = 632
|
Left = 632
|
||||||
Top = 192
|
Top = 200
|
||||||
Width = 546
|
Width = 546
|
||||||
Height = 399
|
Height = 391
|
||||||
HorzScrollBar.Smooth = True
|
HorzScrollBar.Increment = 48
|
||||||
HorzScrollBar.Tracking = True
|
HorzScrollBar.Tracking = True
|
||||||
VertScrollBar.Smooth = True
|
VertScrollBar.Smooth = True
|
||||||
VertScrollBar.Tracking = True
|
VertScrollBar.Tracking = True
|
||||||
@@ -1291,20 +1286,20 @@ object FormPrinc: TFormPrinc
|
|||||||
end
|
end
|
||||||
object Panel1: TPanel
|
object Panel1: TPanel
|
||||||
Left = 904
|
Left = 904
|
||||||
Top = 5
|
Top = 13
|
||||||
Width = 282
|
Width = 282
|
||||||
Height = 108
|
Height = 108
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
Left = 136
|
Left = 56
|
||||||
Top = 88
|
Top = 88
|
||||||
Width = 89
|
Width = 89
|
||||||
Height = 13
|
Height = 13
|
||||||
Caption = 'Nombre de trains : '
|
Caption = 'Nombre de trains : '
|
||||||
end
|
end
|
||||||
object LabelNbTrains: TLabel
|
object LabelNbTrains: TLabel
|
||||||
Left = 256
|
Left = 240
|
||||||
Top = 84
|
Top = 84
|
||||||
Width = 9
|
Width = 9
|
||||||
Height = 19
|
Height = 19
|
||||||
@@ -1391,27 +1386,6 @@ object FormPrinc: TFormPrinc
|
|||||||
Caption = 'xx'
|
Caption = 'xx'
|
||||||
TabOrder = 5
|
TabOrder = 5
|
||||||
end
|
end
|
||||||
object FenRich: TRichEdit
|
|
||||||
Left = 8
|
|
||||||
Top = 32
|
|
||||||
Width = 601
|
|
||||||
Height = 513
|
|
||||||
Anchors = [akLeft, akTop, akRight, akBottom]
|
|
||||||
Color = clBlack
|
|
||||||
Font.Charset = DEFAULT_CHARSET
|
|
||||||
Font.Color = clYellow
|
|
||||||
Font.Height = -13
|
|
||||||
Font.Name = 'MS Sans Serif'
|
|
||||||
Font.Style = []
|
|
||||||
ParentFont = False
|
|
||||||
PopupMenu = PopupMenuFenRich
|
|
||||||
ReadOnly = True
|
|
||||||
ScrollBars = ssBoth
|
|
||||||
TabOrder = 6
|
|
||||||
WordWrap = False
|
|
||||||
OnChange = FenRichChange
|
|
||||||
OnMouseDown = FenRichMouseDown
|
|
||||||
end
|
|
||||||
object GroupBox2: TGroupBox
|
object GroupBox2: TGroupBox
|
||||||
Left = 633
|
Left = 633
|
||||||
Top = 64
|
Top = 64
|
||||||
@@ -1419,7 +1393,7 @@ object FormPrinc: TFormPrinc
|
|||||||
Height = 105
|
Height = 105
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
Caption = 'Variables CV'
|
Caption = 'Variables CV'
|
||||||
TabOrder = 7
|
TabOrder = 6
|
||||||
object Label3: TLabel
|
object Label3: TLabel
|
||||||
Left = 208
|
Left = 208
|
||||||
Top = 34
|
Top = 34
|
||||||
@@ -1481,7 +1455,7 @@ object FormPrinc: TFormPrinc
|
|||||||
Height = 129
|
Height = 129
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
Caption = 'Commande aux trains'
|
Caption = 'Commande aux trains'
|
||||||
TabOrder = 8
|
TabOrder = 7
|
||||||
object Label4: TLabel
|
object Label4: TLabel
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 22
|
Top = 22
|
||||||
@@ -1698,7 +1672,7 @@ object FormPrinc: TFormPrinc
|
|||||||
TabOrder = 5
|
TabOrder = 5
|
||||||
end
|
end
|
||||||
object TrackBarVit: TTrackBar
|
object TrackBarVit: TTrackBar
|
||||||
Left = 16
|
Left = 24
|
||||||
Top = 64
|
Top = 64
|
||||||
Width = 233
|
Width = 233
|
||||||
Height = 21
|
Height = 21
|
||||||
@@ -1717,7 +1691,7 @@ object FormPrinc: TFormPrinc
|
|||||||
Height = 33
|
Height = 33
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
Caption = 'Envoi vers centrale DCC++'
|
Caption = 'Envoi vers centrale DCC++'
|
||||||
TabOrder = 9
|
TabOrder = 8
|
||||||
WordWrap = True
|
WordWrap = True
|
||||||
OnClick = ButtonEnvClick
|
OnClick = ButtonEnvClick
|
||||||
end
|
end
|
||||||
@@ -1727,7 +1701,7 @@ object FormPrinc: TFormPrinc
|
|||||||
Width = 121
|
Width = 121
|
||||||
Height = 21
|
Height = 21
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
TabOrder = 10
|
TabOrder = 9
|
||||||
Text = '<1>'
|
Text = '<1>'
|
||||||
end
|
end
|
||||||
object Button1: TButton
|
object Button1: TButton
|
||||||
@@ -1737,10 +1711,45 @@ object FormPrinc: TFormPrinc
|
|||||||
Height = 25
|
Height = 25
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
Caption = 'Button1'
|
Caption = 'Button1'
|
||||||
TabOrder = 11
|
TabOrder = 10
|
||||||
Visible = False
|
Visible = False
|
||||||
OnClick = Button1Click
|
OnClick = Button1Click
|
||||||
end
|
end
|
||||||
|
object Panel2: TPanel
|
||||||
|
Left = 8
|
||||||
|
Top = 32
|
||||||
|
Width = 609
|
||||||
|
Height = 497
|
||||||
|
TabOrder = 11
|
||||||
|
object SplitterV: TSplitter
|
||||||
|
Left = 1
|
||||||
|
Top = 1
|
||||||
|
Width = 8
|
||||||
|
Height = 495
|
||||||
|
Beveled = True
|
||||||
|
OnMoved = SplitterVMoved
|
||||||
|
end
|
||||||
|
object FenRich: TRichEdit
|
||||||
|
Left = 8
|
||||||
|
Top = 16
|
||||||
|
Width = 593
|
||||||
|
Height = 505
|
||||||
|
Color = clBlack
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clYellow
|
||||||
|
Font.Height = -13
|
||||||
|
Font.Name = 'MS Sans Serif'
|
||||||
|
Font.Style = []
|
||||||
|
ParentFont = False
|
||||||
|
PopupMenu = PopupMenuFenRich
|
||||||
|
ReadOnly = True
|
||||||
|
ScrollBars = ssBoth
|
||||||
|
TabOrder = 0
|
||||||
|
WordWrap = False
|
||||||
|
OnChange = FenRichChange
|
||||||
|
OnMouseDown = FenRichMouseDown
|
||||||
|
end
|
||||||
|
end
|
||||||
object Timer1: TTimer
|
object Timer1: TTimer
|
||||||
Interval = 100
|
Interval = 100
|
||||||
OnTimer = Timer1Timer
|
OnTimer = Timer1Timer
|
||||||
@@ -1959,6 +1968,7 @@ object FormPrinc: TFormPrinc
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
object PopupMenuFeu: TPopupMenu
|
object PopupMenuFeu: TPopupMenu
|
||||||
|
OnPopup = PopupMenuFeuPopup
|
||||||
Left = 896
|
Left = 896
|
||||||
object Proprits1: TMenuItem
|
object Proprits1: TMenuItem
|
||||||
Caption = 'Propri'#233't'#233's du signal'
|
Caption = 'Propri'#233't'#233's du signal'
|
||||||
|
|||||||
+282
-120
@@ -13,7 +13,7 @@ Unit UnitPrinc;
|
|||||||
+ 2 = aiguillage droit = sortie 2 de l'adresse d'accessoire
|
+ 2 = aiguillage droit = sortie 2 de l'adresse d'accessoire
|
||||||
- 1 = aiguillage dévié = sortie 1 de l'adresse d'accessoire
|
- 1 = aiguillage dévié = sortie 1 de l'adresse d'accessoire
|
||||||
|
|
||||||
port com lenz=57600
|
vitesse port com lenz=57600
|
||||||
*)
|
*)
|
||||||
|
|
||||||
// en mode simulation run:
|
// en mode simulation run:
|
||||||
@@ -44,7 +44,7 @@ uses
|
|||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
Dialogs, StdCtrls, OleCtrls, ExtCtrls, jpeg, ComCtrls, ShellAPI, TlHelp32,
|
Dialogs, StdCtrls, OleCtrls, ExtCtrls, jpeg, ComCtrls, ShellAPI, TlHelp32,
|
||||||
ImgList, ScktComp, StrUtils, Menus, ActnList, MSCommLib_TLB, MMSystem , registry,
|
ImgList, ScktComp, StrUtils, Menus, ActnList, MSCommLib_TLB, MMSystem , registry,
|
||||||
Buttons ;
|
Buttons;
|
||||||
|
|
||||||
type
|
type
|
||||||
TFormPrinc = class(TForm)
|
TFormPrinc = class(TForm)
|
||||||
@@ -105,7 +105,6 @@ type
|
|||||||
ButtonLanceCDM: TButton;
|
ButtonLanceCDM: TButton;
|
||||||
Affichefentredebug1: TMenuItem;
|
Affichefentredebug1: TMenuItem;
|
||||||
StaticText: TStaticText;
|
StaticText: TStaticText;
|
||||||
FenRich: TRichEdit;
|
|
||||||
PopupMenuFenRich: TPopupMenu;
|
PopupMenuFenRich: TPopupMenu;
|
||||||
Copier1: TMenuItem;
|
Copier1: TMenuItem;
|
||||||
Etatdessignaux1: TMenuItem;
|
Etatdessignaux1: TMenuItem;
|
||||||
@@ -157,7 +156,10 @@ type
|
|||||||
SBMarcheArretLoco: TSpeedButton;
|
SBMarcheArretLoco: TSpeedButton;
|
||||||
Label1: TLabel;
|
Label1: TLabel;
|
||||||
LabelNbTrains: TLabel;
|
LabelNbTrains: TLabel;
|
||||||
Splitter: TSplitter;
|
SplitterH: TSplitter;
|
||||||
|
Panel2: TPanel;
|
||||||
|
FenRich: TRichEdit;
|
||||||
|
SplitterV: TSplitter;
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure MSCommUSBLenzComm(Sender: TObject);
|
procedure MSCommUSBLenzComm(Sender: TObject);
|
||||||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
@@ -234,13 +236,15 @@ type
|
|||||||
procedure RazResaClick(Sender: TObject);
|
procedure RazResaClick(Sender: TObject);
|
||||||
procedure SBMarcheArretLocoClick(Sender: TObject);
|
procedure SBMarcheArretLocoClick(Sender: TObject);
|
||||||
procedure EditAdrTrainChange(Sender: TObject);
|
procedure EditAdrTrainChange(Sender: TObject);
|
||||||
procedure SplitterMoved(Sender: TObject);
|
procedure SplitterVMoved(Sender: TObject);
|
||||||
private
|
procedure PopupMenuFeuPopup(Sender: TObject);
|
||||||
|
private
|
||||||
{ Déclarations privées }
|
{ Déclarations privées }
|
||||||
procedure DoHint(Sender : Tobject);
|
procedure DoHint(Sender : Tobject);
|
||||||
public
|
public
|
||||||
{ Déclarations publiques }
|
{ Déclarations publiques }
|
||||||
Procedure ImageOnClick(Sender : TObject);
|
Procedure ImageOnClick(Sender : TObject);
|
||||||
|
procedure ProcOnMouseDown(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||||
procedure proc_checkBoxFB(Sender : Tobject);
|
procedure proc_checkBoxFB(Sender : Tobject);
|
||||||
procedure proc_checkBoxFV(Sender : Tobject);
|
procedure proc_checkBoxFV(Sender : Tobject);
|
||||||
procedure proc_checkBoxFR(Sender : Tobject);
|
procedure proc_checkBoxFR(Sender : Tobject);
|
||||||
@@ -389,16 +393,18 @@ var
|
|||||||
NombreImages,signalCpx,branche_trouve,Indexbranche_trouve,Actuel,Signal_suivant,
|
NombreImages,signalCpx,branche_trouve,Indexbranche_trouve,Actuel,Signal_suivant,
|
||||||
Nbre_recu_cdm,Tempo_chgt_feux,Adj1,Adj2,NbrePN,ServeurInterfaceCDM,index_couleur,
|
Nbre_recu_cdm,Tempo_chgt_feux,Adj1,Adj2,NbrePN,ServeurInterfaceCDM,index_couleur,
|
||||||
ServeurRetroCDM,TailleFonte,Nb_Det_Dist,Tdoubleclic,algo_Unisemaf,fA,fB,
|
ServeurRetroCDM,TailleFonte,Nb_Det_Dist,Tdoubleclic,algo_Unisemaf,fA,fB,
|
||||||
etape,idEl,avecRoulage,intervalle_courant,filtrageDet0,SauvefiltrageDet0 : integer;
|
etape,idEl,avecRoulage,intervalle_courant,filtrageDet0,SauvefiltrageDet0,
|
||||||
|
TpsTimeoutSL : integer;
|
||||||
|
|
||||||
ack,portCommOuvert,traceTrames,AffMem,CDM_connecte,dupliqueEvt,affiche_retour_dcc,
|
ack,portCommOuvert,traceTrames,AffMem,CDM_connecte,dupliqueEvt,affiche_retour_dcc,
|
||||||
Raz_Acc_signaux,AvecInit,AvecTCO,terminal,Srvc_Aig,Srvc_Det,Srvc_Act,MasqueBandeauTCO,
|
Raz_Acc_signaux,AvecInit,AvecTCO,terminal,Srvc_Aig,Srvc_Det,Srvc_Act,MasqueBandeauTCO,
|
||||||
Srvc_PosTrain,Srvc_Sig,debugtrames,LayParParam,AvecFVR,InverseMotif,
|
Srvc_PosTrain,Srvc_Sig,debugtrames,LayParParam,AvecFVR,InverseMotif,
|
||||||
Hors_tension,traceSign,TraceZone,Ferme,parSocketLenz,ackCdm,PremierFD,doubleclic,
|
Hors_tension,traceSign,TraceZone,Ferme,parSocketLenz,ackCdm,PremierFD,doubleclic,
|
||||||
NackCDM,MsgSim,StopSimu,succes,recu_cv,AffAigDet,Option_demarrage,AffTiers,AvecDemandeAiguillages,
|
NackCDM,MsgSim,StopSimu,succes,recu_cv,AffAigDet,AffTiers,AvecDemandeAiguillages,
|
||||||
TraceListe,clignotant,nack,Maj_feux_cours,configNulle,LanceCDM,AvecInitAiguillages,
|
TraceListe,clignotant,nack,Maj_feux_cours,configNulle,LanceCDM,AvecInitAiguillages,
|
||||||
AvecDemandeInterfaceUSB,AvecDemandeInterfaceEth,aff_acc,affiche_aigdcc,modeStkRetro,
|
AvecDemandeInterfaceUSB,AvecDemandeInterfaceEth,aff_acc,affiche_aigdcc,modeStkRetro,
|
||||||
retEtatDet,roulage,init_aig_cours,affevt,placeAffiche,clicComboTrain,clicAdrTrain : boolean;
|
retEtatDet,roulage,init_aig_cours,affevt,placeAffiche,clicComboTrain,clicAdrTrain,
|
||||||
|
avec_splitter : boolean;
|
||||||
|
|
||||||
tick,Premier_tick : longint;
|
tick,Premier_tick : longint;
|
||||||
|
|
||||||
@@ -465,7 +471,7 @@ var
|
|||||||
,AdrTrain : integer;
|
,AdrTrain : integer;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Tablo_actionneur : array[1..Max_actionneurs] of
|
Tablo_actionneur : array[0..Max_actionneurs] of
|
||||||
record
|
record
|
||||||
loco,act,son: boolean; // destinataire loco acessoire 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
|
||||||
@@ -478,7 +484,7 @@ var
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
KeyInputs: array of TInput;
|
KeyInputs: array of TInput;
|
||||||
Tablo_PN : array[1..Max_actionneurs] of
|
Tablo_PN : array[0..Max_actionneurs] of
|
||||||
record
|
record
|
||||||
AdresseFerme : integer; // adresse de pilotage DCC pour la fermeture
|
AdresseFerme : integer; // adresse de pilotage DCC pour la fermeture
|
||||||
commandeFerme : integer; // commande de fermeture (1 ou 2)
|
commandeFerme : integer; // commande de fermeture (1 ou 2)
|
||||||
@@ -486,10 +492,10 @@ var
|
|||||||
commandeOuvre : integer; // commande d'ouverture (1 ou 2)
|
commandeOuvre : integer; // commande d'ouverture (1 ou 2)
|
||||||
NbVoies : integer; // Nombre de voies du PN
|
NbVoies : integer; // Nombre de voies du PN
|
||||||
Pulse : integer; // 0=commande maintenue 1=Impulsionnel
|
Pulse : integer; // 0=commande maintenue 1=Impulsionnel
|
||||||
|
compteur : integer; // comptage actionneurs fermeture et décomptage actionneurs ouverturef
|
||||||
Voie : array [1..4] of record
|
Voie : array [1..4] of record
|
||||||
ActFerme,ActOuvre : integer ; // actionneurs provoquant la fermeture et l'ouverture
|
ActFerme,ActOuvre : integer ; // actionneurs provoquant la fermeture et l'ouverture
|
||||||
detZ1F,detZ2F,detZ1O,detZ2O : integer; // Zones de détection
|
detZ1F,detZ2F,detZ1O,detZ2O : integer; // Zones de détection
|
||||||
PresTrain : boolean; // mémoire de présence de train sur la voie
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -606,8 +612,9 @@ procedure Maj_Feux(detect : boolean);
|
|||||||
procedure Det_Adj(adresse : integer);
|
procedure Det_Adj(adresse : integer);
|
||||||
procedure reserve_canton(detecteur1,detecteur2,adrtrain : integer);
|
procedure reserve_canton(detecteur1,detecteur2,adrtrain : integer);
|
||||||
function signal_detecteur(detecteur : integer) : integer;
|
function signal_detecteur(detecteur : integer) : integer;
|
||||||
function det_suiv_cont(det1,det2 : integer) : integer;
|
function det_suiv_cont(det1,det2,alg : integer) : integer;
|
||||||
function BTypeToChaine(BT : TEquipement) : string;
|
function BTypeToChaine(BT : TEquipement) : string;
|
||||||
|
function testBit(n : word;position : integer) : boolean;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
@@ -741,7 +748,8 @@ begin
|
|||||||
with Acanvas do
|
with Acanvas do
|
||||||
begin
|
begin
|
||||||
brush.Color:=couleur;
|
brush.Color:=couleur;
|
||||||
Pen.Color:=clBlack;
|
pen.Color:=clBlack;
|
||||||
|
pen.Width:=1;
|
||||||
Ellipse(x-rayon,y-rayon,x+rayon,y+rayon);
|
Ellipse(x-rayon,y-rayon,x+rayon,y+rayon);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@@ -1172,6 +1180,7 @@ var rayon,x1,x2,x3,y1,y2,y3,x4,y4,x5,y5,x6,y6,LgImage,HtImage,temp : integer;
|
|||||||
ech : real;
|
ech : real;
|
||||||
begin
|
begin
|
||||||
if (n<2) or (n>6) then n:=2;
|
if (n<2) or (n>6) then n:=2;
|
||||||
|
if (orientation<1) or (orientation>3) then orientation:=1;
|
||||||
rayon:=round(6*frX);
|
rayon:=round(6*frX);
|
||||||
if n=2 then x2:=25 else x2:=22;
|
if n=2 then x2:=25 else x2:=22;
|
||||||
x1:=11;x3:=33;x4:=43;x5:=53;x6:=63;
|
x1:=11;x3:=33;x4:=43;x5:=53;x6:=63;
|
||||||
@@ -1417,7 +1426,25 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// procédure activée quand on clique gauche sur l'image d'un feu
|
// procédure activée si on clique G ou D sur une image d'un signal
|
||||||
|
procedure TFormPrinc.ProcOnMouseDown(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||||
|
var s : string;
|
||||||
|
P_image_pilote : Timage;
|
||||||
|
i,erreur : integer;
|
||||||
|
begin
|
||||||
|
if button=mbRight then
|
||||||
|
begin
|
||||||
|
P_image_pilote:=Sender as TImage; // récupérer l'objet image du feu qu'on a cliqué de la forme pilote
|
||||||
|
s:=P_Image_pilote.Hint; // récupérer son hint qui contient l'adresse du feu cliqué
|
||||||
|
i:=pos('@',s); if i<>0 then delete(s,1,i);
|
||||||
|
i:=pos('=',s); if i<>0 then delete(s,i,1);
|
||||||
|
i:=pos(' ',s);
|
||||||
|
if i<>0 then s:=copy(s,1,i-1);
|
||||||
|
val(s,AdrPilote,erreur);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
// procédure activée quand on clique gauche sur l'image d'un signal
|
||||||
Procedure TFormprinc.ImageOnClick(Sender : Tobject);
|
Procedure TFormprinc.ImageOnClick(Sender : Tobject);
|
||||||
var s : string;
|
var s : string;
|
||||||
P_image_pilote : Timage;
|
P_image_pilote : Timage;
|
||||||
@@ -1480,6 +1507,7 @@ begin
|
|||||||
14 : Bm:=Formprinc.Image4Dir.picture.Bitmap;
|
14 : Bm:=Formprinc.Image4Dir.picture.Bitmap;
|
||||||
15 : Bm:=Formprinc.Image5Dir.picture.Bitmap;
|
15 : Bm:=Formprinc.Image5Dir.picture.Bitmap;
|
||||||
16 : Bm:=Formprinc.Image6Dir.picture.Bitmap;
|
16 : Bm:=Formprinc.Image6Dir.picture.Bitmap;
|
||||||
|
else Bm:=nil;
|
||||||
end;
|
end;
|
||||||
Select_dessin_feu:=bm;
|
Select_dessin_feu:=bm;
|
||||||
end;
|
end;
|
||||||
@@ -1500,6 +1528,8 @@ begin
|
|||||||
begin
|
begin
|
||||||
if debug=1 then affiche('Image '+intToSTR(rang)+' créée',clLime);
|
if debug=1 then affiche('Image '+intToSTR(rang)+' créée',clLime);
|
||||||
//canvas.Create;
|
//canvas.Create;
|
||||||
|
Autosize:=true;
|
||||||
|
align:=alNone;
|
||||||
Parent:=Formprinc.ScrollBox1; // dire que l'image est dans la scrollBox1
|
Parent:=Formprinc.ScrollBox1; // dire que l'image est dans la scrollBox1
|
||||||
//formprinc.ScrollBox1.Color:=ClGreen;
|
//formprinc.ScrollBox1.Color:=ClGreen;
|
||||||
Name:='ImageFeu'+IntToSTR(adresse); // nom de l'image - sert à identifier le composant si on fait clic droit.
|
Name:='ImageFeu'+IntToSTR(adresse); // nom de l'image - sert à identifier le composant si on fait clic droit.
|
||||||
@@ -1515,10 +1545,16 @@ begin
|
|||||||
Hint:=s;
|
Hint:=s;
|
||||||
|
|
||||||
onClick:=Formprinc.Imageonclick; // affectation procédure clique sur image
|
onClick:=Formprinc.Imageonclick; // affectation procédure clique sur image
|
||||||
|
onMouseDown:=Formprinc.ProcOnMouseDown;
|
||||||
PopUpMenu:=Formprinc.PopupMenuFeu; // affectation popupmenu sur clic droit
|
PopUpMenu:=Formprinc.PopupMenuFeu; // affectation popupmenu sur clic droit
|
||||||
|
|
||||||
// affecter le type d'image de feu dans l'image créée
|
// affecter le type d'image de feu dans l'image créée
|
||||||
T_BP:=Select_dessin_feu(TypeFeu);
|
T_BP:=Select_dessin_feu(TypeFeu);
|
||||||
|
if T_BP=nil then
|
||||||
|
begin
|
||||||
|
Affiche('Erreur 418 : sélection type signal incorrecte pour signal '+intToSTR(adresse),clred);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
picture.Bitmap:=T_Bp;
|
picture.Bitmap:=T_Bp;
|
||||||
|
|
||||||
picture.BitMap.TransparentMode:=tmfixed; // tmauto (la couleur transparente est déterminée par pixel le plus en haut à gauche du bitmap)
|
picture.BitMap.TransparentMode:=tmfixed; // tmauto (la couleur transparente est déterminée par pixel le plus en haut à gauche du bitmap)
|
||||||
@@ -3489,11 +3525,12 @@ begin
|
|||||||
7 : envoi_SR(Adr);
|
7 : envoi_SR(Adr);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// Gestion démarrage temporisé des trains si on quitte le rouge : ne fonctionne qu'avec CDM rail connecté ou roulage
|
// Gestion démarrage temporisé des trains si on quitte le rouge : ne fonctionne qu'en roulage
|
||||||
if (Option_demarrage and cdm_connecte) or roulage then
|
if roulage then
|
||||||
begin
|
begin
|
||||||
a:=feux[i].AncienEtat;
|
a:=feux[i].AncienEtat;
|
||||||
b:=feux[i].EtatSignal;
|
b:=feux[i].EtatSignal;
|
||||||
|
// si l'ancien état était au rouge/violet et on quitte le rouge/violet
|
||||||
if ((a=semaphore_F) or (a=carre_F) or (a=violet_F)) and ((b<>semaphore_F) and (b<>carre_F) and (b<>violet_F)) then
|
if ((a=semaphore_F) or (a=carre_F) or (a=violet_F)) and ((b<>semaphore_F) and (b<>carre_F) and (b<>violet_F)) then
|
||||||
begin
|
begin
|
||||||
// y a t il un train en face du signal
|
// y a t il un train en face du signal
|
||||||
@@ -3783,7 +3820,7 @@ end;
|
|||||||
// bits1 et 2: (2+4)=6= arret sur aiguillage en talon mal positionnée ou aiguillage réservé
|
// bits1 et 2: (2+4)=6= arret sur aiguillage en talon mal positionnée ou aiguillage réservé
|
||||||
// bit3 (8)=arret sur un aiguillage pris en pointe dévié et AdrDevie contient l'adresse de l'aiguillage dévié ainsi que typeGen
|
// bit3 (8)=arret sur un aiguillage pris en pointe dévié et AdrDevie contient l'adresse de l'aiguillage dévié ainsi que typeGen
|
||||||
// code de sortie : élément suivant ou:
|
// code de sortie : élément suivant ou:
|
||||||
// 9999: erreur fatale ou itération trop longue
|
// 9999: erreur fatale: élément non trouvé ou itération trop longue
|
||||||
// 9998: arret sur aiguillage en talon mal positionnée
|
// 9998: arret sur aiguillage en talon mal positionnée
|
||||||
// 9997: arrêt sur aiguillage dévié
|
// 9997: arrêt sur aiguillage dévié
|
||||||
// 9996: arrêt sur position inconnue d'aiguillage
|
// 9996: arrêt sur position inconnue d'aiguillage
|
||||||
@@ -4764,6 +4801,7 @@ end;
|
|||||||
// renvoie l'élément avant det2 si det1 et det2 sont contigus ou ne sont séparés que par des aiguillages
|
// renvoie l'élément avant det2 si det1 et det2 sont contigus ou ne sont séparés que par des aiguillages
|
||||||
// si det1 et det2 sont contigus sans aiguillages entre eux, çà renvoie det1 sinon renvoie l'aiguillage entre les 2
|
// si det1 et det2 sont contigus sans aiguillages entre eux, çà renvoie det1 sinon renvoie l'aiguillage entre les 2
|
||||||
// s'ils ne sont pas contigus, renvoie 0
|
// s'ils ne sont pas contigus, renvoie 0
|
||||||
|
// Si un élément est inconnu, renvoie 9999
|
||||||
// det_contigu(527,520: renvoie 7 dans suivant
|
// det_contigu(527,520: renvoie 7 dans suivant
|
||||||
// det_contigu(514,522: renvoie 514 dans suivant
|
// det_contigu(514,522: renvoie 514 dans suivant
|
||||||
// det_contigu(517,524: renvoie 30
|
// det_contigu(517,524: renvoie 30
|
||||||
@@ -4971,6 +5009,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
if NivDebug=3 then AfficheDebug('Element '+intToSTR(det1)+' non trouvé',clred);
|
if NivDebug=3 then AfficheDebug('Element '+intToSTR(det1)+' non trouvé',clred);
|
||||||
if debug=3 then formprinc.Caption:='';
|
if debug=3 then formprinc.Caption:='';
|
||||||
|
suivant:=9999;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
indexBranche_det1:=IndexBranche_trouve;
|
indexBranche_det1:=IndexBranche_trouve;
|
||||||
@@ -4981,8 +5020,9 @@ begin
|
|||||||
trouve_element(det2,tp,1); // branche_trouve IndexBranche_trouve
|
trouve_element(det2,tp,1); // branche_trouve IndexBranche_trouve
|
||||||
if IndexBranche_trouve=0 then
|
if IndexBranche_trouve=0 then
|
||||||
begin
|
begin
|
||||||
if NivDebug=3 then AfficheDebug('Element '+intToSTR(actuel)+' non trouvé',clred);
|
if NivDebug=3 then AfficheDebug('Element '+intToSTR(det2)+' non trouvé',clred);
|
||||||
if debug=3 then formprinc.Caption:='';
|
if debug=3 then formprinc.Caption:='';
|
||||||
|
suivant:=9999;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -5066,16 +5106,16 @@ end;
|
|||||||
// les aiguillages n'ont pas besoin d'être positionnés entre 1 et 2.
|
// les aiguillages n'ont pas besoin d'être positionnés entre 1 et 2.
|
||||||
// par contre pour le suivant au det2, les aiguillages doivent être positionnés
|
// par contre pour le suivant au det2, les aiguillages doivent être positionnés
|
||||||
// si on ne trouve pas le suivant, renvoie 9999
|
// si on ne trouve pas le suivant, renvoie 9999
|
||||||
function det_suiv_cont(det1,det2 : integer) : integer;
|
function det_suiv_cont(det1,det2,alg : integer) : integer;
|
||||||
var dernier: integer;
|
var dernier: integer;
|
||||||
derniertyp : Tequipement;
|
derniertyp : Tequipement;
|
||||||
begin
|
begin
|
||||||
// si un aiguilage est entre det1 et det2 renvoie l'aig, sinon renvoie det1 si det1 et det2 sont contigus
|
// si un aiguilage est entre det1 et det2 renvoie l'aig, sinon renvoie det1 si det1 et det2 sont contigus
|
||||||
det_contigu(det1,det2,dernier,dernierTyp);
|
det_contigu(det1,det2,dernier,dernierTyp);
|
||||||
if dernier<>0 then
|
if (dernier<>0) and (dernier<>9999) then
|
||||||
begin
|
begin
|
||||||
// détecteur suivant
|
// détecteur suivant
|
||||||
det_suiv_cont:=detecteur_suivant(dernier,dernierTyp,det2,det,1);
|
det_suiv_cont:=detecteur_suivant(dernier,dernierTyp,det2,det,alg);
|
||||||
//Affiche(intToSTR(suivant),clorange);
|
//Affiche(intToSTR(suivant),clorange);
|
||||||
end
|
end
|
||||||
else det_suiv_cont:=9999;
|
else det_suiv_cont:=9999;
|
||||||
@@ -5286,6 +5326,7 @@ end;
|
|||||||
|
|
||||||
|
|
||||||
// renvoie le nombre de croisements entre les détecteurs el1 et el2
|
// renvoie le nombre de croisements entre les détecteurs el1 et el2
|
||||||
|
// jamais utilisée !
|
||||||
function Test_croisement(el1,el2,alg: integer) : integer ;
|
function Test_croisement(el1,el2,alg: integer) : integer ;
|
||||||
var IndexBranche_det1,IndexBranche_det2,branche_trouve_det1,branche_trouve_det2,i,
|
var IndexBranche_det1,IndexBranche_det2,branche_trouve_det1,branche_trouve_det2,i,
|
||||||
j,AdrPrec,Adr,AdrFonc,i1,N_det : integer;
|
j,AdrPrec,Adr,AdrFonc,i1,N_det : integer;
|
||||||
@@ -5364,7 +5405,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
Adr:=9999;
|
Adr:=9999;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
//AfficheDebug('Sortie Alg3: '+IntToSTR(Adr)+'/'+intToSTR(typeGen),clyellow);
|
//AfficheDebug('Sortie Alg3: '+IntToSTR(Adr)+'/'+intToSTR(typeGen),clyellow);
|
||||||
if TypeGen=det then inc(N_Det);
|
if TypeGen=det then inc(N_Det);
|
||||||
if NivDebug=3 then
|
if NivDebug=3 then
|
||||||
@@ -5789,8 +5830,8 @@ begin
|
|||||||
if (NivDebug=3) and (adrFeu=0) then AfficheDebug('Pas Trouvé de signal suivant au signal Adr='+IntToSTR(det1),clOrange);
|
if (NivDebug=3) and (adrFeu=0) then AfficheDebug('Pas Trouvé de signal suivant au signal Adr='+IntToSTR(det1),clOrange);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// renvoie l'état du signal suivant. Si renvoie 0, pas trouvé le signal suivant.
|
// renvoie l'état du signal suivant du signal "adresse". Si renvoie 0, pas trouvé le signal suivant.
|
||||||
// adresse : adresse du feu
|
// adresse : adresse du signal
|
||||||
// rang=1 pour feu suivant, 2 pour feu suivant le 1, etc
|
// rang=1 pour feu suivant, 2 pour feu suivant le 1, etc
|
||||||
// retour dans AdrSignalsuivant : adresse du feu suivant
|
// retour dans AdrSignalsuivant : adresse du feu suivant
|
||||||
// stocke les éléments trouvés dans Elements
|
// stocke les éléments trouvés dans Elements
|
||||||
@@ -5961,7 +6002,7 @@ begin
|
|||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// renvoie l'adresse de l'aiguille si elle est déviée après le signal et ce jusqu'au prochain signal
|
// renvoie l'adresse de la première aiguille déviée après le signal "adresse" et ce jusqu'au prochain signal
|
||||||
// sinon renvoie 0
|
// sinon renvoie 0
|
||||||
// adresse=adresse du signal
|
// adresse=adresse du signal
|
||||||
function Aiguille_deviee(adresse : integer) : integer ;
|
function Aiguille_deviee(adresse : integer) : integer ;
|
||||||
@@ -6075,7 +6116,7 @@ begin
|
|||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// renvoie vrai si une mémoire de zone est occupée après le signal courant au signal suivant
|
// renvoie vrai si une mémoire de zone est occupée après le signal "adresse" jusqu'au signal suivant
|
||||||
// sort de suite si on trouve un train
|
// sort de suite si on trouve un train
|
||||||
// adresse=adresse du signal
|
// adresse=adresse du signal
|
||||||
function test_memoire_zones(adresse : integer) : boolean;
|
function test_memoire_zones(adresse : integer) : boolean;
|
||||||
@@ -6103,7 +6144,7 @@ begin
|
|||||||
ife:=1; // index feu de 1 à 4 pour explorer les 4 détecteurs d'un feu
|
ife:=1; // index feu de 1 à 4 pour explorer les 4 détecteurs d'un feu
|
||||||
repeat
|
repeat
|
||||||
Nfeux:=0;
|
Nfeux:=0;
|
||||||
if NivDebug=3 then AfficheDebug('Boucle de test feu '+intToSTR(ife)+'/4',clOrange);
|
if NivDebug=3 then AfficheDebug('Boucle de test signal '+intToSTR(ife)+'/4',clOrange);
|
||||||
if (ife=1) then
|
if (ife=1) then
|
||||||
begin
|
begin
|
||||||
prec:=feux[i].Adr_det1;
|
prec:=feux[i].Adr_det1;
|
||||||
@@ -6626,7 +6667,7 @@ end;
|
|||||||
// AdrFeu: adresse du signal
|
// AdrFeu: adresse du signal
|
||||||
// detect: si true, tient compte de la présence des trains par détecteurs dans la fonction signalPrec
|
// detect: si true, tient compte de la présence des trains par détecteurs dans la fonction signalPrec
|
||||||
procedure Maj_Feu(Adrfeu : integer;detect : boolean);
|
procedure Maj_Feu(Adrfeu : integer;detect : boolean);
|
||||||
var Adr_det,etat,Aig,Adr_El_Suiv,modele,index,IndexAig,trainreserve,AdrTrainLoc,voie : integer ;
|
var Adr_det,etat,Aig,Adr_El_Suiv,modele,index,IndexAig,AdrTrainLoc,voie : integer ;
|
||||||
PresTrain,Aff_semaphore,car,reserveTrainTiers : boolean;
|
PresTrain,Aff_semaphore,car,reserveTrainTiers : boolean;
|
||||||
code,combine,AdrSignalsuivant : integer;
|
code,combine,AdrSignalsuivant : integer;
|
||||||
Btype_el_suivant : TEquipement;
|
Btype_el_suivant : TEquipement;
|
||||||
@@ -6711,6 +6752,7 @@ begin
|
|||||||
// si le signal peut afficher un carré et les aiguillages après le signal sont mal positionnées ou aig réservé ou que pas présence train avant signal et signal
|
// si le signal peut afficher un carré et les aiguillages après le signal sont mal positionnées ou aig réservé ou que pas présence train avant signal et signal
|
||||||
// verrouillable au carré, afficher un carré
|
// verrouillable au carré, afficher un carré
|
||||||
car:=carre_signal(AdrFeu,AdrTrainLoc,reserveTrainTiers); // si reserveTrainTiers, réservé par un autre train
|
car:=carre_signal(AdrFeu,AdrTrainLoc,reserveTrainTiers); // si reserveTrainTiers, réservé par un autre train
|
||||||
|
if AffSignal and reserveTrainTiers then AfficheDebug('trouvé aiguillage réservé par autre train',clYellow);
|
||||||
if AffSignal and car then AfficheDebug('le signal a des aiguilles en talon aval mal positionnées',clYellow);
|
if AffSignal and car then AfficheDebug('le signal a des aiguilles en talon aval mal positionnées',clYellow);
|
||||||
// En mode roulage, si la réservation est faite par le train détecté en étape A, ne pas verrouiller au carré
|
// En mode roulage, si la réservation est faite par le train détecté en étape A, ne pas verrouiller au carré
|
||||||
if roulage then car:=reserveTrainTiers or car;
|
if roulage then car:=reserveTrainTiers or car;
|
||||||
@@ -6720,7 +6762,8 @@ begin
|
|||||||
//if AffSignal and car then AfficheDebug('le signal a des aiguilles en talon aval mal positionnées',clYellow);
|
//if AffSignal and car then AfficheDebug('le signal a des aiguilles en talon aval mal positionnées',clYellow);
|
||||||
if AffSignal and feux[index].VerrouilleCarre then AfficheDebug('le signal est verrouillé au carré',clYellow);
|
if AffSignal and feux[index].VerrouilleCarre then AfficheDebug('le signal est verrouillé au carré',clYellow);
|
||||||
|
|
||||||
if (modele>=4) and ( (not(PresTrain) and Feux[index].VerrouCarre) or (car and feux[index].VerrouilleCarre) ) then Maj_Etat_Signal(AdrFeu,carre)
|
if (modele>=4) and Feux[index].VerrouCarre and
|
||||||
|
( (not(PresTrain) or car or feux[index].Verrouillecarre) ) then Maj_Etat_Signal(AdrFeu,carre)
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
// si on quitte le détecteur on affiche un sémaphore : tester le sens de circulation
|
// si on quitte le détecteur on affiche un sémaphore : tester le sens de circulation
|
||||||
@@ -6835,6 +6878,8 @@ begin
|
|||||||
if debug=3 then formprinc.Caption:='';
|
if debug=3 then formprinc.Caption:='';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// mise à jour des signaux
|
||||||
|
// detect: si true, tient compte de la présence des trains sur les détecteurs dans la fonction signalPrec
|
||||||
Procedure Maj_feux(detect : boolean);
|
Procedure Maj_feux(detect : boolean);
|
||||||
var i : integer;
|
var i : integer;
|
||||||
begin
|
begin
|
||||||
@@ -7134,7 +7179,7 @@ begin
|
|||||||
|
|
||||||
if TraceListe or (NivDebug=3) then AfficheDebug('2-0 traitement Train n°'+intToSTR(i)+' 2 détecteurs',couleur);
|
if TraceListe or (NivDebug=3) then AfficheDebug('2-0 traitement Train n°'+intToSTR(i)+' 2 détecteurs',couleur);
|
||||||
// test si det1, det2 et det3 sont contigus malgré aig mal positionnés
|
// test si det1, det2 et det3 sont contigus malgré aig mal positionnés
|
||||||
det_suiv:=det_suiv_cont(det1,det2); // test si le suivant de det1 à det2 est bien le nouveau détecteur (det3)
|
det_suiv:=det_suiv_cont(det1,det2,1); // test si le suivant de det1 à det2 est bien le nouveau détecteur (det3)
|
||||||
if traceliste then affichedebug('Le suivant aux '+intToSTR(det1)+' '+intToSTR(det2)+' est '+intToSTR(det_suiv),couleur);
|
if traceliste then affichedebug('Le suivant aux '+intToSTR(det1)+' '+intToSTR(det2)+' est '+intToSTR(det_suiv),couleur);
|
||||||
SuivOk:=det_suiv=det3;
|
SuivOk:=det_suiv=det3;
|
||||||
CasAig:=false;
|
CasAig:=false;
|
||||||
@@ -7541,7 +7586,7 @@ begin
|
|||||||
MemZone[det3,det1].etat:=False; // on dévalide la zone inverse
|
MemZone[det3,det1].etat:=False; // on dévalide la zone inverse
|
||||||
|
|
||||||
// test si on peut réserver le canton suivant
|
// test si on peut réserver le canton suivant
|
||||||
det_suiv:=det_suiv_cont(det1,det3);
|
det_suiv:=det_suiv_cont(det1,det3,1);
|
||||||
if det_suiv<9990 then reserve_canton(det3,det_suiv,AdrTrainLoc);
|
if det_suiv<9990 then reserve_canton(det3,det_suiv,AdrTrainLoc);
|
||||||
s:='route ok de '+intToSTR(det1)+' à '+IntToSTR(det3)+' pour train '+intToSTR(i);
|
s:='route ok de '+intToSTR(det1)+' à '+IntToSTR(det3)+' pour train '+intToSTR(i);
|
||||||
Affiche_Evt(s,clWhite);
|
Affiche_Evt(s,clWhite);
|
||||||
@@ -7580,7 +7625,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
if TraceListe or (NivDebug=3) then AfficheDebug('2-0 traitement Train n°'+intToSTR(i)+' 2 détecteurs',couleur);
|
if TraceListe or (NivDebug=3) then AfficheDebug('2-0 traitement Train n°'+intToSTR(i)+' 2 détecteurs',couleur);
|
||||||
// test si det1, det2 et det3 sont contigus malgré aig mal positionnés
|
// test si det1, det2 et det3 sont contigus malgré aig mal positionnés
|
||||||
det_suiv:=det_suiv_cont(det1,det2); // test si le suivant de det1 à det2 est bien le nouveau détecteur (det3)
|
det_suiv:=det_suiv_cont(det1,det2,1); // test si le suivant de det1 à det2 est bien le nouveau détecteur (det3)
|
||||||
if traceliste then affichedebug('Le suivant aux '+intToSTR(det1)+' '+intToSTR(det2)+' est '+intToSTR(det_suiv),couleur);
|
if traceliste then affichedebug('Le suivant aux '+intToSTR(det1)+' '+intToSTR(det2)+' est '+intToSTR(det_suiv),couleur);
|
||||||
SuivOk:=det_suiv=det3;
|
SuivOk:=det_suiv=det3;
|
||||||
CasAig:=false;
|
CasAig:=false;
|
||||||
@@ -7779,9 +7824,9 @@ begin
|
|||||||
|
|
||||||
if (nbre=2) and etat then
|
if (nbre=2) and etat then
|
||||||
begin
|
begin
|
||||||
if TraceListe or (NivDebug=3) then AfficheDebug('2-1 traitement Train n°'+intToSTR(i)+' 2 détecteurs',clwhite);
|
if TraceListe or (NivDebug=3) then AfficheDebug('2-1 traitement Train n°'+intToSTR(i)+' 2 détecteurs',couleur);
|
||||||
// front descendant sur détecteur 2
|
// front descendant sur détecteur 2
|
||||||
det_suiv:=det_suiv_cont(det1,det2); // test si le suivant de det1 à det2 est bien le nouveau détecteur (det3)
|
det_suiv:=det_suiv_cont(det1,det2,1); // test si le suivant de det1 à det2 est bien le nouveau détecteur (det3)
|
||||||
if traceliste then affichedebug('Le suivant aux '+intToSTR(det1)+' '+intToSTR(det2)+' est '+intToSTR(det_suiv),clWhite);
|
if traceliste then affichedebug('Le suivant aux '+intToSTR(det1)+' '+intToSTR(det2)+' est '+intToSTR(det_suiv),clWhite);
|
||||||
if (det_suiv=det3) then
|
if (det_suiv=det3) then
|
||||||
begin
|
begin
|
||||||
@@ -7809,7 +7854,7 @@ begin
|
|||||||
|
|
||||||
pilote_train(det2,det3,adrtrainLoc,i); // pilote le train sur det3
|
pilote_train(det2,det3,adrtrainLoc,i); // pilote le train sur det3
|
||||||
// test si on peut réserver le canton suivant
|
// test si on peut réserver le canton suivant
|
||||||
det_suiv:=det_suiv_cont(det2,det3);
|
det_suiv:=det_suiv_cont(det2,det3,1);
|
||||||
if det_suiv<9990 then reserve_canton(det3,det_suiv,AdrTrainLoc);
|
if det_suiv<9990 then reserve_canton(det3,det_suiv,AdrTrainLoc);
|
||||||
// libère canton
|
// libère canton
|
||||||
libere_canton(det2,det3);
|
libere_canton(det2,det3);
|
||||||
@@ -7907,7 +7952,7 @@ begin
|
|||||||
|
|
||||||
pilote_train(i2,det3,adrtrainLoc,i); // pilote le train sur det3
|
pilote_train(i2,det3,adrtrainLoc,i); // pilote le train sur det3
|
||||||
// test si on peut réserver le canton suivant
|
// test si on peut réserver le canton suivant
|
||||||
det_suiv:=det_suiv_cont(i2,det3);
|
det_suiv:=det_suiv_cont(i2,det3,1);
|
||||||
if det_suiv<9990 then reserve_canton(det3,det_suiv,AdrTrainLoc);
|
if det_suiv<9990 then reserve_canton(det3,det_suiv,AdrTrainLoc);
|
||||||
// libère canton
|
// libère canton
|
||||||
libere_canton(i2,det3);
|
libere_canton(i2,det3);
|
||||||
@@ -8220,7 +8265,7 @@ begin
|
|||||||
MemZone[det3,det1].etat:=False; // on dévalide la zone inverse
|
MemZone[det3,det1].etat:=False; // on dévalide la zone inverse
|
||||||
|
|
||||||
// test si on peut réserver le canton suivant
|
// test si on peut réserver le canton suivant
|
||||||
det_suiv:=det_suiv_cont(det1,det3);
|
det_suiv:=det_suiv_cont(det1,det3,1);
|
||||||
if det_suiv<9990 then reserve_canton(det3,det_suiv,AdrTrainLoc);
|
if det_suiv<9990 then reserve_canton(det3,det_suiv,AdrTrainLoc);
|
||||||
s:='route ok de '+intToSTR(det1)+' à '+IntToSTR(det3)+' pour train '+intToSTR(i);
|
s:='route ok de '+intToSTR(det1)+' à '+IntToSTR(det3)+' pour train '+intToSTR(i);
|
||||||
Affiche_Evt(s,clWhite);
|
Affiche_Evt(s,clWhite);
|
||||||
@@ -8281,7 +8326,7 @@ begin
|
|||||||
if TraceListe then AfficheDebug('Route est valide, dét '+intToSTR(det2)+' '+intToSTR(det3)+' contigus',couleur);
|
if TraceListe then AfficheDebug('Route est valide, dét '+intToSTR(det2)+' '+intToSTR(det3)+' contigus',couleur);
|
||||||
// ici on cherche le suivant à det2 det3, algo=1
|
// ici on cherche le suivant à det2 det3, algo=1
|
||||||
event_det_tick[N_event_tick].train:=i;
|
event_det_tick[N_event_tick].train:=i;
|
||||||
Adrsuiv:=det_suiv_cont(det1,det2);
|
Adrsuiv:=det_suiv_cont(det1,det2,1);
|
||||||
//if not(casAig) then AdrSuiv:=detecteur_suivant_el(det2,det,det3,det,0); // dans le cas de CasAig, alors adrSuiv=9996 donc AdrSuiv est calculé plus haut
|
//if not(casAig) then AdrSuiv:=detecteur_suivant_el(det2,det,det3,det,0); // dans le cas de CasAig, alors adrSuiv=9996 donc AdrSuiv est calculé plus haut
|
||||||
event_det_train[i].suivant:=AdrSuiv;
|
event_det_train[i].suivant:=AdrSuiv;
|
||||||
if TraceListe then AfficheDebug('le sursuivant est '+intToSTR(adrsuiv),couleur);
|
if TraceListe then AfficheDebug('le sursuivant est '+intToSTR(adrsuiv),couleur);
|
||||||
@@ -8446,7 +8491,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
if TraceListe or (NivDebug=3) then AfficheDebug('2-1 traitement Train n°'+intToSTR(i)+' 2 détecteurs',clwhite);
|
if TraceListe or (NivDebug=3) then AfficheDebug('2-1 traitement Train n°'+intToSTR(i)+' 2 détecteurs',clwhite);
|
||||||
// front descendant sur détecteur 2
|
// front descendant sur détecteur 2
|
||||||
det_suiv:=det_suiv_cont(det1,det2); // test si le suivant de det1 à det2 est bien le nouveau détecteur (det3)
|
det_suiv:=det_suiv_cont(det1,det2,1); // test si le suivant de det1 à det2 est bien le nouveau détecteur (det3)
|
||||||
if traceliste then affichedebug('Le suivant aux '+intToSTR(det1)+' '+intToSTR(det2)+' est '+intToSTR(det_suiv),clWhite);
|
if traceliste then affichedebug('Le suivant aux '+intToSTR(det1)+' '+intToSTR(det2)+' est '+intToSTR(det_suiv),clWhite);
|
||||||
if (det_suiv=det3) then
|
if (det_suiv=det3) then
|
||||||
begin
|
begin
|
||||||
@@ -8486,7 +8531,7 @@ begin
|
|||||||
|
|
||||||
pilote_train(det2,det3,adrtrainLoc,i); // pilote le train sur det3
|
pilote_train(det2,det3,adrtrainLoc,i); // pilote le train sur det3
|
||||||
// test si on peut réserver le canton suivant
|
// test si on peut réserver le canton suivant
|
||||||
det_suiv:=det_suiv_cont(det2,det3);
|
det_suiv:=det_suiv_cont(det2,det3,1);
|
||||||
if det_suiv<9990 then reserve_canton(det3,det_suiv,AdrTrainLoc);
|
if det_suiv<9990 then reserve_canton(det3,det_suiv,AdrTrainLoc);
|
||||||
// libère canton
|
// libère canton
|
||||||
libere_canton(det2,det3);
|
libere_canton(det2,det3);
|
||||||
@@ -8679,6 +8724,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
// affecte le détecteur "adresse" au train et met sa route à jour
|
||||||
procedure calcul_zones(adresse: integer;front : boolean);
|
procedure calcul_zones(adresse: integer;front : boolean);
|
||||||
begin
|
begin
|
||||||
if debug=3 then formprinc.Caption:='Calcul_zones '+intToSTR(adresse);
|
if debug=3 then formprinc.Caption:='Calcul_zones '+intToSTR(adresse);
|
||||||
@@ -8892,35 +8938,32 @@ begin
|
|||||||
|
|
||||||
if (aO=adr) and (etat=0) then // actionneur d'ouverture
|
if (aO=adr) and (etat=0) then // actionneur d'ouverture
|
||||||
begin
|
begin
|
||||||
Tablo_PN[i].voie[v].PresTrain:=false;
|
if tablo_pn[i].compteur=1 then // compteur du nombre de trains sur le PN
|
||||||
// vérifier les présences train sur les autres voies du PN
|
|
||||||
presTrain_PN:=false;
|
|
||||||
for va:=1 to Tablo_PN[i].nbvoies do
|
|
||||||
begin
|
|
||||||
presTrain_PN:=presTrain_PN or Tablo_PN[i].voie[va].PresTrain;
|
|
||||||
end;
|
|
||||||
if not(presTrain_PN) then
|
|
||||||
begin
|
begin
|
||||||
Affiche('Ouverture PN'+intToSTR(i)+' par act '+intToSTr(adr)+' (train voie '+IntToSTR(v)+')',clOrange);
|
Affiche('Ouverture PN'+intToSTR(i)+' par act '+intToSTr(adr)+' (train voie '+IntToSTR(v)+')',clOrange);
|
||||||
if Tablo_PN[i].pulse=1 then ts:=aigP else ts:=feu;
|
if Tablo_PN[i].pulse=1 then ts:=aigP else ts:=feu;
|
||||||
pilote_acc(Tablo_PN[i].AdresseOuvre,Tablo_PN[i].CommandeOuvre,ts);
|
pilote_acc(Tablo_PN[i].AdresseOuvre,Tablo_PN[i].CommandeOuvre,ts);
|
||||||
end;
|
end;
|
||||||
|
if tablo_pn[i].compteur>0 then dec(tablo_pn[i].compteur);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if (aF=adr) and (etat=1) then // actionneur de fermeture
|
if (aF=adr) and (etat=1) then // actionneur de fermeture
|
||||||
begin
|
begin
|
||||||
Tablo_PN[i].voie[v].PresTrain:=true;
|
inc(tablo_pn[i].compteur);
|
||||||
s:='Fermeture PN'+IntToSTR(i)+' par act '+intToSTr(adr)+' (train voie '+IntToSTR(v)+')';
|
if tablo_pn[i].compteur=1 then
|
||||||
Affiche(s,clOrange);
|
begin
|
||||||
if Tablo_PN[i].pulse=1 then ts:=aigP else ts:=feu;
|
s:='Fermeture PN'+IntToSTR(i)+' par act '+intToSTr(adr)+' (train voie '+IntToSTR(v)+')';
|
||||||
pilote_acc(Tablo_PN[i].AdresseFerme,Tablo_PN[i].CommandeFerme,ts);
|
Affiche(s,clOrange);
|
||||||
|
if Tablo_PN[i].pulse=1 then ts:=aigP else ts:=feu;
|
||||||
|
pilote_acc(Tablo_PN[i].AdresseFerme,Tablo_PN[i].CommandeFerme,ts);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
// PN par zone de détection
|
// PN par zone de détection
|
||||||
//Affiche(intToSTR(adr)+'/'+intToSTR(adr2)+' '+intToSTR(etat),clyellow);
|
// Affiche(intToSTR(adr)+'/'+intToSTR(adr2)+' '+intToSTR(etat),clyellow);
|
||||||
if Tablo_PN[i].nbvoies>4 then Tablo_PN[i].nbvoies:=4;
|
if Tablo_PN[i].nbvoies>4 then Tablo_PN[i].nbvoies:=4;
|
||||||
for v:=1 to Tablo_PN[i].nbvoies do
|
for v:=1 to Tablo_PN[i].nbvoies do
|
||||||
begin
|
begin
|
||||||
@@ -8930,31 +8973,28 @@ begin
|
|||||||
dZ2O:=Tablo_PN[i].voie[v].detZ2O;
|
dZ2O:=Tablo_PN[i].voie[v].detZ2O;
|
||||||
if (dZ1O=adr) and (dZ2O=adr2) and (etat=0) then // zone d'ouverture
|
if (dZ1O=adr) and (dZ2O=adr2) and (etat=0) then // zone d'ouverture
|
||||||
begin
|
begin
|
||||||
Tablo_PN[i].voie[v].PresTrain:=false;
|
if Tablo_PN[i].compteur=1 then
|
||||||
// vérifier les présences train sur les autres voies du PN
|
|
||||||
presTrain_PN:=false;
|
|
||||||
for va:=1 to Tablo_PN[i].nbvoies do
|
|
||||||
begin
|
|
||||||
presTrain_PN:=presTrain_PN or Tablo_PN[i].voie[va].PresTrain;
|
|
||||||
end;
|
|
||||||
if not(presTrain_PN) then
|
|
||||||
begin
|
begin
|
||||||
s:='Ouverture PN'+intToSTR(i)+' par zone '+intToSTr(adr)+' '+intToSTR(adr2);
|
s:='Ouverture PN'+intToSTR(i)+' par zone '+intToSTr(adr)+' '+intToSTR(adr2);
|
||||||
Affiche(s,clorange);
|
Affiche(s,clorange);
|
||||||
//if AffAigDet then AfficheDebug(s,clorange);
|
//if AffAigDet then AfficheDebug(s,clorange);
|
||||||
if Tablo_PN[i].pulse=1 then ts:=aigP else ts:=feu;
|
if Tablo_PN[i].pulse=1 then ts:=aigP else ts:=feu;
|
||||||
pilote_acc(Tablo_PN[i].AdresseOuvre,Tablo_PN[i].CommandeOuvre,ts);
|
pilote_acc(Tablo_PN[i].AdresseOuvre,Tablo_PN[i].CommandeOuvre,ts);
|
||||||
|
if tablo_pn[i].compteur>0 then dec(tablo_pn[i].compteur);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if (dZ1F=adr) and (dZ2F=adr2) and (etat=1) then // zone de fermeture
|
if (dZ1F=adr) and (dZ2F=adr2) and (etat=1) then // zone de fermeture
|
||||||
begin
|
begin
|
||||||
Tablo_PN[i].voie[v].PresTrain:=true;
|
inc(Tablo_PN[i].compteur);
|
||||||
s:='Fermeture PN'+IntToSTR(i)+' par zone '+intToSTr(adr)+' '+intToSTR(adr2)+' (train voie '+IntToSTR(v)+')';
|
if tablo_pn[i].compteur=1 then
|
||||||
affiche(s,clorange);
|
begin
|
||||||
//if AffAigDet then AfficheDebug(s,clorange);
|
s:='Fermeture PN'+IntToSTR(i)+' par zone '+intToSTr(adr)+' '+intToSTR(adr2)+' (train voie '+IntToSTR(v)+')';
|
||||||
if Tablo_PN[i].pulse=1 then ts:=aigP else ts:=feu;
|
affiche(s,clorange);
|
||||||
pilote_acc(Tablo_PN[i].AdresseFerme,Tablo_PN[i].CommandeFerme,ts);
|
//if AffAigDet then AfficheDebug(s,clorange);
|
||||||
|
if Tablo_PN[i].pulse=1 then ts:=aigP else ts:=feu;
|
||||||
|
pilote_acc(Tablo_PN[i].AdresseFerme,Tablo_PN[i].CommandeFerme,ts);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@@ -10453,7 +10493,7 @@ begin
|
|||||||
Formprinc.caption:=af+' - '+lay;
|
Formprinc.caption:=af+' - '+lay;
|
||||||
// On a lancé CDM, déconnecter l'USB
|
// On a lancé CDM, déconnecter l'USB
|
||||||
deconnecte_USB;
|
deconnecte_USB;
|
||||||
Affiche('lance les fonctions automatiques de CDM',clyellow);
|
Affiche('Lance les fonctions automatiques de CDM',clyellow);
|
||||||
Sleep(3000);
|
Sleep(3000);
|
||||||
ProcessRunning(s); // récupérer le handle de CDM
|
ProcessRunning(s); // récupérer le handle de CDM
|
||||||
SetForegroundWindow(CDMhd);
|
SetForegroundWindow(CDMhd);
|
||||||
@@ -10614,6 +10654,12 @@ begin
|
|||||||
end;
|
end;
|
||||||
roulage:=false;
|
roulage:=false;
|
||||||
|
|
||||||
|
// raz compteurs de trains des PN
|
||||||
|
for i:=1 to NbrePN do
|
||||||
|
begin
|
||||||
|
Tablo_Pn[i].compteur:=0;
|
||||||
|
end;
|
||||||
|
|
||||||
{ ralentit au démarrage
|
{ ralentit au démarrage
|
||||||
for i:=1 to NbreFeux do
|
for i:=1 to NbreFeux do
|
||||||
begin
|
begin
|
||||||
@@ -10686,26 +10732,29 @@ procedure TFormPrinc.FormCreate(Sender: TObject);
|
|||||||
var i : integer;
|
var i : integer;
|
||||||
s : string;
|
s : string;
|
||||||
begin
|
begin
|
||||||
|
AF:='Client TCP-IP CDM Rail ou USB - système XpressNet DCC++ Version '+Version+sousVersion;
|
||||||
|
Caption:=AF;
|
||||||
TraceSign:=True;
|
TraceSign:=True;
|
||||||
configPrete:=false; // form config prete
|
configPrete:=false; // form config prete
|
||||||
PremierFD:=false;
|
PremierFD:=false;
|
||||||
sauve_tco:=false;
|
sauve_tco:=false;
|
||||||
// services commIP CDM par défaut
|
|
||||||
ntrains:=0;
|
ntrains:=0;
|
||||||
ntrains_cdm:=0;
|
ntrains_cdm:=0;
|
||||||
protocole:=1;
|
protocole:=1;
|
||||||
filtrageDet0:=3;
|
filtrageDet0:=3;
|
||||||
|
|
||||||
|
// services commIP CDM par défaut
|
||||||
Srvc_Aig:=true;
|
Srvc_Aig:=true;
|
||||||
Srvc_Det:=true;
|
Srvc_Det:=true;
|
||||||
Srvc_Act:=true;
|
Srvc_Act:=true;
|
||||||
DebugAffiche:=false;
|
|
||||||
Srvc_PosTrain:=false;
|
Srvc_PosTrain:=false;
|
||||||
Srvc_sig:=false;
|
Srvc_sig:=false;
|
||||||
|
|
||||||
|
DebugAffiche:=false;
|
||||||
|
formConfCellTCOAff:=false;
|
||||||
confasauver:=false;
|
confasauver:=false;
|
||||||
config_modifie:=false;
|
config_modifie:=false;
|
||||||
AF:='Client TCP-IP CDM Rail ou USB - système XpressNet DCC++ Version '+Version+sousVersion;
|
|
||||||
chaine_recue:='';
|
chaine_recue:='';
|
||||||
Caption:=AF;
|
|
||||||
Application.onHint:=doHint;
|
Application.onHint:=doHint;
|
||||||
|
|
||||||
// box2=CV
|
// box2=CV
|
||||||
@@ -10737,35 +10786,111 @@ begin
|
|||||||
debug:=0;
|
debug:=0;
|
||||||
etape:=1;
|
etape:=1;
|
||||||
affevt:=false;
|
affevt:=false;
|
||||||
|
avec_splitter:=false;
|
||||||
DebugAffiche:=false;
|
DebugAffiche:=false;
|
||||||
Algo_localisation:=1; // normal
|
Algo_localisation:=1; // normal
|
||||||
|
AntiTimeoutEthLenz:=0;
|
||||||
Verif_AdrXpressNet:=1;
|
Verif_AdrXpressNet:=1;
|
||||||
avecRoulage:=0;
|
avecRoulage:=0;
|
||||||
AvecInit:=true; // &&&& avec initialisation des aiguillages ou pas
|
AvecInit:=true; // &&&& avec initialisation des aiguillages ou pas
|
||||||
Option_demarrage:=false; // démarrage des trains après tempo, pas encore au point
|
|
||||||
Diffusion:=AvecInit; // mode diffusion publique
|
Diffusion:=AvecInit; // mode diffusion publique
|
||||||
|
|
||||||
roulage1.visible:=false;
|
roulage1.visible:=false;
|
||||||
|
|
||||||
|
|
||||||
|
With ScrollBox1 do
|
||||||
|
begin
|
||||||
|
HorzScrollBar.Tracking:=true;
|
||||||
|
HorzScrollBar.Smooth:=false; // ne pas mettre true sinon figeage dans W11 si onclique sur la trackbar!!
|
||||||
|
VertScrollBar.Tracking:=true;
|
||||||
|
VertScrollBar.Smooth:=false;
|
||||||
|
end;
|
||||||
|
|
||||||
|
with panel2 do
|
||||||
|
begin
|
||||||
|
Panel2.Top:=32;
|
||||||
|
Panel2.Left:=8;
|
||||||
|
Width:=610;
|
||||||
|
Height:=520;
|
||||||
|
Anchors:=[akLeft,akTop,akRight,akBottom];
|
||||||
|
end;
|
||||||
|
|
||||||
|
if avec_splitter then
|
||||||
|
begin
|
||||||
|
with Fenrich do
|
||||||
|
begin
|
||||||
|
parent:=panel2;
|
||||||
|
Align:=alLeft;
|
||||||
|
left:=0;
|
||||||
|
top:=0;
|
||||||
|
width:=panel2.Width-20;
|
||||||
|
height:=520;
|
||||||
|
Anchors:=[akLeft,akTop,akRight,akBottom];
|
||||||
|
end;
|
||||||
|
|
||||||
|
with splitterV do
|
||||||
|
begin
|
||||||
|
Parent:=panel2;
|
||||||
|
Left:=FenRich.left+FenRich.Width+1;
|
||||||
|
//Align:=Fenrich.Align;
|
||||||
|
//MinSize:=200;
|
||||||
|
Visible:=true;
|
||||||
|
end;
|
||||||
|
|
||||||
|
with panel2 do
|
||||||
|
begin
|
||||||
|
//align:=alLeft;
|
||||||
|
//Left:=SplitterV.left+10;
|
||||||
|
end;
|
||||||
|
|
||||||
|
with ScrollBox1 do
|
||||||
|
begin
|
||||||
|
//Parent:=formprinc;
|
||||||
|
//align:=alclient;
|
||||||
|
Anchors:=[];
|
||||||
|
top:=200;
|
||||||
|
end;
|
||||||
|
|
||||||
|
splitterH.Visible:=false;
|
||||||
|
{ with splitterH do
|
||||||
|
begin
|
||||||
|
Parent:=formprinc;
|
||||||
|
//top:=FenRich.top+FenRich.height+1;
|
||||||
|
Width:=FenRich.width;
|
||||||
|
Align:=alBottom;
|
||||||
|
MinSize:=200;
|
||||||
|
Visible:=true;
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
splitterV.Visible:=false;
|
||||||
|
splitterH.Visible:=false;
|
||||||
|
with panel2 do
|
||||||
|
begin
|
||||||
|
Anchors:=[akLeft,akTop,akRight,akBottom];
|
||||||
|
end;
|
||||||
|
with Fenrich do
|
||||||
|
begin
|
||||||
|
parent:=panel2;
|
||||||
|
Align:=alLeft;
|
||||||
|
left:=0;
|
||||||
|
top:=0;
|
||||||
|
width:=panel2.Width;
|
||||||
|
height:=panel2.Height;
|
||||||
|
Anchors:=[akLeft,akTop,akRight,akBottom];
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
// pour Rad studio------------------------
|
// pour Rad studio------------------------
|
||||||
FenRich.Height:=Height-150;
|
FenRich.Height:=Height-150;
|
||||||
ScrollBox1.Height:=Height-280;
|
ScrollBox1.Height:=Height-280;
|
||||||
StaticText.AutoSize:=true;
|
StaticText.AutoSize:=true;
|
||||||
StaticText.Top:=FenRich.Height+FenRich.Top+10;
|
StaticText.Top:=panel2.Height+Panel2.Top+10;
|
||||||
//----------------------------------------
|
//----------------------------------------
|
||||||
|
|
||||||
{
|
|
||||||
FenRich.Align := alLeft;
|
|
||||||
FenRich.Width := FormPrinc.ClientWidth div 3;
|
|
||||||
Splitter.Parent := FormPrinc;
|
|
||||||
// Make sure the splitter is to the right of the directory list box.
|
|
||||||
Splitter.Left := FenRich.Left + FenRich.Width + 1;
|
|
||||||
Splitter.Align := FenRich.Align; // Give it the same alignment as the directory.
|
|
||||||
// Each pane must be at least one quarter of the form?s width.
|
|
||||||
Splitter.MinSize := Formprinc.ClientWidth div 4;
|
|
||||||
//ScrollBox1.Align:=alclient;
|
|
||||||
}
|
|
||||||
|
|
||||||
ferme:=false;
|
ferme:=false;
|
||||||
CDM_connecte:=false;
|
CDM_connecte:=false;
|
||||||
pasreponse:=0;
|
pasreponse:=0;
|
||||||
@@ -10814,6 +10939,7 @@ begin
|
|||||||
// Initialisation des images des signaux
|
// Initialisation des images des signaux
|
||||||
procetape('Création des signaux');
|
procetape('Création des signaux');
|
||||||
NbreImagePLigne:=Formprinc.ScrollBox1.Width div (largImg+5);
|
NbreImagePLigne:=Formprinc.ScrollBox1.Width div (largImg+5);
|
||||||
|
if NbreImagePLigne=0 then NbreImagePLigne:=1;
|
||||||
|
|
||||||
// ajoute les images des feux dynamiquement
|
// ajoute les images des feux dynamiquement
|
||||||
for i:=1 to NbreFeux do
|
for i:=1 to NbreFeux do
|
||||||
@@ -10849,7 +10975,7 @@ begin
|
|||||||
modeStkRetro:=false;
|
modeStkRetro:=false;
|
||||||
|
|
||||||
|
|
||||||
// lancer CDM rail et le connecte si on le demande à faire après la création des feux et du tco
|
// lancer CDM rail et le connecte si on le demande ; à faire après la création des feux et du tco
|
||||||
procetape('Test CDM et son lancement');
|
procetape('Test CDM et son lancement');
|
||||||
if LanceCDM then Lance_CDM;
|
if LanceCDM then Lance_CDM;
|
||||||
procetape('Fin cdm');
|
procetape('Fin cdm');
|
||||||
@@ -10860,7 +10986,7 @@ begin
|
|||||||
procetape('Test connexion CDM');
|
procetape('Test connexion CDM');
|
||||||
if not(CDM_connecte) then connecte_CDM;
|
if not(CDM_connecte) then connecte_CDM;
|
||||||
|
|
||||||
// si CDM n'est pas connecté, on ouvre la liaison vers la centrale
|
// si CDM n'est pas connecté, on regarde si on ouvre la liaison vers la centrale
|
||||||
if not(CDM_connecte) then
|
if not(CDM_connecte) then
|
||||||
begin
|
begin
|
||||||
procetape('Ouvertures COM/USB');
|
procetape('Ouvertures COM/USB');
|
||||||
@@ -10907,7 +11033,7 @@ begin
|
|||||||
//Menu_interface(valide);
|
//Menu_interface(valide);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
DoubleBuffered:=true;
|
//DoubleBuffered:=true;
|
||||||
{
|
{
|
||||||
aiguillage[index_aig(1)].position:=const_droit;
|
aiguillage[index_aig(1)].position:=const_droit;
|
||||||
aiguillage[index_aig(3)].position:=const_devie;
|
aiguillage[index_aig(3)].position:=const_devie;
|
||||||
@@ -10985,7 +11111,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
//if terminal then Affiche(chaine_recue,clLime);
|
//if terminal then Affiche(chaine_recue,clLime);
|
||||||
chaine_recue:=interprete_reponse(chaine_recue);
|
chaine_recue:=interprete_reponse(chaine_recue);
|
||||||
//interprete_reponse(chaine_recue);
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -10998,7 +11123,6 @@ begin
|
|||||||
portCommOuvert:=false;
|
portCommOuvert:=false;
|
||||||
MSCommUSBLenz.Portopen:=false;
|
MSCommUSBLenz.Portopen:=false;
|
||||||
end;
|
end;
|
||||||
portCommOuvert:=false;
|
|
||||||
ClientSocketCDM.close;
|
ClientSocketCDM.close;
|
||||||
ClientSocketInterface.close;
|
ClientSocketInterface.close;
|
||||||
timer1.Enabled:=false;
|
timer1.Enabled:=false;
|
||||||
@@ -11021,6 +11145,16 @@ var aspect,i,a,x,y,Bimage,adresse,TailleX,TailleY,orientation : integer;
|
|||||||
s : string;
|
s : string;
|
||||||
begin
|
begin
|
||||||
inc(tick);
|
inc(tick);
|
||||||
|
// envoi timeout
|
||||||
|
if parSocketLenz and (AntiTimeoutEthLenz=1) then
|
||||||
|
begin
|
||||||
|
dec(TpsTimeoutSL);
|
||||||
|
if TpsTimeoutSL<=0 then
|
||||||
|
begin
|
||||||
|
TpsTimeoutSL:=450; // envoyer caractère toutes les 45 secondes
|
||||||
|
ClientSocketInterface.Socket.SendText(' ');
|
||||||
|
end;
|
||||||
|
end;
|
||||||
if sourisclic then inc(Temposouris);
|
if sourisclic then inc(Temposouris);
|
||||||
if Tdoubleclic>0 then dec(Tdoubleclic);
|
if Tdoubleclic>0 then dec(Tdoubleclic);
|
||||||
if Tempo_init>0 then dec(Tempo_init);
|
if Tempo_init>0 then dec(Tempo_init);
|
||||||
@@ -11046,9 +11180,8 @@ begin
|
|||||||
adresse:=feux[i].adresse;
|
adresse:=feux[i].adresse;
|
||||||
if TestBit(a,jaune_cli) or TestBit(a,ral_60) or
|
if TestBit(a,jaune_cli) or TestBit(a,ral_60) or
|
||||||
TestBit(a,rappel_60) or testBit(a,semaphore_cli) or
|
TestBit(a,rappel_60) or testBit(a,semaphore_cli) or
|
||||||
testBit(a,vert_cli) or testbit(a,blanc_cli) then
|
testBit(a,vert_cli) or testbit(a,blanc_cli) then
|
||||||
begin
|
begin
|
||||||
//Affiche(IntToSTR(adresse),clOrange);
|
|
||||||
Dessine_feu_mx(Feux[i].Img.Canvas,0,0,1,1,adresse,1);
|
Dessine_feu_mx(Feux[i].Img.Canvas,0,0,1,1,adresse,1);
|
||||||
//Affiche('Clignote feu '+IntToSTR(adresse),clyellow);
|
//Affiche('Clignote feu '+IntToSTR(adresse),clyellow);
|
||||||
end;
|
end;
|
||||||
@@ -11123,7 +11256,7 @@ begin
|
|||||||
|
|
||||||
// arret loco sur n secondes
|
// arret loco sur n secondes
|
||||||
// démarrage loco temporisé
|
// démarrage loco temporisé
|
||||||
for i:=1 to 20 do
|
for i:=1 to ntrains do
|
||||||
begin
|
begin
|
||||||
a:=trains[i].TempoArret;
|
a:=trains[i].TempoArret;
|
||||||
if a<>0 then
|
if a<>0 then
|
||||||
@@ -11193,7 +11326,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
// temporisation détecteur à 0
|
// temporisation détecteur à 0
|
||||||
for i:=1 to NbMemZone do
|
for i:=1 to NbMemZone do // i=index détecteur
|
||||||
begin
|
begin
|
||||||
a:=detecteur[i].tempo0;
|
a:=detecteur[i].tempo0;
|
||||||
if a<>0 then
|
if a<>0 then
|
||||||
@@ -11308,7 +11441,7 @@ begin
|
|||||||
ErrorCode:=0;
|
ErrorCode:=0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// lecture depuis socket
|
// lecture depuis socket interface
|
||||||
procedure TFormPrinc.ClientSocketInterfaceRead(Sender: TObject;
|
procedure TFormPrinc.ClientSocketInterfaceRead(Sender: TObject;
|
||||||
Socket: TCustomWinSocket);
|
Socket: TCustomWinSocket);
|
||||||
var s : string;
|
var s : string;
|
||||||
@@ -11456,11 +11589,17 @@ var j,adr,adrTrain : integer;
|
|||||||
s : string;
|
s : string;
|
||||||
begin
|
begin
|
||||||
Affiche('Etat des détecteurs:',ClLime);
|
Affiche('Etat des détecteurs:',ClLime);
|
||||||
|
nbDet1:=0;
|
||||||
for j:=1 to NDetecteurs do
|
for j:=1 to NDetecteurs do
|
||||||
begin
|
begin
|
||||||
adr:=Adresse_detecteur[j];
|
adr:=Adresse_detecteur[j];
|
||||||
s:='Dét '+intToSTR(adr)+'=';
|
s:='Dét '+intToSTR(adr)+'=';
|
||||||
if Detecteur[adr].etat then s:=s+'1 ' else s:=s+'0 ';
|
if Detecteur[adr].etat then
|
||||||
|
begin
|
||||||
|
s:=s+'1 ';
|
||||||
|
inc(NbDet1);
|
||||||
|
end
|
||||||
|
else s:=s+'0 ';
|
||||||
|
|
||||||
s:=s+detecteur[adr].train;
|
s:=s+detecteur[adr].train;
|
||||||
AdrTrain:=detecteur[adr].AdrTrain;
|
AdrTrain:=detecteur[adr].AdrTrain;
|
||||||
@@ -11518,10 +11657,9 @@ begin
|
|||||||
if aiguillage[index_aig(j)].position=1 then s:=s+' (dévié)' else s:=s+' (droit)';
|
if aiguillage[index_aig(j)].position=1 then s:=s+' (dévié)' else s:=s+' (droit)';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
if (model=Crois) then s:='Croisement '+IntToSTR(aiguillage[i].Adresse);
|
||||||
r:=aiguillage[i].AdrTrain;
|
r:=aiguillage[i].AdrTrain;
|
||||||
if (r<>0) and (model=Crois) then s:='Croisement '+IntToSTR(aiguillage[i].Adresse)+' : ';
|
if r<>0 then s:=s+': réservé par train @'+intToSTR(r);
|
||||||
|
|
||||||
if r<>0 then s:=s+' réservé par train @'+intToSTR(r);
|
|
||||||
if s<>'' then Affiche(s,clWhite);
|
if s<>'' then Affiche(s,clWhite);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@@ -12085,7 +12223,7 @@ begin
|
|||||||
|
|
||||||
// évènement actionneur
|
// évènement actionneur
|
||||||
// attention un actionneur qui repasse à 0 ne contient pas de nom de train
|
// attention un actionneur qui repasse à 0 ne contient pas de nom de train
|
||||||
//S-E-03-0157-CMDACC-ST_AC|049|05|NAME=0;OBJ=7101;AD=815;TRAIN=CC406526;STATE=1;
|
// S-E-03-0157-CMDACC-ST_AC|049|05|NAME=0;OBJ=7101;AD=815;TRAIN=CC406526;STATE=1;
|
||||||
i:=pos('CMDACC-ST_AC',commandeCDM);
|
i:=pos('CMDACC-ST_AC',commandeCDM);
|
||||||
if i<>0 then
|
if i<>0 then
|
||||||
begin
|
begin
|
||||||
@@ -12201,7 +12339,7 @@ begin
|
|||||||
val(ss,y2,erreur);
|
val(ss,y2,erreur);
|
||||||
s:=s+' Y2='+IntTostr(y2);
|
s:=s+' Y2='+IntTostr(y2);
|
||||||
Delete(commandeCDM,i,l-i+1);
|
Delete(commandeCDM,i,l-i+1);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if afftiers then afficheDebug(s,clAqua);
|
if afftiers then afficheDebug(s,clAqua);
|
||||||
end;
|
end;
|
||||||
@@ -12719,6 +12857,8 @@ begin
|
|||||||
s:=s+' Commande ouverture='+intToSTR(Tablo_PN[i].commandeOuvre);
|
s:=s+' Commande ouverture='+intToSTR(Tablo_PN[i].commandeOuvre);
|
||||||
s:=s+' Nbre de voies='+intToSTR(Tablo_PN[i].nbVoies);
|
s:=s+' Nbre de voies='+intToSTR(Tablo_PN[i].nbVoies);
|
||||||
Affiche(s,clyellow);
|
Affiche(s,clyellow);
|
||||||
|
s:=' Compteur trains engagés sur PN='+intToSTR(tablo_PN[i].compteur);
|
||||||
|
Affiche(s,clyellow);
|
||||||
|
|
||||||
if tablo_PN[i].Voie[1].ActFerme<>0 then
|
if tablo_PN[i].Voie[1].ActFerme<>0 then
|
||||||
// par actionneur
|
// par actionneur
|
||||||
@@ -12736,7 +12876,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
s:=' Voie '+IntToSTR(v)+': Zones de fermeture='+intToSTR(tablo_PN[i].Voie[v].detZ1F)+'-'+intToSTR(tablo_PN[i].Voie[v].detZ2F);
|
s:=' Voie '+IntToSTR(v)+': Zones de fermeture='+intToSTR(tablo_PN[i].Voie[v].detZ1F)+'-'+intToSTR(tablo_PN[i].Voie[v].detZ2F);
|
||||||
s:=s+' Zones d''ouverture='+intToSTR(tablo_PN[i].Voie[v].detZ1O)+'-'+intToSTR(tablo_PN[i].Voie[v].detZ2O);
|
s:=s+' Zones d''ouverture='+intToSTR(tablo_PN[i].Voie[v].detZ1O)+'-'+intToSTR(tablo_PN[i].Voie[v].detZ2O);
|
||||||
Affiche(s,clyellow);
|
Affiche(s,clyellow);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@@ -12933,7 +13073,7 @@ end;
|
|||||||
procedure TFormPrinc.Apropos1Click(Sender: TObject);
|
procedure TFormPrinc.Apropos1Click(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
Affiche(' ',clyellow);
|
Affiche(' ',clyellow);
|
||||||
Affiche('Signaux complexes GL version '+version+sousVersion+' (C) 2022 F1IWQ Gily TDR',clWhite);
|
Affiche('Signaux complexes GL version '+version+sousVersion+' (C) 2022-23 F1IWQ Gily TDR',clWhite);
|
||||||
|
|
||||||
FenRich.SelStart:=length(FenRich.Text);
|
FenRich.SelStart:=length(FenRich.Text);
|
||||||
FenRich.SelAttributes.Style:=[fsUnderline];
|
FenRich.SelAttributes.Style:=[fsUnderline];
|
||||||
@@ -12945,7 +13085,7 @@ begin
|
|||||||
FenRich.lines.add('http://cdmrail.free.fr/ForumCDR/viewtopic.php?f=77&t=3906');
|
FenRich.lines.add('http://cdmrail.free.fr/ForumCDR/viewtopic.php?f=77&t=3906');
|
||||||
RE_ColorLine(FenRich,FenRich.lines.count-1,clAqua);
|
RE_ColorLine(FenRich,FenRich.lines.count-1,clAqua);
|
||||||
|
|
||||||
Affiche('Ce programme pilote des signaux complexes de façon autonome ou avec CDM rail ',ClYellow);
|
Affiche('Ce programme pilote des signaux complexes et les trains de façon autonome ou avec CDM rail ',ClYellow);
|
||||||
Affiche('En fonction des détecteurs mis à 1 ou 0 par des locomotives',ClYellow);
|
Affiche('En fonction des détecteurs mis à 1 ou 0 par des locomotives',ClYellow);
|
||||||
Affiche('en circulation sur le réseau',ClYellow);
|
Affiche('en circulation sur le réseau',ClYellow);
|
||||||
Affiche('En vert : Trames envoyées à l''interface',ClWhite);
|
Affiche('En vert : Trames envoyées à l''interface',ClWhite);
|
||||||
@@ -13001,8 +13141,8 @@ begin
|
|||||||
// carré
|
// carré
|
||||||
if aspect=0 then
|
if aspect=0 then
|
||||||
begin
|
begin
|
||||||
Affiche('Le signal est au carré car ',clyellow);
|
Affiche('Le signal '+intToSTR(adresse)+' est au carré car ',clyellow);
|
||||||
if carre_signal(Adresse,trainreserve,reserveTrainTiers) then affiche('les aiguillages en aval du signal sont mal positionnées ou leur positions inconnues',clyellow) ;
|
if carre_signal(Adresse,trainreserve,reserveTrainTiers) then affiche('les aiguillages en aval du signal sont mal positionnés ou leur positions inconnues',clyellow) ;
|
||||||
if reserveTrainTiers then affiche('un aiguillage ou un croisement en aval du signal sont réservés par un autre train ',clyellow);
|
if reserveTrainTiers then affiche('un aiguillage ou un croisement en aval du signal sont réservés par un autre train ',clyellow);
|
||||||
if Cond_Carre(Adresse) then affiche_suivi('les aiguillages déclarés dans la définition du signal sont mal positionnés',clyellow);
|
if Cond_Carre(Adresse) then affiche_suivi('les aiguillages déclarés dans la définition du signal sont mal positionnés',clyellow);
|
||||||
if feux[i].VerrouCarre and not(PresTrainPrec(Adresse,Nb_cantons_Sig,false,TrainReserve,voie)) then affiche('le signal est verrouillable au carré et aucun train n''est présent avant le signal',clyellow);
|
if feux[i].VerrouCarre and not(PresTrainPrec(Adresse,Nb_cantons_Sig,false,TrainReserve,voie)) then affiche('le signal est verrouillable au carré et aucun train n''est présent avant le signal',clyellow);
|
||||||
@@ -13011,37 +13151,37 @@ begin
|
|||||||
end;
|
end;
|
||||||
if aspect=1 then
|
if aspect=1 then
|
||||||
begin
|
begin
|
||||||
Affiche('Le signal est au sémaphore car ',clyellow);
|
Affiche('Le signal '+intToSTR(adresse)+' est au sémaphore car ',clyellow);
|
||||||
if test_memoire_zones(Adresse) then affiche_suivi('Présence train dans canton après le signal',clyellow);
|
if test_memoire_zones(Adresse) then affiche_suivi('présence train dans canton après le signal',clyellow);
|
||||||
end;
|
end;
|
||||||
// avertissement
|
// avertissement
|
||||||
if aspect=8 then
|
if aspect=8 then
|
||||||
begin
|
begin
|
||||||
i:=etat_signal_suivant(Adresse,1,AdrSignalsuivant);
|
i:=etat_signal_suivant(Adresse,1,AdrSignalsuivant);
|
||||||
Affiche('Le signal est à l''avertissement car son signal suivant '+intToSTR(AdrSignalsuivant)+' est au '+chaine_signal(i),clyellow);
|
Affiche('Le signal '+intToSTR(adresse)+' est à l''avertissement car son signal suivant '+intToSTR(AdrSignalsuivant)+' est au '+chaine_signal(i),clyellow);
|
||||||
end;
|
end;
|
||||||
// avertissement cli
|
// avertissement cli
|
||||||
if aspect=9 then
|
if aspect=9 then
|
||||||
begin
|
begin
|
||||||
i:=etat_signal_suivant(Adresse,1,AdrSignalsuivant);
|
i:=etat_signal_suivant(Adresse,1,AdrSignalsuivant);
|
||||||
Affiche('Le signal est au jaune cli car son signal suivant '+intToSTR(AdrSignalsuivant)+' est au '+chaine_signal(i),clyellow);
|
Affiche('Le signal '+intToSTR(adresse)+' est au jaune cli car son signal suivant '+intToSTR(AdrSignalsuivant)+' est au '+chaine_signal(i),clyellow);
|
||||||
end;
|
end;
|
||||||
// ralen 30
|
// ralen 30
|
||||||
if combine=10 then
|
if combine=10 then
|
||||||
begin
|
begin
|
||||||
i:=etat_signal_suivant(Adresse,1,AdrSignalsuivant);
|
i:=etat_signal_suivant(Adresse,1,AdrSignalsuivant);
|
||||||
Affiche('Le signal est au ralentissement 30 car son signal suivant '+intToSTR(AdrSignalsuivant)+' est au '+chaine_signal(i),clyellow);
|
Affiche('Le signal '+intToSTR(adresse)+' est au ralentissement 30 car son signal suivant '+intToSTR(AdrSignalsuivant)+' est au '+chaine_signal(i),clyellow);
|
||||||
end;
|
end;
|
||||||
if combine=11 then
|
if combine=11 then
|
||||||
begin
|
begin
|
||||||
i:=etat_signal_suivant(Adresse,1,AdrSignalsuivant);
|
i:=etat_signal_suivant(Adresse,1,AdrSignalsuivant);
|
||||||
Affiche('Le signal est au ralentissement 60 car son signal suivant '+intToSTR(AdrSignalsuivant)+' est au '+chaine_signal(i),clyellow);
|
Affiche('Le signal '+intToSTR(adresse)+' est au ralentissement 60 car son signal suivant '+intToSTR(AdrSignalsuivant)+' est au '+chaine_signal(i),clyellow);
|
||||||
end;
|
end;
|
||||||
if (combine=12) or (combine=13) then
|
if (combine=12) or (combine=13) then
|
||||||
begin
|
begin
|
||||||
Aig:=Aiguille_deviee(Adresse);
|
Aig:=Aiguille_deviee(Adresse);
|
||||||
// si aiguille locale déviée
|
// si aiguille locale déviée
|
||||||
if (aig<>0) then Affiche('Le signal est à rappel 30 car l''aiguillage suivant '+intToSTR(Aig)+' est dévié',clyellow);
|
if (aig<>0) then Affiche('Le signal '+intToSTR(adresse)+' est à rappel 30 car l''aiguillage suivant '+intToSTR(Aig)+' est dévié',clyellow);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end;
|
end;
|
||||||
@@ -13368,12 +13508,34 @@ procedure TFormPrinc.EditAdrTrainChange(Sender: TObject);
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure TFormPrinc.SplitterMoved(Sender: TObject);
|
procedure TFormPrinc.SplitterVMoved(Sender: TObject);
|
||||||
|
var pdroite : integer;
|
||||||
begin
|
begin
|
||||||
ScrollBox1.left:=Splitter.Left+10;
|
Affiche(intToSTR(splitterV.Left),clred);
|
||||||
ScrollBox1.width:=width-scrollBox1.left-20;
|
exit;
|
||||||
|
//fenrich.width:=splitterV.left;
|
||||||
|
|
||||||
|
if not(avec_splitter) then exit;
|
||||||
|
//Affiche('splittermoved',clyellow);
|
||||||
|
|
||||||
|
|
||||||
|
pdroite:=SplitterV.Left+40;
|
||||||
|
|
||||||
|
panel2.Width:=pdroite;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TFormPrinc.PopupMenuFeuPopup(Sender: TObject);
|
||||||
|
var s : string;
|
||||||
|
P_image_pilote : Timage;
|
||||||
|
adressefeuclic: integer;
|
||||||
|
ob : TPopupMenu;
|
||||||
|
begin
|
||||||
|
// AdrPilote est récupéré de l'event OnMouseDown de l'image du signal qui se produit avant
|
||||||
|
ob:=Sender as Tpopupmenu;
|
||||||
|
s:=ob.Items[0].Caption;
|
||||||
|
ob.Items[0].Caption:='Propriétés du signal '+intToSTR(AdrPilote);
|
||||||
|
ob.Items[1].Caption:='Informations du signal '+intToSTR(AdrPilote);
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|||||||
BIN
Binary file not shown.
+5
-5
@@ -505,7 +505,7 @@ object FormSR: TFormSR
|
|||||||
object LabelErreur: TLabel
|
object LabelErreur: TLabel
|
||||||
Left = 224
|
Left = 224
|
||||||
Top = 528
|
Top = 528
|
||||||
Width = 3
|
Width = 89
|
||||||
Height = 13
|
Height = 13
|
||||||
Caption = ':'
|
Caption = ':'
|
||||||
end
|
end
|
||||||
@@ -669,13 +669,13 @@ object FormSR: TFormSR
|
|||||||
TabOrder = 15
|
TabOrder = 15
|
||||||
OnChange = ComboBoxAdr16Change
|
OnChange = ComboBoxAdr16Change
|
||||||
end
|
end
|
||||||
object ButtonOK: TButton
|
object BitBtnok: TBitBtn
|
||||||
Left = 56
|
Left = 16
|
||||||
Top = 520
|
Top = 520
|
||||||
Width = 75
|
Width = 75
|
||||||
Height = 25
|
Height = 25
|
||||||
Caption = 'OK'
|
|
||||||
TabOrder = 16
|
TabOrder = 16
|
||||||
OnClick = ButtonOKClick
|
OnClick = BitBtnokClick
|
||||||
|
Kind = bkOK
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
+10
-7
@@ -7,7 +7,8 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
Dialogs, StdCtrls, ExtCtrls , UnitPrinc, UnitConfig;
|
Dialogs, StdCtrls, ExtCtrls , UnitPrinc, UnitConfig,
|
||||||
|
Buttons;
|
||||||
|
|
||||||
type
|
type
|
||||||
TFormSR = class(TForm)
|
TFormSR = class(TForm)
|
||||||
@@ -94,8 +95,8 @@ type
|
|||||||
LabelCV32: TLabel;
|
LabelCV32: TLabel;
|
||||||
ComboBoxAdr15: TComboBox;
|
ComboBoxAdr15: TComboBox;
|
||||||
ComboBoxAdr16: TComboBox;
|
ComboBoxAdr16: TComboBox;
|
||||||
ButtonOK: TButton;
|
|
||||||
LabelErreur: TLabel;
|
LabelErreur: TLabel;
|
||||||
|
BitBtnok: TBitBtn;
|
||||||
procedure FormActivate(Sender: TObject);
|
procedure FormActivate(Sender: TObject);
|
||||||
procedure ComboBoxAdr1Change(Sender: TObject);
|
procedure ComboBoxAdr1Change(Sender: TObject);
|
||||||
procedure ComboBoxAdr2Change(Sender: TObject);
|
procedure ComboBoxAdr2Change(Sender: TObject);
|
||||||
@@ -113,8 +114,8 @@ type
|
|||||||
procedure ComboBoxAdr14Change(Sender: TObject);
|
procedure ComboBoxAdr14Change(Sender: TObject);
|
||||||
procedure ComboBoxAdr15Change(Sender: TObject);
|
procedure ComboBoxAdr15Change(Sender: TObject);
|
||||||
procedure ComboBoxAdr16Change(Sender: TObject);
|
procedure ComboBoxAdr16Change(Sender: TObject);
|
||||||
procedure ButtonOKClick(Sender: TObject);
|
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure BitBtnokClick(Sender: TObject);
|
||||||
private
|
private
|
||||||
{ Déclarations privées }
|
{ Déclarations privées }
|
||||||
public
|
public
|
||||||
@@ -464,10 +465,7 @@ begin
|
|||||||
maj_db;
|
maj_db;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormSR.ButtonOKClick(Sender: TObject);
|
|
||||||
begin
|
|
||||||
close;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TFormSR.FormCreate(Sender: TObject);
|
procedure TFormSR.FormCreate(Sender: TObject);
|
||||||
var i : integer;
|
var i : integer;
|
||||||
@@ -493,5 +491,10 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TFormSR.BitBtnokClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
close;
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
+20
-8
@@ -1,10 +1,12 @@
|
|||||||
object FormSimulation: TFormSimulation
|
object FormSimulation: TFormSimulation
|
||||||
Left = 332
|
Left = 332
|
||||||
Top = 283
|
Top = 283
|
||||||
Width = 447
|
BorderIcons = [biSystemMenu, biMinimize]
|
||||||
Height = 189
|
BorderStyle = bsDialog
|
||||||
Caption = 'Simulation'
|
Caption = 'Ouvrir un fichier de simulation'
|
||||||
Color = clBtnFace
|
ClientHeight = 150
|
||||||
|
ClientWidth = 431
|
||||||
|
Color = clActiveBorder
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clWindowText
|
Font.Color = clWindowText
|
||||||
Font.Height = -11
|
Font.Height = -11
|
||||||
@@ -16,7 +18,7 @@ object FormSimulation: TFormSimulation
|
|||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 32
|
Top = 24
|
||||||
Width = 369
|
Width = 369
|
||||||
Height = 16
|
Height = 16
|
||||||
Caption = 'Intervalle de temps entre deux '#233'v'#232'nements d'#233'tecteurs (x100ms)'
|
Caption = 'Intervalle de temps entre deux '#233'v'#232'nements d'#233'tecteurs (x100ms)'
|
||||||
@@ -29,7 +31,7 @@ object FormSimulation: TFormSimulation
|
|||||||
end
|
end
|
||||||
object ButtonCharge: TButton
|
object ButtonCharge: TButton
|
||||||
Left = 160
|
Left = 160
|
||||||
Top = 96
|
Top = 104
|
||||||
Width = 105
|
Width = 105
|
||||||
Height = 41
|
Height = 41
|
||||||
Caption = 'Charger un fichier de simulation'
|
Caption = 'Charger un fichier de simulation'
|
||||||
@@ -39,7 +41,7 @@ object FormSimulation: TFormSimulation
|
|||||||
end
|
end
|
||||||
object EditIntervalle: TEdit
|
object EditIntervalle: TEdit
|
||||||
Left = 384
|
Left = 384
|
||||||
Top = 32
|
Top = 24
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 21
|
Height = 21
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
@@ -49,12 +51,22 @@ object FormSimulation: TFormSimulation
|
|||||||
end
|
end
|
||||||
object CheckAffTick: TCheckBox
|
object CheckAffTick: TCheckBox
|
||||||
Left = 64
|
Left = 64
|
||||||
Top = 64
|
Top = 48
|
||||||
Width = 313
|
Width = 313
|
||||||
Height = 17
|
Height = 17
|
||||||
Caption = 'RAZ des trains et de leurs placements avant de d'#233'marrer'
|
Caption = 'RAZ des trains et de leurs placements avant de d'#233'marrer'
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
end
|
end
|
||||||
|
object CheckEvalroutes: TCheckBox
|
||||||
|
Left = 64
|
||||||
|
Top = 64
|
||||||
|
Width = 345
|
||||||
|
Height = 17
|
||||||
|
Caption =
|
||||||
|
'Affichage de l'#39#233'valuation des routes des trains dans la fen'#234'tre ' +
|
||||||
|
'debug'
|
||||||
|
TabOrder = 3
|
||||||
|
end
|
||||||
object OpenDialog: TOpenDialog
|
object OpenDialog: TOpenDialog
|
||||||
Left = 48
|
Left = 48
|
||||||
Top = 96
|
Top = 96
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ type
|
|||||||
EditIntervalle: TEdit;
|
EditIntervalle: TEdit;
|
||||||
Label1: TLabel;
|
Label1: TLabel;
|
||||||
CheckAffTick: TCheckBox;
|
CheckAffTick: TCheckBox;
|
||||||
|
CheckEvalroutes: TCheckBox;
|
||||||
procedure ButtonChargeClick(Sender: TObject);
|
procedure ButtonChargeClick(Sender: TObject);
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure EditIntervalleKeyPress(Sender: TObject; var Key: Char);
|
procedure EditIntervalleKeyPress(Sender: TObject; var Key: Char);
|
||||||
@@ -136,6 +137,7 @@ begin
|
|||||||
if openDialog.Execute then
|
if openDialog.Execute then
|
||||||
begin
|
begin
|
||||||
if checkAffTick.Checked then raz_tout;
|
if checkAffTick.Checked then raz_tout;
|
||||||
|
if checkEvalRoutes.Checked then TraceListe:=true;
|
||||||
s:=openDialog.FileName;
|
s:=openDialog.FileName;
|
||||||
ouvre_simulation(s);
|
ouvre_simulation(s);
|
||||||
end;
|
end;
|
||||||
|
|||||||
BIN
Binary file not shown.
+315
-293
@@ -1,8 +1,8 @@
|
|||||||
object FormTCO: TFormTCO
|
object FormTCO: TFormTCO
|
||||||
Left = 132
|
Left = 217
|
||||||
Top = 127
|
Top = 60
|
||||||
Width = 1132
|
Width = 1142
|
||||||
Height = 728
|
Height = 678
|
||||||
VertScrollBar.Visible = False
|
VertScrollBar.Visible = False
|
||||||
Caption = 'FormTCO'
|
Caption = 'FormTCO'
|
||||||
Color = clBtnFace
|
Color = clBtnFace
|
||||||
@@ -17,12 +17,13 @@ object FormTCO: TFormTCO
|
|||||||
Position = poScreenCenter
|
Position = poScreenCenter
|
||||||
OnActivate = FormActivate
|
OnActivate = FormActivate
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
OnDockOver = FormDockOver
|
OnDragOver = FormDragOver
|
||||||
OnKeyDown = FormKeyDown
|
OnKeyDown = FormKeyDown
|
||||||
|
OnKeyPress = FormKeyPress
|
||||||
OnMouseWheel = FormMouseWheel
|
OnMouseWheel = FormMouseWheel
|
||||||
DesignSize = (
|
DesignSize = (
|
||||||
1124
|
1126
|
||||||
697)
|
639)
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
object LabelCoord: TLabel
|
object LabelCoord: TLabel
|
||||||
@@ -65,15 +66,9 @@ object FormTCO: TFormTCO
|
|||||||
Height = 13
|
Height = 13
|
||||||
Caption = '0'
|
Caption = '0'
|
||||||
end
|
end
|
||||||
object ImageTemp: TImage
|
|
||||||
Left = 24
|
|
||||||
Top = 394
|
|
||||||
Width = 97
|
|
||||||
Height = 97
|
|
||||||
end
|
|
||||||
object Label19: TLabel
|
object Label19: TLabel
|
||||||
Left = 1068
|
Left = 1078
|
||||||
Top = 441
|
Top = 391
|
||||||
Width = 32
|
Width = 32
|
||||||
Height = 13
|
Height = 13
|
||||||
Anchors = [akRight, akBottom]
|
Anchors = [akRight, akBottom]
|
||||||
@@ -85,11 +80,23 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
|
object ImageTemp: TImage
|
||||||
|
Left = 976
|
||||||
|
Top = 96
|
||||||
|
Width = 97
|
||||||
|
Height = 97
|
||||||
|
end
|
||||||
|
object ImageTemp2: TImage
|
||||||
|
Left = 976
|
||||||
|
Top = 208
|
||||||
|
Width = 97
|
||||||
|
Height = 97
|
||||||
|
end
|
||||||
object ScrollBox: TScrollBox
|
object ScrollBox: TScrollBox
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 18
|
Top = 18
|
||||||
Width = 1050
|
Width = 828
|
||||||
Height = 409
|
Height = 351
|
||||||
HorzScrollBar.Smooth = True
|
HorzScrollBar.Smooth = True
|
||||||
HorzScrollBar.Tracking = True
|
HorzScrollBar.Tracking = True
|
||||||
VertScrollBar.Smooth = True
|
VertScrollBar.Smooth = True
|
||||||
@@ -100,14 +107,15 @@ object FormTCO: TFormTCO
|
|||||||
ParentColor = False
|
ParentColor = False
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
DesignSize = (
|
DesignSize = (
|
||||||
1046
|
824
|
||||||
405)
|
347)
|
||||||
object ImageTCO: TImage
|
object ImageTCO: TImage
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 1002
|
Width = 716
|
||||||
Height = 379
|
Height = 305
|
||||||
Anchors = [akLeft, akTop, akRight, akBottom]
|
Anchors = [akLeft, akTop, akRight, akBottom]
|
||||||
|
AutoSize = True
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
PopupMenu = PopupMenu1
|
PopupMenu = PopupMenu1
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
@@ -120,14 +128,16 @@ object FormTCO: TFormTCO
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
object TrackBarZoom: TTrackBar
|
object TrackBarZoom: TTrackBar
|
||||||
Left = 1068
|
Left = 1078
|
||||||
Top = 18
|
Top = 18
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 400
|
Height = 350
|
||||||
Anchors = [akTop, akRight, akBottom]
|
Anchors = [akTop, akRight, akBottom]
|
||||||
|
Ctl3D = True
|
||||||
Max = 50
|
Max = 50
|
||||||
Min = 20
|
Min = 20
|
||||||
Orientation = trVertical
|
Orientation = trVertical
|
||||||
|
ParentCtl3D = False
|
||||||
Position = 20
|
Position = 20
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
TickMarks = tmTopLeft
|
TickMarks = tmTopLeft
|
||||||
@@ -135,8 +145,8 @@ object FormTCO: TFormTCO
|
|||||||
end
|
end
|
||||||
object Panel1: TPanel
|
object Panel1: TPanel
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 522
|
Top = 472
|
||||||
Width = 1114
|
Width = 1124
|
||||||
Height = 165
|
Height = 165
|
||||||
Anchors = [akLeft, akRight, akBottom]
|
Anchors = [akLeft, akRight, akBottom]
|
||||||
Color = clActiveBorder
|
Color = clActiveBorder
|
||||||
@@ -149,18 +159,8 @@ object FormTCO: TFormTCO
|
|||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
OnDragOver = Panel1DragOver
|
OnDragOver = Panel1DragOver
|
||||||
DesignSize = (
|
DesignSize = (
|
||||||
1114
|
1124
|
||||||
165)
|
165)
|
||||||
object ImagePalette5: TImage
|
|
||||||
Left = 520
|
|
||||||
Top = 8
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnDragOver = ImagePalette5DragOver
|
|
||||||
OnEndDrag = ImagePalette5EndDrag
|
|
||||||
OnMouseDown = ImagePalette5MouseDown
|
|
||||||
end
|
|
||||||
object Label6: TLabel
|
object Label6: TLabel
|
||||||
Left = 216
|
Left = 216
|
||||||
Top = 22
|
Top = 22
|
||||||
@@ -174,16 +174,6 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object ImagePalette2: TImage
|
|
||||||
Left = 304
|
|
||||||
Top = 8
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnDragOver = ImagePalette2DragOver
|
|
||||||
OnEndDrag = ImagePalette2EndDrag
|
|
||||||
OnMouseDown = ImagePalette2MouseDown
|
|
||||||
end
|
|
||||||
object Label7: TLabel
|
object Label7: TLabel
|
||||||
Left = 288
|
Left = 288
|
||||||
Top = 22
|
Top = 22
|
||||||
@@ -210,59 +200,6 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object ImagePalette1: TImage
|
|
||||||
Left = 232
|
|
||||||
Top = 8
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
Hint = 'Voie pouvant porter un d'#233'tecteur'
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
ParentShowHint = False
|
|
||||||
ShowHint = True
|
|
||||||
OnDragOver = ImagePalette1DragOver
|
|
||||||
OnEndDrag = ImagePalette1EndDrag
|
|
||||||
OnMouseDown = ImagePalette1MouseDown
|
|
||||||
end
|
|
||||||
object ImagePalette6: TImage
|
|
||||||
Left = 232
|
|
||||||
Top = 56
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnDragOver = ImagePalette6DragOver
|
|
||||||
OnEndDrag = ImagePalette6EndDrag
|
|
||||||
OnMouseDown = ImagePalette6MouseDown
|
|
||||||
end
|
|
||||||
object ImagePalette7: TImage
|
|
||||||
Left = 304
|
|
||||||
Top = 56
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnDragOver = ImagePalette7DragOver
|
|
||||||
OnEndDrag = ImagePalette7EndDrag
|
|
||||||
OnMouseDown = ImagePalette7MouseDown
|
|
||||||
end
|
|
||||||
object ImagePalette8: TImage
|
|
||||||
Left = 376
|
|
||||||
Top = 56
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnDragOver = ImagePalette8DragOver
|
|
||||||
OnEndDrag = ImagePalette8EndDrag
|
|
||||||
OnMouseDown = ImagePalette8MouseDown
|
|
||||||
end
|
|
||||||
object ImagePalette9: TImage
|
|
||||||
Left = 448
|
|
||||||
Top = 56
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnDragOver = ImagePalette9DragOver
|
|
||||||
OnEndDrag = ImagePalette9EndDrag
|
|
||||||
OnMouseDown = ImagePalette9MouseDown
|
|
||||||
end
|
|
||||||
object Label11: TLabel
|
object Label11: TLabel
|
||||||
Left = 216
|
Left = 216
|
||||||
Top = 70
|
Top = 70
|
||||||
@@ -315,25 +252,6 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object ImagePalette3: TImage
|
|
||||||
Left = 376
|
|
||||||
Top = 8
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnDragOver = ImagePalette3DragOver
|
|
||||||
OnEndDrag = ImagePalette3EndDrag
|
|
||||||
OnMouseDown = ImagePalette3MouseDown
|
|
||||||
end
|
|
||||||
object ImagePalette4: TImage
|
|
||||||
Left = 448
|
|
||||||
Top = 8
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnEndDrag = ImagePalette4EndDrag
|
|
||||||
OnMouseDown = ImagePalette4MouseDown
|
|
||||||
end
|
|
||||||
object Label8: TLabel
|
object Label8: TLabel
|
||||||
Left = 360
|
Left = 360
|
||||||
Top = 22
|
Top = 22
|
||||||
@@ -360,16 +278,6 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object ImagePalette10: TImage
|
|
||||||
Left = 232
|
|
||||||
Top = 104
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnDragOver = ImagePalette10DragOver
|
|
||||||
OnEndDrag = ImageDiag10EndDrag
|
|
||||||
OnMouseDown = ImagePalette10MouseDown
|
|
||||||
end
|
|
||||||
object Label16: TLabel
|
object Label16: TLabel
|
||||||
Left = 208
|
Left = 208
|
||||||
Top = 118
|
Top = 118
|
||||||
@@ -383,16 +291,6 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object ImagePalette11: TImage
|
|
||||||
Left = 304
|
|
||||||
Top = 104
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnDragOver = ImagePalette11DragOver
|
|
||||||
OnEndDrag = ImageDiag11EndDrag
|
|
||||||
OnMouseDown = ImagePalette11MouseDown
|
|
||||||
end
|
|
||||||
object Label17: TLabel
|
object Label17: TLabel
|
||||||
Left = 280
|
Left = 280
|
||||||
Top = 118
|
Top = 118
|
||||||
@@ -406,22 +304,8 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object ImagePalette30: TImage
|
|
||||||
Left = 456
|
|
||||||
Top = 104
|
|
||||||
Width = 25
|
|
||||||
Height = 41
|
|
||||||
Hint = 'Signal'
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
ParentShowHint = False
|
|
||||||
ShowHint = True
|
|
||||||
Stretch = True
|
|
||||||
OnDragOver = ImagePalette30DragOver
|
|
||||||
OnEndDrag = ImagePalette30EndDrag
|
|
||||||
OnMouseDown = ImagePalette30MouseDown
|
|
||||||
end
|
|
||||||
object Label18: TLabel
|
object Label18: TLabel
|
||||||
Left = 424
|
Left = 352
|
||||||
Top = 118
|
Top = 118
|
||||||
Width = 18
|
Width = 18
|
||||||
Height = 19
|
Height = 19
|
||||||
@@ -433,16 +317,6 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object ImagePalette12: TImage
|
|
||||||
Left = 592
|
|
||||||
Top = 8
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnDragOver = ImagePalette12DragOver
|
|
||||||
OnEndDrag = ImagePalette12EndDrag
|
|
||||||
OnMouseDown = ImagePalette12MouseDown
|
|
||||||
end
|
|
||||||
object Label20: TLabel
|
object Label20: TLabel
|
||||||
Left = 568
|
Left = 568
|
||||||
Top = 22
|
Top = 22
|
||||||
@@ -469,16 +343,6 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object ImagePalette13: TImage
|
|
||||||
Left = 664
|
|
||||||
Top = 8
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnDragOver = ImagePalette13DragOver
|
|
||||||
OnEndDrag = ImagePalette13EndDrag
|
|
||||||
OnMouseDown = ImagePalette13MouseDown
|
|
||||||
end
|
|
||||||
object Label21: TLabel
|
object Label21: TLabel
|
||||||
Left = 712
|
Left = 712
|
||||||
Top = 22
|
Top = 22
|
||||||
@@ -492,16 +356,6 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object ImagePalette14: TImage
|
|
||||||
Left = 736
|
|
||||||
Top = 8
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnDragOver = ImagePalette14DragOver
|
|
||||||
OnEndDrag = ImagePalette14EndDrag
|
|
||||||
OnMouseDown = ImagePalette14MouseDown
|
|
||||||
end
|
|
||||||
object Label22: TLabel
|
object Label22: TLabel
|
||||||
Left = 784
|
Left = 784
|
||||||
Top = 22
|
Top = 22
|
||||||
@@ -515,26 +369,6 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object ImagePalette15: TImage
|
|
||||||
Left = 808
|
|
||||||
Top = 8
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnDragOver = ImagePalette15DragOver
|
|
||||||
OnEndDrag = ImagePalette15EndDrag
|
|
||||||
OnMouseDown = ImagePalette15MouseDown
|
|
||||||
end
|
|
||||||
object ImagePalette16: TImage
|
|
||||||
Left = 520
|
|
||||||
Top = 56
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnDragOver = ImagePalette16DragOver
|
|
||||||
OnEndDrag = ImagePalette16EndDrag
|
|
||||||
OnMouseDown = ImagePalette16MouseDown
|
|
||||||
end
|
|
||||||
object Label24: TLabel
|
object Label24: TLabel
|
||||||
Left = 496
|
Left = 496
|
||||||
Top = 70
|
Top = 70
|
||||||
@@ -548,16 +382,6 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object ImagePalette17: TImage
|
|
||||||
Left = 592
|
|
||||||
Top = 56
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnDragOver = ImagePalette17DragOver
|
|
||||||
OnEndDrag = ImagePalette17EndDrag
|
|
||||||
OnMouseDown = ImagePalette17MouseDown
|
|
||||||
end
|
|
||||||
object Label25: TLabel
|
object Label25: TLabel
|
||||||
Left = 568
|
Left = 568
|
||||||
Top = 70
|
Top = 70
|
||||||
@@ -571,16 +395,6 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object ImagePalette18: TImage
|
|
||||||
Left = 664
|
|
||||||
Top = 56
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnDragOver = ImagePalette18DragOver
|
|
||||||
OnEndDrag = ImagePalette18EndDrag
|
|
||||||
OnMouseDown = ImagePalette18MouseDown
|
|
||||||
end
|
|
||||||
object Label26: TLabel
|
object Label26: TLabel
|
||||||
Left = 640
|
Left = 640
|
||||||
Top = 70
|
Top = 70
|
||||||
@@ -594,16 +408,6 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object ImagePalette19: TImage
|
|
||||||
Left = 736
|
|
||||||
Top = 56
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnDragOver = ImagePalette19DragOver
|
|
||||||
OnEndDrag = ImagePalette19EndDrag
|
|
||||||
OnMouseDown = ImagePalette19MouseDown
|
|
||||||
end
|
|
||||||
object Label27: TLabel
|
object Label27: TLabel
|
||||||
Left = 712
|
Left = 712
|
||||||
Top = 70
|
Top = 70
|
||||||
@@ -617,16 +421,6 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object ImagePalette20: TImage
|
|
||||||
Left = 808
|
|
||||||
Top = 56
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
OnDragOver = ImagePalette20DragOver
|
|
||||||
OnEndDrag = ImagePalette20EndDrag
|
|
||||||
OnMouseDown = ImagePalette20MouseDown
|
|
||||||
end
|
|
||||||
object Label28: TLabel
|
object Label28: TLabel
|
||||||
Left = 784
|
Left = 784
|
||||||
Top = 70
|
Top = 70
|
||||||
@@ -640,19 +434,6 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object ImagePalette21: TImage
|
|
||||||
Left = 880
|
|
||||||
Top = 8
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
Hint = 'Croisement ou TJD ou TJS'
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
ParentShowHint = False
|
|
||||||
ShowHint = True
|
|
||||||
OnDragOver = ImagePalette21DragOver
|
|
||||||
OnEndDrag = ImagePalette21EndDrag
|
|
||||||
OnMouseDown = ImagePalette21MouseDown
|
|
||||||
end
|
|
||||||
object Label29: TLabel
|
object Label29: TLabel
|
||||||
Left = 856
|
Left = 856
|
||||||
Top = 22
|
Top = 22
|
||||||
@@ -666,19 +447,6 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object ImagePalette22: TImage
|
|
||||||
Left = 952
|
|
||||||
Top = 8
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
Hint = 'Croisement ou TJD ou TJS'
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
ParentShowHint = False
|
|
||||||
ShowHint = True
|
|
||||||
OnDragOver = ImagePalette22DragOver
|
|
||||||
OnEndDrag = ImagePalette22EndDrag
|
|
||||||
OnMouseDown = ImagePalette22MouseDown
|
|
||||||
end
|
|
||||||
object Label30: TLabel
|
object Label30: TLabel
|
||||||
Left = 928
|
Left = 928
|
||||||
Top = 22
|
Top = 22
|
||||||
@@ -692,25 +460,12 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object ImagePalette23: TImage
|
|
||||||
Left = 376
|
|
||||||
Top = 104
|
|
||||||
Width = 41
|
|
||||||
Height = 41
|
|
||||||
Hint = 'Quai'
|
|
||||||
DragMode = dmAutomatic
|
|
||||||
ParentShowHint = False
|
|
||||||
ShowHint = True
|
|
||||||
OnDragOver = ImagePalette23DragOver
|
|
||||||
OnEndDrag = ImagePalette23EndDrag
|
|
||||||
OnMouseDown = ImagePalette23MouseDown
|
|
||||||
end
|
|
||||||
object Label31: TLabel
|
object Label31: TLabel
|
||||||
Left = 352
|
Left = 424
|
||||||
Top = 118
|
Top = 118
|
||||||
Width = 18
|
Width = 18
|
||||||
Height = 19
|
Height = 19
|
||||||
Caption = '23'
|
Caption = '31'
|
||||||
Font.Charset = ANSI_CHARSET
|
Font.Charset = ANSI_CHARSET
|
||||||
Font.Color = clWindowText
|
Font.Color = clWindowText
|
||||||
Font.Height = -16
|
Font.Height = -16
|
||||||
@@ -718,8 +473,275 @@ object FormTCO: TFormTCO
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
|
object Label5: TLabel
|
||||||
|
Left = 856
|
||||||
|
Top = 70
|
||||||
|
Width = 18
|
||||||
|
Height = 19
|
||||||
|
Caption = '24'
|
||||||
|
Font.Charset = ANSI_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -16
|
||||||
|
Font.Name = 'Arial'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ParentFont = False
|
||||||
|
end
|
||||||
|
object Label32: TLabel
|
||||||
|
Left = 928
|
||||||
|
Top = 70
|
||||||
|
Width = 18
|
||||||
|
Height = 19
|
||||||
|
Caption = '25'
|
||||||
|
Font.Charset = ANSI_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -16
|
||||||
|
Font.Name = 'Arial'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ParentFont = False
|
||||||
|
end
|
||||||
|
object ImagePalette1: TImage
|
||||||
|
Left = 232
|
||||||
|
Top = 8
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette1DragOver
|
||||||
|
OnEndDrag = ImagePalette1EndDrag
|
||||||
|
OnMouseDown = ImagePalette1MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette2: TImage
|
||||||
|
Left = 304
|
||||||
|
Top = 8
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette2DragOver
|
||||||
|
OnEndDrag = ImagePalette2EndDrag
|
||||||
|
OnMouseDown = ImagePalette2MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette3: TImage
|
||||||
|
Left = 376
|
||||||
|
Top = 8
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette3DragOver
|
||||||
|
OnEndDrag = ImagePalette3EndDrag
|
||||||
|
OnMouseDown = ImagePalette3MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette4: TImage
|
||||||
|
Left = 448
|
||||||
|
Top = 8
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette4DragOver
|
||||||
|
OnEndDrag = ImagePalette4EndDrag
|
||||||
|
OnMouseDown = ImagePalette4MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette5: TImage
|
||||||
|
Left = 520
|
||||||
|
Top = 8
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette5DragOver
|
||||||
|
OnEndDrag = ImagePalette5EndDrag
|
||||||
|
OnMouseDown = ImagePalette5MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette12: TImage
|
||||||
|
Left = 592
|
||||||
|
Top = 8
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette12DragOver
|
||||||
|
OnEndDrag = ImagePalette12EndDrag
|
||||||
|
OnMouseDown = ImagePalette12MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette13: TImage
|
||||||
|
Left = 664
|
||||||
|
Top = 8
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette13DragOver
|
||||||
|
OnEndDrag = ImagePalette13EndDrag
|
||||||
|
OnMouseDown = ImagePalette13MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette14: TImage
|
||||||
|
Left = 736
|
||||||
|
Top = 8
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette14DragOver
|
||||||
|
OnEndDrag = ImagePalette14EndDrag
|
||||||
|
OnMouseDown = ImagePalette14MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette15: TImage
|
||||||
|
Left = 808
|
||||||
|
Top = 8
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette15DragOver
|
||||||
|
OnEndDrag = ImagePalette15EndDrag
|
||||||
|
OnMouseDown = ImagePalette15MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette21: TImage
|
||||||
|
Left = 880
|
||||||
|
Top = 8
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette21DragOver
|
||||||
|
OnEndDrag = ImagePalette21EndDrag
|
||||||
|
OnMouseDown = ImagePalette21MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette22: TImage
|
||||||
|
Left = 952
|
||||||
|
Top = 8
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette22DragOver
|
||||||
|
OnEndDrag = ImagePalette22EndDrag
|
||||||
|
OnMouseDown = ImagePalette22MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette6: TImage
|
||||||
|
Left = 232
|
||||||
|
Top = 56
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette6DragOver
|
||||||
|
OnEndDrag = ImagePalette6EndDrag
|
||||||
|
OnMouseDown = ImagePalette6MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette7: TImage
|
||||||
|
Left = 304
|
||||||
|
Top = 56
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette7DragOver
|
||||||
|
OnEndDrag = ImagePalette7EndDrag
|
||||||
|
OnMouseDown = ImagePalette7MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette9: TImage
|
||||||
|
Left = 448
|
||||||
|
Top = 56
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette9DragOver
|
||||||
|
OnEndDrag = ImagePalette9EndDrag
|
||||||
|
OnMouseDown = ImagePalette9MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette16: TImage
|
||||||
|
Left = 520
|
||||||
|
Top = 56
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette16DragOver
|
||||||
|
OnEndDrag = ImagePalette16EndDrag
|
||||||
|
OnMouseDown = ImagePalette16MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette17: TImage
|
||||||
|
Left = 592
|
||||||
|
Top = 56
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette17DragOver
|
||||||
|
OnEndDrag = ImagePalette17EndDrag
|
||||||
|
OnMouseDown = ImagePalette17MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette18: TImage
|
||||||
|
Left = 664
|
||||||
|
Top = 56
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette18DragOver
|
||||||
|
OnEndDrag = ImagePalette18EndDrag
|
||||||
|
OnMouseDown = ImagePalette18MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette19: TImage
|
||||||
|
Left = 736
|
||||||
|
Top = 56
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette19DragOver
|
||||||
|
OnEndDrag = ImagePalette19EndDrag
|
||||||
|
OnMouseDown = ImagePalette19MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette20: TImage
|
||||||
|
Left = 808
|
||||||
|
Top = 56
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette20DragOver
|
||||||
|
OnEndDrag = ImagePalette20EndDrag
|
||||||
|
OnMouseDown = ImagePalette20MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette24: TImage
|
||||||
|
Left = 880
|
||||||
|
Top = 56
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette24DragOver
|
||||||
|
OnEndDrag = ImagePalette24EndDrag
|
||||||
|
OnMouseDown = ImagePalette24MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette25: TImage
|
||||||
|
Left = 952
|
||||||
|
Top = 56
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette25DragOver
|
||||||
|
OnEndDrag = ImagePalette25EndDrag
|
||||||
|
OnMouseDown = ImagePalette25MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette10: TImage
|
||||||
|
Left = 232
|
||||||
|
Top = 104
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette10DragOver
|
||||||
|
OnEndDrag = ImagePalette10EndDrag
|
||||||
|
OnMouseDown = ImagePalette10MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette11: TImage
|
||||||
|
Left = 304
|
||||||
|
Top = 104
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette11DragOver
|
||||||
|
OnEndDrag = ImagePalette11EndDrag
|
||||||
|
OnMouseDown = ImagePalette11MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette31: TImage
|
||||||
|
Left = 448
|
||||||
|
Top = 104
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
Hint = 'Quai'
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
|
OnDragOver = ImagePalette31DragOver
|
||||||
|
OnEndDrag = ImagePalette31EndDrag
|
||||||
|
OnMouseDown = ImagePalette31MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette30: TImage
|
||||||
|
Left = 384
|
||||||
|
Top = 104
|
||||||
|
Width = 25
|
||||||
|
Height = 41
|
||||||
|
Hint = 'Signal'
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
|
Stretch = True
|
||||||
|
OnDragOver = ImagePalette30DragOver
|
||||||
|
OnEndDrag = ImagePalette30EndDrag
|
||||||
|
OnMouseDown = ImagePalette30MouseDown
|
||||||
|
end
|
||||||
|
object ImagePalette8: TImage
|
||||||
|
Left = 376
|
||||||
|
Top = 56
|
||||||
|
Width = 41
|
||||||
|
Height = 41
|
||||||
|
OnDragOver = ImagePalette8DragOver
|
||||||
|
OnEndDrag = ImagePalette8EndDrag
|
||||||
|
OnMouseDown = ImagePalette8MouseDown
|
||||||
|
end
|
||||||
object ButtonSauveTCO: TButton
|
object ButtonSauveTCO: TButton
|
||||||
Left = 1006
|
Left = 1016
|
||||||
Top = 48
|
Top = 48
|
||||||
Width = 92
|
Width = 92
|
||||||
Height = 33
|
Height = 33
|
||||||
@@ -730,7 +752,7 @@ object FormTCO: TFormTCO
|
|||||||
OnClick = ButtonSauveTCOClick
|
OnClick = ButtonSauveTCOClick
|
||||||
end
|
end
|
||||||
object ButtonRedessine: TButton
|
object ButtonRedessine: TButton
|
||||||
Left = 1006
|
Left = 1016
|
||||||
Top = 8
|
Top = 8
|
||||||
Width = 92
|
Width = 92
|
||||||
Height = 33
|
Height = 33
|
||||||
@@ -758,7 +780,7 @@ object FormTCO: TFormTCO
|
|||||||
OnClick = Button2Click
|
OnClick = Button2Click
|
||||||
end
|
end
|
||||||
object ButtonConfigTCO: TButton
|
object ButtonConfigTCO: TButton
|
||||||
Left = 1006
|
Left = 1016
|
||||||
Top = 88
|
Top = 88
|
||||||
Width = 92
|
Width = 92
|
||||||
Height = 33
|
Height = 33
|
||||||
@@ -768,8 +790,8 @@ object FormTCO: TFormTCO
|
|||||||
OnClick = ButtonConfigTCOClick
|
OnClick = ButtonConfigTCOClick
|
||||||
end
|
end
|
||||||
object ButtonSimu: TButton
|
object ButtonSimu: TButton
|
||||||
Left = 864
|
Left = 760
|
||||||
Top = 80
|
Top = 136
|
||||||
Width = 113
|
Width = 113
|
||||||
Height = 25
|
Height = 25
|
||||||
Caption = 'Simu canton occup'#233
|
Caption = 'Simu canton occup'#233
|
||||||
@@ -777,7 +799,7 @@ object FormTCO: TFormTCO
|
|||||||
OnClick = ButtonSimuClick
|
OnClick = ButtonSimuClick
|
||||||
end
|
end
|
||||||
object ButtonMasquer: TButton
|
object ButtonMasquer: TButton
|
||||||
Left = 1006
|
Left = 1016
|
||||||
Top = 128
|
Top = 128
|
||||||
Width = 92
|
Width = 92
|
||||||
Height = 33
|
Height = 33
|
||||||
@@ -948,7 +970,7 @@ object FormTCO: TFormTCO
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
object buttonRaz: TButton
|
object buttonRaz: TButton
|
||||||
Left = 902
|
Left = 912
|
||||||
Top = 128
|
Top = 128
|
||||||
Width = 92
|
Width = 92
|
||||||
Height = 33
|
Height = 33
|
||||||
@@ -969,8 +991,8 @@ object FormTCO: TFormTCO
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
object ButtonAfficheBandeau: TButton
|
object ButtonAfficheBandeau: TButton
|
||||||
Left = 1060
|
Left = 1070
|
||||||
Top = 465
|
Top = 415
|
||||||
Width = 57
|
Width = 57
|
||||||
Height = 33
|
Height = 33
|
||||||
Anchors = [akRight, akBottom]
|
Anchors = [akRight, akBottom]
|
||||||
|
|||||||
+1284
-496
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
+39
-34
@@ -19,7 +19,7 @@ object FormPlace: TFormPlace
|
|||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
Left = 32
|
Left = 40
|
||||||
Top = 8
|
Top = 8
|
||||||
Width = 229
|
Width = 229
|
||||||
Height = 20
|
Height = 20
|
||||||
@@ -123,22 +123,13 @@ object FormPlace: TFormPlace
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object Buttonferme: TButton
|
|
||||||
Left = 16
|
|
||||||
Top = 416
|
|
||||||
Width = 75
|
|
||||||
Height = 25
|
|
||||||
Caption = 'Fermer'
|
|
||||||
TabOrder = 0
|
|
||||||
OnClick = ButtonfermeClick
|
|
||||||
end
|
|
||||||
object ButtonInitAig: TButton
|
object ButtonInitAig: TButton
|
||||||
Left = 16
|
Left = 16
|
||||||
Top = 248
|
Top = 248
|
||||||
Width = 273
|
Width = 273
|
||||||
Height = 25
|
Height = 25
|
||||||
Caption = 'Positionner les aiguillages en position initiale'
|
Caption = 'Positionner les aiguillages en position initiale'
|
||||||
TabOrder = 1
|
TabOrder = 0
|
||||||
OnClick = ButtonInitAigClick
|
OnClick = ButtonInitAigClick
|
||||||
end
|
end
|
||||||
object ButtonSauve: TButton
|
object ButtonSauve: TButton
|
||||||
@@ -146,8 +137,13 @@ object FormPlace: TFormPlace
|
|||||||
Top = 376
|
Top = 376
|
||||||
Width = 273
|
Width = 273
|
||||||
Height = 25
|
Height = 25
|
||||||
|
Hint =
|
||||||
|
'Enregistre la configuration de placement dans le fichier de conf' +
|
||||||
|
'iguration'
|
||||||
Caption = 'Enregistrer la configuration de placement'
|
Caption = 'Enregistrer la configuration de placement'
|
||||||
TabOrder = 2
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
|
TabOrder = 1
|
||||||
OnClick = ButtonSauveClick
|
OnClick = ButtonSauveClick
|
||||||
end
|
end
|
||||||
object Edit1: TEdit
|
object Edit1: TEdit
|
||||||
@@ -158,7 +154,7 @@ object FormPlace: TFormPlace
|
|||||||
Hint = 'D'#233'tecteur recevant le train 1'
|
Hint = 'D'#233'tecteur recevant le train 1'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 3
|
TabOrder = 2
|
||||||
OnChange = Edit1Change
|
OnChange = Edit1Change
|
||||||
end
|
end
|
||||||
object Edit2: TEdit
|
object Edit2: TEdit
|
||||||
@@ -169,7 +165,7 @@ object FormPlace: TFormPlace
|
|||||||
Hint = 'D'#233'tecteur recevant le train 2'
|
Hint = 'D'#233'tecteur recevant le train 2'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 4
|
TabOrder = 3
|
||||||
OnChange = Edit2Change
|
OnChange = Edit2Change
|
||||||
end
|
end
|
||||||
object Edit3: TEdit
|
object Edit3: TEdit
|
||||||
@@ -180,7 +176,7 @@ object FormPlace: TFormPlace
|
|||||||
Hint = 'D'#233'tecteur recevant le train 3'
|
Hint = 'D'#233'tecteur recevant le train 3'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 5
|
TabOrder = 4
|
||||||
OnChange = Edit3Change
|
OnChange = Edit3Change
|
||||||
end
|
end
|
||||||
object Edit4: TEdit
|
object Edit4: TEdit
|
||||||
@@ -191,7 +187,7 @@ object FormPlace: TFormPlace
|
|||||||
Hint = 'D'#233'tecteur recevant le train 4'
|
Hint = 'D'#233'tecteur recevant le train 4'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 6
|
TabOrder = 5
|
||||||
OnChange = Edit4Change
|
OnChange = Edit4Change
|
||||||
end
|
end
|
||||||
object Edit5: TEdit
|
object Edit5: TEdit
|
||||||
@@ -202,7 +198,7 @@ object FormPlace: TFormPlace
|
|||||||
Hint = 'D'#233'tecteur recevant le train 5'
|
Hint = 'D'#233'tecteur recevant le train 5'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 7
|
TabOrder = 6
|
||||||
OnChange = Edit5Change
|
OnChange = Edit5Change
|
||||||
end
|
end
|
||||||
object Edit6: TEdit
|
object Edit6: TEdit
|
||||||
@@ -213,7 +209,7 @@ object FormPlace: TFormPlace
|
|||||||
Hint = 'D'#233'tecteur recevant le train 6'
|
Hint = 'D'#233'tecteur recevant le train 6'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 8
|
TabOrder = 7
|
||||||
OnChange = Edit6Change
|
OnChange = Edit6Change
|
||||||
end
|
end
|
||||||
object ButtonPlace: TButton
|
object ButtonPlace: TButton
|
||||||
@@ -222,7 +218,7 @@ object FormPlace: TFormPlace
|
|||||||
Width = 273
|
Width = 273
|
||||||
Height = 25
|
Height = 25
|
||||||
Caption = 'Placer les trains sur les d'#233'tecteurs ci-dessus'
|
Caption = 'Placer les trains sur les d'#233'tecteurs ci-dessus'
|
||||||
TabOrder = 9
|
TabOrder = 8
|
||||||
OnClick = ButtonPlaceClick
|
OnClick = ButtonPlaceClick
|
||||||
end
|
end
|
||||||
object ButtonLanceRoutage: TButton
|
object ButtonLanceRoutage: TButton
|
||||||
@@ -237,7 +233,7 @@ object FormPlace: TFormPlace
|
|||||||
Font.Name = 'MS Sans Serif'
|
Font.Name = 'MS Sans Serif'
|
||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
TabOrder = 10
|
TabOrder = 9
|
||||||
OnClick = ButtonLanceRoutageClick
|
OnClick = ButtonLanceRoutageClick
|
||||||
end
|
end
|
||||||
object Button1: TButton
|
object Button1: TButton
|
||||||
@@ -246,7 +242,7 @@ object FormPlace: TFormPlace
|
|||||||
Width = 81
|
Width = 81
|
||||||
Height = 25
|
Height = 25
|
||||||
Caption = 'Config trains'
|
Caption = 'Config trains'
|
||||||
TabOrder = 11
|
TabOrder = 10
|
||||||
OnClick = Button1Click
|
OnClick = Button1Click
|
||||||
end
|
end
|
||||||
object ButtonArretroutage: TButton
|
object ButtonArretroutage: TButton
|
||||||
@@ -255,7 +251,7 @@ object FormPlace: TFormPlace
|
|||||||
Width = 273
|
Width = 273
|
||||||
Height = 25
|
Height = 25
|
||||||
Caption = 'Arr'#234't du roulage'
|
Caption = 'Arr'#234't du roulage'
|
||||||
TabOrder = 12
|
TabOrder = 11
|
||||||
OnClick = ButtonArretroutageClick
|
OnClick = ButtonArretroutageClick
|
||||||
end
|
end
|
||||||
object CheckInverse1: TCheckBox
|
object CheckInverse1: TCheckBox
|
||||||
@@ -267,7 +263,7 @@ object FormPlace: TFormPlace
|
|||||||
Caption = 'sens inverse'
|
Caption = 'sens inverse'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 13
|
TabOrder = 12
|
||||||
OnClick = CheckInverse1Click
|
OnClick = CheckInverse1Click
|
||||||
end
|
end
|
||||||
object CheckInverse2: TCheckBox
|
object CheckInverse2: TCheckBox
|
||||||
@@ -279,7 +275,7 @@ object FormPlace: TFormPlace
|
|||||||
Caption = 'sens inverse'
|
Caption = 'sens inverse'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 14
|
TabOrder = 13
|
||||||
OnClick = CheckInverse2Click
|
OnClick = CheckInverse2Click
|
||||||
end
|
end
|
||||||
object CheckInverse3: TCheckBox
|
object CheckInverse3: TCheckBox
|
||||||
@@ -291,7 +287,7 @@ object FormPlace: TFormPlace
|
|||||||
Caption = 'sens inverse'
|
Caption = 'sens inverse'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 15
|
TabOrder = 14
|
||||||
OnClick = CheckInverse3Click
|
OnClick = CheckInverse3Click
|
||||||
end
|
end
|
||||||
object CheckInverse4: TCheckBox
|
object CheckInverse4: TCheckBox
|
||||||
@@ -303,7 +299,7 @@ object FormPlace: TFormPlace
|
|||||||
Caption = 'sens inverse'
|
Caption = 'sens inverse'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 16
|
TabOrder = 15
|
||||||
OnClick = CheckInverse4Click
|
OnClick = CheckInverse4Click
|
||||||
end
|
end
|
||||||
object CheckInverse5: TCheckBox
|
object CheckInverse5: TCheckBox
|
||||||
@@ -315,7 +311,7 @@ object FormPlace: TFormPlace
|
|||||||
Caption = 'sens inverse'
|
Caption = 'sens inverse'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 17
|
TabOrder = 16
|
||||||
OnClick = CheckInverse5Click
|
OnClick = CheckInverse5Click
|
||||||
end
|
end
|
||||||
object CheckInverse6: TCheckBox
|
object CheckInverse6: TCheckBox
|
||||||
@@ -327,7 +323,7 @@ object FormPlace: TFormPlace
|
|||||||
Caption = 'sens inverse'
|
Caption = 'sens inverse'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 18
|
TabOrder = 17
|
||||||
OnClick = CheckInverse6Click
|
OnClick = CheckInverse6Click
|
||||||
end
|
end
|
||||||
object EditDir1: TEdit
|
object EditDir1: TEdit
|
||||||
@@ -338,7 +334,7 @@ object FormPlace: TFormPlace
|
|||||||
Hint = 'D'#233'tecteur suivant vers lequel doit se diriger le train 1'
|
Hint = 'D'#233'tecteur suivant vers lequel doit se diriger le train 1'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 19
|
TabOrder = 18
|
||||||
OnChange = EditDir1Change
|
OnChange = EditDir1Change
|
||||||
end
|
end
|
||||||
object EditDir2: TEdit
|
object EditDir2: TEdit
|
||||||
@@ -349,7 +345,7 @@ object FormPlace: TFormPlace
|
|||||||
Hint = 'D'#233'tecteur suivant vers lequel doit se diriger le train 2'
|
Hint = 'D'#233'tecteur suivant vers lequel doit se diriger le train 2'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 20
|
TabOrder = 19
|
||||||
OnChange = EditDir2Change
|
OnChange = EditDir2Change
|
||||||
end
|
end
|
||||||
object EditDir3: TEdit
|
object EditDir3: TEdit
|
||||||
@@ -360,7 +356,7 @@ object FormPlace: TFormPlace
|
|||||||
Hint = 'D'#233'tecteur suivant vers lequel doit se diriger le train 3'
|
Hint = 'D'#233'tecteur suivant vers lequel doit se diriger le train 3'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 21
|
TabOrder = 20
|
||||||
OnChange = EditDir3Change
|
OnChange = EditDir3Change
|
||||||
end
|
end
|
||||||
object EditDir4: TEdit
|
object EditDir4: TEdit
|
||||||
@@ -371,7 +367,7 @@ object FormPlace: TFormPlace
|
|||||||
Hint = 'D'#233'tecteur suivant vers lequel doit se diriger le train 4'
|
Hint = 'D'#233'tecteur suivant vers lequel doit se diriger le train 4'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 22
|
TabOrder = 21
|
||||||
OnChange = EditDir4Change
|
OnChange = EditDir4Change
|
||||||
end
|
end
|
||||||
object EditDir5: TEdit
|
object EditDir5: TEdit
|
||||||
@@ -382,7 +378,7 @@ object FormPlace: TFormPlace
|
|||||||
Hint = 'D'#233'tecteur suivant vers lequel doit se diriger le train 5'
|
Hint = 'D'#233'tecteur suivant vers lequel doit se diriger le train 5'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 23
|
TabOrder = 22
|
||||||
OnChange = EditDir5Change
|
OnChange = EditDir5Change
|
||||||
end
|
end
|
||||||
object EditDir6: TEdit
|
object EditDir6: TEdit
|
||||||
@@ -393,7 +389,16 @@ object FormPlace: TFormPlace
|
|||||||
Hint = 'D'#233'tecteur suivant vers lequel doit se diriger le train 6'
|
Hint = 'D'#233'tecteur suivant vers lequel doit se diriger le train 6'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 24
|
TabOrder = 23
|
||||||
OnChange = EditDir6Change
|
OnChange = EditDir6Change
|
||||||
end
|
end
|
||||||
|
object BitBtn1: TBitBtn
|
||||||
|
Left = 16
|
||||||
|
Top = 416
|
||||||
|
Width = 73
|
||||||
|
Height = 25
|
||||||
|
TabOrder = 24
|
||||||
|
OnClick = BitBtn1Click
|
||||||
|
Kind = bkClose
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
+536
-520
File diff suppressed because it is too large
Load Diff
Binary file not shown.
+2
-2
@@ -23,8 +23,8 @@ var
|
|||||||
Lance_verif : integer;
|
Lance_verif : integer;
|
||||||
verifVersion,notificationVersion : boolean;
|
verifVersion,notificationVersion : boolean;
|
||||||
|
|
||||||
Const Version='5.6'; // sert à la comparaison de la version publiée
|
Const Version='5.7'; // sert à la comparaison de la version publiée
|
||||||
SousVersion=' '; // en cas d'absence de sous version mettre un espace
|
SousVersion=' '; // A B C ... en cas d'absence de sous version mettre un espace
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
|||||||
@@ -150,5 +150,11 @@ version 5.51 : Renforcement de la v
|
|||||||
version 5.52 : Correction bug exploitation TCO
|
version 5.52 : Correction bug exploitation TCO
|
||||||
version 5.6 : Ajout d'affichage d'informations supplémentaires
|
version 5.6 : Ajout d'affichage d'informations supplémentaires
|
||||||
Couleur de fond définissable pour chaque cellule du TCO ou une zone.
|
Couleur de fond définissable pour chaque cellule du TCO ou une zone.
|
||||||
|
Correction d'un bug sur les trackbar du TCO sous Windows 10/11
|
||||||
|
version 5.7 : Glisser-déposer du TCO avec les icônes de placement.
|
||||||
|
Vérification des incompatibilités de placement des icônes du TCO.
|
||||||
|
Gestion des passages à niveau par comptage/décomptage des trains.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user