This commit is contained in:
f1iwq2
2020-01-28 21:29:45 +01:00
parent a333d95d41
commit 5dd476e10a
16 changed files with 2094 additions and 332 deletions

Binary file not shown.

View File

@@ -4,7 +4,8 @@ uses
Forms, Forms,
UnitPrinc in 'UnitPrinc.pas' {FormPrinc}, UnitPrinc in 'UnitPrinc.pas' {FormPrinc},
UnitDebug in 'UnitDebug.pas' {FormDebug}, UnitDebug in 'UnitDebug.pas' {FormDebug},
verif_version in 'verif_version.pas' {FormVersion}; verif_version in 'verif_version.pas' {FormVersion},
UnitPilote in 'UnitPilote.pas' {FormPilote};
{$R *.res} {$R *.res}
@@ -12,5 +13,6 @@ begin
Application.Initialize; Application.Initialize;
Application.CreateForm(TFormPrinc, FormPrinc); Application.CreateForm(TFormPrinc, FormPrinc);
Application.CreateForm(TFormDebug, FormDebug); Application.CreateForm(TFormDebug, FormDebug);
Application.CreateForm(TFormPilote, FormPilote);
Application.Run; Application.Run;
end. end.

Binary file not shown.

BIN
Signaux_complexes_GL.zip Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -1,6 +1,6 @@
object FormDebug: TFormDebug object FormDebug: TFormDebug
Left = 404 Left = 390
Top = 33 Top = 178
BorderStyle = bsSingle BorderStyle = bsSingle
Caption = 'FormDebug' Caption = 'FormDebug'
ClientHeight = 639 ClientHeight = 639

View File

@@ -4,7 +4,7 @@ interface
uses uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls ,UnitPrinc, ComCtrls; Dialogs, StdCtrls , ComCtrls;
type type
TFormDebug = class(TForm) TFormDebug = class(TForm)
@@ -28,11 +28,19 @@ type
var var
FormDebug: TFormDebug; FormDebug: TFormDebug;
NivDebug : integer;
procedure AfficheDebug(s : string;lacouleur : TColor);
implementation implementation
{$R *.dfm} {$R *.dfm}
procedure AfficheDebug(s : string;lacouleur : TColor);
begin
FormDebug.MemoDebug.Lines.add(s);
end;
procedure TFormDebug.FormClose(Sender: TObject; var Action: TCloseAction); procedure TFormDebug.FormClose(Sender: TObject; var Action: TCloseAction);
begin begin
//Action := TCloseAction.caNone; //Action := TCloseAction.caNone;
@@ -87,7 +95,10 @@ begin
else EditNivDebug.text:='3'; else EditNivDebug.text:='3';
end end
else EditNivDebug.text:='0'; else EditNivDebug.text:='0';
end; end;
MemoDebug.Lines.add('Niveau='+intToSTR(NivDebug));
end; end;
end. end.

BIN
UnitPilote.dcu Normal file

Binary file not shown.

205
UnitPilote.dfm Normal file
View File

@@ -0,0 +1,205 @@
object FormPilote: TFormPilote
Left = 330
Top = 195
BorderStyle = bsDialog
Caption = 'Pilotage'
ClientHeight = 350
ClientWidth = 332
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnClose = FormClose
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object LabelTitrePilote: TLabel
Left = 8
Top = 0
Width = 249
Height = 34
Caption = 'Pilotage du signal'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -29
Font.Name = 'Arial'
Font.Style = [fsBold, fsItalic]
ParentFont = False
end
object ImagePilote: TImage
Left = 208
Top = 64
Width = 113
Height = 129
end
object LabelNbFeux: TLabel
Left = 208
Top = 208
Width = 120
Height = 13
Caption = 'Nombre de feux '#224' allumer'
end
object GroupBox1: TGroupBox
Left = 8
Top = 40
Width = 193
Height = 185
Caption = 'Signalisation de base'
TabOrder = 0
object RadioVert: TRadioButton
Left = 8
Top = 16
Width = 169
Height = 17
Caption = 'Voie libre'
TabOrder = 0
OnClick = RadioVertClick
end
object RadioVertCli: TRadioButton
Left = 8
Top = 32
Width = 169
Height = 17
Caption = 'Voie libre clignotant'
TabOrder = 1
OnClick = RadioVertCliClick
end
object RadioJaune: TRadioButton
Left = 8
Top = 48
Width = 169
Height = 17
Caption = 'Avertissement'
TabOrder = 2
OnClick = RadioJauneClick
end
object RadioJaunecli: TRadioButton
Left = 8
Top = 64
Width = 169
Height = 17
Caption = 'Avertissement clignotant'
TabOrder = 3
OnClick = RadioJaunecliClick
end
object RadioRouge: TRadioButton
Left = 8
Top = 80
Width = 169
Height = 17
Caption = 'S'#233'maphore'
TabOrder = 4
OnClick = RadioRougeClick
end
object RadioRougeCli: TRadioButton
Left = 8
Top = 96
Width = 161
Height = 17
Caption = 'S'#233'maphore clignotant'
TabOrder = 5
OnClick = RadioRougeCliClick
end
object RadioCarre: TRadioButton
Left = 8
Top = 112
Width = 161
Height = 17
Caption = 'Carr'#233
TabOrder = 6
OnClick = RadioCarreClick
end
object RadioBlanc: TRadioButton
Left = 8
Top = 128
Width = 169
Height = 17
Caption = 'Blanc'
TabOrder = 7
OnClick = RadioBlancClick
end
object RadioBlancCli: TRadioButton
Left = 8
Top = 144
Width = 169
Height = 17
Caption = 'Blanc clignotant'
TabOrder = 8
OnClick = RadioBlancCliClick
end
object RadioViolet: TRadioButton
Left = 8
Top = 160
Width = 177
Height = 17
Caption = 'Violet (cible '#224' 2 feux uniquement)'
TabOrder = 9
OnClick = RadioVioletClick
end
end
object GroupBox2: TGroupBox
Left = 8
Top = 232
Width = 193
Height = 89
Caption = 'Signalisation combin'#233'e'
TabOrder = 1
object RadioRalen30: TRadioButton
Left = 8
Top = 16
Width = 169
Height = 17
Caption = 'Ralentissement 30'
TabOrder = 0
OnClick = RadioRalen30Click
end
object RadioRappel30: TRadioButton
Left = 8
Top = 32
Width = 169
Height = 17
Caption = 'Rappel de ralentissement 30'
TabOrder = 1
OnClick = RadioRappel30Click
end
object RadioRalen60: TRadioButton
Left = 8
Top = 48
Width = 161
Height = 17
Caption = 'Ralentissement 60'
TabOrder = 2
OnClick = RadioRalen60Click
end
object RadioRappel60: TRadioButton
Left = 8
Top = 64
Width = 169
Height = 17
Caption = 'Rappel de ralentissement 60'
TabOrder = 3
OnClick = RadioRappel60Click
end
end
object ButtonPilote: TButton
Left = 208
Top = 288
Width = 113
Height = 33
Caption = 'Envoyer la commande'
TabOrder = 2
OnClick = ButtonPiloteClick
end
object EditNbreFeux: TEdit
Left = 240
Top = 248
Width = 57
Height = 21
TabOrder = 3
Text = 'EditNbFeux'
OnKeyPress = EditNbreFeuxKeyPress
end
end

