V1.6
This commit is contained in:
BIN
UnitConfig.dcu
BIN
UnitConfig.dcu
Binary file not shown.
@@ -2,7 +2,7 @@ object FormConfig: TFormConfig
|
|||||||
Left = 316
|
Left = 316
|
||||||
Top = 238
|
Top = 238
|
||||||
Width = 598
|
Width = 598
|
||||||
Height = 340
|
Height = 382
|
||||||
Caption = 'Configuration g'#233'n'#233'rale'
|
Caption = 'Configuration g'#233'n'#233'rale'
|
||||||
Color = clBtnFace
|
Color = clBtnFace
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
@@ -16,7 +16,7 @@ object FormConfig: TFormConfig
|
|||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
object Label6: TLabel
|
object Label6: TLabel
|
||||||
Left = 128
|
Left = 128
|
||||||
Top = 248
|
Top = 288
|
||||||
Width = 332
|
Width = 332
|
||||||
Height = 13
|
Height = 13
|
||||||
Caption =
|
Caption =
|
||||||
@@ -41,7 +41,7 @@ object FormConfig: TFormConfig
|
|||||||
Left = 8
|
Left = 8
|
||||||
Top = 8
|
Top = 8
|
||||||
Width = 265
|
Width = 265
|
||||||
Height = 89
|
Height = 81
|
||||||
Caption = 'CDM Rail'
|
Caption = 'CDM Rail'
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
@@ -151,7 +151,7 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object Button1: TButton
|
object Button1: TButton
|
||||||
Left = 112
|
Left = 112
|
||||||
Top = 272
|
Top = 312
|
||||||
Width = 105
|
Width = 105
|
||||||
Height = 25
|
Height = 25
|
||||||
Caption = 'Appliquer et Fermer'
|
Caption = 'Appliquer et Fermer'
|
||||||
@@ -160,7 +160,7 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object GroupBox3: TGroupBox
|
object GroupBox3: TGroupBox
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 104
|
Top = 96
|
||||||
Width = 265
|
Width = 265
|
||||||
Height = 105
|
Height = 105
|
||||||
Caption = 'Acc'#232's r'#233'seau '#224' l'#39'interface vers la centrale LENZ'
|
Caption = 'Acc'#232's r'#233'seau '#224' l'#39'interface vers la centrale LENZ'
|
||||||
@@ -246,11 +246,35 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object Button2: TButton
|
object Button2: TButton
|
||||||
Left = 352
|
Left = 352
|
||||||
Top = 272
|
Top = 312
|
||||||
Width = 113
|
Width = 113
|
||||||
Height = 25
|
Height = 25
|
||||||
Caption = 'Fermer sans appliquer'
|
Caption = 'Fermer sans appliquer'
|
||||||
TabOrder = 5
|
TabOrder = 5
|
||||||
OnClick = Button2Click
|
OnClick = Button2Click
|
||||||
end
|
end
|
||||||
|
object GroupBox5: TGroupBox
|
||||||
|
Left = 8
|
||||||
|
Top = 208
|
||||||
|
Width = 265
|
||||||
|
Height = 57
|
||||||
|
Caption = 'Versions du programme'
|
||||||
|
TabOrder = 6
|
||||||
|
object CheckVerifVersion: TCheckBox
|
||||||
|
Left = 8
|
||||||
|
Top = 16
|
||||||
|
Width = 249
|
||||||
|
Height = 17
|
||||||
|
Caption = 'V'#233'rifications de nouvelle version au d'#233'marrage'
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object CheckInfoVersion: TCheckBox
|
||||||
|
Left = 8
|
||||||
|
Top = 32
|
||||||
|
Width = 241
|
||||||
|
Height = 17
|
||||||
|
Caption = 'Information sur la version actuelle'
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
Dialogs, ExtCtrls, StdCtrls ;
|
Dialogs, ExtCtrls, StdCtrls , verif_version ;
|
||||||
|
|
||||||
type
|
type
|
||||||
TFormConfig = class(TForm)
|
TFormConfig = class(TForm)
|
||||||
@@ -37,6 +37,9 @@ type
|
|||||||
Label10: TLabel;
|
Label10: TLabel;
|
||||||
Label11: TLabel;
|
Label11: TLabel;
|
||||||
Label12: TLabel;
|
Label12: TLabel;
|
||||||
|
GroupBox5: TGroupBox;
|
||||||
|
CheckVerifVersion: TCheckBox;
|
||||||
|
CheckInfoVersion: TCheckBox;
|
||||||
procedure Button1Click(Sender: TObject);
|
procedure Button1Click(Sender: TObject);
|
||||||
procedure Button2Click(Sender: TObject);
|
procedure Button2Click(Sender: TObject);
|
||||||
procedure FormActivate(Sender: TObject);
|
procedure FormActivate(Sender: TObject);
|
||||||
@@ -260,15 +263,15 @@ begin
|
|||||||
if changeInterface then
|
if changeInterface then
|
||||||
begin
|
begin
|
||||||
if AdresseIP<>'0' then
|
if AdresseIP<>'0' then
|
||||||
|
begin
|
||||||
|
Affiche('demande connexion à la centrale Lenz par Ethernet',clyellow);
|
||||||
|
With Formprinc do
|
||||||
begin
|
begin
|
||||||
Affiche('demande connexion à la centrale Lenz par Ethernet',clyellow);
|
ClientSocketLenz.port:=port;
|
||||||
With Formprinc do
|
ClientSocketLenz.Address:=AdresseIP;
|
||||||
begin
|
ClientSocketLenz.Open;
|
||||||
ClientSocketLenz.port:=port;
|
end;
|
||||||
ClientSocketLenz.Address:=AdresseIP;
|
end
|
||||||
ClientSocketLenz.Open;
|
|
||||||
end;
|
|
||||||
end
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if changeUSB then
|
if changeUSB then
|
||||||
@@ -277,6 +280,9 @@ begin
|
|||||||
connecte_USB;
|
connecte_USB;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
verifVersion:=CheckVerifVersion.Checked;
|
||||||
|
notificationVersion:=CheckInfoVersion.Checked;
|
||||||
|
|
||||||
formConfig.close;
|
formConfig.close;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -305,6 +311,10 @@ begin
|
|||||||
if Valeur_entete=0 then RadioButton1.checked:=true;
|
if Valeur_entete=0 then RadioButton1.checked:=true;
|
||||||
if Valeur_entete=1 then RadioButton2.checked:=true;
|
if Valeur_entete=1 then RadioButton2.checked:=true;
|
||||||
if Valeur_entete=2 then RadioButton3.checked:=true;
|
if Valeur_entete=2 then RadioButton3.checked:=true;
|
||||||
|
|
||||||
|
CheckVerifVersion.Checked:=verifVersion;
|
||||||
|
CheckInfoVersion.Checked:=notificationVersion;
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
Binary file not shown.
@@ -1,7 +1,7 @@
|
|||||||
object FormConfigTCO: TFormConfigTCO
|
object FormConfigTCO: TFormConfigTCO
|
||||||
Left = 542
|
Left = 542
|
||||||
Top = 389
|
Top = 389
|
||||||
Width = 405
|
Width = 360
|
||||||
Height = 251
|
Height = 251
|
||||||
Caption = 'Configuration du TCO'
|
Caption = 'Configuration du TCO'
|
||||||
Color = clBtnFace
|
Color = clBtnFace
|
||||||
@@ -11,7 +11,7 @@ object FormConfigTCO: TFormConfigTCO
|
|||||||
Font.Name = 'MS Sans Serif'
|
Font.Name = 'MS Sans Serif'
|
||||||
Font.Style = []
|
Font.Style = []
|
||||||
OldCreateOrder = False
|
OldCreateOrder = False
|
||||||
OnCreate = FormCreate
|
OnActivate = FormActivate
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
@@ -42,34 +42,14 @@ object FormConfigTCO: TFormConfigTCO
|
|||||||
Height = 13
|
Height = 13
|
||||||
Caption = 'Nombre de cellules en vertical:'
|
Caption = 'Nombre de cellules en vertical:'
|
||||||
end
|
end
|
||||||
object LabelNbCellX: TLabel
|
object LabelErreur: TLabel
|
||||||
Left = 192
|
Left = 35
|
||||||
Top = 52
|
Top = 144
|
||||||
Width = 96
|
Width = 3
|
||||||
Height = 20
|
Height = 13
|
||||||
Caption = 'LabelNbCellX'
|
|
||||||
Font.Charset = DEFAULT_CHARSET
|
|
||||||
Font.Color = clWindowText
|
|
||||||
Font.Height = -16
|
|
||||||
Font.Name = 'MS Sans Serif'
|
|
||||||
Font.Style = []
|
|
||||||
ParentFont = False
|
|
||||||
end
|
|
||||||
object LabelNbCellY: TLabel
|
|
||||||
Left = 192
|
|
||||||
Top = 76
|
|
||||||
Width = 96
|
|
||||||
Height = 20
|
|
||||||
Caption = 'LabelNbCellX'
|
|
||||||
Font.Charset = DEFAULT_CHARSET
|
|
||||||
Font.Color = clWindowText
|
|
||||||
Font.Height = -16
|
|
||||||
Font.Name = 'MS Sans Serif'
|
|
||||||
Font.Style = []
|
|
||||||
ParentFont = False
|
|
||||||
end
|
end
|
||||||
object ButtonOK: TButton
|
object ButtonOK: TButton
|
||||||
Left = 168
|
Left = 240
|
||||||
Top = 176
|
Top = 176
|
||||||
Width = 75
|
Width = 75
|
||||||
Height = 25
|
Height = 25
|
||||||
@@ -110,4 +90,20 @@ object FormConfigTCO: TFormConfigTCO
|
|||||||
Caption = 'dessine grille'
|
Caption = 'dessine grille'
|
||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
end
|
end
|
||||||
|
object EditNbCellX: TEdit
|
||||||
|
Left = 184
|
||||||
|
Top = 56
|
||||||
|
Width = 49
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 5
|
||||||
|
Text = 'EditNbCellX'
|
||||||
|
end
|
||||||
|
object EditNbCellY: TEdit
|
||||||
|
Left = 184
|
||||||
|
Top = 80
|
||||||
|
Width = 49
|
||||||
|
Height = 21
|
||||||
|
TabOrder = 6
|
||||||
|
Text = 'EditNbCellY'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -15,13 +15,14 @@ type
|
|||||||
Label2: TLabel;
|
Label2: TLabel;
|
||||||
Label3: TLabel;
|
Label3: TLabel;
|
||||||
Label4: TLabel;
|
Label4: TLabel;
|
||||||
LabelNbCellX: TLabel;
|
|
||||||
LabelNbCellY: TLabel;
|
|
||||||
ButtonDessine: TButton;
|
ButtonDessine: TButton;
|
||||||
CheckDessineGrille: TCheckBox;
|
CheckDessineGrille: TCheckBox;
|
||||||
|
EditNbCellX: TEdit;
|
||||||
|
EditNbCellY: TEdit;
|
||||||
|
LabelErreur: TLabel;
|
||||||
procedure ButtonOKClick(Sender: TObject);
|
procedure ButtonOKClick(Sender: TObject);
|
||||||
procedure FormCreate(Sender: TObject);
|
|
||||||
procedure ButtonDessineClick(Sender: TObject);
|
procedure ButtonDessineClick(Sender: TObject);
|
||||||
|
procedure FormActivate(Sender: TObject);
|
||||||
private
|
private
|
||||||
{ Déclarations privées }
|
{ Déclarations privées }
|
||||||
public
|
public
|
||||||
@@ -38,50 +39,85 @@ uses UnitPrinc;
|
|||||||
|
|
||||||
{$R *.dfm}
|
{$R *.dfm}
|
||||||
|
|
||||||
procedure TFormConfigTCO.ButtonOKClick(Sender: TObject);
|
function verif_config_TCO : boolean; // renvoie true si ok
|
||||||
var i,erreur : integer;
|
var erreur : integer;
|
||||||
|
nokNbX,nokNbY,nokHt,nokLg : boolean;
|
||||||
begin
|
begin
|
||||||
Val(EditTailleCellX.Text,i,erreur);
|
with formConfigTCO do
|
||||||
LargeurCell:=i;
|
|
||||||
Val(EditTailleCellY.Text,i,erreur);
|
|
||||||
HauteurCell:=i;
|
|
||||||
with formTCO do
|
|
||||||
begin
|
begin
|
||||||
ImageTCO.Width:=LargeurCell*NbreCellX;
|
Val(EditNbCellX.Text,NbreCellX,erreur);
|
||||||
ImageTCO.Height:=HauteurCell*NbreCellY;
|
nokNbX:=erreur<>0;
|
||||||
|
if nokNbX then LabelErreur.caption:='Erreur nombre de cellules X';
|
||||||
|
nokNbX:=(NbreCellX<20) or (NbreCellX>MaxCellX);
|
||||||
|
if nokNbX then LabelErreur.caption:='Erreur: nombre de cellules X: mini=20 maxi='+IntToSTR(MaxCellX);
|
||||||
|
|
||||||
|
Val(EditNbCellY.Text,NbreCellY,erreur);
|
||||||
|
nokNbY:=erreur<>0;
|
||||||
|
if nokNbY then LabelErreur.caption:='Erreur: nombre de cellules Y';
|
||||||
|
nokNbY:=nokNbY or (NbreCellY<10) or (NbreCellY>MaxCellY);
|
||||||
|
if nokNbY then LabelErreur.caption:='Erreur: nombre de cellules Y: mini=10 maxi='+IntToSTR(MaxCellY);
|
||||||
|
|
||||||
|
Val(EditTailleCellX.Text,LargeurCell,erreur);
|
||||||
|
nokLg:=erreur<>0;
|
||||||
|
if nokLg then LabelErreur.caption:='Erreur largeur de cellules';
|
||||||
|
nokLg:=nokLg or (LargeurCell<20) or (LargeurCell>50) ;
|
||||||
|
if nokLg then LabelErreur.caption:='Erreur: Tailles des cellules - largeur cellules mini=20 maxi=50';
|
||||||
|
|
||||||
|
Val(EditTailleCellY.Text,HauteurCell,erreur);
|
||||||
|
nokHt:=erreur<>0;
|
||||||
|
if nokHt then LabelErreur.caption:='Erreur hauteur de cellules';
|
||||||
|
nokHt:=nokHt or (HauteurCell<20) or (HauteurCell>50) ;
|
||||||
|
if nokHt then LabelErreur.caption:='Erreur: Tailles des cellules - hauteur cellules mini=20 maxi=50';
|
||||||
|
|
||||||
|
AvecGrille:=checkDessineGrille.Checked;
|
||||||
end;
|
end;
|
||||||
AvecGrille:=checkDessineGrille.Checked;
|
verif_config_TCO:=not(nokNbX or nokNbY or nokHt or nokLg);
|
||||||
formTCO.affiche_TCO;
|
|
||||||
close;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfigTCO.FormCreate(Sender: TObject);
|
procedure TFormConfigTCO.ButtonOKClick(Sender: TObject);
|
||||||
|
var i : integer;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
EditTailleCellX.Text:=IntToSTR(LargeurCell);
|
if verif_config_TCO then
|
||||||
EditTailleCellY.Text:=IntToSTR(HauteurCell);
|
begin
|
||||||
LabelNbCellX.Caption:=IntToSTR(NbreCellX);
|
with formTCO do
|
||||||
LabelNbCellY.Caption:=IntToSTR(NbreCellY);
|
begin
|
||||||
|
ImageTCO.Width:=LargeurCell*NbreCellX;
|
||||||
|
ImageTCO.Height:=HauteurCell*NbreCellY;
|
||||||
|
end;
|
||||||
|
AvecGrille:=checkDessineGrille.Checked;
|
||||||
|
formTCO.affiche_TCO;
|
||||||
|
LabelErreur.caption:='';
|
||||||
|
close;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
procedure TFormConfigTCO.ButtonDessineClick(Sender: TObject);
|
procedure TFormConfigTCO.ButtonDessineClick(Sender: TObject);
|
||||||
var i,erreur : integer;
|
var i,erreur : integer;
|
||||||
r : Trect;
|
r : Trect;
|
||||||
c : tCanvas;
|
c : tCanvas;
|
||||||
begin
|
begin
|
||||||
|
if verif_config_TCO then
|
||||||
Val(EditTailleCellX.Text,i,erreur);
|
|
||||||
LargeurCell:=i;
|
|
||||||
Val(EditTailleCellY.Text,i,erreur);
|
|
||||||
HauteurCell:=i;
|
|
||||||
with formTCO do
|
|
||||||
begin
|
begin
|
||||||
ImageTCO.Width:=LargeurCell*NbreCellX;
|
with formTCO do
|
||||||
ImageTCO.Height:=HauteurCell*NbreCellY;
|
begin
|
||||||
|
ImageTCO.Width:=LargeurCell*NbreCellX;
|
||||||
|
ImageTCO.Height:=HauteurCell*NbreCellY;
|
||||||
|
end;
|
||||||
|
formTCO.affiche_TCO;
|
||||||
end;
|
end;
|
||||||
formTCO.affiche_TCO;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
procedure TFormConfigTCO.FormActivate(Sender: TObject);
|
||||||
|
begin
|
||||||
|
EditTailleCellX.Text:=IntToSTR(LargeurCell);
|
||||||
|
EditTailleCellY.Text:=IntToSTR(HauteurCell);
|
||||||
|
EditNbCellX.Text:=IntToSTR(NbreCellX);
|
||||||
|
EditNbCellY.Text:=IntToSTR(NbreCellY);
|
||||||
|
checkDessineGrille.Checked:=AvecGrille;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
BIN
UnitDebug.dcu
BIN
UnitDebug.dcu
Binary file not shown.
BIN
UnitPilote.dcu
BIN
UnitPilote.dcu
Binary file not shown.
BIN
UnitPrinc.dcu
BIN
UnitPrinc.dcu
Binary file not shown.
343
UnitPrinc.dfm
343
UnitPrinc.dfm
@@ -1,11 +1,9 @@
|
|||||||
object FormPrinc: TFormPrinc
|
object FormPrinc: TFormPrinc
|
||||||
Left = 56
|
Left = 30
|
||||||
Top = 197
|
Top = 270
|
||||||
AutoSize = True
|
Width = 1212
|
||||||
BorderStyle = bsSingle
|
Height = 664
|
||||||
Caption = 'Client TCP-IP CDM Rail ou USB - syst'#232'me LENZ'
|
Caption = 'Client TCP-IP CDM Rail ou USB - syst'#232'me LENZ'
|
||||||
ClientHeight = 606
|
|
||||||
ClientWidth = 1196
|
|
||||||
Color = clBtnFace
|
Color = clBtnFace
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clWindowText
|
Font.Color = clWindowText
|
||||||
@@ -15,9 +13,13 @@ object FormPrinc: TFormPrinc
|
|||||||
Menu = MainMenu1
|
Menu = MainMenu1
|
||||||
OldCreateOrder = False
|
OldCreateOrder = False
|
||||||
Position = poScreenCenter
|
Position = poScreenCenter
|
||||||
|
Scaled = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
OnClose = FormClose
|
OnClose = FormClose
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
|
DesignSize = (
|
||||||
|
1196
|
||||||
|
606)
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
object LabelTitre: TLabel
|
object LabelTitre: TLabel
|
||||||
@@ -33,19 +35,6 @@ object FormPrinc: TFormPrinc
|
|||||||
Font.Style = [fsBold, fsItalic]
|
Font.Style = [fsBold, fsItalic]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object LabelEtat: TLabel
|
|
||||||
Left = 456
|
|
||||||
Top = 16
|
|
||||||
Width = 152
|
|
||||||
Height = 18
|
|
||||||
Caption = 'Initialisations en cours'
|
|
||||||
Font.Charset = ANSI_CHARSET
|
|
||||||
Font.Color = clWindowText
|
|
||||||
Font.Height = -16
|
|
||||||
Font.Name = 'Arial'
|
|
||||||
Font.Style = []
|
|
||||||
ParentFont = False
|
|
||||||
end
|
|
||||||
object Image9feux: TImage
|
object Image9feux: TImage
|
||||||
Left = 384
|
Left = 384
|
||||||
Top = 0
|
Top = 0
|
||||||
@@ -678,8 +667,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image2feux: TImage
|
object Image2feux: TImage
|
||||||
Left = 1096
|
Left = 776
|
||||||
Top = 136
|
Top = 128
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 57
|
Height = 57
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -752,8 +741,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image2Dir: TImage
|
object Image2Dir: TImage
|
||||||
Left = 968
|
Left = 696
|
||||||
Top = 48
|
Top = 184
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 25
|
Height = 25
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -827,8 +816,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image3Dir: TImage
|
object Image3Dir: TImage
|
||||||
Left = 1008
|
Left = 768
|
||||||
Top = 48
|
Top = 136
|
||||||
Width = 49
|
Width = 49
|
||||||
Height = 25
|
Height = 25
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -905,8 +894,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image4Dir: TImage
|
object Image4Dir: TImage
|
||||||
Left = 1056
|
Left = 816
|
||||||
Top = 48
|
Top = 128
|
||||||
Width = 57
|
Width = 57
|
||||||
Height = 25
|
Height = 25
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -993,8 +982,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image5Dir: TImage
|
object Image5Dir: TImage
|
||||||
Left = 1112
|
Left = 664
|
||||||
Top = 48
|
Top = 120
|
||||||
Width = 65
|
Width = 65
|
||||||
Height = 25
|
Height = 25
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -1091,8 +1080,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image6Dir: TImage
|
object Image6Dir: TImage
|
||||||
Left = 1112
|
Left = 808
|
||||||
Top = 80
|
Top = 152
|
||||||
Width = 81
|
Width = 81
|
||||||
Height = 25
|
Height = 25
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -1198,41 +1187,27 @@ object FormPrinc: TFormPrinc
|
|||||||
0000}
|
0000}
|
||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Label1: TLabel
|
object LabelEtat: TLabel
|
||||||
Left = 656
|
Left = 456
|
||||||
Top = 148
|
Top = 16
|
||||||
Width = 89
|
Width = 152
|
||||||
Height = 13
|
Height = 18
|
||||||
Caption = 'Nombre de trains : '
|
Anchors = [akTop, akRight]
|
||||||
end
|
Caption = 'Initialisations en cours'
|
||||||
object LabelNbTrains: TLabel
|
|
||||||
Left = 760
|
|
||||||
Top = 144
|
|
||||||
Width = 9
|
|
||||||
Height = 19
|
|
||||||
Caption = '0'
|
|
||||||
Font.Charset = ANSI_CHARSET
|
Font.Charset = ANSI_CHARSET
|
||||||
Font.Color = clBlack
|
Font.Color = clWindowText
|
||||||
Font.Height = -16
|
Font.Height = -16
|
||||||
Font.Name = 'Arial'
|
Font.Name = 'Arial'
|
||||||
Font.Style = [fsBold]
|
Font.Style = []
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object BoutVersion: TButton
|
|
||||||
Left = 1008
|
|
||||||
Top = 16
|
|
||||||
Width = 83
|
|
||||||
Height = 33
|
|
||||||
Caption = 'Dem version'
|
|
||||||
TabOrder = 0
|
|
||||||
OnClick = BoutVersionClick
|
|
||||||
end
|
|
||||||
object ListBox1: TListBox
|
object ListBox1: TListBox
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 48
|
Top = 48
|
||||||
Width = 633
|
Width = 633
|
||||||
Height = 520
|
Height = 520
|
||||||
Style = lbOwnerDrawFixed
|
Style = lbOwnerDrawFixed
|
||||||
|
Anchors = [akLeft, akTop, akRight, akBottom]
|
||||||
Color = clBlack
|
Color = clBlack
|
||||||
Font.Charset = ANSI_CHARSET
|
Font.Charset = ANSI_CHARSET
|
||||||
Font.Color = clBlue
|
Font.Color = clBlue
|
||||||
@@ -1241,34 +1216,31 @@ object FormPrinc: TFormPrinc
|
|||||||
Font.Style = []
|
Font.Style = []
|
||||||
ItemHeight = 16
|
ItemHeight = 16
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
TabOrder = 1
|
TabOrder = 0
|
||||||
OnDrawItem = ListBox1DrawItem
|
OnDrawItem = ListBox1DrawItem
|
||||||
end
|
end
|
||||||
object BoutonRaf: TButton
|
|
||||||
Left = 912
|
|
||||||
Top = 16
|
|
||||||
Width = 89
|
|
||||||
Height = 33
|
|
||||||
Caption = 'Rafraichissement'
|
|
||||||
TabOrder = 2
|
|
||||||
OnClick = BoutonRafClick
|
|
||||||
end
|
|
||||||
object ScrollBox1: TScrollBox
|
object ScrollBox1: TScrollBox
|
||||||
Left = 648
|
Left = 648
|
||||||
Top = 168
|
Top = 176
|
||||||
Width = 537
|
Width = 537
|
||||||
Height = 405
|
Height = 393
|
||||||
|
HorzScrollBar.Smooth = True
|
||||||
|
HorzScrollBar.Tracking = True
|
||||||
|
VertScrollBar.Smooth = True
|
||||||
|
VertScrollBar.Tracking = True
|
||||||
|
Anchors = [akTop, akRight, akBottom]
|
||||||
Color = clWhite
|
Color = clWhite
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
TabOrder = 3
|
TabOrder = 1
|
||||||
end
|
end
|
||||||
object GroupBox1: TGroupBox
|
object GroupBox1: TGroupBox
|
||||||
Left = 656
|
Left = 648
|
||||||
Top = 8
|
Top = 0
|
||||||
Width = 249
|
Width = 249
|
||||||
Height = 129
|
Height = 129
|
||||||
|
Anchors = [akTop, akRight]
|
||||||
Caption = 'Commande d'#39'accessoires'
|
Caption = 'Commande d'#39'accessoires'
|
||||||
TabOrder = 4
|
TabOrder = 2
|
||||||
object Label2: TLabel
|
object Label2: TLabel
|
||||||
Left = 7
|
Left = 7
|
||||||
Top = 16
|
Top = 16
|
||||||
@@ -1309,17 +1281,6 @@ object FormPrinc: TFormPrinc
|
|||||||
Text = '1'
|
Text = '1'
|
||||||
OnEnter = EditvalEnter
|
OnEnter = EditvalEnter
|
||||||
end
|
end
|
||||||
object ButtonCommande: TButton
|
|
||||||
Left = 124
|
|
||||||
Top = 24
|
|
||||||
Width = 109
|
|
||||||
Height = 33
|
|
||||||
Hint = 'Ecriture des accessoires DCC'
|
|
||||||
Caption = 'Envoi commande'
|
|
||||||
TabOrder = 2
|
|
||||||
WordWrap = True
|
|
||||||
OnClick = ButtonCommandeClick
|
|
||||||
end
|
|
||||||
object ButtonEcrCV: TButton
|
object ButtonEcrCV: TButton
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 64
|
Top = 64
|
||||||
@@ -1327,7 +1288,7 @@ object FormPrinc: TFormPrinc
|
|||||||
Height = 25
|
Height = 25
|
||||||
Hint = 'Ecriture CV en mode direct sur voie de programmation'
|
Hint = 'Ecriture CV en mode direct sur voie de programmation'
|
||||||
Caption = 'Ecriture CV - 1 '#224' 255 par bus XpressNet'
|
Caption = 'Ecriture CV - 1 '#224' 255 par bus XpressNet'
|
||||||
TabOrder = 3
|
TabOrder = 2
|
||||||
WordWrap = True
|
WordWrap = True
|
||||||
OnClick = ButtonEcrCVClick
|
OnClick = ButtonEcrCVClick
|
||||||
end
|
end
|
||||||
@@ -1339,28 +1300,20 @@ object FormPrinc: TFormPrinc
|
|||||||
Hint = 'Lecture CV en mode direct sur voie de programmation'
|
Hint = 'Lecture CV en mode direct sur voie de programmation'
|
||||||
Caption = 'Lecture CV - 1 '#224' 255 par le bus XpressNet'
|
Caption = 'Lecture CV - 1 '#224' 255 par le bus XpressNet'
|
||||||
Enabled = False
|
Enabled = False
|
||||||
TabOrder = 4
|
TabOrder = 3
|
||||||
OnClick = ButtonLitCVClick
|
OnClick = ButtonLitCVClick
|
||||||
end
|
end
|
||||||
end
|
object ButtonCommande: TButton
|
||||||
object ButtonTest: TButton
|
Left = 124
|
||||||
Left = 912
|
Top = 24
|
||||||
Top = 96
|
Width = 109
|
||||||
Width = 89
|
Height = 33
|
||||||
Height = 33
|
Hint = 'Ecriture des accessoires DCC'
|
||||||
Caption = 'Demande '#233'tat r'#233'trosignalisation'
|
Caption = 'Envoi commande'
|
||||||
TabOrder = 5
|
TabOrder = 4
|
||||||
WordWrap = True
|
WordWrap = True
|
||||||
OnClick = ButtonTestClick
|
OnClick = ButtonCommandeClick
|
||||||
end
|
end
|
||||||
object ButtonInfo: TButton
|
|
||||||
Left = 1008
|
|
||||||
Top = 56
|
|
||||||
Width = 81
|
|
||||||
Height = 33
|
|
||||||
Caption = 'Informations'
|
|
||||||
TabOrder = 6
|
|
||||||
OnClick = ButtonInfoClick
|
|
||||||
end
|
end
|
||||||
object StatusBar1: TStatusBar
|
object StatusBar1: TStatusBar
|
||||||
Left = 0
|
Left = 0
|
||||||
@@ -1380,55 +1333,138 @@ object FormPrinc: TFormPrinc
|
|||||||
2143341208000000ED030000ED03000001568A64000006000000010000040000
|
2143341208000000ED030000ED03000001568A64000006000000010000040000
|
||||||
00020000802500000000080000000000000000003F00000011000000}
|
00020000802500000000080000000000000000003F00000011000000}
|
||||||
end
|
end
|
||||||
object loco: TButton
|
object Panel1: TPanel
|
||||||
Left = 1096
|
|
||||||
Top = 16
|
|
||||||
Width = 75
|
|
||||||
Height = 33
|
|
||||||
Caption = 'loco'
|
|
||||||
TabOrder = 9
|
|
||||||
OnClick = locoClick
|
|
||||||
end
|
|
||||||
object ButtonAffDebug: TButton
|
|
||||||
Left = 912
|
Left = 912
|
||||||
Top = 56
|
Top = 0
|
||||||
Width = 89
|
Width = 273
|
||||||
Height = 33
|
Height = 169
|
||||||
Caption = 'Affiche debug'
|
Anchors = [akTop, akRight]
|
||||||
TabOrder = 10
|
Caption = 'Panel1'
|
||||||
OnClick = ButtonAffDebugClick
|
TabOrder = 5
|
||||||
|
object BoutonRaf: TButton
|
||||||
|
Left = 8
|
||||||
|
Top = 8
|
||||||
|
Width = 89
|
||||||
|
Height = 33
|
||||||
|
Caption = 'Rafraichissement'
|
||||||
|
TabOrder = 0
|
||||||
|
OnClick = BoutonRafClick
|
||||||
|
end
|
||||||
|
object ButtonAffDebug: TButton
|
||||||
|
Left = 8
|
||||||
|
Top = 48
|
||||||
|
Width = 89
|
||||||
|
Height = 33
|
||||||
|
Caption = 'Affiche debug'
|
||||||
|
TabOrder = 1
|
||||||
|
OnClick = ButtonAffDebugClick
|
||||||
|
end
|
||||||
|
object BoutVersion: TButton
|
||||||
|
Left = 102
|
||||||
|
Top = 8
|
||||||
|
Width = 83
|
||||||
|
Height = 33
|
||||||
|
Caption = 'Dem version'
|
||||||
|
TabOrder = 2
|
||||||
|
OnClick = BoutVersionClick
|
||||||
|
end
|
||||||
|
object loco: TButton
|
||||||
|
Left = 190
|
||||||
|
Top = 8
|
||||||
|
Width = 75
|
||||||
|
Height = 33
|
||||||
|
Caption = 'loco'
|
||||||
|
TabOrder = 3
|
||||||
|
OnClick = locoClick
|
||||||
|
end
|
||||||
|
object ButtonInfo: TButton
|
||||||
|
Left = 104
|
||||||
|
Top = 48
|
||||||
|
Width = 81
|
||||||
|
Height = 33
|
||||||
|
Caption = 'Informations'
|
||||||
|
TabOrder = 4
|
||||||
|
OnClick = ButtonInfoClick
|
||||||
|
end
|
||||||
|
object ButtonReprise: TButton
|
||||||
|
Left = 190
|
||||||
|
Top = 48
|
||||||
|
Width = 75
|
||||||
|
Height = 33
|
||||||
|
Hint =
|
||||||
|
'Relance du bus DCC apr'#232's une '#233'criture d'#39'un CV ou une mise hors t' +
|
||||||
|
'ension de la centrale'
|
||||||
|
Caption = 'Reprise DCC'
|
||||||
|
TabOrder = 5
|
||||||
|
OnClick = ButtonRepriseClick
|
||||||
|
end
|
||||||
|
object ButtonTest: TButton
|
||||||
|
Left = 8
|
||||||
|
Top = 88
|
||||||
|
Width = 89
|
||||||
|
Height = 33
|
||||||
|
Caption = 'Demande '#233'tat r'#233'trosignalisation'
|
||||||
|
TabOrder = 6
|
||||||
|
WordWrap = True
|
||||||
|
OnClick = ButtonTestClick
|
||||||
|
end
|
||||||
|
object ButtonArretSimu: TButton
|
||||||
|
Left = 104
|
||||||
|
Top = 88
|
||||||
|
Width = 81
|
||||||
|
Height = 33
|
||||||
|
Caption = 'Arret simulation'
|
||||||
|
TabOrder = 7
|
||||||
|
Visible = False
|
||||||
|
OnClick = ButtonArretSimuClick
|
||||||
|
end
|
||||||
|
object ButtonAffTCO: TButton
|
||||||
|
Left = 192
|
||||||
|
Top = 88
|
||||||
|
Width = 73
|
||||||
|
Height = 33
|
||||||
|
Caption = 'Affiche TCO'
|
||||||
|
TabOrder = 8
|
||||||
|
OnClick = ButtonAffTCOClick
|
||||||
|
end
|
||||||
|
object ButtonLanceCDM: TButton
|
||||||
|
Left = 8
|
||||||
|
Top = 128
|
||||||
|
Width = 89
|
||||||
|
Height = 33
|
||||||
|
Caption = 'Lance CDM rail'
|
||||||
|
TabOrder = 9
|
||||||
|
OnClick = ButtonLanceCDMClick
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object ButtonReprise: TButton
|
object Panel2: TPanel
|
||||||
Left = 1096
|
Left = 648
|
||||||
Top = 56
|
|
||||||
Width = 75
|
|
||||||
Height = 33
|
|
||||||
Hint =
|
|
||||||
'Relance du bus DCC apr'#232's une '#233'criture d'#39'un CV ou une mise hors t' +
|
|
||||||
'ension de la centrale'
|
|
||||||
Caption = 'Reprise DCC'
|
|
||||||
TabOrder = 11
|
|
||||||
OnClick = ButtonRepriseClick
|
|
||||||
end
|
|
||||||
object Button2: TButton
|
|
||||||
Left = 872
|
|
||||||
Top = 136
|
Top = 136
|
||||||
Width = 97
|
Width = 153
|
||||||
Height = 25
|
Height = 25
|
||||||
Caption = 'Test'
|
Anchors = [akTop, akRight]
|
||||||
TabOrder = 12
|
Caption = 'Panel2'
|
||||||
Visible = False
|
TabOrder = 6
|
||||||
OnClick = Button2Click
|
object Label1: TLabel
|
||||||
end
|
Left = 16
|
||||||
object ButtonArretSimu: TButton
|
Top = 4
|
||||||
Left = 1008
|
Width = 89
|
||||||
Top = 96
|
Height = 13
|
||||||
Width = 81
|
Caption = 'Nombre de trains : '
|
||||||
Height = 33
|
end
|
||||||
Caption = 'Arret simulation'
|
object LabelNbTrains: TLabel
|
||||||
TabOrder = 13
|
Left = 120
|
||||||
Visible = False
|
Top = 2
|
||||||
OnClick = ButtonArretSimuClick
|
Width = 9
|
||||||
|
Height = 19
|
||||||
|
Caption = '0'
|
||||||
|
Font.Charset = ANSI_CHARSET
|
||||||
|
Font.Color = clBlack
|
||||||
|
Font.Height = -16
|
||||||
|
Font.Name = 'Arial'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ParentFont = False
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object Timer1: TTimer
|
object Timer1: TTimer
|
||||||
Interval = 100
|
Interval = 100
|
||||||
@@ -1447,8 +1483,7 @@ object FormPrinc: TFormPrinc
|
|||||||
Left = 320
|
Left = 320
|
||||||
end
|
end
|
||||||
object MainMenu1: TMainMenu
|
object MainMenu1: TMainMenu
|
||||||
Left = 1160
|
Left = 560
|
||||||
Top = 8
|
|
||||||
object Afficher1: TMenuItem
|
object Afficher1: TMenuItem
|
||||||
Caption = 'Afficher'
|
Caption = 'Afficher'
|
||||||
object Etatdesdtecteurs1: TMenuItem
|
object Etatdesdtecteurs1: TMenuItem
|
||||||
@@ -1571,11 +1606,11 @@ object FormPrinc: TFormPrinc
|
|||||||
Left = 352
|
Left = 352
|
||||||
end
|
end
|
||||||
object OpenDialog: TOpenDialog
|
object OpenDialog: TOpenDialog
|
||||||
Left = 1104
|
Left = 888
|
||||||
Top = 112
|
Top = 152
|
||||||
end
|
end
|
||||||
object SaveDialog: TSaveDialog
|
object SaveDialog: TSaveDialog
|
||||||
Left = 1120
|
Left = 888
|
||||||
Top = 88
|
Top = 16
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
990
UnitPrinc.pas
990
UnitPrinc.pas
File diff suppressed because it is too large
Load Diff
BIN
UnitSimule.dcu
BIN
UnitSimule.dcu
Binary file not shown.
BIN
UnitTCO.dcu
BIN
UnitTCO.dcu
Binary file not shown.
1087
UnitTCO.dfm
1087
UnitTCO.dfm
File diff suppressed because it is too large
Load Diff
1943
UnitTCO.pas
1943
UnitTCO.pas
File diff suppressed because it is too large
Load Diff
205
config.cfg
205
config.cfg
@@ -1,129 +1,128 @@
|
|||||||
/******************************************
|
/******************************************
|
||||||
/ fichier de configuration de signaux_complexes
|
/ fichier de configuration de signaux complexes
|
||||||
/ gily - f1iwq - 2018
|
/ cap de bouheyre avec signaux - 2018
|
||||||
/******************************************
|
/****************************************
|
||||||
/ Sans Log=0 / Avec Log=1 : génère un fichier log
|
/ Sans Log=0 / Avec Log=1 : génère un fichier log
|
||||||
Log=0
|
Log=0
|
||||||
/ Affichage du débug du calcul des routes, et enregistrement dans le log si la variable précédente est à 1
|
/ Affichage du débug du calcul des routes, et enregistrement dans le log si la variable précédente est à 1
|
||||||
TraceDet=0
|
TraceDet=0
|
||||||
/ Envoie un 0 après le pilotage des décodeurs
|
/ si 1 envoie un 0 après le pilotage des décodeurs LEB
|
||||||
/ Mettre 1 si utilisation de décodeurs LEB
|
RazSignaux=0
|
||||||
RazSignaux=1
|
|
||||||
/
|
/
|
||||||
/ modélisation des aiguillages : détermine les éléments connectés aux 3 branches des aiguilles (Pointe, Droit, Dévié (S)
|
/ modélisation des aiguillages : détermine les éléments connectés aux 3 branches des aiguilles (Pointe, Droit, Dévié (S)
|
||||||
/ adresse d'aiguillage,P=élément vers pointe D=élément vers Droit, S=élément vers dévié.
|
/ adresse d'aiguillage[B],P=élément vers pointe D=élément vers Droit, S=élément vers dévié
|
||||||
/ [60 ou 30 dans le cas d'un aiguillage en position déviée qui doit être fanchie à 30 ou 60]
|
/ B pour adresse d'aiguillage déja utilisée
|
||||||
/ Elément = détecteur (valeur uniquement numérique) ou aiguillage (adresse+branche de connexion (P S ou D)
|
/ Elément = détecteur (valeur uniquement numérique) ou aiguillage (adresse [TRI,TJS,TJD]+branche de connexion (P S ou D)
|
||||||
/ Exemple : 1,P518,D523,S3P signifie : définition de l'aiguillage @1 : sur pointe relié au détecteur 518
|
/ Exemples : 1,P518,D523,S3P signifie : définition de l'aiguillage @1 : sur pointe relié au détecteur 518
|
||||||
/ sur Droit relié au détecteur 518
|
/ sur Droit relié au détecteur 518
|
||||||
/ sur Dévié, relié à l'aiguillage 3 en pointe
|
/ sur Dévié, relié à l'aiguillage 3 en pointe
|
||||||
/ Pour une TJD : 26TJD,D530,S529,P28
|
/ Voir la documentation des signaux complexes pour une description complete
|
||||||
/ P désigne l'autre adresse de la TJD
|
|
||||||
/ Aiguillage triple
|
|
||||||
/
|
|
||||||
/ S'il n'y a pas de détecteur connecté à une branche d'aiguillage, mettre 0.
|
/ S'il n'y a pas de détecteur connecté à une branche d'aiguillage, mettre 0.
|
||||||
1,P518,S3P,D523,30
|
1,S1BS,P2P,D3P,0
|
||||||
2,P12S,S5S,D519
|
1B,P553,D16P,S1S
|
||||||
3,P1S,S5D,D4P
|
2,P1P,D4P,S2BS
|
||||||
4,P3D,S514,D6S
|
2B,P521,D16D,S2S
|
||||||
5,P515,S2S,D3S
|
3,P1D,D522,S5BP
|
||||||
6,P516,S4D,D0
|
4,P2D,D554,S6BP
|
||||||
7,P527,S520,D519
|
5,P9P,S15P,D5BS
|
||||||
8,P527,S522,D521
|
5B,P3S,S5D,D545,0,1
|
||||||
9,P526,S515,D513,60
|
6,P10P,S546,D6BS
|
||||||
10,P19P,S528,D29P,30
|
6B,P4S,D545,S6D
|
||||||
11,P18P,D30D,S525
|
7,P15S,D566,S565
|
||||||
12,P517,D20S,S2P
|
8,P20P,D566,S565
|
||||||
17,P525,D535,S528
|
9,P5P,D530,S17P
|
||||||
18,P11P,S517,D23P
|
10,P6P,D530,S18P
|
||||||
19,P10P,S531,D22P
|
13,P17S,D563,S564
|
||||||
20,P520,D21P,S12D
|
14,P18S,D563,S564
|
||||||
21,P20D,S28D,D28D
|
15,P5S,D546,S7P
|
||||||
22,P19D,S538,D537
|
16,P1BD,S16BS,D2BD
|
||||||
23,P18D,S534,D538
|
16B,P0,S16S,D557
|
||||||
24,P538,S533,D32S
|
17,P9S,D531,S13P
|
||||||
25,P31S,D529,S27P
|
18,P10S,D562,S14P
|
||||||
26TJD,D530,S529,P28
|
20,P8P,D547,S548
|
||||||
28TJD,D21D,S21S,P26
|
21,P25P,S537,D23S
|
||||||
27,P25S,D530,S537
|
22,P24P,S561,D25S
|
||||||
29,P10D,S30S,D513,60
|
23,P569,S21D,D538
|
||||||
30,P524,S29D,D11D
|
24,P22P,S26P,D513
|
||||||
31,P534,S25P,D0
|
25,P21P,S22D,D570
|
||||||
32,P22S,S24D,D0
|
26,P24S,S515,D514
|
||||||
|
28,P30P,S29P,D570
|
||||||
|
29,P28S,D516,S31P
|
||||||
|
30,P28P,D32S,S539
|
||||||
|
31TRI,27,P29S,D518,S0,S2-517
|
||||||
|
32,P571,D538,S30D
|
||||||
0
|
0
|
||||||
//
|
//
|
||||||
/ modélisation du réseau par branche
|
/ modélisation du réseau par branche
|
||||||
/ 1 ligne par branche - le sens de parcours de la branche est arbitraire.
|
/ 1 ligne par branche - le sens de parcours de la description n'a pas d'importance.
|
||||||
/ Chaque ligne (branche) doit commmencer et finir par un aiguillage
|
/ Chaque ligne (branche) doit comporter au moins un détecteur et au moins aiguillage
|
||||||
/ Une ligne qui finit par un 0 signifie un heurtoir
|
|
||||||
/ @ détecteur A=@aiguillage
|
/ @ détecteur A=@aiguillage
|
||||||
/ Terminer par 0
|
/ chaque ligne doit commencer par un aiguillage et se terminer par un aiguillage
|
||||||
/ Exemple : 519 est un détecteur - A2 est l'aiguillage 2
|
/ Terminer par les brances par 0
|
||||||
|
/ Exemple : 519 est un détecteur - A2 est l'aiguillage 2 - A1B est l'aiguillage 1bis
|
||||||
/
|
/
|
||||||
A2,A12,517,A18,A11,A30,524,521,A8,527,A7,519,A2
|
/ rouge - jaune
|
||||||
A7,520,A20,A12
|
A20,547,561,A22,A24,A26,515,518,A31,A29,A28,A30,539,522,A3,A1,A2,A4,A6B,545,A5B,A3
|
||||||
A1,A3,A4,514,522,A8
|
A26,514,517,A31
|
||||||
A1,523,526,A9,513,A29,A10,A19,531,518,A1
|
A26,515,518,A31
|
||||||
A9,515,A5
|
A24,513,516,A29
|
||||||
A11,525,A17,528,A10
|
/grande boucle extérieure départ de couche rouge: de 569 à 569
|
||||||
A17,535,533,A24,538,A23
|
A23,538,A32,571,553,A1B,A16,A2B,521,569,A23
|
||||||
A7,520,A20,A21,A28,A26,530,A27,A25,A31,534,A23,A18
|
/ grande boucle intérieure
|
||||||
A26,529,A25
|
A21,A25,570,A28
|
||||||
A22,537,A27
|
A4,554,537,A21
|
||||||
A22,A32,A24
|
/ couche jaune
|
||||||
A6,516,0
|
A10,530,A9,A5,A15,546,A6
|
||||||
A31,0
|
A18,562,531,A17
|
||||||
|
A14,563,A13
|
||||||
|
A14,564,A13
|
||||||
|
/
|
||||||
|
A7,565,A8
|
||||||
|
A7,566,A8
|
||||||
|
A16B,557,0
|
||||||
|
A20S,548,0
|
||||||
0
|
0
|
||||||
/ liste des adresses des signaux et leur forme, pour affichage de l'image correspondante ,
|
/
|
||||||
/ avec ou sans bouton de commande pour le feu blanc, type de décodeur [, type de cible (pour les décodeurs Unisemaf uniquement)]
|
/ liste des signaux
|
||||||
/ la liste doit être terminée par une adresse à 0
|
/ la liste doit être terminée par une adresse à 0
|
||||||
/ forme : 2=2 feux(carré violet/blanc) / 3=3 feux / 4=4 feux / 5=5 feux (carré + blanc ou violet)
|
/ forme : 2=2 feux(carré violet/blanc) / 3=3 feux / 4=4 feux (carré) / 5=5 feux (carré + blanc)
|
||||||
/ 7=7 feux (blanc ou violet + ralentissement / 9=9 feux (blanc ou violet + rappel ralentissement)
|
/ 7=7 feux (carré+blanc + ralentissement / 9=9 feux (blanc ou violet + rappel ralentissement)
|
||||||
/ Dx : signal directionnel à x feux
|
/ type de décodeur : 0=feu virtuel 1=digital Bahn 2=CDF 3=LDT 4=LEB
|
||||||
/ type de décodeur : 1=digital Bahn 2=CDF 3=LDT 4=LEB 5=NMRA 6=Unisemaf
|
/ l'énumération des détecteurs ne nécessite pas de parenthèses si il est seul, mais il faut des parenthèses si
|
||||||
|
/ le signal concerne plusieurs voies (donc détecteurs)
|
||||||
/ Notation de chaque ligne:
|
/ Notation de chaque ligne:
|
||||||
/ adresse de base du signal, forme, avec ou sans bouton de commande du feu blanc, type de décodeur [, détecteur (det2, det3, ...) , élément suivant ,
|
/ adresse de base du signal, forme, réserve, type de décodeur [, (détecteur,..detecteur , élément suivant ..) ,
|
||||||
/ avec ou sans demande de verrouillage du feu au carré]
|
/ avec ou sans demande de verrouillage du feu au carré (0 ou 1)]
|
||||||
/
|
161,4,0,4,(538,A32),0
|
||||||
176,7,0,1,(520,A20),1
|
169,9,0,4,(539,A30),0,
|
||||||
190,7,0,1,(523,526),1
|
177,9,0,4,(569,A23),0
|
||||||
204,9,0,1,(527,A7),1
|
185,4,0,4,(570,A25),0
|
||||||
218,7,0,1,(525,A17),1
|
193,4,0,4,(516,A29),0
|
||||||
232,2,1,1,(516,A6),1
|
201,2,0,4,(517,31TRI,518,31TRI),0
|
||||||
260,9,1,1,(518,A1),1
|
209,9,0,4,(513,A24),0
|
||||||
274,3,0,1,(524,521),1
|
217,2,0,4,(514,A26,515,A26),0
|
||||||
288,7,0,1,(522,A8),1
|
225,9,0,4,(561,A22),0
|
||||||
302,9,0,1,(526,A9),1
|
233,4,0,4,(547,A20),0
|
||||||
316,7,1,1,(515,A5),1
|
241,4,0,4,(548,A20),1
|
||||||
330,7,0,1,(519,A2),1
|
1001,3,0,0,(537,554),0
|
||||||
344,9,0,1,(528,A10),1
|
1003,3,0,0,(553,A1B),0
|
||||||
358,9,0,1,(517,A18),1
|
1005,3,0,0,(571,553),0
|
||||||
372,D3,1,(A10D)(A19S)(A19D,A22D)(A19D,A22S)
|
1007,3,0,0,(554,A4),0
|
||||||
382,D3,1,(A29S,A10S)(A19S)(A19D,A22D)(A19D,A22S)
|
1009,3,0,0,(522,539),0
|
||||||
392,3,0,1,(535,533),1
|
1011,3,0,0,(521,569),0
|
||||||
420,7,0,1,(529,A25,530,A27,537,A27),1
|
1013,3,0,0,(565,A7),0
|
||||||
448,7,0,1,(533,A24),1
|
1015,3,0,0,(562,A18),0
|
||||||
462,9,0,1,(513,A29),1
|
1017,3,0,0,(563,A14),0
|
||||||
476,9,0,1,(538,A23),1
|
1019,3,0,0,(564,A14),0
|
||||||
497,9,0,4,(531,A19),1
|
|
||||||
600,7,0,0,(521,A8),1
|
|
||||||
0
|
0
|
||||||
/
|
/
|
||||||
/ Section actionneurs. Ne fonctionne qu'en mode connecté à CDM en run
|
|
||||||
/ Fonctions Fx à envoyer aux locomotives sur passage d'un actionneur
|
/ Fonctions Fx à envoyer aux locomotives sur passage d'un actionneur
|
||||||
/ actionneur,état,Nom du train,fonction,temporisation en ms avant remise à 0
|
/ Uniquement en mode connecté à CDM
|
||||||
/
|
/ actionneur,état,Nom de la loco,fonction,temporisation en ms avant remise à 0
|
||||||
/ Passages à niveau (PN)
|
/815,1,CC406526,F2,400
|
||||||
/ (act_ferme_voie1,act_ouvre_voie1),(act_ferme_voie2,act_ouvre_voie2),...,PN(adresse_ferme,adresse_ouvre)
|
|
||||||
/
|
|
||||||
/ Klaxon (F2)
|
|
||||||
/ 815,1,CC406526,F2,400
|
|
||||||
/
|
|
||||||
/ passage à niveau à 2 voies
|
|
||||||
/(815,830),(820,840),PN(121+,121-)
|
/(815,830),(820,840),PN(121+,121-)
|
||||||
/
|
|
||||||
/ passage à niveau à 1 voie
|
|
||||||
/(815,809),PN(121+,121-)
|
/(815,809),PN(121+,121-)
|
||||||
0
|
0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -107,9 +107,26 @@ A31,0
|
|||||||
476,9,0,1,(538,A23),1
|
476,9,0,1,(538,A23),1
|
||||||
497,9,0,4,(531,A19),1
|
497,9,0,4,(531,A19),1
|
||||||
600,7,0,0,(521,A8),1
|
600,7,0,0,(521,A8),1
|
||||||
610,9,0,6,(520,A20),0,7
|
/ signaux de test
|
||||||
|
610,4,0,0,(521,a8),1
|
||||||
|
615,5,0,0,(521,a8),1
|
||||||
0
|
0
|
||||||
/
|
/
|
||||||
|
/ Section actionneurs. Ne fonctionne qu'en mode connecté à CDM en run
|
||||||
|
/ Fonctions Fx à envoyer aux locomotives sur passage d'un actionneur
|
||||||
|
/ actionneur,état,Nom du train,fonction,temporisation en ms avant remise à 0
|
||||||
|
/
|
||||||
|
/ Passages à niveau (PN)
|
||||||
|
/ (act_ferme_voie1,act_ouvre_voie1),(act_ferme_voie2,act_ouvre_voie2),...,PN(adresse_ferme,adresse_ouvre)
|
||||||
|
/
|
||||||
|
/ Klaxon (F2)
|
||||||
|
/ 815,1,CC406526,F2,400
|
||||||
|
/
|
||||||
|
/ passage à niveau à 2 voies
|
||||||
|
/(815,830),(820,840),PN(121+,121-)
|
||||||
|
/
|
||||||
|
/ passage à niveau à 1 voie
|
||||||
|
/(815,809),PN(121+,121-)
|
||||||
|
0
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -21,8 +21,9 @@ type
|
|||||||
var
|
var
|
||||||
FormVersion: TFormVersion;
|
FormVersion: TFormVersion;
|
||||||
Lance_verif : integer;
|
Lance_verif : integer;
|
||||||
|
verifVersion,notificationVersion : boolean;
|
||||||
|
|
||||||
Const Version='1.5'; //Version='1.2';// sert à la comparaison de la version publiée
|
Const Version='1.6'; //Version='1.2';// sert à la comparaison de la version publiée
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
@@ -65,8 +66,8 @@ var
|
|||||||
dwTimeout : integer;
|
dwTimeout : integer;
|
||||||
begin
|
begin
|
||||||
Result:=False;
|
Result:=False;
|
||||||
|
DeleteFile(s);
|
||||||
Try Fs:=TFileStream.Create(s,fmCreate);
|
Try Fs:=TFileStream.Create(s,fmCreate,fmShareDenyNone);
|
||||||
hSession:=InternetOpen('MyApp',INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
|
hSession:=InternetOpen('MyApp',INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
|
||||||
try
|
try
|
||||||
if Assigned(hSession) then
|
if Assigned(hSession) then
|
||||||
@@ -105,7 +106,8 @@ var s,s2,s3,Version_p,Url,LocalFile : string;
|
|||||||
V_publie,V_utile : real;
|
V_publie,V_utile : real;
|
||||||
begin
|
begin
|
||||||
//Affiche('vérifie version',clLime);
|
//Affiche('vérifie version',clLime);
|
||||||
if not(AvecInit) then exit ;
|
if not(AvecInit) then exit ;
|
||||||
|
if not(verifVersion) then exit;
|
||||||
Url:='http://cdmrail.free.fr/ForumCDR/viewtopic.php?f=77&t=3906#p50499';
|
Url:='http://cdmrail.free.fr/ForumCDR/viewtopic.php?f=77&t=3906#p50499';
|
||||||
LocalFile:='page.txt';
|
LocalFile:='page.txt';
|
||||||
trouve_version:=false;
|
trouve_version:=false;
|
||||||
@@ -166,6 +168,7 @@ begin
|
|||||||
Aff(s);
|
Aff(s);
|
||||||
if MessageDlg(s+'. Voulez-vous la télécharger?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
|
if MessageDlg(s+'. Voulez-vous la télécharger?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
|
||||||
begin
|
begin
|
||||||
|
// récupérer depuis la variable d'environnement windows USERPROFILE le repertoire de la session ouverte
|
||||||
s:=GetCurrentProcessEnvVar('USERPROFILE')+'\Downloads\Signaux_Complexes_GL.Zip';
|
s:=GetCurrentProcessEnvVar('USERPROFILE')+'\Downloads\Signaux_Complexes_GL.Zip';
|
||||||
Aff('Téléchargement de '+s3+' dans ');
|
Aff('Téléchargement de '+s3+' dans ');
|
||||||
Aff(s);
|
Aff(s);
|
||||||
@@ -181,13 +184,13 @@ begin
|
|||||||
else formVersion.Free;
|
else formVersion.Free;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// if V_utile=V_publie then Affiche('Votre version '+Version_p+' est à jour',clLime);
|
if (V_utile=V_publie) and notificationVersion then Affiche('Votre version '+Version_p+' est à jour',clLime);
|
||||||
|
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
//Affiche('Pas d''accès au site CDM rail',clorange);
|
if notificationVersion then Affiche('Pas d''accès au site CDM rail',clorange);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|||||||
@@ -17,4 +17,7 @@ Version 1.42 : Correction erreur lecture signaux
|
|||||||
Version 1.43 : Correction erreur gestion sémaphore
|
Version 1.43 : Correction erreur gestion sémaphore
|
||||||
Version 1.44 : Gestion trains avec voitures éclairées
|
Version 1.44 : Gestion trains avec voitures éclairées
|
||||||
Version 1.45 : Rejette les n° d'objets supérieurs aiguillages à la même adresse
|
Version 1.45 : Rejette les n° d'objets supérieurs aiguillages à la même adresse
|
||||||
Version 1.5 : Nouvel algorithme de suivi des trains
|
Version 1.5 : Nouvel algorithme de suivi des trains - Gestion des feux provenant de voies en buttoir
|
||||||
|
Version 1.6 : Implémentation du TCO. Ouverture de CDM rail au démarrage avec LAY à la demande
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user