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