256
UnitPilote.pas Normal file
View File

@@ -0,0 +1,256 @@
unit UnitPilote;
// cet unité utilise stocke l'état du signal de pilotage dans l'index 0 du tableau EtatSignalcplx
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, UnitPrinc;
type
TFormPilote = class(TForm)
LabelTitrePilote: TLabel;
ImagePilote: TImage;
GroupBox1: TGroupBox;
RadioVert: TRadioButton;
RadioVertCli: TRadioButton;
RadioJaune: TRadioButton;
RadioJaunecli: TRadioButton;
RadioRouge: TRadioButton;
RadioRougeCli: TRadioButton;
RadioCarre: TRadioButton;
RadioBlanc: TRadioButton;
RadioBlancCli: TRadioButton;
RadioViolet: TRadioButton;
GroupBox2: TGroupBox;
RadioRalen30: TRadioButton;
RadioRappel30: TRadioButton;
RadioRalen60: TRadioButton;
RadioRappel60: TRadioButton;
ButtonPilote: TButton;
EditNbreFeux: TEdit;
LabelNbFeux: TLabel;
procedure RadioVertClick(Sender: TObject);
procedure RadioVertCliClick(Sender: TObject);
procedure RadioJauneClick(Sender: TObject);
procedure RadioJaunecliClick(Sender: TObject);
procedure RadioRougeClick(Sender: TObject);
procedure RadioRougeCliClick(Sender: TObject);
procedure RadioCarreClick(Sender: TObject);
procedure RadioBlancClick(Sender: TObject);
procedure RadioVioletClick(Sender: TObject);
procedure RadioBlancCliClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure RadioRalen30Click(Sender: TObject);
procedure RadioRappel60Click(Sender: TObject);
procedure RadioRalen60Click(Sender: TObject);
procedure RadioRappel30Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ButtonPiloteClick(Sender: TObject);
procedure EditNbreFeuxKeyPress(Sender: TObject; var Key: Char);
private
{ Déclarations privées }
public
{ Déclarations publiques }
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
const
carre =0 ; carre_F=1;
semaphore =1 ; semaphore_F=2;
semaphore_cli =2 ; semaphore_cli_F=4;
vert =3 ; vert_F=8;
vert_cli =4 ; vert_cli_F=16;
violet =5 ; violet_F=32;
blanc =6 ; blanc_F=64;
blanc_cli =7 ; blanc_cli_F=128;
jaune =8 ; jaune_F=256;
jaune_cli =9 ; jaune_cli_F=512;
ral_30 =10; ral_30_F=1024;
ral_60 =11; ral_60_F=2048;
rappel_30 =12; rappel_30_F=4096;
rappel_60 =13; rappel_60_F=8192;
Disque_D =14; // pour décodeur LDT
ral_60_jaune_cli =15;ral_60_jaune_cli_F=16384; // pour décodeur LDT
aspect8 =16 ;
var
FormPilote: TFormPilote;
EtatFeuPilote : word;
AdrPilote : integer;
procedure dessine_feu_pilote;
implementation
{$R *.dfm}
procedure dessine_feu_pilote;
var i : integer;
Vcanvas : Tcanvas;
begin
i:=Index_feu(AdrPilote); // adresse du feu d'origine
if i<>0 then
Vcanvas:=FormPilote.ImagePilote.picture.bitmap.canvas;
EtatFeuPilote:=EtatSignalCplx[0];
case feux[i].aspect of
// feux de signalisation
2 : dessine_feu2(Vcanvas,EtatFeupilote);
3 : dessine_feu3(Vcanvas,EtatFeupilote);
4 : dessine_feu4(VCanvas,EtatFeupilote);
5 : dessine_feu5(VCanvas,EtatFeupilote);
7 : dessine_feu7(VCanvas,EtatFeupilote);
9 : dessine_feu9(VCanvas,EtatFeupilote);
// indicateurs de direction
12 : dessine_dir2(VCanvas,EtatFeupilote);
13 : dessine_dir3(VCanvas,EtatFeupilote);
14 : dessine_dir4(VCanvas,EtatFeupilote);
15 : dessine_dir5(VCanvas,EtatFeupilote);
16 : dessine_dir6(VCanvas,EtatFeupilote);
end;
end;
procedure TFormPilote.RadioVertClick(Sender: TObject);
begin
Maj_Etat_Signal(0,vert);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioVertCliClick(Sender: TObject);
begin
Maj_Etat_Signal(0,vert_cli);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioJauneClick(Sender: TObject);
begin
Maj_Etat_Signal(0,jaune);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioJaunecliClick(Sender: TObject);
begin
Maj_Etat_Signal(0,jaune_cli);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioRougeClick(Sender: TObject);
begin
Maj_Etat_Signal(0,semaphore);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioRougeCliClick(Sender: TObject);
begin
Maj_Etat_Signal(0,semaphore_cli);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioCarreClick(Sender: TObject);
begin
Maj_Etat_Signal(0,carre);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioBlancClick(Sender: TObject);
begin
Maj_Etat_Signal(0,blanc);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioVioletClick(Sender: TObject);
begin
Maj_Etat_Signal(0,violet);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioBlancCliClick(Sender: TObject);
begin
Maj_Etat_Signal(0,blanc_cli);
dessine_feu_pilote;
end;
procedure TFormPilote.FormClose(Sender: TObject; var Action: TCloseAction);
begin
AdrPilote:=0; // pour désactiver le test des clignotements
end;
procedure TFormPilote.RadioRalen30Click(Sender: TObject);
begin
Maj_Etat_Signal(0,ral_30);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioRappel60Click(Sender: TObject);
begin
Maj_Etat_Signal(0,rappel_60);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioRalen60Click(Sender: TObject);
begin
Maj_Etat_Signal(0,ral_60);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioRappel30Click(Sender: TObject);
begin
Maj_Etat_Signal(0,rappel_30);
dessine_feu_pilote;
end;
procedure TFormPilote.FormCreate(Sender: TObject);
var i : integer;
begin
radioVert.Checked:=false;
radioVertCli.Checked:=false;
i:=index_feu(AdrPilote);
end;
procedure TFormPilote.ButtonPiloteClick(Sender: TObject);
var i,e : integer;
begin
i:=index_feu(AdrPilote);
if feux[i].aspect<10 then
begin
EtatSignalCplx[AdrPilote]:=EtatSignalCplx[0];
envoi_signal(AdrPilote);
end
else
begin
val(EditNbreFeux.Text,i,e);
pilote_direction(AdrPilote,i);
end;
end;
procedure TFormPilote.EditNbreFeuxKeyPress(Sender: TObject; var Key: Char);
var i,e : integer;
begin
if ord(Key) = VK_RETURN then
begin
Key := #0; // prevent beeping
val(EditNbreFeux.text,i,e);
if e=0 then
begin
if (i>=0) and (i<=6) then
begin
EtatSignalCplx[0]:=i;
dessine_feu_pilote;
end;
if (i<0) and (i>6) then EditNbreFeux.text:='1';
end
else EditNbreFeux.text:='1';
end;
end;
end.

Binary file not shown.

View File

@@ -1,6 +1,6 @@
object FormPrinc: TFormPrinc object FormPrinc: TFormPrinc
Left = 60 Left = 89
Top = 304 Top = 186
BorderStyle = bsSingle BorderStyle = bsSingle
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 = 607 ClientHeight = 607
@@ -19,7 +19,7 @@ object FormPrinc: TFormPrinc
OnCreate = FormCreate OnCreate = FormCreate
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
object Label1: TLabel object LabelTitre: TLabel
Left = 8 Left = 8
Top = 8 Top = 8
Width = 204 Width = 204
@@ -33,7 +33,7 @@ object FormPrinc: TFormPrinc
ParentFont = False ParentFont = False
end end
object LabelEtat: TLabel object LabelEtat: TLabel
Left = 312 Left = 440
Top = 8 Top = 8
Width = 80 Width = 80
Height = 22 Height = 22
@@ -237,7 +237,7 @@ object FormPrinc: TFormPrinc
end end
object Image7feux: TImage object Image7feux: TImage
Left = 544 Left = 544
Top = -8 Top = 0
Width = 57 Width = 57
Height = 105 Height = 105
Picture.Data = { Picture.Data = {
@@ -404,8 +404,8 @@ object FormPrinc: TFormPrinc
Visible = False Visible = False
end end
object Image5feux: TImage object Image5feux: TImage
Left = 288 Left = 280
Top = 0 Top = -8
Width = 41 Width = 41
Height = 89 Height = 89
Picture.Data = { Picture.Data = {
@@ -504,7 +504,7 @@ object FormPrinc: TFormPrinc
Visible = False Visible = False
end end
object Image4feux: TImage object Image4feux: TImage
Left = 248 Left = 240
Top = 0 Top = 0
Width = 41 Width = 41
Height = 97 Height = 97
@@ -750,6 +750,453 @@ object FormPrinc: TFormPrinc
00000000000000FFFFFFFFFFFFFFFFFF0000} 00000000000000FFFFFFFFFFFFFFFFFF0000}
Visible = False Visible = False
end end
object Image2Dir: TImage
Left = 968
Top = 40
Width = 41
Height = 25
Picture.Data = {
07544269746D617046080000424D460800000000000036040000280000002500
00001A000000010008000000000010040000C40E0000C40E0000000100000001
0000000000000000800000800000008080008000000080008000808000008080
8000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
FF00000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000F0F0F0F0F0F0F0F0000000000000000000000000000000000000000000F
0F0F0F0F0F0F0F0000000F0F0F0F0F0F00000000000000000000000000000000
0000000000000000000F0F0F0F0F0F0000000F0F0F0F0F000000000F0F0F0F0F
0F0F0F0F0F0F0F0F0F0F0F0F0F0F000000000F0F0F0F0F0000000F0F0F0F0000
000F0F000000000000000000000000000000000000000F0F0000000F0F0F0F00
00000F0F0F0000000F0000000000000000000000000000000000000000000000
0F0000000F0F0F0000000F0F0000000F00000000000000000000000000000000
0000000000000000000F0000000F0F0000000F0F00000F000000000000000000
0000000000000000000000000000000000000F00000F0F0000000F0000000F00
00000000000000000000000000000000000000000000000000000F0000000F00
00000F00000F0000000000000000000000000000000000000000000000000000
0000000F00000F0000000000000F000000000007070707000000000000000000
00000707070700000000000F00000000000000000F0000000000070707070707
00000000000000000007070707070700000000000F000000000000000F000000
000707070707070707000000000000000707070707070707000000000F000000
000000000F000000000707070707070707000000000000000707070707070707
000000000F000000000000000F00000000070707070707070700000000000000
0707070707070707000000000F000000000000000F0000000007070707070707
07000000000000000707070707070707000000000F000000000000000F000000
000007070707070700000000000000000007070707070700000000000F000000
00000000000F0000000000070707070000000000000000000000070707070000
0000000F0000000000000F00000F000000000000000000000000000000000000
00000000000000000000000F00000F0000000F0000000F000000000000000000
0000000000000000000000000000000000000F0000000F0000000F0F00000F00
00000000000000000000000000000000000000000000000000000F00000F0F00
00000F0F0000000F000000000000000000000000000000000000000000000000
000F0000000F0F0000000F0F0F0000000F000000000000000000000000000000
00000000000000000F0000000F0F0F0000000F0F0F0F0000000F0F0000000000
00000000000000000000000000000F0F0000000F0F0F0F0000000F0F0F0F0F00
0000000F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F000000000F0F0F0F0F00
00000F0F0F0F0F0F000000000000000000000000000000000000000000000000
000F0F0F0F0F0F0000000F0F0F0F0F0F0F0F0000000000000000000000000000
000000000000000F0F0F0F0F0F0F0F000000}
Visible = False
end
object Image3Dir: TImage
Left = 1008
Top = 40
Width = 49
Height = 25
Picture.Data = {
07544269746D6170AE080000424DAE0800000000000036040000280000002C00
00001A000000010008000000000078040000C40E0000C40E0000000100000001
0000000000000000800000800000008080008000000080008000808000008080
8000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
FF00000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000F0F0F0F0F0F0F0F00000000000000000000000000000000000000000000
0000000000000F0F0F0F0F0F0F0F0F0F0F0F0F0F000000000000000000000000
00000000000000000000000000000000000000000F0F0F0F0F0F0F0F0F0F0F00
0000000F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F000000
000F0F0F0F0F0F0F0F0F0000000F0F0000000000000000000000000000000000
0000000000000000000F0F0000000F0F0F0F0F0F0F0000000F00000000000000
00000000000000000000000000000000000000000000000F0000000F0F0F0F0F
0000000F00000000000000000000000000000000000000000000000000000000
000000000F0000000F0F0F0F00000F0000000000000000000000000000000000
00000000000000000000000000000000000F00000F0F0F0000000F0000000000
00000000000000000000000000000000000000000000000000000000000F0000
000F0F00000F0000000000000000000000000000000000000000000000000000
000000000000000000000F00000F0000000F0000000000070707070000000000
000007070707000000000000000707070700000000000F00000000000F000000
0000070707070707000000000007070707070700000000000707070707070000
0000000F000000000F0000000007070707070707070000000707070707070707
0000000707070707070707000000000F000000000F0000000007070707070707
0700000007070707070707070000000707070707070707000000000F00000000
0F00000000070707070707070700000007070707070707070000000707070707
070707000000000F000000000F00000000070707070707070700000007070707
070707070000000707070707070707000000000F000000000F00000000000707
070707070000000000070707070707000000000007070707070700000000000F
00000000000F0000000000070707070000000000000007070707000000000000
000707070700000000000F0000000F00000F0000000000000000000000000000
000000000000000000000000000000000000000000000F00000F0F0000000F00
0000000000000000000000000000000000000000000000000000000000000000
000F0000000F0F0F00000F000000000000000000000000000000000000000000
000000000000000000000000000F00000F0F0F0F0000000F0000000000000000
0000000000000000000000000000000000000000000000000F0000000F0F0F0F
0F0000000F000000000000000000000000000000000000000000000000000000
0000000F0000000F0F0F0F0F0F0F0000000F0F00000000000000000000000000
000000000000000000000000000F0F0000000F0F0F0F0F0F0F0F0F000000000F
0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F000000000F0F0F
0F0F0F0F0F0F0F0F000000000000000000000000000000000000000000000000
00000000000000000F0F0F0F0F0F0F0F0F0F0F0F0F0F00000000000000000000
0000000000000000000000000000000000000F0F0F0F0F0F0F0F}
Visible = False
end
object Image4Dir: TImage
Left = 1056
Top = 40
Width = 57
Height = 25
Picture.Data = {
07544269746D6170E6090000424DE60900000000000036040000280000003700
00001A0000000100080000000000B0050000C40E0000C40E0000000100000001
0000000000000000800000800000008080008000000080008000808000008080
8000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
FF00000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000F0F0F0F0F0F0F0F00000000000000000000000000000000000000000000
00000000000000000000000000000000000F0F0F0F0F0F0F0F000F0F0F0F0F0F
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000F0F0F0F0F0F000F0F0F0F0F000000000F0F0F0F0F
0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
000000000F0F0F0F0F000F0F0F0F0000000F0F00000000000000000000000000
0000000000000000000000000000000000000000000000000F0F0000000F0F0F
0F000F0F0F0000000F0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000F0000000F0F0F000F0F0000000F
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000F0000000F0F000F0F00000F000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000F00000F0F000F0000000F0000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000F000000
0F000F00000F0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000F00000F000000000F0000
0000000707070700000000000000070707070000000000000007070707000000
000000000707070700000000000F0000000000000F0000000000070707070707
0000000000070707070707000000000007070707070700000000000707070707
0700000000000F00000000000F00000000070707070707070700000007070707
0707070700000007070707070707070000000707070707070707000000000F00
000000000F000000000707070707070707000000070707070707070700000007
070707070707070000000707070707070707000000000F00000000000F000000
0007070707070707070000000707070707070707000000070707070707070700
00000707070707070707000000000F00000000000F0000000007070707070707
0700000007070707070707070000000707070707070707000000070707070707
0707000000000F00000000000F00000000000707070707070000000000070707
0707070000000000070707070707000000000007070707070700000000000F00
00000000000F0000000000070707070000000000000007070707000000000000
0007070707000000000000000707070700000000000F000000000F00000F0000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000F00000F000F0000000F000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000F0000000F000F0F00000F0000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000F00000F
0F000F0F0000000F000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000F0000000F0F000F0F0F000000
0F00000000000000000000000000000000000000000000000000000000000000
000000000000000000000F0000000F0F0F000F0F0F0F0000000F0F0000000000
0000000000000000000000000000000000000000000000000000000000000000
0F0F0000000F0F0F0F000F0F0F0F0F000000000F0F0F0F0F0F0F0F0F0F0F0F0F
0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F000000000F0F0F0F
0F000F0F0F0F0F0F000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000F0F0F0F0F0F000F0F0F0F0F0F
0F0F000000000000000000000000000000000000000000000000000000000000
0000000000000000000F0F0F0F0F0F0F0F00}
Visible = False
end
object Image5Dir: TImage
Left = 1112
Top = 40
Width = 65
Height = 25
Picture.Data = {
07544269746D61701E0B0000424D1E0B00000000000036040000280000004200
00001A0000000100080000000000E8060000C40E0000C40E0000000100000001
0000000000000000800000800000008080008000000080008000808000008080
8000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
FF00000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000F0F0F0F0F0F0F0F00000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000F0F0F0F
0F0F0F0F00000F0F0F0F0F0F0000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000F0F0F0F0F0F00000F0F0F0F0F000000000F0F0F0F0F0F0F0F0F0F0F0F0F
0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
0F0F0F000000000F0F0F0F0F00000F0F0F0F0000000F0F000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000F0F0000000F0F0F0F00000F0F0F0000000F00000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000F0000000F0F0F00000F0F0000000F00000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000F0000000F0F00000F0F00000F00
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000F00000F0F00000F00
00000F0000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000F0000000F
00000F00000F0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0F00000F00000000000F00000000000707070700000000000000070707070000
0000000000070707070000000000000007070707000000000000000707070700
000000000F000000000000000F00000000000707070707070000000000070707
0707070000000000070707070707000000000007070707070700000000000707
0707070700000000000F0000000000000F000000000707070707070707000000
0707070707070707000000070707070707070700000007070707070707070000
000707070707070707000000000F0000000000000F0000000007070707070707
0700000007070707070707070000000707070707070707000000070707070707
07070000000707070707070707000000000F0000000000000F00000000070707
0707070707000000070707070707070700000007070707070707070000000707
0707070707070000000707070707070707000000000F0000000000000F000000
0007070707070707070000000707070707070707000000070707070707070700
000007070707070707070000000707070707070707000000000F000000000000
0F00000000000707070707070000000000070707070707000000000007070707
07070000000000070707070707000000000007070707070700000000000F0000
00000000000F0000000000070707070000000000000007070707000000000000
0007070707000000000000000707070700000000000000070707070000000000
0F00000000000F00000F00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000F00000F00000F0000000F0000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000F0000000F00000F0F00000F00000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000F00000F0F00000F0F0000000F0000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000F0000000F0F00000F0F0F0000000F000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000F0000000F0F0F00000F0F0F0F0000
000F0F0000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000F0F0000000F0F0F0F00000F0F
0F0F0F000000000F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F000000000F0F0F0F0F
00000F0F0F0F0F0F000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000F0F
0F0F0F0F00000F0F0F0F0F0F0F0F000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0F0F0F0F0F0F0F0F0000}
Visible = False
end
object Image6Dir: TImage
Left = 1120
Top = 96
Width = 81
Height = 25
Picture.Data = {
07544269746D6170560C0000424D560C00000000000036040000280000004D00
00001A000000010008000000000020080000C40E0000C40E0000000100000001
0000000000000000800000800000008080008000000080008000808000008080
8000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
FF00000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000F0F0F0F0F0F0F0F00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000F0F0F0F0F0F0F0F0000000F0F0F0F0F0F0000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000F0F0F0F0F0F00
00000F0F0F0F0F000000000F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
0F0F0F0F0F0F000000000F0F0F0F0F0000000F0F0F0F0000000F0F0000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000F0F0000000F0F0F0F00
00000F0F0F0000000F0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000F0000000F0F0F0000000F0F0000000F0000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000F0000000F0F00
00000F0F00000F00000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000F00000F0F0000000F0000000F000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000F0000000F00
00000F00000F0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000F00000F0000000000000F00000000000202050200
0000000000000202050200000000000000020205020000000000000002020502
0000000000000002020502000000000000000202050200000000000F00000000
000000000F000000000002050202050200000000000205020205020000000000
0205020205020000000000020502020502000000000002050202050200000000
0002050202050200000000000F000000000000000F0000000000070002050200
0200000000070002050200020000000007000205020002000000000700020502
000200000000070002050200020000000007000205020002000000000F000000
000000000F000000000202070002070502000000020207000207050200000002
0207000207050200000002020700020705020000000202070002070502000000
0202070002070502000000000F000000000000000F0000000005020007020002
0200000005020007020002020000000502000702000202000000050200070200
020200000005020007020002020000000502000702000202000000000F000000
000000000F000000000205020007000700000000020502000700070000000002
0502000700070000000002050200070007000000000205020007000700000000
0205020007000700000000000F000000000000000F0000000000020502070002
0000000000020502070002000000000002050207000200000000000205020700
020000000000020502070002000000000002050207000200000000000F000000
00000000000F0000000000020002070000000000000002000207000000000000
0002000207000000000000000200020700000000000000020002070000000000
00000200020700000000000F0000000000000F00000F00000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000F00000F00
00000F0000000F00000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000F0000000F0000000F0F00000F000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000F00000F0F00
00000F0F0000000F000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000F0000000F0F0000000F0F0F0000000F00000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000F0000000F0F0F00
00000F0F0F0F0000000F0F000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000F0F0000000F0F0F0F0000000F0F0F0F0F000000000F0F0F0F0F
0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F
0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F000000000F0F0F0F0F00
00000F0F0F0F0F0F000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000F0F0F0F0F0F0000000F0F0F0F0F0F0F0F000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000F0F0F0F0F0F0F0F00
0000}
Visible = False
end
object BoutVersion: TButton object BoutVersion: TButton
Left = 705 Left = 705
Top = 10 Top = 10
@@ -762,7 +1209,7 @@ object FormPrinc: TFormPrinc
object ListBox1: TListBox object ListBox1: TListBox
Left = 8 Left = 8
Top = 40 Top = 40
Width = 681 Width = 633
Height = 520 Height = 520
Style = lbOwnerDrawFixed Style = lbOwnerDrawFixed
Color = clBlack Color = clBlack
@@ -777,7 +1224,7 @@ object FormPrinc: TFormPrinc
OnDrawItem = ListBox1DrawItem OnDrawItem = ListBox1DrawItem
end end
object BoutonRaf: TButton object BoutonRaf: TButton
Left = 968 Left = 912
Top = 64 Top = 64
Width = 105 Width = 105
Height = 33 Height = 33
@@ -786,14 +1233,16 @@ object FormPrinc: TFormPrinc
OnClick = BoutonRafClick OnClick = BoutonRafClick
end end
object ScrollBox1: TScrollBox object ScrollBox1: TScrollBox
Left = 704 Left = 648
Top = 164 Top = 164
Width = 465 Width = 537
Height = 401 Height = 401
Color = clWhite
ParentColor = False
TabOrder = 3 TabOrder = 3
end end
object GroupBox1: TGroupBox object GroupBox1: TGroupBox
Left = 704 Left = 656
Top = 40 Top = 40
Width = 249 Width = 249
Height = 65 Height = 65
@@ -859,7 +1308,7 @@ object FormPrinc: TFormPrinc
OnClick = ButtonTestClick OnClick = ButtonTestClick
end end
object ButtonInfo: TButton object ButtonInfo: TButton
Left = 1080 Left = 1032
Top = 72 Top = 72
Width = 75 Width = 75
Height = 25 Height = 25
@@ -868,7 +1317,7 @@ object FormPrinc: TFormPrinc
OnClick = ButtonInfoClick OnClick = ButtonInfoClick
end end
object GroupBox2: TGroupBox object GroupBox2: TGroupBox
Left = 702 Left = 654
Top = 111 Top = 111
Width = 419 Width = 419
Height = 46 Height = 46
@@ -961,12 +1410,13 @@ object FormPrinc: TFormPrinc
ClientType = ctNonBlocking ClientType = ctNonBlocking
Port = 0 Port = 0
OnConnect = ClientSocketLenzConnect OnConnect = ClientSocketLenzConnect
OnDisconnect = ClientSocketLenzDisconnect
OnRead = ClientSocketLenzRead OnRead = ClientSocketLenzRead
OnError = ClientSocketLenzError OnError = ClientSocketLenzError
Left = 408 Left = 320
end end
object MainMenu1: TMainMenu object MainMenu1: TMainMenu
Left = 216 Left = 1160
Top = 8 Top = 8
object Afficher1: TMenuItem object Afficher1: TMenuItem
Caption = 'Afficher' Caption = 'Afficher'
@@ -985,6 +1435,10 @@ object FormPrinc: TFormPrinc
Caption = 'Codification des aiguillages' Caption = 'Codification des aiguillages'
OnClick = Codificationdesaiguillages1Click OnClick = Codificationdesaiguillages1Click
end end
object Codificationdesfeux1: TMenuItem
Caption = 'Codification des feux'
OnClick = Codificationdesfeux1Click
end
end end
object Interface1: TMenuItem object Interface1: TMenuItem
Caption = 'Interface' Caption = 'Interface'
@@ -1023,6 +1477,13 @@ object FormPrinc: TFormPrinc
OnClick = DeconnecterCDMRailClick OnClick = DeconnecterCDMRailClick
end end
end end
object Divers1: TMenuItem
Caption = 'Divers'
object Versions1: TMenuItem
Caption = 'Versions'
OnClick = Versions1Click
end
end
end end
object ClientSocketCDM: TClientSocket object ClientSocketCDM: TClientSocket
Active = False Active = False
@@ -1032,6 +1493,6 @@ object FormPrinc: TFormPrinc
OnDisconnect = ClientSocketCDMDisconnect OnDisconnect = ClientSocketCDMDisconnect
OnRead = ClientSocketCDMRead OnRead = ClientSocketCDMRead
OnError = ClientSocketCDMError OnError = ClientSocketCDMError
Left = 448 Left = 352
end end
end end

File diff suppressed because it is too large Load Diff

View File

@@ -6,8 +6,9 @@
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 LEB / Envoie un 0 après le pilotage des décodeurs
RazSignaux=0 / Mettre 1 si utilisation de décodeurs LEB
RazSignaux=1
/ /
/ modélisation des aiguillages : détermine les éléments connectés aux 3 branches des aiguilles (Pointe, Droit, Dévié (S) / 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,P=élément vers pointe D=élément vers Droit, S=élément vers dévié.
@@ -74,14 +75,16 @@ A6,516,0
A31,0 A31,0
0 0
/ liste des adresses des signaux et leur forme, pour affichage de l'image correspondante , / 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. / avec ou sans bouton de commande pour le feu blanc, type de décodeur [, type de cible (pour les décodeurs Unisemaf uniquement)]
/ la liste doit être terminée par une adresse à 0 / 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 / 5=5 feux (carré + blanc ou violet)
/ 7=7 feux (blanc ou violet + ralentissement / 9=9 feux (blanc ou violet + rappel ralentissement) / 7=7 feux (blanc ou violet + ralentissement / 9=9 feux (blanc ou violet + rappel ralentissement)
/ type de décodeur : 1=digital Bahn 2=CDF 3=LDT 4=LEB / Dx : signal directionnel à x feux
/ type de décodeur : 1=digital Bahn 2=CDF 3=LDT 4=LEB 5=NMRA 6=Unisemaf
/ Notation de chaque ligne: / 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, 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é] / avec ou sans demande de verrouillage du feu au carré]
/
176,7,0,1,(520,A20),1 176,7,0,1,(520,A20),1
190,7,0,1,(523,526),1 190,7,0,1,(523,526),1
204,9,0,1,(527,A7),1 204,9,0,1,(527,A7),1
@@ -95,13 +98,16 @@ A31,0
330,7,0,1,(519,A2),1 330,7,0,1,(519,A2),1
344,9,0,1,(528,A10),1 344,9,0,1,(528,A10),1
358,9,0,1,(517,A18),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 392,3,0,1,(535,533),1
420,7,0,1,(529,A25,530,A27,537,A27),1 420,7,0,1,(529,A25,530,A27,537,A27),1
448,7,0,1,(533,A24),1 448,7,0,1,(533,A24),1
462,9,0,1,(513,A29),1 462,9,0,1,(513,A29),1
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,1,(521,A8),1 600,7,0,0,(521,A8),1
610,9,0,6,(520,A20),0,7
0 0
/ /

Binary file not shown.

View File

@@ -22,38 +22,37 @@ var
FormVersion: TFormVersion; FormVersion: TFormVersion;
Lance_verif : integer; Lance_verif : integer;
Const Version='1.02';// sert à la comparaison de la version publiée Const Version='1.1';// sert à la comparaison de la version publiée
implementation implementation
{$R *.dfm} {$R *.dfm}
Procedure Aff(s : string); Procedure Aff(s : string);
begin begin
FormVersion.Memo1.lines.add(s); FormVersion.Memo1.lines.add(s);
end; end;
function GetCurrentProcessEnvVar(const VariableName: string): string; function GetCurrentProcessEnvVar(const VariableName: string): string;
var var
nSize: DWord; nSize: DWord;
begin begin
nSize:= 0; nSize:=0;
nSize:= GetEnvironmentVariable(PChar(VariableName), nil, nSize); nSize:=GetEnvironmentVariable(PChar(VariableName), nil, nSize);
if nSize = 0 then if nSize=0 then
begin begin
result:= ''; result:='';
end end
else else
begin begin
SetLength(result, nSize - 1); SetLength(result,nSize-1);
if GetEnvironmentVariable(PChar(VariableName), PChar(result), nSize) <> nSize - 1 then if GetEnvironmentVariable(PChar(VariableName), PChar(result), nSize) <> nSize - 1 then
raise Exception.Create(SysErrorMessage(GetlastError)) raise Exception.Create(SysErrorMessage(GetlastError))
end; end;
end; end;
// téléchargement d'une page internet sans cache dans un fichier
function DownloadURL_NOCache(aUrl: string;s : string): Boolean; function DownloadURL_NOCache(aUrl: string;s : string): Boolean;
var var
hSession: HINTERNET; hSession: HINTERNET;
@@ -65,7 +64,7 @@ begin
Result:=False; Result:=False;
Try Fs:=TFileStream.Create(s,fmCreate); Try Fs:=TFileStream.Create(s,fmCreate);
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
begin begin
@@ -76,7 +75,7 @@ begin
begin begin
dwBytesRead:=1024; dwBytesRead:=1024;
InternetReadFile(hService,@lpBuffer,1024,dwBytesRead); InternetReadFile(hService,@lpBuffer,1024,dwBytesRead);
fs.WriteBuffer(lpBuffer, dwBytesRead); fs.WriteBuffer(lpBuffer,dwBytesRead);
if dwBytesRead=0 then break; if dwBytesRead=0 then break;
end; end;
Result:=True; Result:=True;
@@ -92,7 +91,6 @@ begin
end; end;
end; end;
procedure verifie_version; procedure verifie_version;
var s,s2,s3,Version_p,Url,LocalFile : string; var s,s2,s3,Version_p,Url,LocalFile : string;
trouve_version,trouve_zip : boolean; trouve_version,trouve_zip : boolean;
@@ -115,44 +113,44 @@ begin
if not(trouve_version) then if not(trouve_version) then
begin begin
i:=pos('version ',s); i:=pos('version ',s);
trouve_version:=i<>0; trouve_version:=i<>0;
if trouve_version then s2:=s; if trouve_version then s2:=s;
end; end;
if not(trouve_zip) then if not(trouve_zip) then
begin begin
i:=pos('.zip',s); i:=pos('.zip',s);
trouve_zip:=i<>0; trouve_zip:=i<>0;
if trouve_zip then s3:=s; if trouve_zip then s3:=s;
end; end;
// Aff(s) // Aff(s)
end; end;
closefile(fichier); closefile(fichier);
if trouve_version then if trouve_version then
begin begin
// isoler le champ version // isoler le champ version
i:=pos('version ',s2); i:=pos('version ',s2);
delete(s2,1,i+7); delete(s2,1,i+7);
j:=pos(' ',s2); j:=pos(' ',s2);
Version_p:=copy(s2,1,j-1); // version dans version_p Version_p:=copy(s2,1,j-1); // version dans version_p
// isoler l'url du zip // isoler l'url du zip
i:=pos('href="',s3); i:=pos('href="',s3);
delete(s3,1,i+5); delete(s3,1,i+5);
j:=pos('"',s3); j:=pos('"',s3);
s3:=copy(s3,1,j-1); s3:=copy(s3,1,j-1);
i:=pos('.',s3); i:=pos('.',s3);
if i<>0 then delete(s3,i,1); // supprimer le . if i<>0 then delete(s3,i,1); // supprimer le .
s3:='http://cdmrail.free.fr/ForumCDR'+s3 ; s3:='http://cdmrail.free.fr/ForumCDR'+s3 ;
//aff(s3); // lien dans s3 //aff(s3); // lien dans s3
// changer le . en , // changer le . en ,
s:=Version_p; s:=Version_p;
i:=pos('.',s);if i<>0 then s[i]:=','; i:=pos('.',s);if i<>0 then s[i]:=',';
s2:=version; s2:=version;
i:=pos('.',s2);if i<>0 then s2[i]:=','; i:=pos('.',s2);if i<>0 then s2[i]:=',';
V_publie:=StrToFloat(s); V_publie:=StrToFloat(s);
V_utile:=StrToFloat(s2); V_utile:=StrToFloat(s2);
if V_utile<V_publie then if V_utile<V_publie then
begin begin
FormVersion.show; FormVersion.show;
s:='Vous utilisez la version '+version+' mais il existe la version '+Version_p; s:='Vous utilisez la version '+version+' mais il existe la version '+Version_p;
@@ -162,40 +160,38 @@ begin
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);
if DownloadURL_NOCache(s3,s) then if DownloadURL_NOCache(s3,s) then
begin begin
Aff('Téléchargement réussi'); Aff('Téléchargement réussi');
Aff('Vous pouvez ouvrir le dossier de téléchargement, décomprimer le zip et l''installer'); Aff('Vous pouvez ouvrir le dossier de téléchargement, décomprimer le zip et l''installer');
end end
else Aff('Echec de téléchargement'); else Aff('Echec de téléchargement');
end end
else formVersion.Free; else formVersion.Free;
end; end;
//if V_utile=V_publie then Affiche('Version Actuelle=Version publiée : votre version est à jour',clLime); //if V_utile=V_publie then Affiche('Version Actuelle=Version publiée : votre version est à jour',clLime);
end; end;
end end
else else
begin begin
//Aff('Pas d''accès au site CDM rail'); //Aff('Pas d''accès au site CDM rail');
end; end;
end; end;
procedure TFormVersion.FormCreate(Sender: TObject); procedure TFormVersion.FormCreate(Sender: TObject);
begin begin
Timerverif.Interval:=1000; Timerverif.Interval:=1000; // timer à 1 seconde
Lance_verif:=2; Lance_verif:=2; // lancer la vérification de version dans 1s
end; end;
procedure TFormVersion.TimerVerifTimer(Sender: TObject); procedure TFormVersion.TimerVerifTimer(Sender: TObject);
begin begin
if lance_verif>0 then dec(lance_verif); if lance_verif>0 then dec(lance_verif);
if lance_verif=1 then verifie_version; if lance_verif=1 then verifie_version;
end; end;
end. end.