This commit is contained in:
f1iwq2
2022-12-31 15:03:54 +01:00
parent 6da9edba2e
commit 49b1926678
47 changed files with 3193 additions and 16099 deletions
-35
View File
@@ -1,35 +0,0 @@
-$A8
-$B-
-$C+
-$D+
-$E-
-$F-
-$G+
-$H+
-$I+
-$J-
-$K-
-$L+
-$M-
-$N+
-$O+
-$P+
-$Q-
-$R-
-$S-
-$T-
-$U-
-$V+
-$W-
-$X+
-$YD
-$Z1
-cg
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-H+
-W+
-M
-$M16384,1048576
-K$00400000
-LE"c:\program files (x86)\borland\delphi7\Projects\Bpl"
-LN"c:\program files (x86)\borland\delphi7\Projects\Bpl"
-135
View File
@@ -1,135 +0,0 @@
[FileVersion]
Version=7.0
[Compiler]
A=8
B=0
C=1
D=1
E=0
F=0
G=1
H=1
I=1
J=0
K=0
L=1
M=0
N=1
O=1
P=1
Q=0
R=0
S=0
T=0
U=0
V=1
W=0
X=1
Y=1
Z=1
ShowHints=1
ShowWarnings=1
UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
NamespacePrefix=
SymbolDeprecated=1
SymbolLibrary=1
SymbolPlatform=1
UnitLibrary=1
UnitPlatform=1
UnitDeprecated=1
HResultCompat=1
HidingMember=1
HiddenVirtual=1
Garbage=1
BoundsError=1
ZeroNilCompat=1
StringConstTruncated=1
ForLoopVarVarPar=1
TypedConstVarPar=1
AsgToTypedConst=1
CaseLabelRange=1
ForVariable=1
ConstructingAbstract=1
ComparisonFalse=1
ComparisonTrue=1
ComparingSignedUnsigned=1
CombiningSignedUnsigned=1
UnsupportedConstruct=1
FileOpen=1
FileOpenUnitSrc=1
BadGlobalSymbol=1
DuplicateConstructorDestructor=1
InvalidDirective=1
PackageNoLink=1
PackageThreadVar=1
ImplicitImport=1
HPPEMITIgnored=1
NoRetVal=1
UseBeforeDef=1
ForLoopVarUndef=1
UnitNameMismatch=1
NoCFGFileFound=1
MessageDirective=1
ImplicitVariants=1
UnicodeToLocale=1
LocaleToUnicode=1
ImagebaseMultiple=1
SuspiciousTypecast=1
PrivatePropAccessor=1
UnsafeType=1
UnsafeCode=1
UnsafeCast=1
[Linker]
MapFile=0
OutputObjs=0
ConsoleApp=1
DebugInfo=0
RemoteSymbols=0
MinStackSize=16384
MaxStackSize=1048576
ImageBase=4194304
ExeDescription=
[Directories]
OutputDir=
UnitOutputDir=
PackageDLLOutputDir=
PackageDCPOutputDir=
SearchPath=
Packages=vcl;rtl;vclx;VclSmp;vclshlctrls
Conditionals=
DebugSourceDirs=
UsePackages=0
[Parameters]
RunParams=
HostApplication=
Launcher=
UseLauncher=0
DebugCWD=
[Version Info]
IncludeVerInfo=1
AutoIncBuild=0
MajorVer=1
MinorVer=0
Release=0
Build=5
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0
Locale=1036
CodePage=1252
[Version Info Keys]
CompanyName=
FileDescription=
FileVersion=1.0.0.5
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
Comments=
[HistoryLists\hlUnitAliases]
Count=1
Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-36
View File
@@ -1,36 +0,0 @@
program Signaux_complexes_GL;
uses
Forms,
UnitPrinc in 'UnitPrinc.pas' {FormPrinc},
UnitDebug in 'UnitDebug.pas' {FormDebug},
verif_version in 'verif_version.pas' {FormVersion},
UnitPilote in 'UnitPilote.pas' {FormPilote},
UnitSimule in 'UnitSimule.pas' {FormSimulation},
UnitTCO in 'UnitTCO.pas' {FormTCO},
UnitConfig in 'UnitConfig.pas' {FormConfig},
UnitConfigTCO in 'UnitConfigTCO.pas' {FormConfigTCO},
UnitSR in 'UnitSR.pas' {FormSR},
Unit_Pilote_aig in 'Unit_Pilote_aig.pas' {FormAig},
UnitConfigCellTCO in 'UnitConfigCellTCO.pas' {FormConfCellTCO},
UnitCDF in 'UnitCDF.pas' {FormCDF},
Unitplace in 'Unitplace.pas' {FormPlace};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TFormPrinc, FormPrinc);
Application.CreateForm(TFormDebug, FormDebug);
Application.CreateForm(TFormPilote, FormPilote);
Application.CreateForm(TFormSimulation, FormSimulation);
Application.CreateForm(TFormConfig, FormConfig);
Application.CreateForm(TFormConfigTCO, FormConfigTCO);
Application.CreateForm(TFormVersion, FormVersion);
Application.CreateForm(TFormSR, FormSR);
Application.CreateForm(TFormAig, FormAig);
Application.CreateForm(TFormConfCellTCO, FormConfCellTCO);
Application.CreateForm(TFormCDF, FormCDF);
Application.CreateForm(TFormPlace, FormPlace);
Application.Run;
end.
Binary file not shown.
+2 -2
View File
@@ -21,16 +21,16 @@ uses
begin begin
Application.Initialize; Application.Initialize;
Application.CreateForm(TFormPrinc, FormPrinc); Application.CreateForm(TFormPrinc, FormPrinc);
Application.CreateForm(TFormDebug, FormDebug); Application.CreateForm(TFormVersion, FormVersion);
Application.CreateForm(TFormPilote, FormPilote); Application.CreateForm(TFormPilote, FormPilote);
Application.CreateForm(TFormSimulation, FormSimulation); Application.CreateForm(TFormSimulation, FormSimulation);
Application.CreateForm(TFormConfig, FormConfig); Application.CreateForm(TFormConfig, FormConfig);
Application.CreateForm(TFormConfigTCO, FormConfigTCO); Application.CreateForm(TFormConfigTCO, FormConfigTCO);
Application.CreateForm(TFormVersion, FormVersion);
Application.CreateForm(TFormSR, FormSR); Application.CreateForm(TFormSR, FormSR);
Application.CreateForm(TFormAig, FormAig); Application.CreateForm(TFormAig, FormAig);
Application.CreateForm(TFormConfCellTCO, FormConfCellTCO); Application.CreateForm(TFormConfCellTCO, FormConfCellTCO);
Application.CreateForm(TFormCDF, FormCDF); Application.CreateForm(TFormCDF, FormCDF);
Application.CreateForm(TFormPlace, FormPlace); Application.CreateForm(TFormPlace, FormPlace);
Application.CreateForm(TFormDebug, FormDebug);
Application.Run; Application.Run;
end. end.
Binary file not shown.
-396
View File
@@ -1,396 +0,0 @@
object FormCDF: TFormCDF
Left = 368
Top = 141
BorderStyle = bsDialog
Caption = 'Configuration du d'#233'codeur CDF'
ClientHeight = 466
ClientWidth = 341
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnActivate = FormActivate
PixelsPerInch = 96
TextHeight = 13
object Label20: TLabel
Left = 16
Top = 48
Width = 184
Height = 26
Caption =
'Tables d'#39'aspects du signal en fonction du motif envoy'#233' au d'#233'code' +
'ur CDF'
WordWrap = True
end
object Label1: TLabel
Left = 8
Top = 176
Width = 32
Height = 13
Caption = 'Label1'
end
object Label2: TLabel
Left = 8
Top = 200
Width = 32
Height = 13
Caption = 'Label2'
end
object Label3: TLabel
Left = 8
Top = 224
Width = 32
Height = 13
Caption = 'Label3'
end
object Label4: TLabel
Left = 8
Top = 248
Width = 32
Height = 13
Caption = 'Label4'
end
object Label5: TLabel
Left = 8
Top = 272
Width = 32
Height = 13
Caption = 'Label5'
end
object Label6: TLabel
Left = 8
Top = 296
Width = 32
Height = 13
Caption = 'Label6'
end
object Label7: TLabel
Left = 8
Top = 320
Width = 32
Height = 13
Caption = 'Label7'
end
object Label8: TLabel
Left = 8
Top = 344
Width = 32
Height = 13
Caption = 'Label8'
end
object Label9: TLabel
Left = 8
Top = 368
Width = 32
Height = 13
Caption = 'Label9'
end
object Label10: TLabel
Left = 8
Top = 392
Width = 38
Height = 13
Caption = 'Label10'
end
object Label11: TLabel
Left = 184
Top = 200
Width = 38
Height = 13
Caption = 'Label11'
end
object Label12: TLabel
Left = 184
Top = 224
Width = 38
Height = 13
Caption = 'Label12'
end
object Label13: TLabel
Left = 184
Top = 248
Width = 38
Height = 13
Caption = 'Label13'
end
object Label14: TLabel
Left = 184
Top = 272
Width = 38
Height = 13
Caption = 'Label14'
end
object Label15: TLabel
Left = 184
Top = 296
Width = 38
Height = 13
Caption = 'Label15'
end
object Label16: TLabel
Left = 184
Top = 320
Width = 38
Height = 13
Caption = 'Label16'
end
object Label17: TLabel
Left = 184
Top = 344
Width = 38
Height = 13
Caption = 'Label17'
end
object Label18: TLabel
Left = 184
Top = 368
Width = 38
Height = 13
Caption = 'Label18'
end
object Label19: TLabel
Left = 184
Top = 392
Width = 38
Height = 13
Caption = 'Label19'
end
object ImageDigi: TImage
Left = 240
Top = 16
Width = 57
Height = 97
end
object Shape1: TShape
Left = 168
Top = 152
Width = 2
Height = 273
end
object Label21: TLabel
Left = 120
Top = 152
Width = 29
Height = 13
Caption = 'Motif'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object Label22: TLabel
Left = 296
Top = 176
Width = 29
Height = 13
Caption = 'Motif'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object Label23: TLabel
Left = 16
Top = 104
Width = 205
Height = 13
Caption = 'Nombre d'#39'adresses occup'#233'es par le signal :'
end
object LabelTitre: TLabel
Left = 16
Top = 8
Width = 63
Height = 19
Caption = 'Adresse'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -16
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
end
object Label24: TLabel
Left = 56
Top = 124
Width = 24
Height = 13
Caption = '1 '#224' 4'
end
object Button1: TButton
Left = 128
Top = 432
Width = 75
Height = 25
Caption = 'Ok'
TabOrder = 0
OnClick = Button1Click
end
object Edit1: TEdit
Left = 120
Top = 176
Width = 25
Height = 21
TabOrder = 1
OnChange = Edit1Change
end
object Edit2: TEdit
Left = 120
Top = 200
Width = 25
Height = 21
TabOrder = 2
OnChange = Edit2Change
end
object Edit3: TEdit
Left = 120
Top = 224
Width = 25
Height = 21
TabOrder = 3
OnChange = Edit3Change
end
object Edit4: TEdit
Left = 120
Top = 248
Width = 25
Height = 21
TabOrder = 4
OnChange = Edit4Change
end
object Edit5: TEdit
Left = 120
Top = 272
Width = 25
Height = 21
TabOrder = 5
OnChange = Edit5Change
end
object Edit6: TEdit
Left = 120
Top = 296
Width = 25
Height = 21
TabOrder = 6
OnChange = Edit6Change
end
object Edit7: TEdit
Left = 120
Top = 320
Width = 25
Height = 21
TabOrder = 7
OnChange = Edit7Change
end
object Edit8: TEdit
Left = 120
Top = 344
Width = 25
Height = 21
TabOrder = 8
OnChange = Edit8Change
end
object Edit9: TEdit
Left = 120
Top = 368
Width = 25
Height = 21
TabOrder = 9
OnChange = Edit9Change
end
object Edit10: TEdit
Left = 120
Top = 392
Width = 25
Height = 21
TabOrder = 10
OnChange = Edit10Change
end
object Edit11: TEdit
Left = 296
Top = 200
Width = 25
Height = 21
TabOrder = 11
OnChange = Edit11Change
end
object Edit12: TEdit
Left = 296
Top = 224
Width = 25
Height = 21
TabOrder = 12
OnChange = Edit12Change
end
object Edit13: TEdit
Left = 296
Top = 248
Width = 25
Height = 21
TabOrder = 13
OnChange = Edit13Change
end
object Edit14: TEdit
Left = 296
Top = 272
Width = 25
Height = 21
TabOrder = 14
OnChange = Edit14Change
end
object Edit15: TEdit
Left = 296
Top = 296
Width = 25
Height = 21
TabOrder = 15
OnChange = Edit15Change
end
object Edit16: TEdit
Left = 296
Top = 320
Width = 25
Height = 21
TabOrder = 16
OnChange = Edit16Change
end
object Edit17: TEdit
Left = 296
Top = 344
Width = 25
Height = 21
TabOrder = 17
OnChange = Edit17Change
end
object Edit18: TEdit
Left = 296
Top = 368
Width = 25
Height = 21
TabOrder = 18
OnChange = Edit18Change
end
object Edit19: TEdit
Left = 296
Top = 392
Width = 25
Height = 21
TabOrder = 19
OnChange = Edit19Change
end
object EditNAdresses: TEdit
Left = 16
Top = 120
Width = 25
Height = 21
TabOrder = 20
Text = '1'
OnChange = EditNAdressesChange
end
end
-383
View File
@@ -1,383 +0,0 @@
unit UnitCDF;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls , unitconfig, UnitPrinc;
type
TFormCDF = class(TForm)
Button1: TButton;
Label20: TLabel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
ImageDigi: TImage;
Shape1: TShape;
Label21: TLabel;
Label22: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Edit12: TEdit;
Edit13: TEdit;
Edit14: TEdit;
Edit15: TEdit;
Edit16: TEdit;
Edit17: TEdit;
Edit18: TEdit;
Edit19: TEdit;
Label23: TLabel;
EditNAdresses: TEdit;
LabelTitre: TLabel;
Label24: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure Edit3Change(Sender: TObject);
procedure Edit4Change(Sender: TObject);
procedure Edit5Change(Sender: TObject);
procedure Edit6Change(Sender: TObject);
procedure Edit7Change(Sender: TObject);
procedure Edit8Change(Sender: TObject);
procedure Edit9Change(Sender: TObject);
procedure Edit10Change(Sender: TObject);
procedure Edit11Change(Sender: TObject);
procedure Edit12Change(Sender: TObject);
procedure Edit13Change(Sender: TObject);
procedure Edit14Change(Sender: TObject);
procedure Edit15Change(Sender: TObject);
procedure Edit16Change(Sender: TObject);
procedure Edit18Change(Sender: TObject);
procedure Edit19Change(Sender: TObject);
procedure Edit17Change(Sender: TObject);
procedure EditNAdressesChange(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
FormCDF: TFormCDF;
Adresse,Index : integer;
implementation
{$R *.dfm}
procedure TFormCDF.Button1Click(Sender: TObject);
begin
close;
end;
procedure TFormCDF.FormActivate(Sender: TObject);
var erreur : integer;
begin
Val(FormConfig.EditAdrSig.text,Adresse,erreur);
index:=index_feu(Adresse);
LabelTitre.caption:='Adresse du signal: '+intToSTR(adresse);
erreur:=feux[index].decodeur;
if erreur=5 then
begin
caption:='Configuration du décodeur Digikeijs';
label20.caption:='Tables d''aspects du signal en fonction du motif envoyé au décodeur Digikeijs';
label24.Caption:='1 à 5';
end;
if erreur=2 then
begin
caption:='Configuration du décodeur CDF';
label20.Caption:='Tables d''aspects du signal en fonction du motif envoyé au décodeur CDF';
label24.Caption:='1 à 4';
end;
Label1.caption:=etats[1];
Label2.caption:=etats[2];
Label3.caption:=etats[3];
Label4.caption:=etats[4];
Label5.caption:=etats[5];
Label6.caption:=etats[6];
Label7.caption:=etats[7];
Label8.caption:=etats[8];
Label9.caption:=etats[9];
Label10.caption:=etats[10];
Label11.caption:=etats[11];
Label12.caption:=etats[12];
Label13.caption:=etats[13];
Label14.caption:=etats[14];
Label15.caption:=etats[15];
Label16.caption:=etats[16];
Label17.caption:=etats[17];
Label18.caption:=etats[18];
Label19.caption:=etats[19];
ImageDigi.Picture:=FormConfig.ImageSignal.Picture;
with ImageDigi.Picture do
begin
Bitmap.TransparentMode:=tmAuto;
Bitmap.TransparentColor:=clblue;
end;
ImageDigi.Transparent:=true;
Edit1.Text:=intToSTR(Feux[index].SR[1].sortie1); // carré
Edit2.Text:=intToSTR(Feux[index].SR[2].sortie1); // sémaphore
Edit3.Text:=intToSTR(Feux[index].SR[3].sortie1); // sémaphore cli
Edit4.Text:=intToSTR(Feux[index].SR[4].sortie1);
Edit5.Text:=intToSTR(Feux[index].SR[5].sortie1);
Edit6.Text:=intToSTR(Feux[index].SR[6].sortie1);
Edit7.Text:=intToSTR(Feux[index].SR[7].sortie1);
Edit8.Text:=intToSTR(Feux[index].SR[8].sortie1);
Edit9.Text:=intToSTR(Feux[index].SR[9].sortie1);
Edit10.Text:=intToSTR(Feux[index].SR[10].sortie1);
Edit11.Text:=intToSTR(Feux[index].SR[11].sortie1);
Edit12.Text:=intToSTR(Feux[index].SR[12].sortie1);
Edit13.Text:=intToSTR(Feux[index].SR[13].sortie1);
Edit14.Text:=intToSTR(Feux[index].SR[14].sortie1);
Edit15.Text:=intToSTR(Feux[index].SR[15].sortie1);
Edit16.Text:=intToSTR(Feux[index].SR[16].sortie1);
Edit17.Text:=intToSTR(Feux[index].SR[17].sortie1);
Edit18.Text:=intToSTR(Feux[index].SR[18].sortie1);
Edit19.Text:=intToSTR(Feux[index].SR[19].sortie1);
editNadresses.text:=intToSTR(feux[index].NA);
end;
procedure Maj_DB;
var s : string;
begin
s:=encode_sig_feux(index);
formconfig.RichSig.Lines[index-1]:=s;
aff_champs_sig_feux(index);
end;
procedure TFormCDF.Edit1Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit1.Text,Feux[index].SR[1].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.Edit2Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit2.Text,Feux[index].SR[2].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.Edit3Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit3.Text,Feux[index].SR[3].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.Edit4Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit4.Text,Feux[index].SR[4].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.Edit5Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit5.Text,Feux[index].SR[5].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.Edit6Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit6.Text,Feux[index].SR[6].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.Edit7Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit7.Text,Feux[index].SR[7].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.Edit8Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit8.Text,Feux[index].SR[8].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.Edit9Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit9.Text,Feux[index].SR[9].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.Edit10Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit10.Text,Feux[index].SR[10].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.Edit11Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit11.Text,Feux[index].SR[11].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.Edit12Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit12.Text,Feux[index].SR[12].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.Edit13Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit13.Text,Feux[index].SR[13].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.Edit14Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit14.Text,Feux[index].SR[14].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.Edit15Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit15.Text,Feux[index].SR[15].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.Edit16Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit16.Text,Feux[index].SR[16].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.Edit17Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit17.Text,Feux[index].SR[17].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.Edit18Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit18.Text,Feux[index].SR[18].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.Edit19Change(Sender: TObject);
var erreur : integer;
begin
if index<>0 then
begin
val(Edit19.Text,Feux[index].SR[19].sortie1,erreur);
Maj_DB;
end;
end;
procedure TFormCDF.EditNAdressesChange(Sender: TObject);
var erreur,i : integer;
begin
if index<>0 then
begin
val(EditNAdresses.Text,i,erreur);
if (i>0) and (i<6) then
begin
Feux[index].Na:=i;
Maj_DB;
end;
end;
end;
end.
BIN
View File
Binary file not shown.
+14 -1
View File
@@ -103,6 +103,19 @@ begin
Val(FormConfig.EditAdrSig.text,Adresse,erreur); Val(FormConfig.EditAdrSig.text,Adresse,erreur);
index:=index_feu(Adresse); index:=index_feu(Adresse);
LabelTitre.caption:='Adresse du signal: '+intToSTR(adresse); LabelTitre.caption:='Adresse du signal: '+intToSTR(adresse);
erreur:=feux[index].decodeur;
if erreur=5 then
begin
caption:='Configuration du décodeur Digikeijs';
label20.caption:='Tables d''aspects du signal en fonction du motif envoyé au décodeur Digikeijs';
label24.Caption:='1 à 5';
end;
if erreur=2 then
begin
caption:='Configuration du décodeur CDF';
label20.Caption:='Tables d''aspects du signal en fonction du motif envoyé au décodeur CDF';
label24.Caption:='1 à 4';
end;
Label1.caption:=etats[1]; Label1.caption:=etats[1];
Label2.caption:=etats[2]; Label2.caption:=etats[2];
@@ -359,7 +372,7 @@ begin
if index<>0 then if index<>0 then
begin begin
val(EditNAdresses.Text,i,erreur); val(EditNAdresses.Text,i,erreur);
if (i>0) and (i<5) then if (i>0) and (i<6) then
begin begin
Feux[index].Na:=i; Feux[index].Na:=i;
Maj_DB; Maj_DB;
Binary file not shown.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+18 -15
View File
@@ -1570,7 +1570,7 @@ object FormConfig: TFormConfig
Top = 8 Top = 8
Width = 633 Width = 633
Height = 505 Height = 505
ActivePage = TabSheetAct ActivePage = TabSheetCDM
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack Font.Color = clBlack
Font.Height = -11 Font.Height = -11
@@ -1799,7 +1799,7 @@ object FormConfig: TFormConfig
Left = 312 Left = 312
Top = 184 Top = 184
Width = 281 Width = 281
Height = 113 Height = 89
Caption = 'Au d'#233'marrage de CDM Rail : interface LENZ' Caption = 'Au d'#233'marrage de CDM Rail : interface LENZ'
TabOrder = 3 TabOrder = 3
object RadioButton13: TRadioButton object RadioButton13: TRadioButton
@@ -1819,25 +1819,25 @@ object FormConfig: TFormConfig
TabOrder = 1 TabOrder = 1
end end
object RadioButton15: TRadioButton object RadioButton15: TRadioButton
Left = 8 Left = 152
Top = 56 Top = 40
Width = 217 Width = 105
Height = 17 Height = 17
Caption = 'LI-101F' Caption = 'LI-101F'
TabOrder = 2 TabOrder = 2
end end
object RadioButton16: TRadioButton object RadioButton16: TRadioButton
Left = 8 Left = 8
Top = 72 Top = 56
Width = 217 Width = 89
Height = 17 Height = 17
Caption = 'LI-100F' Caption = 'LI-100F'
TabOrder = 3 TabOrder = 3
end end
object RadioButton17: TRadioButton object RadioButton17: TRadioButton
Left = 8 Left = 152
Top = 88 Top = 56
Width = 209 Width = 89
Height = 17 Height = 17
Caption = 'LI-100' Caption = 'LI-100'
TabOrder = 4 TabOrder = 4
@@ -1908,9 +1908,9 @@ object FormConfig: TFormConfig
end end
object GroupBox15: TGroupBox object GroupBox15: TGroupBox
Left = 312 Left = 312
Top = 304 Top = 288
Width = 281 Width = 281
Height = 137 Height = 121
Caption = 'Divers' Caption = 'Divers'
TabOrder = 5 TabOrder = 5
object Label31: TLabel object Label31: TLabel
@@ -1980,7 +1980,7 @@ object FormConfig: TFormConfig
Height = 21 Height = 21
Hint = Hint =
'Mode d'#233'bug au d'#233'marrage (0=sans ; 1=Log d'#233'marrage ; 2=D'#233'marrage ' + 'Mode d'#233'bug au d'#233'marrage (0=sans ; 1=Log d'#233'marrage ; 2=D'#233'marrage ' +
'par '#233'tape)' 'par '#233'tape ; 3=Dynamique)'
ParentShowHint = False ParentShowHint = False
ShowHint = True ShowHint = True
TabOrder = 3 TabOrder = 3
@@ -2211,7 +2211,7 @@ object FormConfig: TFormConfig
Width = 257 Width = 257
Height = 25 Height = 25
Hint = 'Initialisation des aiguillages au d'#233'marrage' Hint = 'Initialisation des aiguillages au d'#233'marrage'
Caption = 'Initialisation des aiguillages ' Caption = 'Initialiser les aiguillages en position initiale'
ParentShowHint = False ParentShowHint = False
ShowHint = True ShowHint = True
TabOrder = 0 TabOrder = 0
@@ -2263,7 +2263,10 @@ object FormConfig: TFormConfig
Top = 120 Top = 120
Width = 169 Width = 169
Height = 17 Height = 17
Hint = 'Permet le roulage des trains en mode autonome'
Caption = 'Option roulage des trains' Caption = 'Option roulage des trains'
ParentShowHint = False
ShowHint = True
TabOrder = 5 TabOrder = 5
end end
end end
@@ -3044,7 +3047,7 @@ object FormConfig: TFormConfig
Width = 129 Width = 129
Height = 21 Height = 21
Style = csDropDownList Style = csDropDownList
ItemHeight = 13 ItemHeight = 0
TabOrder = 1 TabOrder = 1
OnChange = ComboBoxDecChange OnChange = ComboBoxDecChange
end end
+50 -23
View File
@@ -466,9 +466,10 @@ type
end; end;
const const
// variables du fichier de configuration // constantes du fichier de configuration
NomConfig='ConfigGenerale.cfg'; NomConfig='ConfigGenerale.cfg';
Debug_ch='Debug'; Debug_ch='Debug';
Algo_localisation_ch='Algo_localisation';
Avec_roulage_ch='Avec_roulage'; Avec_roulage_ch='Avec_roulage';
nb_det_dist_ch='nb_det_dist'; nb_det_dist_ch='nb_det_dist';
IpV4_PC_ch='IpV4_PC'; IpV4_PC_ch='IpV4_PC';
@@ -519,9 +520,10 @@ var
portCDM,TempoOctet,TimoutMaxInterface,Valeur_entete,PortInterface,prot_serie,NumPort,debug, portCDM,TempoOctet,TimoutMaxInterface,Valeur_entete,PortInterface,prot_serie,NumPort,debug,
LigneCliqueePN,AncLigneCliqueePN,clicMemo,Nb_cantons_Sig,protocole,Port,clicListeTrain, LigneCliqueePN,AncLigneCliqueePN,clicMemo,Nb_cantons_Sig,protocole,Port,clicListeTrain,
ligneclicAig,AncLigneClicAig,ligneClicSig,AncligneClicSig,EnvAigDccpp,AdrBaseDetDccpp, ligneclicAig,AncLigneClicAig,ligneClicSig,AncligneClicSig,EnvAigDccpp,AdrBaseDetDccpp,
ligneClicBr,AncligneClicBr,ligneClicAct,AncLigneClicAct,Adressefeuclic,NumTrameCDM : integer; ligneClicBr,AncligneClicBr,ligneClicAct,AncLigneClicAct,Adressefeuclic,NumTrameCDM,
Algo_localisation : integer;
ack_cdm,clicliste,affevt,config_modifie,clicproprietes,confasauver,trouve_MaxPort, ack_cdm,clicliste,config_modifie,clicproprietes,confasauver,trouve_MaxPort,
modif_branches,ConfigPrete,trouve_section_dccpp,trouve_section_trains : boolean; modif_branches,ConfigPrete,trouve_section_dccpp,trouve_section_trains : boolean;
fichier : text; fichier : text;
@@ -544,7 +546,7 @@ uses UnitDebug,UnitTCO, UnitSR, UnitCDF;
{$R *.dfm} {$R *.dfm}
// envoi d'une chaîne à CDM par socket, puis attend l'ack ou le nack // envoi d'une chaîne Com_IPC à CDM par socket, puis attend l'ack ou le nack
function envoi_CDM(s : string) : boolean; function envoi_CDM(s : string) : boolean;
var temps : integer; var temps : integer;
begin begin
@@ -581,9 +583,9 @@ begin
// ne pas supprimer le @ espace et = qui sert de marqueur pour identifier le feu // ne pas supprimer le @ espace et = qui sert de marqueur pour identifier le feu
s:='@='+inttostr(feux[i].Adresse)+' Decodeur='+intToSTR(feux[i].Decodeur)+' Adresse détecteur associé='+intToSTR(feux[i].Adr_det1)+ s:='@='+inttostr(feux[i].Adresse)+' Decodeur='+intToSTR(feux[i].Decodeur)+' Adresse détecteur associé='+intToSTR(feux[i].Adr_det1)+
' Adresse élement suivant='+intToSTR(feux[i].Adr_el_suiv1); ' Adresse élement suivant='+intToSTR(feux[i].Adr_el_suiv1);
if feux[i].Btype_suiv1=aig then s:=s+' (aig)'; if feux[i].Btype_suiv1=aig then s:=s+' (aig)';
feux[i].Img.Hint:=s; feux[i].Img.Hint:=s;
end; end;
// demande les services Com-IP à CDM // demande les services Com-IP à CDM
function services_CDM : boolean; function services_CDM : boolean;
@@ -663,9 +665,8 @@ begin
Id_CDM:=copy(recuCDM,5,2); // récupère l'ID reçu de CDM, à utiliser dans toutes les futures trames Id_CDM:=copy(recuCDM,5,2); // récupère l'ID reçu de CDM, à utiliser dans toutes les futures trames
recucdm:=''; recucdm:='';
s:='Connecté au serveur CDM rail avec l''ID='+Id_CDM; s:='Connecté au serveur CDM rail avec l''ID='+Id_CDM;
Affiche(s,clYellow); Affiche(s,clYellow);
AfficheDebug(s,clyellow);
CDM_connecte:=true; CDM_connecte:=true;
// demande des services // demande des services
@@ -679,7 +680,7 @@ begin
end; end;
end; end;
//else Affiche('CDM Rail non lancé',clOrange); //else Affiche('CDM Rail non lancé',clOrange);
end end
else else
begin begin
if adresseIPCDM='0' then Affiche('La connexion à CDM n''est pas demandée car l''adresse IP est nulle dans '+NomConfig,cyan); if adresseIPCDM='0' then Affiche('La connexion à CDM n''est pas demandée car l''adresse IP est nulle dans '+NomConfig,cyan);
@@ -1377,6 +1378,7 @@ begin
// entête // entête
// copie_commentaire; // copie_commentaire;
writeln(fichierN,'/ Fichier de configuration de signaux_complexes_GL'); writeln(fichierN,'/ Fichier de configuration de signaux_complexes_GL');
writeln(fichierN,Algo_localisation_ch+'=',Algo_localisation);
writeln(fichierN,Avec_roulage_ch+'=',avecRoulage); writeln(fichierN,Avec_roulage_ch+'=',avecRoulage);
writeln(fichierN,debug_ch+'=',debug); writeln(fichierN,debug_ch+'=',debug);
// taille de la fonte // taille de la fonte
@@ -1554,7 +1556,12 @@ begin
writeln(fichierN,'/------------'); writeln(fichierN,'/------------');
writeln(fichierN,section_placement_ch); writeln(fichierN,section_placement_ch);
for i:=1 to 6 do for i:=1 to 6 do
writeln(fichierN,placement[i].train,',',placement[i].detecteur); begin
s:=placement[i].train+','+inttoSTR(placement[i].detecteur)+',';
s:=s+intToSTR(placement[i].detdir)+',';
if placement[i].inverse then s:=s+'1' else s:=s+'0';
writeln(fichierN,s);
end;
writeln(fichierN,'0'); writeln(fichierN,'0');
closefile(fichierN); closefile(fichierN);
@@ -2303,6 +2310,14 @@ begin
val(s,debug,erreur); val(s,debug,erreur);
end; end;
sa:=uppercase(Algo_localisation_ch)+'=';
i:=pos(sa,s);
if i=1 then
begin
delete(s,i,length(sa));
val(s,Algo_localisation,erreur);
end;
sa:=uppercase(Avec_roulage_ch)+'='; sa:=uppercase(Avec_roulage_ch)+'=';
i:=pos(sa,s); i:=pos(sa,s);
if i=1 then if i=1 then
@@ -2396,7 +2411,7 @@ begin
portcom:=s; portcom:=s;
end; end;
// temporisation entre 2 caractères // temporisatflion entre 2 caractères
sa:=uppercase(INTER_CAR_ch)+'='; sa:=uppercase(INTER_CAR_ch)+'=';
i:=pos(sa,s); i:=pos(sa,s);
if i=1 then if i=1 then
@@ -2718,8 +2733,22 @@ begin
delete(s,1,j); delete(s,1,j);
val(s,j,erreur); val(s,j,erreur);
placement[i].detecteur:=j; placement[i].detecteur:=j;
inc(i); j:=pos(',',s);
if j<>0 then
begin
delete(s,1,j);
val(s,j,erreur);
placement[i].detdir:=j;
j:=pos(',',s);
if j<>0 then
begin
delete(s,1,j);
val(s,j,erreur);
placement[i].inverse:=j=1;
end;
end;
end; end;
inc(i);
s:=''; s:='';
end; end;
until (s='0') or eof(fichier); until (s='0') or eof(fichier);
@@ -2793,7 +2822,6 @@ begin
end; end;
//Affiche('Lecture du fichier de configuration '+NomConfig,clyellow); //Affiche('Lecture du fichier de configuration '+NomConfig,clyellow);
{$I+}
try try
assign(fichier,NomConfig); assign(fichier,NomConfig);
reset(fichier); reset(fichier);
@@ -2822,7 +2850,6 @@ begin
assign(fichier,NomConfig); assign(fichier,NomConfig);
reset(fichier); reset(fichier);
end; end;
{$I-}
lit_flux; lit_flux;
close(fichier); close(fichier);
@@ -2869,7 +2896,7 @@ begin
if not(trouve_section_sig) then Affiche('Manque section '+section_sig_ch,clred); if not(trouve_section_sig) then Affiche('Manque section '+section_sig_ch,clred);
if not(trouve_section_branche) then Affiche('Manque section '+section_branches_ch,clred); if not(trouve_section_branche) then Affiche('Manque section '+section_branches_ch,clred);
verif_coherence; verif_coherence;
formDebug.buttonCP.Caption:='Etat '+intToSTR(Nb_cantons_Sig)+' cantons précédents signal';
end; end;
@@ -2914,7 +2941,7 @@ begin
TailleFonte:=i; TailleFonte:=i;
val(EditDebug.text,i,erreur); val(EditDebug.text,i,erreur);
if (i<0) or (i>2) then i:=0; if (i<0) or (i>3) then i:=0;
Debug:=i; Debug:=i;
if checkRoulage.Checked then AvecRoulage:=1 else AvecRoulage:=0; if checkRoulage.Checked then AvecRoulage:=1 else AvecRoulage:=0;
@@ -2971,7 +2998,7 @@ begin
if changeCDM then connecte_CDM; if changeCDM then connecte_CDM;
if changeInterface then if changeInterface then
begin begin
if AdresseIP<>'0' then if (AdresseIP<>'0') and (adresseIP<>'') then
begin begin
Affiche('demande connexion à la centrale Lenz par Ethernet',clyellow); Affiche('demande connexion à la centrale Lenz par Ethernet',clyellow);
With Formprinc do With Formprinc do
@@ -3340,7 +3367,6 @@ end;
procedure TFormConfig.FormCreate(Sender: TObject); procedure TFormConfig.FormCreate(Sender: TObject);
begin begin
affevt:=false; // pour debug
clicListe:=true; clicListe:=true;
if affevt then affiche('FormConfig create',clLime); if affevt then affiche('FormConfig create',clLime);
PageControl.ActivePage:=Formconfig.TabSheetCDM; // force le premier onglet sur la page PageControl.ActivePage:=Formconfig.TabSheetCDM; // force le premier onglet sur la page
@@ -3454,7 +3480,7 @@ begin
Edit_HG.Visible:=true; Edit_HG.Visible:=true;
EditAigTriple.Visible:=false; EditAigTriple.Visible:=false;
Edit_HG.ReadOnly:=false; Edit_HG.ReadOnly:=false;
EditPointe_BG.ReadOnly:=false; EditPointe_BG.ReadOnly:=false;
EditDevie_HD.ReadOnly:=false; EditDevie_HD.ReadOnly:=false;
EditDroit_BD.ReadOnly:=false; EditDroit_BD.ReadOnly:=false;
@@ -4253,6 +4279,7 @@ var i,lc,adresse,erreur : integer;
s : string; s : string;
begin begin
clicliste:=true; clicliste:=true;
// HideCaret(RichAig.Handle);
raz_champs_aig; raz_champs_aig;
ComboBoxAig.ItemIndex:=-1; ComboBoxAig.ItemIndex:=-1;
formconfig.ComboBoxDD.ItemIndex:=-1; formconfig.ComboBoxDD.ItemIndex:=-1;
@@ -5614,7 +5641,7 @@ begin
feux[index]:=Feu_sauve; feux[index]:=Feu_sauve;
RichSig.Lines[ligneClicSig]:=encode_sig_feux(index); RichSig.Lines[ligneClicSig]:=encode_sig_feux(index);
aff_champs_sig_feux(index); // réaffiche les champs aff_champs_sig_feux(index); // réaffiche les champs
Maj_Hint_feu(index); Maj_Hint_feu(index);
// change l'image du feu dans la feuille graphique principale // change l'image du feu dans la feuille graphique principale
Feux[index].Img.picture.Bitmap:=Select_dessin_feu(feux[index].aspect); Feux[index].Img.picture.Bitmap:=Select_dessin_feu(feux[index].aspect);
dessine_feu_mx(Feux[index].Img.Canvas,0,0,1,1,feux[index].adresse,1); // dessine les feux du signal dessine_feu_mx(Feux[index].Img.Canvas,0,0,1,1,feux[index].adresse,1); // dessine les feux du signal
@@ -6675,7 +6702,7 @@ begin
end end
else else
begin begin
// vérifier si les deux détecteurs du signal sont consécutifs (l et i) // vérifier si les deux détecteurs du signal sont contigüs (l et i)
l:=feux[j].Adr_det1; l:=feux[j].Adr_det1;
trouve_detecteur(i); trouve_detecteur(i);
det1Br:=branche_trouve; det1Br:=branche_trouve;
@@ -6687,7 +6714,7 @@ begin
if (det1Br<>Det2Br) or (abs(det1Index-det2Index)>1) then if (det1Br<>Det2Br) or (abs(det1Index-det2Index)>1) then
begin begin
ok:=false; ok:=false;
Affiche('Erreur 9.12: signal '+intToSTR(feux[j].adresse)+' : détecteurs '+intToSTR(i)+' et '+intToSTR(l)+' non consécutifs ',clred); Affiche('Erreur 9.12: signal '+intToSTR(feux[j].adresse)+' : détecteurs '+intToSTR(i)+' et '+intToSTR(l)+' non contigüs ',clred);
end; end;
end; end;
end; end;
@@ -6707,7 +6734,7 @@ begin
if (aiguillage[k].ADroit<>l) and (aiguillage[k].ADevie<>l) and (aiguillage[k].APointe<>l) then if (aiguillage[k].ADroit<>l) and (aiguillage[k].ADevie<>l) and (aiguillage[k].APointe<>l) then
begin begin
ok:=false; ok:=false;
Affiche('Erreur 9.21: signal '+intToSTR(feux[j].adresse)+' : aiguillage '+intToSTR(i)+' et détecteur '+intToSTR(l)+' non consécutifs ',clred); Affiche('Erreur 9.21: signal '+intToSTR(feux[j].adresse)+' : aiguillage '+intToSTR(i)+' et détecteur '+intToSTR(l)+' non contigüs ',clred);
end; end;
end; end;
end; end;
Binary file not shown.
BIN
View File
Binary file not shown.
+5 -5
View File
@@ -96,7 +96,7 @@ end;
procedure dessine_icones; procedure dessine_icones;
var r : Trect; var r : Trect;
x1,y1,x2,jy1,jy2 : integer; x1,x2,jy1,jy2 : integer;
begin begin
// 1 // 1
icone_aig; icone_aig;
@@ -123,13 +123,13 @@ begin
canvas.Pen.color:=fond; canvas.Pen.color:=fond;
canvas.Brush.Color:=fond; canvas.Brush.Color:=fond;
canvas.Rectangle(0,0,Width,Height); canvas.Rectangle(0,0,Width,Height);
canvas.Brush.Color:=clAllume; canvas.Brush.Color:=clAllume;
canvas.pen.color:=clAllume; canvas.pen.color:=clAllume;
canvas.Pen.Mode:=pmCopy; canvas.Pen.Mode:=pmCopy;
r:=Rect(1,(height div 2)-6,width-1,(height div 2)+6); r:=Rect(1,(height div 2)-6,width-1,(height div 2)+6);
canvas.FillRect(r); canvas.FillRect(r);
canvas.pen.color:=clVoies; canvas.pen.color:=clVoies;
canvas.brush.color:=clVoies; canvas.brush.color:=clVoies;
// bande horizontale // bande horizontale
@@ -137,13 +137,13 @@ begin
canvas.FillRect(r); canvas.FillRect(r);
end; end;
// 5 canton // 5 canton
with formCOnfigTCO.Imagecanton do with formCOnfigTCO.Imagecanton do
begin begin
canvas.Pen.color:=fond; canvas.Pen.color:=fond;
canvas.Brush.Color:=fond; canvas.Brush.Color:=fond;
canvas.Rectangle(0,0,Width,Height); canvas.Rectangle(0,0,Width,Height);
canvas.pen.color:=clCanton; canvas.pen.color:=clCanton;
canvas.brush.color:=clCanton; canvas.brush.color:=clCanton;
// bande horizontale // bande horizontale
BIN
View File
Binary file not shown.
+82 -95
View File
@@ -1,14 +1,11 @@
object FormDebug: TFormDebug object FormDebug: TFormDebug
Left = 306 Left = 306
Top = 21 Top = 21
Width = 836 Width = 856
Height = 721 Height = 721
VertScrollBar.Position = 160 VertScrollBar.Position = 6
VertScrollBar.Range = 850
VertScrollBar.Smooth = True VertScrollBar.Smooth = True
VertScrollBar.Style = ssFlat
VertScrollBar.Tracking = True VertScrollBar.Tracking = True
AutoScroll = False
Caption = 'Fen'#234'tre de d'#233'bug' Caption = 'Fen'#234'tre de d'#233'bug'
Color = clWindow Color = clWindow
TransparentColorValue = clTeal TransparentColorValue = clTeal
@@ -20,16 +17,17 @@ object FormDebug: TFormDebug
KeyPreview = True KeyPreview = True
OldCreateOrder = False OldCreateOrder = False
Position = poMainFormCenter Position = poMainFormCenter
OnActivate = FormActivate
OnCreate = FormCreate OnCreate = FormCreate
OnKeyPress = FormKeyPress OnKeyPress = FormKeyPress
DesignSize = ( DesignSize = (
811 831
690) 690)
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
object Label1: TLabel object Label1: TLabel
Left = 646 Left = 666
Top = -156 Top = -2
Width = 108 Width = 108
Height = 13 Height = 13
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@@ -44,8 +42,8 @@ object FormDebug: TFormDebug
ParentFont = False ParentFont = False
end end
object Label2: TLabel object Label2: TLabel
Left = 494 Left = 514
Top = -158 Top = -4
Width = 131 Width = 131
Height = 18 Height = 18
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@@ -58,8 +56,8 @@ object FormDebug: TFormDebug
ParentFont = False ParentFont = False
end end
object EditNivDebug: TEdit object EditNivDebug: TEdit
Left = 757 Left = 777
Top = -158 Top = -4
Width = 49 Width = 49
Height = 21 Height = 21
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@@ -73,72 +71,51 @@ object FormDebug: TFormDebug
Text = 'EditNivDebug' Text = 'EditNivDebug'
OnKeyPress = EditNivDebugKeyPress OnKeyPress = EditNivDebugKeyPress
end end
object MemoEvtDet: TMemo
Left = 562
Top = 176
Width = 234
Height = 187
Anchors = [akTop, akRight]
Color = clBlack
Font.Charset = ANSI_CHARSET
Font.Color = clYellow
Font.Height = -11
Font.Name = 'Arial'
Font.Style = []
Lines.Strings = (
'Tableau des '#233'v'#232'nements '
'fronts descendants d'#233'tecteurs')
ParentFont = False
ReadOnly = True
ScrollBars = ssVertical
TabOrder = 1
OnChange = MemoEvtDetChange
end
object ButtonEcrLog: TButton object ButtonEcrLog: TButton
Left = 453 Left = 441
Top = 168 Top = 322
Width = 97 Width = 97
Height = 29 Height = 29
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
Caption = 'Sauvegarder le log' Caption = 'Sauvegarder le log'
TabOrder = 2 TabOrder = 1
OnClick = ButtonEcrLogClick OnClick = ButtonEcrLogClick
end end
object ButtonRazTampon: TButton object ButtonRazTampon: TButton
Left = 453 Left = 441
Top = 200 Top = 354
Width = 97 Width = 97
Height = 33 Height = 33
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
Caption = 'Raz Tampon Ev'#232'nements ---->' Caption = 'Raz Tampon Ev'#232'nements ---->'
TabOrder = 3 TabOrder = 2
WordWrap = True WordWrap = True
OnClick = ButtonRazTamponClick OnClick = ButtonRazTamponClick
end end
object ButtonCherche: TButton object ButtonCherche: TButton
Left = 453 Left = 441
Top = 136 Top = 290
Width = 97 Width = 97
Height = 25 Height = 25
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
Caption = 'Chercher erreurs' Caption = 'Chercher erreurs'
TabOrder = 4 TabOrder = 3
OnClick = ButtonChercheClick OnClick = ButtonChercheClick
end end
object ButtonAffEvtChrono: TButton object ButtonAffEvtChrono: TButton
Left = 453 Left = 441
Top = 96 Top = 250
Width = 97 Width = 97
Height = 33 Height = 33
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
Caption = 'Affiche Evts d'#233'tecteurs et aig' Caption = 'Affiche Evts d'#233'tecteurs et aig'
TabOrder = 5 TabOrder = 4
WordWrap = True WordWrap = True
OnClick = ButtonAffEvtChronoClick OnClick = ButtonAffEvtChronoClick
end end
object ButtonCop: TButton object ButtonCop: TButton
Left = 453 Left = 441
Top = 48 Top = 202
Width = 97 Width = 97
Height = 41 Height = 41
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@@ -149,14 +126,14 @@ object FormDebug: TFormDebug
Font.Name = 'MS Sans Serif' Font.Name = 'MS Sans Serif'
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
TabOrder = 6 TabOrder = 5
WordWrap = True WordWrap = True
OnClick = ButtonCopClick OnClick = ButtonCopClick
end end
object RichEdit: TRichEdit object RichEdit: TRichEdit
Left = 562 Left = 546
Top = 16 Top = 170
Width = 234 Width = 270
Height = 153 Height = 153
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
@@ -169,24 +146,24 @@ object FormDebug: TFormDebug
PopupMenu = PopupMenuRE PopupMenu = PopupMenuRE
ReadOnly = True ReadOnly = True
ScrollBars = ssVertical ScrollBars = ssVertical
TabOrder = 7 TabOrder = 6
OnChange = RichEditChange OnChange = RichEditChange
end end
object ButtonRazLog: TButton object ButtonRazLog: TButton
Left = 453 Left = 441
Top = 240 Top = 394
Width = 97 Width = 97
Height = 33 Height = 33
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
Caption = 'Raz Tampon Log <-----' Caption = 'Raz Tampon Log <-----'
TabOrder = 8 TabOrder = 7
WordWrap = True WordWrap = True
OnClick = ButtonRazLogClick OnClick = ButtonRazLogClick
end end
object GroupBox1: TGroupBox object GroupBox1: TGroupBox
Left = 451 Left = 447
Top = 480 Top = 634
Width = 345 Width = 372
Height = 185 Height = 185
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
Caption = 'Fonctions primitives' Caption = 'Fonctions primitives'
@@ -198,16 +175,16 @@ object FormDebug: TFormDebug
Font.Style = [] Font.Style = []
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
TabOrder = 9 TabOrder = 8
object GroupBox3: TGroupBox object GroupBox3: TGroupBox
Left = 8 Left = 8
Top = 16 Top = 16
Width = 329 Width = 353
Height = 73 Height = 73
Caption = 'Signal' Caption = 'Signal'
TabOrder = 0 TabOrder = 0
object Label4: TLabel object Label4: TLabel
Left = 281 Left = 305
Top = 10 Top = 10
Width = 32 Width = 32
Height = 13 Height = 13
@@ -220,7 +197,7 @@ object FormDebug: TFormDebug
ParentFont = False ParentFont = False
end end
object ButtonSigSuiv: TButton object ButtonSigSuiv: TButton
Left = 8 Left = 16
Top = 16 Top = 16
Width = 57 Width = 57
Height = 49 Height = 49
@@ -233,7 +210,7 @@ object FormDebug: TFormDebug
OnClick = ButtonSigSuivClick OnClick = ButtonSigSuivClick
end end
object ButtonCanSuivSig: TButton object ButtonCanSuivSig: TButton
Left = 64 Left = 72
Top = 16 Top = 16
Width = 65 Width = 65
Height = 49 Height = 49
@@ -246,9 +223,9 @@ object FormDebug: TFormDebug
OnClick = ButtonCanSuivSigClick OnClick = ButtonCanSuivSigClick
end end
object EditSigSuiv: TEdit object EditSigSuiv: TEdit
Left = 280 Left = 304
Top = 32 Top = 32
Width = 41 Width = 33
Height = 21 Height = 21
Hint = 'Indiquer l'#39'adresse du signal ' Hint = 'Indiquer l'#39'adresse du signal '
ParentShowHint = False ParentShowHint = False
@@ -256,7 +233,7 @@ object FormDebug: TFormDebug
TabOrder = 2 TabOrder = 2
end end
object ButtonCP: TButton object ButtonCP: TButton
Left = 128 Left = 136
Top = 16 Top = 16
Width = 81 Width = 81
Height = 49 Height = 49
@@ -266,7 +243,7 @@ object FormDebug: TFormDebug
OnClick = ButtonCPClick OnClick = ButtonCPClick
end end
object Button2: TButton object Button2: TButton
Left = 208 Left = 224
Top = 16 Top = 16
Width = 65 Width = 65
Height = 49 Height = 49
@@ -279,7 +256,7 @@ object FormDebug: TFormDebug
object GroupBox4: TGroupBox object GroupBox4: TGroupBox
Left = 8 Left = 8
Top = 96 Top = 96
Width = 329 Width = 345
Height = 81 Height = 81
Caption = 'D'#233'tecteur/'#233'l'#233'ment suivant' Caption = 'D'#233'tecteur/'#233'l'#233'ment suivant'
TabOrder = 1 TabOrder = 1
@@ -332,9 +309,9 @@ object FormDebug: TFormDebug
end end
end end
object GroupBox2: TGroupBox object GroupBox2: TGroupBox
Left = 459 Left = 439
Top = -140 Top = 14
Width = 333 Width = 380
Height = 149 Height = 149
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
Caption = 'S'#233'lections d'#39'affichage' Caption = 'S'#233'lections d'#39'affichage'
@@ -346,7 +323,7 @@ object FormDebug: TFormDebug
Font.Style = [] Font.Style = []
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
TabOrder = 10 TabOrder = 9
object CheckAffSig: TCheckBox object CheckAffSig: TCheckBox
Left = 8 Left = 8
Top = 16 Top = 16
@@ -488,7 +465,7 @@ object FormDebug: TFormDebug
OnClick = CheckBox1Click OnClick = CheckBox1Click
end end
object CheckDebugTCO: TCheckBox object CheckDebugTCO: TCheckBox
Left = 200 Left = 248
Top = 128 Top = 128
Width = 121 Width = 121
Height = 17 Height = 17
@@ -505,21 +482,21 @@ object FormDebug: TFormDebug
end end
object RichDebug: TRichEdit object RichDebug: TRichEdit
Left = 8 Left = 8
Top = -152 Top = 2
Width = 435 Width = 419
Height = 788 Height = 788
Anchors = [akLeft, akTop, akRight] Anchors = [akLeft, akTop, akRight]
Lines.Strings = ( Lines.Strings = (
'RichDebug') 'RichDebug')
PopupMenu = PopupMenuRD PopupMenu = PopupMenuRD
ScrollBars = ssBoth ScrollBars = ssBoth
TabOrder = 11 TabOrder = 10
OnChange = RichDebugChange OnChange = RichDebugChange
end end
object GroupBox5: TGroupBox object GroupBox5: TGroupBox
Left = 451 Left = 447
Top = 368 Top = 522
Width = 345 Width = 372
Height = 57 Height = 57
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
Caption = 'Simulation d'#233'tecteur / actionneur' Caption = 'Simulation d'#233'tecteur / actionneur'
@@ -531,7 +508,7 @@ object FormDebug: TFormDebug
Font.Style = [] Font.Style = []
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
TabOrder = 12 TabOrder = 11
object EditSimuDet: TEdit object EditSimuDet: TEdit
Left = 16 Left = 16
Top = 24 Top = 24
@@ -543,9 +520,9 @@ object FormDebug: TFormDebug
TabOrder = 0 TabOrder = 0
end end
object ButtonSimuDet0: TButton object ButtonSimuDet0: TButton
Left = 56 Left = 72
Top = 16 Top = 16
Width = 57 Width = 65
Height = 33 Height = 33
Caption = 'D'#233'tecteur '#224' 0' Caption = 'D'#233'tecteur '#224' 0'
TabOrder = 1 TabOrder = 1
@@ -553,9 +530,9 @@ object FormDebug: TFormDebug
OnClick = ButtonSimuDet0Click OnClick = ButtonSimuDet0Click
end end
object ButtonSimuDet1: TButton object ButtonSimuDet1: TButton
Left = 128 Left = 152
Top = 16 Top = 16
Width = 57 Width = 65
Height = 33 Height = 33
Caption = 'D'#233'tecteur '#224' 1' Caption = 'D'#233'tecteur '#224' 1'
TabOrder = 2 TabOrder = 2
@@ -563,9 +540,9 @@ object FormDebug: TFormDebug
OnClick = ButtonSimuDet1Click OnClick = ButtonSimuDet1Click
end end
object ButtonSimuAct0: TButton object ButtonSimuAct0: TButton
Left = 200 Left = 224
Top = 16 Top = 16
Width = 59 Width = 65
Height = 33 Height = 33
Caption = 'Actionneur '#224' 0' Caption = 'Actionneur '#224' 0'
TabOrder = 3 TabOrder = 3
@@ -573,9 +550,9 @@ object FormDebug: TFormDebug
OnClick = ButtonSimuAct0Click OnClick = ButtonSimuAct0Click
end end
object ButtonSimuAct1: TButton object ButtonSimuAct1: TButton
Left = 272 Left = 296
Top = 16 Top = 16
Width = 59 Width = 65
Height = 33 Height = 33
Caption = 'Actionneur '#224' 1' Caption = 'Actionneur '#224' 1'
TabOrder = 4 TabOrder = 4
@@ -584,8 +561,8 @@ object FormDebug: TFormDebug
end end
end end
object ButtonRazTout: TButton object ButtonRazTout: TButton
Left = 454 Left = 442
Top = 16 Top = 170
Width = 97 Width = 97
Height = 25 Height = 25
Hint = Hint =
@@ -595,13 +572,13 @@ object FormDebug: TFormDebug
Caption = 'RAZ tous trains' Caption = 'RAZ tous trains'
ParentShowHint = False ParentShowHint = False
ShowHint = True ShowHint = True
TabOrder = 13 TabOrder = 12
OnClick = ButtonRazToutClick OnClick = ButtonRazToutClick
end end
object GroupBox6: TGroupBox object GroupBox6: TGroupBox
Left = 450 Left = 446
Top = 432 Top = 586
Width = 345 Width = 373
Height = 41 Height = 41
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
Caption = 'Sorties' Caption = 'Sorties'
@@ -613,7 +590,7 @@ object FormDebug: TFormDebug
Font.Style = [] Font.Style = []
ParentColor = False ParentColor = False
ParentFont = False ParentFont = False
TabOrder = 14 TabOrder = 13
object Label3: TLabel object Label3: TLabel
Left = 16 Left = 16
Top = 16 Top = 16
@@ -675,6 +652,16 @@ object FormDebug: TFormDebug
OnClick = Button0Click OnClick = Button0Click
end end
end end
object MemoEvtDet: TRichEdit
Left = 548
Top = 330
Width = 265
Height = 185
Anchors = [akTop, akRight]
Color = clBlack
ScrollBars = ssVertical
TabOrder = 14
end
object SaveDialog: TSaveDialog object SaveDialog: TSaveDialog
Left = 768 Left = 768
Top = 488 Top = 488
+49 -22
View File
@@ -10,7 +10,6 @@ type
TFormDebug = class(TForm) TFormDebug = class(TForm)
EditNivDebug: TEdit; EditNivDebug: TEdit;
Label1: TLabel; Label1: TLabel;
MemoEvtDet: TMemo;
Label2: TLabel; Label2: TLabel;
SaveDialog: TSaveDialog; SaveDialog: TSaveDialog;
ButtonEcrLog: TButton; ButtonEcrLog: TButton;
@@ -63,6 +62,7 @@ type
EditSortie: TEdit; EditSortie: TEdit;
Button1: TButton; Button1: TButton;
Button0: TButton; Button0: TButton;
MemoEvtDet: TRichEdit;
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure ButtonEcrLogClick(Sender: TObject); procedure ButtonEcrLogClick(Sender: TObject);
procedure EditNivDebugKeyPress(Sender: TObject; var Key: Char); procedure EditNivDebugKeyPress(Sender: TObject; var Key: Char);
@@ -89,7 +89,7 @@ type
procedure ButtonSimuDet1Click(Sender: TObject); procedure ButtonSimuDet1Click(Sender: TObject);
procedure ButtonRazToutClick(Sender: TObject); procedure ButtonRazToutClick(Sender: TObject);
procedure RichEditChange(Sender: TObject); procedure RichEditChange(Sender: TObject);
procedure MemoEvtDetChange(Sender: TObject); procedure MemoEvtDet1Change(Sender: TObject);
procedure EditDebugSignalChange(Sender: TObject); procedure EditDebugSignalChange(Sender: TObject);
procedure CheckBoxTiersClick(Sender: TObject); procedure CheckBoxTiersClick(Sender: TObject);
procedure ButtonSimuAct1Click(Sender: TObject); procedure ButtonSimuAct1Click(Sender: TObject);
@@ -100,6 +100,7 @@ type
procedure Button1Click(Sender: TObject); procedure Button1Click(Sender: TObject);
procedure Button0Click(Sender: TObject); procedure Button0Click(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char); procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormActivate(Sender: TObject);
private private
{ Déclarations privées } { Déclarations privées }
public public
@@ -109,16 +110,18 @@ type
var var
FormDebug: TFormDebug; FormDebug: TFormDebug;
NivDebug,signalDebug : integer; NivDebug,signalDebug : integer;
AffSignal,AffAffect,initform,AffFD,debug_dec_sig,debugTCO : boolean; AffSignal,AffAffect,initform,AffFD,debug_dec_sig,debugTCO,DebugAffiche : boolean;
N_event_det : integer; // index du dernier évènement (de 1 à 20) N_event_det : integer; // index du dernier évènement (de 1 à 20)
N_Event_tick : integer ; // dernier index N_Event_tick : integer ; // dernier index
procedure AfficheDebug(s : string;lacouleur : TColor); procedure AfficheDebug(s : string;lacouleur : TColor);
procedure AfficheDebug_suivi(s : string;lacouleur : TColor);
procedure RE_ColorLine(ARichEdit: TRichEdit; ARow: Integer; AColor: TColor); procedure RE_ColorLine(ARichEdit: TRichEdit; ARow: Integer; AColor: TColor);
procedure affiche_evt(s: string;lacouleur : TColor);
implementation implementation
uses UnitPrinc; uses UnitPrinc;
@@ -138,6 +141,7 @@ end;
procedure AfficheDebug(s : string;lacouleur : TColor); procedure AfficheDebug(s : string;lacouleur : TColor);
begin begin
if debugAffiche then
with FormDebug.RichDebug do with FormDebug.RichDebug do
begin begin
Lines.add(s); Lines.add(s);
@@ -145,9 +149,33 @@ begin
end; end;
end; end;
procedure affiche_evt(s: string;lacouleur : TColor);
begin
if DebugAffiche then
with FormDebug.MemoEvtDet do
begin
Lines.add(s);
RE_ColorLine(FormDebug.MemoEvtDet,FormDebug.MemoEvtDet.lines.count-1,lacouleur);
end;
end;
procedure AfficheDebug_suivi(s : string;lacouleur : TColor);
var i : integer;
begin
if DebugAffiche then
with formDebug.RichDebug do
begin
i:=lines.Count-1;
s:=lines.Strings[i]+s;
lines.Strings[i]:=s;
RE_ColorLine(FormDebug.RichDebug,i,lacouleur);
end;
end;
procedure TFormDebug.FormCreate(Sender: TObject); procedure TFormDebug.FormCreate(Sender: TObject);
var s: string; var s: string;
begin begin
if affevt then affiche('FormDebug create',clLime);
EditNivDebug.Text:='0'; EditNivDebug.Text:='0';
s:='Cette fenêtre permet d''afficher des informations sur le '; s:='Cette fenêtre permet d''afficher des informations sur le ';
s:=s+'comportement du programme. Positionner le niveau du débug de 1 à 3 pour'; s:=s+'comportement du programme. Positionner le niveau du débug de 1 à 3 pour';
@@ -161,14 +189,8 @@ begin
if IsWow64Process then s:=s+' OS 64 Bits' else s:=s+' OS 32 Bits'; if IsWow64Process then s:=s+' OS 64 Bits' else s:=s+' OS 32 Bits';
RichEdit.color:=$111122; RichEdit.color:=$111122;
RichDebug.Lines.add(s); RichDebug.Lines.add(s);
visible:=false; // invisible au démarrage Autoscroll:=true; // permet l'affichage de l'ascenseur
//garantit la scrollbar dans radstudio DebugAffiche:=true;
with VertScrollBar do
begin
Range:=850;
visible:=true;
tracking:=true;
end;
end; end;
procedure TFormDebug.ButtonEcrLogClick(Sender: TObject); procedure TFormDebug.ButtonEcrLogClick(Sender: TObject);
@@ -332,13 +354,13 @@ end;
procedure TFormDebug.ButtonSigSuivClick(Sender: TObject); procedure TFormDebug.ButtonSigSuivClick(Sender: TObject);
var adr,erreur,ancdebug : integer ; var adr,erreur,ancdebug,AdrSigSuivant : integer ;
begin begin
ancdebug:=NivDebug; ancdebug:=NivDebug;
NivDebug:=3; NivDebug:=3;
Val(EditSigSuiv.Text,adr,erreur); Val(EditSigSuiv.Text,adr,erreur);
if erreur<>0 then exit; if erreur<>0 then exit;
etat_signal_suivant(Adr,1) ; etat_signal_suivant(Adr,1,AdrSigSuivant) ;
NivDebug:=AncDebug; NivDebug:=AncDebug;
end; end;
@@ -375,23 +397,23 @@ end;
procedure TFormDebug.ButtonCPClick(Sender: TObject); procedure TFormDebug.ButtonCPClick(Sender: TObject);
var Adr,erreur,ancdebug : integer ; var Adr,erreur,ancdebug,adrtrain : integer ;
begin begin
Val(EditSigSuiv.Text,Adr,erreur); if erreur<>0 then exit; Val(EditSigSuiv.Text,Adr,erreur); if erreur<>0 then exit;
ancdebug:=NivDebug; ancdebug:=NivDebug;
NivDebug:=3; NivDebug:=3;
PresTrainPrec(Adr); PresTrainPrec(Adr,Nb_cantons_Sig,adrtrain);
NivDebug:=AncDebug; NivDebug:=AncDebug;
end; end;
procedure TFormDebug.Button2Click(Sender: TObject); procedure TFormDebug.Button2Click(Sender: TObject);
var Adr,erreur,ancdebug : integer ; var Adr,erreur,ancdebug,trainreseve : integer ;
begin begin
Val(EditSigSuiv.Text,Adr,erreur); if erreur<>0 then exit; Val(EditSigSuiv.Text,Adr,erreur); if erreur<>0 then exit;
ancdebug:=NivDebug; ancdebug:=NivDebug;
NivDebug:=3; NivDebug:=3;
Cond_Carre(Adr); Cond_Carre(Adr);
carre_signal(adr); carre_signal(adr,trainreseve);
NivDebug:=AncDebug; NivDebug:=AncDebug;
end; end;
@@ -446,7 +468,7 @@ begin
SendMessage(RichEdit.handle, WM_VSCROLL, SB_BOTTOM, 0); SendMessage(RichEdit.handle, WM_VSCROLL, SB_BOTTOM, 0);
end; end;
procedure TFormDebug.MemoEvtDetChange(Sender: TObject); procedure TFormDebug.MemoEvtDet1Change(Sender: TObject);
begin begin
SendMessage(MemoEvtDet.handle, WM_VSCROLL, SB_BOTTOM, 0); SendMessage(MemoEvtDet.handle, WM_VSCROLL, SB_BOTTOM, 0);
end; end;
@@ -462,7 +484,6 @@ begin
AffTiers:=checkBoxTiers.checked; AffTiers:=checkBoxTiers.checked;
end; end;
procedure TFormDebug.ButtonElSuivClick(Sender: TObject); procedure TFormDebug.ButtonElSuivClick(Sender: TObject);
var Adr,Prec,Actuel,erreur,ancdebug : integer ; var Adr,Prec,Actuel,erreur,ancdebug : integer ;
type1,type2 : tequipement; type1,type2 : tequipement;
@@ -595,4 +616,10 @@ begin
if key=chr(27) then close; if key=chr(27) then close;
end; end;
procedure TFormDebug.FormActivate(Sender: TObject);
begin
if affevt then affiche('FormConfig activate',clLime);
formDebug.buttonCP.Caption:='Etat '+intToSTR(Nb_cantons_Sig)+' cantons précédents signal';
end;
end. end.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+27 -9
View File
@@ -1,6 +1,6 @@
object FormPrinc: TFormPrinc object FormPrinc: TFormPrinc
Left = 67 Left = 35
Top = 170 Top = 192
Width = 1213 Width = 1213
Height = 670 Height = 670
Caption = 'Client TCP-IP CDM Rail ou USB - syst'#232'me LENZ' Caption = 'Client TCP-IP CDM Rail ou USB - syst'#232'me LENZ'
@@ -18,8 +18,8 @@ object FormPrinc: TFormPrinc
OnClose = FormClose OnClose = FormClose
OnCreate = FormCreate OnCreate = FormCreate
DesignSize = ( DesignSize = (
1205 1197
619) 612)
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
object LabelTitre: TLabel object LabelTitre: TLabel
@@ -1264,8 +1264,8 @@ object FormPrinc: TFormPrinc
end end
object StatusBar1: TStatusBar object StatusBar1: TStatusBar
Left = 0 Left = 0
Top = 597 Top = 590
Width = 1205 Width = 1197
Height = 22 Height = 22
Panels = <> Panels = <>
SimplePanel = True SimplePanel = True
@@ -1474,8 +1474,8 @@ object FormPrinc: TFormPrinc
end end
end end
object GroupBox3: TGroupBox object GroupBox3: TGroupBox
Left = 656 Left = 640
Top = 64 Top = 56
Width = 265 Width = 265
Height = 129 Height = 129
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
@@ -1600,6 +1600,16 @@ object FormPrinc: TFormPrinc
TabOrder = 11 TabOrder = 11
Text = '<1>' Text = '<1>'
end end
object Button1: TButton
Left = 960
Top = 120
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 12
Visible = False
OnClick = Button1Click
end
object Timer1: TTimer object Timer1: TTimer
Interval = 100 Interval = 100
OnTimer = Timer1Timer OnTimer = Timer1Timer
@@ -1637,6 +1647,10 @@ object FormPrinc: TFormPrinc
Caption = 'Etat des zones par train' Caption = 'Etat des zones par train'
OnClick = Etatdeszonespartrain1Click OnClick = Etatdeszonespartrain1Click
end end
object Evenementsdetecteurspartrain1: TMenuItem
Caption = 'Evenements detecteurs par train'
OnClick = Evenementsdetecteurspartrain1Click
end
object N3: TMenuItem object N3: TMenuItem
Caption = '-' Caption = '-'
end end
@@ -1812,8 +1826,12 @@ object FormPrinc: TFormPrinc
object PopupMenuFeu: TPopupMenu object PopupMenuFeu: TPopupMenu
Left = 896 Left = 896
object Proprits1: TMenuItem object Proprits1: TMenuItem
Caption = 'Propri'#233't'#233's' Caption = 'Propri'#233't'#233's du signal'
OnClick = Proprits1Click OnClick = Proprits1Click
end end
object Informationsdusignal1: TMenuItem
Caption = 'Informations du signal'
OnClick = Informationsdusignal1Click
end
end end
end end
+2295 -675
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+2 -2
View File
@@ -50,9 +50,9 @@ object FormSimulation: TFormSimulation
object CheckAffTick: TCheckBox object CheckAffTick: TCheckBox
Left = 64 Left = 64
Top = 64 Top = 64
Width = 225 Width = 313
Height = 17 Height = 17
Caption = 'Afficher les ticks pendant la simulation' Caption = 'RAZ des trains et de leurs placements avant de d'#233'marrer'
TabOrder = 2 TabOrder = 2
end end
object OpenDialog: TOpenDialog object OpenDialog: TOpenDialog
+94 -86
View File
@@ -26,19 +26,105 @@ type
var var
FormSimulation: TFormSimulation; FormSimulation: TFormSimulation;
Intervalle : integer; Intervalle : integer;
AffTickSimu : boolean;
procedure ouvre_simulation(nomfichier : string);
implementation implementation
{$R *.dfm} {$R *.dfm}
procedure TFormSimulation.ButtonChargeClick(Sender: TObject); procedure ouvre_simulation(nomfichier : string);
var s,nF : string; var s: string;
fte : textFile; fte : text;
i,k,erreur : integer; i,k,erreur : integer;
sortie : boolean; sortie : boolean;
begin begin
AffTickSimu:= checkAffTick.Checked; assignFile(fte,nomfichier);
{$I+}
try
reset(fte);
except
Affiche('Fichier '+nomFichier+' incorrect',clred);
exit;
end;
index_simule:=1;
sortie:=false;
while not(eof(fte)) and not(sortie) do
begin
readln(fte,s);
s:=Uppercase(s);
i:=pos('TICK=',s);
if i<>0 then
begin
Delete(s,1,i+4);
val(s,k,erreur);
//if intervalle<>0 then k:=Index_Simule*Intervalle+tick+30 else // démarre dans 3s
// k:=Index_Simule+tick+30 ;
Tablo_simule[index_simule].tick:=k;
// détecteur?
i:=pos('DET',s);
if i<>0 then
begin
Delete(s,1,i+2);
if s[1]='=' then delete(s,1,1);
if s[1]=' ' then delete(s,1,1);
val(s,k,erreur);
Tablo_simule[index_simule].adresse:=k;
Tablo_simule[index_simule].modele:=det;
i:=pos('=',s);
if i<>0 then
begin
Delete(s,1,i);
val(s,k,erreur);
Tablo_simule[index_simule].etat:=k;
{s:=IntToSTR(Index_simule)+' Tick='+intToSTR(Tablo_simule[index_simule].tick)+
' Detecteur='+intToSTR(Tablo_simule[index_simule].Adresse)+
'='+intToSTR(Tablo_simule[index_simule].etat);
Affiche(s,ClLime); }
inc(index_simule);
end;
end;
// aiguillage?
i:=pos('AIG',s);
if i<>0 then
begin
Delete(s,1,i+2);
if s[1]='=' then delete(s,1,1);
if s[1]=' ' then delete(s,1,1);
val(s,k,erreur);
Tablo_simule[index_simule].adresse:=k;
Tablo_simule[index_simule].modele:=aig;
i:=pos('=',s);
if i<>0 then
begin
Delete(s,1,i);
val(s,k,erreur);
if (k=1) or (k=2) then Tablo_simule[index_simule].etat:=k
else Affiche('Erreur 622 : Position aiguillage '+intToSTR(Tablo_simule[index_simule].adresse)+' inconnue dans le fichier de simulation',clred);
{s:=IntToSTR(Index_simule)+' Tick='+intToSTR(Tablo_simule[index_simule].tick)+
' Aiguillage='+intToSTR(Tablo_simule[index_simule].adresse)+
'='+intToSTR(Tablo_simule[index_simule].etat);
Affiche(s,ClLime); }
inc(index_simule);
end;
end;
end;
Application.ProcessMessages;
sortie:=eof(fte) or (index_simule>Max_Simule) or (pos('STOP',s)<>0);
end ;
if index_simule>Max_Simule then Affiche('Tableau maximal atteint',clred);
Affiche('Intervalle='+intToSTR(intervalle),clyellow);
dec(index_simule); //maxi
closeFile(fte);
formprinc.ButtonArretSimu.Visible:=true;
i_simule:=1;
FormSimulation.Close;
Affiche('Fichier simulation : '+Nomfichier ,clyellow);
end;
procedure TFormSimulation.ButtonChargeClick(Sender: TObject);
var s : string;
begin
s:=GetCurrentDir; s:=GetCurrentDir;
s:='C:\Program Files (x86)\Borland\Delphi7\Projects\Signaux_complexes_GL'; s:='C:\Program Files (x86)\Borland\Delphi7\Projects\Signaux_complexes_GL';
OpenDialog.InitialDir:=s; OpenDialog.InitialDir:=s;
@@ -47,90 +133,12 @@ begin
OpenDialog.Filter:='Fichiers texte (*.txt)|*.txt|Tous fichiers (*.*)|*.*'; OpenDialog.Filter:='Fichiers texte (*.txt)|*.txt|Tous fichiers (*.*)|*.*';
if openDialog.Execute then if openDialog.Execute then
begin begin
nF:=openDialog.FileName; if checkAffTick.Checked then raz_tout;
assignFile(fte,nF); s:=openDialog.FileName;
reset(fte); ouvre_simulation(s);
index_simule:=1;
repeat
readln(fte,s);
//Affiche(s,clLime);
i:=pos('Tick=',s);
if i<>0 then
begin
Delete(s,1,i+4);
val(s,k,erreur);
if intervalle<>0 then k:=Index_Simule*Intervalle+tick+30 else // démarre dans 3s
k:=Index_Simule+tick+30 ;
Tablo_simule[index_simule].tick:=k;
// détecteur?
i:=pos('Det',s);
if i<>0 then
begin
Delete(s,1,i+2);
if s[1]='=' then delete(s,1,1);
if s[1]=' ' then delete(s,1,1);
val(s,k,erreur);
Tablo_simule[index_simule].adresse:=k;
Tablo_simule[index_simule].modele:=det;
i:=pos('=',s);
if i<>0 then
begin
Delete(s,1,i);
val(s,k,erreur);
Tablo_simule[index_simule].etat:=k;
//s:=IntToSTR(Index_simule)+' Tick='+intToSTR(Tablo_simule[index_simule].tick)+
// ' Detecteur='+intToSTR(Tablo_simule[index_simule].detecteur)+
// '='+intToSTR(Tablo_simule[index_simule].etat);
//Affiche(s,ClLime);
inc(index_simule);
end;
end;
// aiguillage?
i:=pos('Aig',s);
if i<>0 then
begin
Delete(s,1,i+2);
if s[1]='=' then delete(s,1,1);
if s[1]=' ' then delete(s,1,1);
val(s,k,erreur);
Tablo_simule[index_simule].adresse:=k;
Tablo_simule[index_simule].modele:=aig;
i:=pos('=',s);
if i<>0 then
begin
Delete(s,1,i);
val(s,k,erreur);
if (k=1) or (k=2) then Tablo_simule[index_simule].etat:=k
else Affiche('Erreur 622 : Position aiguillage '+intToSTR(Tablo_simule[index_simule].adresse)+' inconnue dans le fichier de simulation',clred);
{s:=IntToSTR(Index_simule)+' Tick='+intToSTR(Tablo_simule[index_simule].tick)+
' Aiguillage='+intToSTR(Tablo_simule[index_simule].adresse)+
'='+intToSTR(Tablo_simule[index_simule].etat);
Affiche(s,ClLime); }
inc(index_simule);
end;
end;
end;
Application.ProcessMessages;
sortie:=eof(fte) or (index_simule>Max_Simule);
until sortie ;
if index_simule>Max_Simule then Affiche('Tableau maximal atteint',clred);
Affiche('Intervalle='+intToSTR(intervalle),clyellow);
dec(index_simule);
closeFile(fte);
formprinc.ButtonArretSimu.Visible:=true;
FormSimulation.Close;
end; end;
Affiche('Fichier simulation : '+nF ,clyellow);
end; end;
procedure TFormSimulation.FormCreate(Sender: TObject); procedure TFormSimulation.FormCreate(Sender: TObject);
begin begin
Intervalle:=0; Intervalle:=0;
BIN
View File
Binary file not shown.
+71 -71
View File
@@ -1,6 +1,6 @@
object FormTCO: TFormTCO object FormTCO: TFormTCO
Left = 207 Left = 179
Top = 62 Top = 15
Width = 1139 Width = 1139
Height = 686 Height = 686
VertScrollBar.Visible = False VertScrollBar.Visible = False
@@ -96,7 +96,7 @@ object FormTCO: TFormTCO
VertScrollBar.Tracking = True VertScrollBar.Tracking = True
Anchors = [akLeft, akTop, akRight, akBottom] Anchors = [akLeft, akTop, akRight, akBottom]
BevelEdges = [beLeft, beTop, beRight] BevelEdges = [beLeft, beTop, beRight]
Color = clBackground Color = clBlack
ParentColor = False ParentColor = False
TabOrder = 0 TabOrder = 0
DesignSize = ( DesignSize = (
@@ -105,8 +105,8 @@ object FormTCO: TFormTCO
object ImageTCO: TImage object ImageTCO: TImage
Left = 0 Left = 0
Top = 0 Top = 0
Width = 1030 Width = 1009
Height = 345 Height = 337
Anchors = [akLeft, akTop, akRight, akBottom] Anchors = [akLeft, akTop, akRight, akBottom]
ParentShowHint = False ParentShowHint = False
PopupMenu = PopupMenu1 PopupMenu = PopupMenu1
@@ -135,10 +135,10 @@ object FormTCO: TFormTCO
OnChange = TrackBarZoomChange OnChange = TrackBarZoomChange
end end
object Panel1: TPanel object Panel1: TPanel
Left = 8 Left = 0
Top = 471 Top = 480
Width = 1113 Width = 1121
Height = 166 Height = 165
Anchors = [akLeft, akRight, akBottom] Anchors = [akLeft, akRight, akBottom]
Color = clActiveBorder Color = clActiveBorder
Font.Charset = ANSI_CHARSET Font.Charset = ANSI_CHARSET
@@ -150,10 +150,10 @@ object FormTCO: TFormTCO
TabOrder = 2 TabOrder = 2
OnDragOver = Panel1DragOver OnDragOver = Panel1DragOver
DesignSize = ( DesignSize = (
1113 1121
166) 165)
object ImagePalette5: TImage object ImagePalette5: TImage
Left = 504 Left = 520
Top = 8 Top = 8
Width = 41 Width = 41
Height = 41 Height = 41
@@ -163,7 +163,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette5MouseDown OnMouseDown = ImagePalette5MouseDown
end end
object Label6: TLabel object Label6: TLabel
Left = 200 Left = 216
Top = 22 Top = 22
Width = 9 Width = 9
Height = 19 Height = 19
@@ -176,7 +176,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object ImagePalette2: TImage object ImagePalette2: TImage
Left = 288 Left = 304
Top = 8 Top = 8
Width = 41 Width = 41
Height = 41 Height = 41
@@ -186,7 +186,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette2MouseDown OnMouseDown = ImagePalette2MouseDown
end end
object Label7: TLabel object Label7: TLabel
Left = 272 Left = 288
Top = 22 Top = 22
Width = 9 Width = 9
Height = 19 Height = 19
@@ -199,7 +199,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object Label10: TLabel object Label10: TLabel
Left = 488 Left = 504
Top = 22 Top = 22
Width = 9 Width = 9
Height = 19 Height = 19
@@ -212,7 +212,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object ImagePalette1: TImage object ImagePalette1: TImage
Left = 216 Left = 232
Top = 8 Top = 8
Width = 41 Width = 41
Height = 41 Height = 41
@@ -225,7 +225,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette1MouseDown OnMouseDown = ImagePalette1MouseDown
end end
object ImagePalette6: TImage object ImagePalette6: TImage
Left = 216 Left = 232
Top = 56 Top = 56
Width = 41 Width = 41
Height = 41 Height = 41
@@ -235,7 +235,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette6MouseDown OnMouseDown = ImagePalette6MouseDown
end end
object ImagePalette7: TImage object ImagePalette7: TImage
Left = 288 Left = 304
Top = 56 Top = 56
Width = 41 Width = 41
Height = 41 Height = 41
@@ -245,7 +245,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette7MouseDown OnMouseDown = ImagePalette7MouseDown
end end
object ImagePalette8: TImage object ImagePalette8: TImage
Left = 360 Left = 376
Top = 56 Top = 56
Width = 41 Width = 41
Height = 41 Height = 41
@@ -255,7 +255,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette8MouseDown OnMouseDown = ImagePalette8MouseDown
end end
object ImagePalette9: TImage object ImagePalette9: TImage
Left = 432 Left = 448
Top = 56 Top = 56
Width = 41 Width = 41
Height = 41 Height = 41
@@ -265,7 +265,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette9MouseDown OnMouseDown = ImagePalette9MouseDown
end end
object Label11: TLabel object Label11: TLabel
Left = 200 Left = 216
Top = 70 Top = 70
Width = 9 Width = 9
Height = 19 Height = 19
@@ -278,7 +278,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object Label12: TLabel object Label12: TLabel
Left = 272 Left = 288
Top = 70 Top = 70
Width = 9 Width = 9
Height = 19 Height = 19
@@ -291,7 +291,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object Label13: TLabel object Label13: TLabel
Left = 344 Left = 360
Top = 70 Top = 70
Width = 9 Width = 9
Height = 19 Height = 19
@@ -304,7 +304,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object Label14: TLabel object Label14: TLabel
Left = 416 Left = 432
Top = 70 Top = 70
Width = 9 Width = 9
Height = 19 Height = 19
@@ -317,7 +317,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object ImagePalette3: TImage object ImagePalette3: TImage
Left = 360 Left = 376
Top = 8 Top = 8
Width = 41 Width = 41
Height = 41 Height = 41
@@ -327,7 +327,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette3MouseDown OnMouseDown = ImagePalette3MouseDown
end end
object ImagePalette4: TImage object ImagePalette4: TImage
Left = 432 Left = 448
Top = 8 Top = 8
Width = 41 Width = 41
Height = 41 Height = 41
@@ -336,7 +336,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette4MouseDown OnMouseDown = ImagePalette4MouseDown
end end
object Label8: TLabel object Label8: TLabel
Left = 344 Left = 360
Top = 22 Top = 22
Width = 9 Width = 9
Height = 19 Height = 19
@@ -349,7 +349,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object Label9: TLabel object Label9: TLabel
Left = 416 Left = 432
Top = 22 Top = 22
Width = 9 Width = 9
Height = 19 Height = 19
@@ -362,7 +362,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object ImagePalette10: TImage object ImagePalette10: TImage
Left = 216 Left = 232
Top = 104 Top = 104
Width = 41 Width = 41
Height = 41 Height = 41
@@ -372,7 +372,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette10MouseDown OnMouseDown = ImagePalette10MouseDown
end end
object Label16: TLabel object Label16: TLabel
Left = 192 Left = 208
Top = 118 Top = 118
Width = 18 Width = 18
Height = 19 Height = 19
@@ -385,7 +385,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object ImagePalette11: TImage object ImagePalette11: TImage
Left = 288 Left = 304
Top = 104 Top = 104
Width = 41 Width = 41
Height = 41 Height = 41
@@ -395,7 +395,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette11MouseDown OnMouseDown = ImagePalette11MouseDown
end end
object Label17: TLabel object Label17: TLabel
Left = 264 Left = 280
Top = 118 Top = 118
Width = 17 Width = 17
Height = 19 Height = 19
@@ -408,7 +408,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object ImagePalette30: TImage object ImagePalette30: TImage
Left = 440 Left = 456
Top = 104 Top = 104
Width = 25 Width = 25
Height = 41 Height = 41
@@ -422,7 +422,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette30MouseDown OnMouseDown = ImagePalette30MouseDown
end end
object Label18: TLabel object Label18: TLabel
Left = 408 Left = 424
Top = 118 Top = 118
Width = 18 Width = 18
Height = 19 Height = 19
@@ -435,7 +435,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object ImagePalette12: TImage object ImagePalette12: TImage
Left = 576 Left = 592
Top = 8 Top = 8
Width = 41 Width = 41
Height = 41 Height = 41
@@ -445,7 +445,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette12MouseDown OnMouseDown = ImagePalette12MouseDown
end end
object Label20: TLabel object Label20: TLabel
Left = 552 Left = 568
Top = 22 Top = 22
Width = 18 Width = 18
Height = 19 Height = 19
@@ -458,7 +458,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object Label3: TLabel object Label3: TLabel
Left = 624 Left = 640
Top = 22 Top = 22
Width = 18 Width = 18
Height = 19 Height = 19
@@ -471,7 +471,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object ImagePalette13: TImage object ImagePalette13: TImage
Left = 648 Left = 664
Top = 8 Top = 8
Width = 41 Width = 41
Height = 41 Height = 41
@@ -481,7 +481,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette13MouseDown OnMouseDown = ImagePalette13MouseDown
end end
object Label21: TLabel object Label21: TLabel
Left = 696 Left = 712
Top = 22 Top = 22
Width = 18 Width = 18
Height = 19 Height = 19
@@ -494,7 +494,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object ImagePalette14: TImage object ImagePalette14: TImage
Left = 720 Left = 736
Top = 8 Top = 8
Width = 41 Width = 41
Height = 41 Height = 41
@@ -504,7 +504,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette14MouseDown OnMouseDown = ImagePalette14MouseDown
end end
object Label22: TLabel object Label22: TLabel
Left = 768 Left = 784
Top = 22 Top = 22
Width = 18 Width = 18
Height = 19 Height = 19
@@ -517,7 +517,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object ImagePalette15: TImage object ImagePalette15: TImage
Left = 792 Left = 808
Top = 8 Top = 8
Width = 41 Width = 41
Height = 41 Height = 41
@@ -527,7 +527,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette15MouseDown OnMouseDown = ImagePalette15MouseDown
end end
object ImagePalette16: TImage object ImagePalette16: TImage
Left = 504 Left = 520
Top = 56 Top = 56
Width = 41 Width = 41
Height = 41 Height = 41
@@ -537,7 +537,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette16MouseDown OnMouseDown = ImagePalette16MouseDown
end end
object Label24: TLabel object Label24: TLabel
Left = 480 Left = 496
Top = 70 Top = 70
Width = 18 Width = 18
Height = 19 Height = 19
@@ -550,7 +550,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object ImagePalette17: TImage object ImagePalette17: TImage
Left = 576 Left = 592
Top = 56 Top = 56
Width = 41 Width = 41
Height = 41 Height = 41
@@ -560,7 +560,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette17MouseDown OnMouseDown = ImagePalette17MouseDown
end end
object Label25: TLabel object Label25: TLabel
Left = 552 Left = 568
Top = 70 Top = 70
Width = 18 Width = 18
Height = 19 Height = 19
@@ -573,7 +573,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object ImagePalette18: TImage object ImagePalette18: TImage
Left = 648 Left = 664
Top = 56 Top = 56
Width = 41 Width = 41
Height = 41 Height = 41
@@ -583,7 +583,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette18MouseDown OnMouseDown = ImagePalette18MouseDown
end end
object Label26: TLabel object Label26: TLabel
Left = 624 Left = 640
Top = 70 Top = 70
Width = 18 Width = 18
Height = 19 Height = 19
@@ -596,7 +596,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object ImagePalette19: TImage object ImagePalette19: TImage
Left = 720 Left = 736
Top = 56 Top = 56
Width = 41 Width = 41
Height = 41 Height = 41
@@ -606,7 +606,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette19MouseDown OnMouseDown = ImagePalette19MouseDown
end end
object Label27: TLabel object Label27: TLabel
Left = 696 Left = 712
Top = 70 Top = 70
Width = 18 Width = 18
Height = 19 Height = 19
@@ -619,7 +619,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object ImagePalette20: TImage object ImagePalette20: TImage
Left = 792 Left = 808
Top = 56 Top = 56
Width = 41 Width = 41
Height = 41 Height = 41
@@ -629,7 +629,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette20MouseDown OnMouseDown = ImagePalette20MouseDown
end end
object Label28: TLabel object Label28: TLabel
Left = 768 Left = 784
Top = 70 Top = 70
Width = 18 Width = 18
Height = 19 Height = 19
@@ -642,7 +642,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object ImagePalette21: TImage object ImagePalette21: TImage
Left = 864 Left = 880
Top = 8 Top = 8
Width = 41 Width = 41
Height = 41 Height = 41
@@ -655,7 +655,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette21MouseDown OnMouseDown = ImagePalette21MouseDown
end end
object Label29: TLabel object Label29: TLabel
Left = 840 Left = 856
Top = 22 Top = 22
Width = 18 Width = 18
Height = 19 Height = 19
@@ -668,7 +668,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object ImagePalette22: TImage object ImagePalette22: TImage
Left = 936 Left = 952
Top = 8 Top = 8
Width = 41 Width = 41
Height = 41 Height = 41
@@ -681,7 +681,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette22MouseDown OnMouseDown = ImagePalette22MouseDown
end end
object Label30: TLabel object Label30: TLabel
Left = 912 Left = 928
Top = 22 Top = 22
Width = 18 Width = 18
Height = 19 Height = 19
@@ -694,7 +694,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object ImagePalette23: TImage object ImagePalette23: TImage
Left = 360 Left = 376
Top = 104 Top = 104
Width = 41 Width = 41
Height = 41 Height = 41
@@ -707,7 +707,7 @@ object FormTCO: TFormTCO
OnMouseDown = ImagePalette23MouseDown OnMouseDown = ImagePalette23MouseDown
end end
object Label31: TLabel object Label31: TLabel
Left = 336 Left = 352
Top = 118 Top = 118
Width = 18 Width = 18
Height = 19 Height = 19
@@ -720,7 +720,7 @@ object FormTCO: TFormTCO
ParentFont = False ParentFont = False
end end
object ButtonSauveTCO: TButton object ButtonSauveTCO: TButton
Left = 1005 Left = 1013
Top = 48 Top = 48
Width = 92 Width = 92
Height = 33 Height = 33
@@ -731,7 +731,7 @@ object FormTCO: TFormTCO
OnClick = ButtonSauveTCOClick OnClick = ButtonSauveTCOClick
end end
object ButtonRedessine: TButton object ButtonRedessine: TButton
Left = 1005 Left = 1013
Top = 8 Top = 8
Width = 92 Width = 92
Height = 33 Height = 33
@@ -741,8 +741,8 @@ object FormTCO: TFormTCO
OnClick = ButtonRedessineClick OnClick = ButtonRedessineClick
end end
object Button1: TButton object Button1: TButton
Left = 608 Left = 760
Top = 104 Top = 112
Width = 89 Width = 89
Height = 25 Height = 25
Caption = 'Simu det 1' Caption = 'Simu det 1'
@@ -750,8 +750,8 @@ object FormTCO: TFormTCO
OnClick = Button1Click OnClick = Button1Click
end end
object Button2: TButton object Button2: TButton
Left = 728 Left = 656
Top = 104 Top = 112
Width = 89 Width = 89
Height = 25 Height = 25
Caption = 'Simu Det 0' Caption = 'Simu Det 0'
@@ -759,7 +759,7 @@ object FormTCO: TFormTCO
OnClick = Button2Click OnClick = Button2Click
end end
object ButtonConfigTCO: TButton object ButtonConfigTCO: TButton
Left = 1005 Left = 1013
Top = 88 Top = 88
Width = 92 Width = 92
Height = 33 Height = 33
@@ -769,8 +769,8 @@ object FormTCO: TFormTCO
OnClick = ButtonConfigTCOClick OnClick = ButtonConfigTCOClick
end end
object ButtonSimu: TButton object ButtonSimu: TButton
Left = 720 Left = 864
Top = 136 Top = 80
Width = 113 Width = 113
Height = 25 Height = 25
Caption = 'Simu canton occup'#233 Caption = 'Simu canton occup'#233
@@ -778,7 +778,7 @@ object FormTCO: TFormTCO
OnClick = ButtonSimuClick OnClick = ButtonSimuClick
end end
object ButtonMasquer: TButton object ButtonMasquer: TButton
Left = 1005 Left = 1013
Top = 128 Top = 128
Width = 92 Width = 92
Height = 33 Height = 33
@@ -789,7 +789,7 @@ object FormTCO: TFormTCO
OnClick = ButtonMasquerClick OnClick = ButtonMasquerClick
end end
object GroupBox1: TGroupBox object GroupBox1: TGroupBox
Left = 0 Left = 16
Top = 8 Top = 8
Width = 185 Width = 185
Height = 137 Height = 137
@@ -934,7 +934,7 @@ object FormTCO: TFormTCO
end end
end end
object buttonRaz: TButton object buttonRaz: TButton
Left = 901 Left = 909
Top = 128 Top = 128
Width = 92 Width = 92
Height = 33 Height = 33
+24 -11
View File
@@ -389,6 +389,7 @@ procedure Tourne90D;
procedure Vertical; procedure Vertical;
procedure signalG; procedure signalG;
procedure signalD; procedure signalD;
procedure lire_fichier_tco;
implementation implementation
@@ -779,6 +780,7 @@ end;
procedure calcul_cellules; procedure calcul_cellules;
begin begin
LargeurCell:=ZoomMax-FormTCO.TrackBarZoom.Position+ZoomMin; LargeurCell:=ZoomMax-FormTCO.TrackBarZoom.Position+ZoomMin;
//Affiche(intToSTR(largeurcell),clyellow);
hauteurCell:=(LargeurCell * RatioC) div 10; hauteurCell:=(LargeurCell * RatioC) div 10;
Epaisseur:=LargeurCell div 7; // épaisseur du trait pour PEN Epaisseur:=LargeurCell div 7; // épaisseur du trait pour PEN
end; end;
@@ -2968,7 +2970,7 @@ end;
// affiche la cellule x et y en cases // affiche la cellule x et y en cases
// index est utilisé pour accéder au tableau du tracé de la fonction zone_tco // index est utilisé pour accéder au tableau du tracé de la fonction zone_tco
procedure affiche_cellule(x,y : integer); procedure affiche_cellule(x,y : integer);
var repr,Xorg,Yorg,xt,yt,mode,adresse,Bimage,aspect,oriente,pied : integer; var i,repr,Xorg,Yorg,xt,yt,mode,adresse,Bimage,aspect,oriente,pied : integer;
Bt : TEquipement; Bt : TEquipement;
s : string; s : string;
begin begin
@@ -3063,6 +3065,21 @@ begin
3 : yt:=HauteurCell-round(17*frYGlob); // bas 3 : yt:=HauteurCell-round(17*frYGlob); // bas
end; end;
TextOut(xOrg+xt,Yorg+yt,s); TextOut(xOrg+xt,Yorg+yt,s);
i:=detecteur[adresse].AdrTrain;
if i<>0 then
begin
i:=index_train_adresse(i);
if i<>0 then
begin
case repr of
1,3 : yt:=1; // haut
2 : yt:=HauteurCell-round(17*frYGlob); // bas
end;
s:=trains[i].nom_train;
PCanvasTCO.font.Size:=(LargeurCell div 13)+4 ;
TextOut(xOrg,Yorg+yt,s);
end;
end;
end; end;
end; end;
@@ -3311,7 +3328,6 @@ begin
comborepr.Enabled:=false; comborepr.Enabled:=false;
ImageTCO.Top:=0; ImageTCO.Top:=0;
ImageTCO.Left:=0; ImageTCO.Left:=0;
TCOouvert:=true;
//controlStyle:=controlStyle+[csOpaque]; //controlStyle:=controlStyle+[csOpaque];
end; end;
@@ -3778,7 +3794,7 @@ end;
procedure TFormTCO.FormActivate(Sender: TObject); procedure TFormTCO.FormActivate(Sender: TObject);
begin begin
//Affiche('Form TCO activate',clyellow); if affevt then Affiche('Form TCO activate',clyellow);
if not(Forminit) then if not(Forminit) then
begin begin
FormInit:=true; FormInit:=true;
@@ -3794,7 +3810,6 @@ begin
PScrollBoxTCO:=FormTCO.ScrollBox; PScrollBoxTCO:=FormTCO.ScrollBox;
lire_fichier_tco;
HauteurCell:=ImagePalette1.Height; HauteurCell:=ImagePalette1.Height;
LargeurCell:=ImagePalette1.Width; LargeurCell:=ImagePalette1.Width;
calcul_reduction(frxGlob,fryGlob,LargeurCell,HauteurCell,ZoomMax,ZoomMax); calcul_reduction(frxGlob,fryGlob,LargeurCell,HauteurCell,ZoomMax,ZoomMax);
@@ -3856,16 +3871,16 @@ begin
ButtonAfficheBandeau.visible:=true; ButtonAfficheBandeau.visible:=true;
BandeauMasque:=true; BandeauMasque:=true;
Panel1.Hide; Panel1.Hide;
ScrollBox.Height:=ClientHeight-40; ScrollBox.Height:=ClientHeight-30;
end end
else else
begin begin
BandeauMasque:=false; BandeauMasque:=false;
Panel1.show; Panel1.show;
ScrollBox.Height:=ClientHeight-Panel1.Height-40; ScrollBox.Height:=ClientHeight-Panel1.Height-30;
end; end;
end; end;
TCOouvert:=true;
end; end;
// evt qui se produit quand on clic droit dans l'image // evt qui se produit quand on clic droit dans l'image
@@ -5123,7 +5138,7 @@ begin
calcul_cellules; calcul_cellules;
Affiche_TCO; Affiche_TCO;
SelectionAffichee:=false; SelectionAffichee:=false;
//Affiche(intTostr(TrackBarZoom.Position),clLime); // Affiche(intTostr(TrackBarZoom.Position),clLime);
end; end;
@@ -5783,9 +5798,7 @@ end;
procedure TFormTCO.FormMouseWheel(Sender: TObject; Shift: TShiftState; procedure TFormTCO.FormMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
var i,maxi,x,y : integer; var i,maxi : integer;
s : string;
position : tpoint;
begin begin
i:=FormTCO.TrackBarZoom.Position; i:=FormTCO.TrackBarZoom.Position;
Binary file not shown.
-103
View File
@@ -1,103 +0,0 @@
object FormAig: TFormAig
Left = 400
Top = 204
Width = 363
Height = 204
Caption = 'Pilotage de l'#39'aiguillage'
Color = clMaroon
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
KeyPreview = True
OldCreateOrder = False
OnActivate = FormActivate
OnKeyPress = FormKeyPress
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 80
Top = 8
Width = 173
Height = 23
Caption = 'Pilotage de l'#39'aiguillage'
Font.Charset = ANSI_CHARSET
Font.Color = clWindow
Font.Height = -19
Font.Name = 'Arial Narrow'
Font.Style = [fsBold, fsItalic]
ParentFont = False
end
object LabelAdr1: TLabel
Left = 56
Top = 56
Width = 65
Height = 16
Caption = 'LabelAdr1'
Font.Charset = ANSI_CHARSET
Font.Color = clWindow
Font.Height = -13
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
end
object LabelAdr2: TLabel
Left = 224
Top = 56
Width = 65
Height = 16
Caption = 'LabelAdr2'
Font.Charset = ANSI_CHARSET
Font.Color = clWindow
Font.Height = -13
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
end
object ButtonOK: TButton
Left = 136
Top = 128
Width = 75
Height = 25
Caption = 'Ok'
ModalResult = 1
TabOrder = 0
end
object ButtonDev: TButton
Left = 8
Top = 88
Width = 75
Height = 25
Caption = 'D'#233'vi'#233
TabOrder = 1
OnClick = ButtonDevClick
end
object ButtonDroit: TButton
Left = 88
Top = 88
Width = 75
Height = 25
Caption = 'Droit'
TabOrder = 2
OnClick = ButtonDroitClick
end
object ButtonDev2: TButton
Left = 184
Top = 88
Width = 75
Height = 25
Caption = 'D'#233'vi'#233
TabOrder = 3
OnClick = ButtonDev2Click
end
object ButtonDroit2: TButton
Left = 264
Top = 88
Width = 75
Height = 25
Caption = 'Droit'
TabOrder = 4
OnClick = ButtonDroit2Click
end
end
-137
View File
@@ -1,137 +0,0 @@
unit Unit_Pilote_aig;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, UnitPrinc, UnitTCO;
type
TFormAig = class(TForm)
ButtonOK: TButton;
Label1: TLabel;
ButtonDev: TButton;
ButtonDroit: TButton;
ButtonDev2: TButton;
ButtonDroit2: TButton;
LabelAdr1: TLabel;
LabelAdr2: TLabel;
procedure FormActivate(Sender: TObject);
procedure ButtonDevClick(Sender: TObject);
procedure ButtonDroitClick(Sender: TObject);
procedure ButtonDev2Click(Sender: TObject);
procedure ButtonDroit2Click(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
FormAig: TFormAig;
aiguille,aiguille2 : integer;
tjdC,aigC : boolean;
implementation
{$R *.dfm}
procedure commande_simple;
begin
with formAig do
begin
LabelAdr2.Visible:=false;
LabelAdr1.Visible:=false;
ButtonDev2.Visible:=false;
ButtonDroit2.Visible:=false;
ButtonOk.Visible:=false;
ButtonDev.Left:=48;
ButtonDroit.Left:=216;
end;
end;
procedure TFormAig.FormActivate(Sender: TObject);
var i : integer;
s : string;
begin
i:=Index_aig(Aiguille);
aigC:=(aiguillage[i].modele=aig);
tjdC:=(aiguillage[i].modele=tjd) or (aiguillage[i].modele=tjs);
if aigC then
begin
s:='Pilotage de l''aiguillage '+intToSTR(aiguille);
commande_simple;
end;
if tjdC then
begin
s:='Pilotage de la TJD '+intToSTR(aiguille);
if aiguillage[i].EtatTJD=4 then
begin
LabelAdr1.Caption:='Adresse1: '+intToSTR(aiguille);
aiguille2:=aiguillage[i].DDevie;
LabelAdr2.Caption:='Adresse2: '+intToSTR(aiguille2);
s:=s+'/'+intToSTR(aiguille2);
LabelAdr2.Visible:=true;
LabelAdr1.Visible:=true;
ButtonDev2.Visible:=true;
ButtonOk.Visible:=true;
ButtonDroit2.Visible:=true;
ButtonDev.Left:=8;
ButtonDroit.Left:=88;
end;
end;
if aiguillage[i].EtatTJD=2 then
begin
commande_simple;
end;
Label1.Caption:=s;
end;
procedure TFormAig.ButtonDevClick(Sender: TObject);
var s : string;
begin
efface_entoure;SelectionAffichee:=false;
pilote_acc(aiguille,const_devie,aigP);
s:='accessoire '+IntToSTR(aiguille)+' dévié';
Affiche(s,clyellow);
if AigC then close;
end;
procedure TFormAig.ButtonDroitClick(Sender: TObject);
var s : string;
begin
efface_entoure;SelectionAffichee:=false;
pilote_acc(aiguille,const_droit,aigP);
s:='accessoire '+IntToSTR(aiguille)+' droit';
Affiche(s,clyellow);
if AigC then close;
end;
procedure TFormAig.ButtonDev2Click(Sender: TObject);
var s : string;
begin
efface_entoure;SelectionAffichee:=false;
pilote_acc(aiguille2,const_devie,aigP);
s:='accessoire '+IntToSTR(aiguille2)+' dévié';
Affiche(s,clyellow);
if AigC then close;
end;
procedure TFormAig.ButtonDroit2Click(Sender: TObject);
var s : string;
begin
efface_entoure;SelectionAffichee:=false;
pilote_acc(aiguille2,const_droit,aigP);
s:='accessoire '+IntToSTR(aiguille2)+' droit';
Affiche(s,clyellow);
if AigC then close;
end;
procedure TFormAig.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=chr(27) then close;
end;
end.
Binary file not shown.
+2
View File
@@ -10,8 +10,10 @@ object FormAig: TFormAig
Font.Height = -11 Font.Height = -11
Font.Name = 'MS Sans Serif' Font.Name = 'MS Sans Serif'
Font.Style = [] Font.Style = []
KeyPreview = True
OldCreateOrder = False OldCreateOrder = False
OnActivate = FormActivate OnActivate = FormActivate
OnKeyPress = FormKeyPress
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
object Label1: TLabel object Label1: TLabel
+6
View File
@@ -21,6 +21,7 @@ type
procedure ButtonDroitClick(Sender: TObject); procedure ButtonDroitClick(Sender: TObject);
procedure ButtonDev2Click(Sender: TObject); procedure ButtonDev2Click(Sender: TObject);
procedure ButtonDroit2Click(Sender: TObject); procedure ButtonDroit2Click(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
private private
{ Déclarations privées } { Déclarations privées }
public public
@@ -128,4 +129,9 @@ begin
if AigC then close; if AigC then close;
end; end;
procedure TFormAig.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=chr(27) then close;
end;
end. end.
BIN
View File
Binary file not shown.
+236 -50
View File
@@ -1,9 +1,9 @@
object FormPlace: TFormPlace object FormPlace: TFormPlace
Left = 313 Left = 368
Top = 116 Top = 142
BorderStyle = bsDialog BorderStyle = bsDialog
Caption = 'Placement des trains' Caption = 'Placement des trains'
ClientHeight = 442 ClientHeight = 449
ClientWidth = 307 ClientWidth = 307
Color = clBtnFace Color = clBtnFace
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
@@ -31,59 +31,68 @@ object FormPlace: TFormPlace
ParentFont = False ParentFont = False
end end
object LabelTrain1: TLabel object LabelTrain1: TLabel
Left = 152 Left = 8
Top = 56 Top = 64
Width = 30 Width = 30
Height = 13 Height = 13
Caption = 'Train1' Caption = 'Train1'
end end
object LabelTrain2: TLabel object LabelTrain2: TLabel
Left = 152 Left = 8
Top = 80 Top = 88
Width = 30 Width = 30
Height = 13 Height = 13
Caption = 'Train2' Caption = 'Train2'
end end
object LabelTrain3: TLabel object LabelTrain3: TLabel
Left = 152 Left = 8
Top = 104 Top = 112
Width = 30 Width = 30
Height = 13 Height = 13
Caption = 'Train3' Caption = 'Train3'
end end
object LabelTrain4: TLabel object LabelTrain4: TLabel
Left = 152 Left = 8
Top = 128 Top = 136
Width = 30 Width = 30
Height = 13 Height = 13
Caption = 'Train4' Caption = 'Train4'
end end
object LabelTrain5: TLabel object LabelTrain5: TLabel
Left = 152 Left = 8
Top = 152 Top = 160
Width = 30 Width = 30
Height = 13 Height = 13
Caption = 'Train5' Caption = 'Train5'
end end
object LabelTrain6: TLabel object LabelTrain6: TLabel
Left = 152 Left = 8
Top = 176 Top = 184
Width = 30 Width = 30
Height = 13 Height = 13
Caption = 'Train7' Caption = 'Train6'
end end
object Label2: TLabel object Label2: TLabel
Left = 96 Left = 91
Top = 40 Top = 32
Width = 52 Width = 70
Height = 13 Height = 26
Caption = 'D'#233'tecteurs' Alignment = taRightJustify
Caption = 'D'#233'tecteurs de placement'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
WordWrap = True
end end
object LabelTexte: TLabel object LabelTexte: TLabel
Left = 19 Left = 9
Top = 224 Top = 232
Width = 3 Width = 120
Height = 13 Height = 13
Caption = '. '
end end
object Label3: TLabel object Label3: TLabel
Left = 8 Left = 8
@@ -92,9 +101,30 @@ object FormPlace: TFormPlace
Height = 13 Height = 13
Caption = 'Pour ne pas placer un train, mettre 0 en face de son d'#233'tecteur' Caption = 'Pour ne pas placer un train, mettre 0 en face de son d'#233'tecteur'
end end
object Label4: TLabel
Left = 168
Top = 32
Width = 54
Height = 26
Caption = 'D'#233'tecteurs destinataire'
WordWrap = True
end
object Label5: TLabel
Left = 8
Top = 40
Width = 73
Height = 13
Caption = 'Nom du train'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object Buttonferme: TButton object Buttonferme: TButton
Left = 16 Left = 16
Top = 400 Top = 416
Width = 75 Width = 75
Height = 25 Height = 25
Caption = 'Fermer' Caption = 'Fermer'
@@ -103,7 +133,7 @@ object FormPlace: TFormPlace
end end
object ButtonInitAig: TButton object ButtonInitAig: TButton
Left = 16 Left = 16
Top = 272 Top = 248
Width = 273 Width = 273
Height = 25 Height = 25
Caption = 'Positionner les aiguillages en position initiale' Caption = 'Positionner les aiguillages en position initiale'
@@ -112,64 +142,82 @@ object FormPlace: TFormPlace
end end
object ButtonSauve: TButton object ButtonSauve: TButton
Left = 16 Left = 16
Top = 368 Top = 376
Width = 273 Width = 273
Height = 25 Height = 25
Caption = 'Enregistrer la configuration de roulage' Caption = 'Enregistrer la configuration de placement'
TabOrder = 2 TabOrder = 2
OnClick = ButtonSauveClick OnClick = ButtonSauveClick
end end
object Edit1: TEdit object Edit1: TEdit
Left = 96 Left = 128
Top = 56 Top = 64
Width = 49 Width = 33
Height = 21 Height = 21
Hint = 'D'#233'tecteur recevant le train 1'
ParentShowHint = False
ShowHint = True
TabOrder = 3 TabOrder = 3
OnChange = Edit1Change OnChange = Edit1Change
end end
object Edit2: TEdit object Edit2: TEdit
Left = 96 Left = 128
Top = 80 Top = 88
Width = 49 Width = 33
Height = 21 Height = 21
Hint = 'D'#233'tecteur recevant le train 2'
ParentShowHint = False
ShowHint = True
TabOrder = 4 TabOrder = 4
OnChange = Edit2Change OnChange = Edit2Change
end end
object Edit3: TEdit object Edit3: TEdit
Left = 96 Left = 128
Top = 104 Top = 112
Width = 49 Width = 33
Height = 21 Height = 21
Hint = 'D'#233'tecteur recevant le train 3'
ParentShowHint = False
ShowHint = True
TabOrder = 5 TabOrder = 5
OnChange = Edit3Change OnChange = Edit3Change
end end
object Edit4: TEdit object Edit4: TEdit
Left = 96 Left = 128
Top = 128 Top = 136
Width = 49 Width = 33
Height = 21 Height = 21
Hint = 'D'#233'tecteur recevant le train 4'
ParentShowHint = False
ShowHint = True
TabOrder = 6 TabOrder = 6
OnChange = Edit4Change OnChange = Edit4Change
end end
object Edit5: TEdit object Edit5: TEdit
Left = 96 Left = 128
Top = 152 Top = 160
Width = 49 Width = 33
Height = 21 Height = 21
Hint = 'D'#233'tecteur recevant le train 5'
ParentShowHint = False
ShowHint = True
TabOrder = 7 TabOrder = 7
OnChange = Edit5Change OnChange = Edit5Change
end end
object Edit6: TEdit object Edit6: TEdit
Left = 96 Left = 128
Top = 176 Top = 184
Width = 49 Width = 33
Height = 21 Height = 21
Hint = 'D'#233'tecteur recevant le train 6'
ParentShowHint = False
ShowHint = True
TabOrder = 8 TabOrder = 8
OnChange = Edit6Change OnChange = Edit6Change
end end
object ButtonPlace: TButton object ButtonPlace: TButton
Left = 16 Left = 16
Top = 240 Top = 280
Width = 273 Width = 273
Height = 25 Height = 25
Caption = 'Placer les trains sur les d'#233'tecteurs ci-dessus' Caption = 'Placer les trains sur les d'#233'tecteurs ci-dessus'
@@ -178,7 +226,7 @@ object FormPlace: TFormPlace
end end
object ButtonLanceRoutage: TButton object ButtonLanceRoutage: TButton
Left = 16 Left = 16
Top = 304 Top = 312
Width = 273 Width = 273
Height = 25 Height = 25
Caption = 'Lancer le roulage' Caption = 'Lancer le roulage'
@@ -193,7 +241,7 @@ object FormPlace: TFormPlace
end end
object Button1: TButton object Button1: TButton
Left = 208 Left = 208
Top = 400 Top = 416
Width = 81 Width = 81
Height = 25 Height = 25
Caption = 'Config trains' Caption = 'Config trains'
@@ -202,11 +250,149 @@ object FormPlace: TFormPlace
end end
object ButtonArretroutage: TButton object ButtonArretroutage: TButton
Left = 16 Left = 16
Top = 336 Top = 344
Width = 273 Width = 273
Height = 25 Height = 25
Caption = 'Arr'#234't du roulage' Caption = 'Arr'#234't du roulage'
TabOrder = 12 TabOrder = 12
OnClick = ButtonArretroutageClick OnClick = ButtonArretroutageClick
end end
object CheckInverse1: TCheckBox
Left = 208
Top = 64
Width = 89
Height = 17
Hint = 'Pilotage en sens inverse'
Caption = 'sens inverse'
ParentShowHint = False
ShowHint = True
TabOrder = 13
OnClick = CheckInverse1Click
end
object CheckInverse2: TCheckBox
Left = 208
Top = 88
Width = 89
Height = 17
Hint = 'Pilotage en sens inverse'
Caption = 'sens inverse'
ParentShowHint = False
ShowHint = True
TabOrder = 14
OnClick = CheckInverse2Click
end
object CheckInverse3: TCheckBox
Left = 208
Top = 112
Width = 89
Height = 17
Hint = 'Pilotage en sens inverse'
Caption = 'sens inverse'
ParentShowHint = False
ShowHint = True
TabOrder = 15
OnClick = CheckInverse3Click
end
object CheckInverse4: TCheckBox
Left = 208
Top = 136
Width = 89
Height = 17
Hint = 'Pilotage en sens inverse'
Caption = 'sens inverse'
ParentShowHint = False
ShowHint = True
TabOrder = 16
OnClick = CheckInverse4Click
end
object CheckInverse5: TCheckBox
Left = 208
Top = 160
Width = 89
Height = 17
Hint = 'Pilotage en sens inverse'
Caption = 'sens inverse'
ParentShowHint = False
ShowHint = True
TabOrder = 17
OnClick = CheckInverse5Click
end
object CheckInverse6: TCheckBox
Left = 208
Top = 184
Width = 89
Height = 17
Hint = 'Pilotage en sens inverse'
Caption = 'sens inverse'
ParentShowHint = False
ShowHint = True
TabOrder = 18
OnClick = CheckInverse6Click
end
object EditDir1: TEdit
Left = 168
Top = 64
Width = 33
Height = 21
Hint = 'D'#233'tecteur suivant vers lequel doit se diriger le train 1'
ParentShowHint = False
ShowHint = True
TabOrder = 19
OnChange = EditDir1Change
end
object EditDir2: TEdit
Left = 168
Top = 88
Width = 33
Height = 21
Hint = 'D'#233'tecteur suivant vers lequel doit se diriger le train 2'
ParentShowHint = False
ShowHint = True
TabOrder = 20
OnChange = EditDir2Change
end
object EditDir3: TEdit
Left = 168
Top = 112
Width = 33
Height = 21
Hint = 'D'#233'tecteur suivant vers lequel doit se diriger le train 3'
ParentShowHint = False
ShowHint = True
TabOrder = 21
OnChange = EditDir3Change
end
object EditDir4: TEdit
Left = 168
Top = 136
Width = 33
Height = 21
Hint = 'D'#233'tecteur suivant vers lequel doit se diriger le train 4'
ParentShowHint = False
ShowHint = True
TabOrder = 22
OnChange = EditDir4Change
end
object EditDir5: TEdit
Left = 168
Top = 160
Width = 33
Height = 21
Hint = 'D'#233'tecteur suivant vers lequel doit se diriger le train 5'
ParentShowHint = False
ShowHint = True
TabOrder = 23
OnChange = EditDir5Change
end
object EditDir6: TEdit
Left = 168
Top = 184
Width = 33
Height = 21
Hint = 'D'#233'tecteur suivant vers lequel doit se diriger le train 6'
ParentShowHint = False
ShowHint = True
TabOrder = 24
OnChange = EditDir6Change
end
end end
+192 -17
View File
@@ -30,6 +30,20 @@ type
ButtonLanceRoutage: TButton; ButtonLanceRoutage: TButton;
Button1: TButton; Button1: TButton;
ButtonArretroutage: TButton; ButtonArretroutage: TButton;
CheckInverse1: TCheckBox;
CheckInverse2: TCheckBox;
CheckInverse3: TCheckBox;
CheckInverse4: TCheckBox;
CheckInverse5: TCheckBox;
CheckInverse6: TCheckBox;
EditDir1: TEdit;
Label4: TLabel;
EditDir2: TEdit;
EditDir3: TEdit;
EditDir4: TEdit;
EditDir5: TEdit;
EditDir6: TEdit;
Label5: TLabel;
procedure ButtonfermeClick(Sender: TObject); procedure ButtonfermeClick(Sender: TObject);
procedure ButtonInitAigClick(Sender: TObject); procedure ButtonInitAigClick(Sender: TObject);
procedure FormActivate(Sender: TObject); procedure FormActivate(Sender: TObject);
@@ -45,6 +59,18 @@ type
procedure FormKeyPress(Sender: TObject; var Key: Char); procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure ButtonLanceRoutageClick(Sender: TObject); procedure ButtonLanceRoutageClick(Sender: TObject);
procedure ButtonArretroutageClick(Sender: TObject); procedure ButtonArretroutageClick(Sender: TObject);
procedure CheckInverse1Click(Sender: TObject);
procedure CheckInverse2Click(Sender: TObject);
procedure CheckInverse3Click(Sender: TObject);
procedure CheckInverse4Click(Sender: TObject);
procedure CheckInverse5Click(Sender: TObject);
procedure CheckInverse6Click(Sender: TObject);
procedure EditDir1Change(Sender: TObject);
procedure EditDir2Change(Sender: TObject);
procedure EditDir3Change(Sender: TObject);
procedure EditDir4Change(Sender: TObject);
procedure EditDir5Change(Sender: TObject);
procedure EditDir6Change(Sender: TObject);
private private
{ Déclarations privées } { Déclarations privées }
public public
@@ -78,24 +104,35 @@ begin
end; end;
procedure TFormPlace.FormActivate(Sender: TObject); procedure TFormPlace.FormActivate(Sender: TObject);
var i : integer;
begin begin
LabelTrain1.Caption:=trains[1].nom_train; LabelTrain1.Caption:=trains[1].nom_train;
Edit1.text:=intToSTR(placement[1].detecteur); Edit1.text:=intToSTR(placement[1].detecteur);
EditDir1.Text:=IntToSTR(placement[1].detdir);
CheckInverse1.Checked:=placement[1].inverse;
LabelTrain2.Caption:=trains[2].nom_train; LabelTrain2.Caption:=trains[2].nom_train;
EditDir2.Text:=IntToSTR(placement[2].detdir);
CheckInverse2.Checked:=placement[2].inverse;
Edit2.text:=intToSTR(placement[2].detecteur); Edit2.text:=intToSTR(placement[2].detecteur);
CheckInverse3.Checked:=placement[3].inverse;
EditDir3.Text:=IntToSTR(placement[3].detdir);
LabelTrain3.Caption:=trains[3].nom_train; LabelTrain3.Caption:=trains[3].nom_train;
Edit3.text:=intToSTR(placement[3].detecteur); Edit3.text:=intToSTR(placement[3].detecteur);
LabelTrain4.Caption:=trains[4].nom_train; LabelTrain4.Caption:=trains[4].nom_train;
EditDir4.Text:=IntToSTR(placement[4].detdir);
Edit4.text:=intToSTR(placement[4].detecteur); Edit4.text:=intToSTR(placement[4].detecteur);
CheckInverse4.Checked:=placement[4].inverse;
LabelTrain5.Caption:=trains[5].nom_train; LabelTrain5.Caption:=trains[5].nom_train;
EditDir5.Text:=IntToSTR(placement[5].detdir);
Edit5.text:=intToSTR(placement[5].detecteur); Edit5.text:=intToSTR(placement[5].detecteur);
CheckInverse5.Checked:=placement[5].inverse;
LabelTrain6.Caption:=trains[6].nom_train; LabelTrain6.Caption:=trains[6].nom_train;
EditDir6.Text:=IntToSTR(placement[6].detdir);
Edit6.text:=intToSTR(placement[6].detecteur); Edit6.text:=intToSTR(placement[6].detecteur);
CheckInverse6.Checked:=placement[6].inverse;
end; end;
procedure TFormPlace.ButtonPlaceClick(Sender: TObject); procedure TFormPlace.ButtonPlaceClick(Sender: TObject);
var detect,erreur : integer; var suiv,detect,erreur : integer;
s : string; s : string;
begin begin
if cdm_connecte then if cdm_connecte then
@@ -104,6 +141,12 @@ begin
exit; exit;
end; end;
for detect:=1 to NbMemZone do
begin
detecteur[detect].train:='';
detecteur[detect].AdrTrain:=0;
end;
s:=edit1.Text; s:=edit1.Text;
if s<>'' then if s<>'' then
begin begin
@@ -113,7 +156,7 @@ begin
begin begin
detecteur[detect].adrTrain:=trains[1].adresse; detecteur[detect].adrTrain:=trains[1].adresse;
event_detecteur(detect,true,trains[1].nom_train); event_detecteur(detect,true,trains[1].nom_train);
Affiche('Positionnement train '+detecteur[detect].train+' sur détecteur '+intToSTR(detect),clLime); Affiche('Positionnement train '+detecteur[detect].train+' sur détecteur '+intToSTR(detect)+' vers '+EditDir1.Text,clLime);
end end
else else
begin begin
@@ -132,7 +175,7 @@ begin
begin begin
detecteur[detect].adrTrain:=trains[2].adresse; detecteur[detect].adrTrain:=trains[2].adresse;
event_detecteur(detect,true,trains[2].nom_train); event_detecteur(detect,true,trains[2].nom_train);
Affiche('Positionnement train '+detecteur[detect].train+' sur détecteur '+intToSTR(detect),clLime); Affiche('Positionnement train '+detecteur[detect].train+' sur détecteur '+intToSTR(detect)+' vers '+EditDir2.Text,clLime);
end end
else else
begin begin
@@ -151,7 +194,7 @@ begin
begin begin
detecteur[detect].adrTrain:=trains[3].adresse; detecteur[detect].adrTrain:=trains[3].adresse;
event_detecteur(detect,true,trains[3].nom_train); event_detecteur(detect,true,trains[3].nom_train);
Affiche('Positionnement train '+detecteur[detect].train+' sur détecteur '+intToSTR(detect),clLime); Affiche('Positionnement train '+detecteur[detect].train+' sur détecteur '+intToSTR(detect)+' vers '+EditDir3.Text,clLime);
end end
else else
begin begin
@@ -168,15 +211,20 @@ begin
if (erreur<>0) or (detect>NbMemZone )then LabelTexte.caption:='Erreur détecteur train 4'; if (erreur<>0) or (detect>NbMemZone )then LabelTexte.caption:='Erreur détecteur train 4';
if detect<>0 then if detect<>0 then
begin begin
detecteur[detect].adrTrain:=trains[4].adresse; det_adj(detect);
event_detecteur(detect,true,trains[4].nom_train); val(editDir4.Text,Suiv,erreur);
Affiche('Positionnement train '+detecteur[detect].train+' sur détecteur '+intToSTR(detect),clLime); if detect<>0 then
end begin
else detecteur[detect].adrTrain:=trains[4].adresse;
begin event_detecteur(detect,true,trains[4].nom_train);
detecteur[detect].etat:=false; Affiche('Positionnement train '+detecteur[detect].train+' sur détecteur '+intToSTR(detect)+' vers '+EditDir4.Text,clLime);
detecteur[detect].train:=''; end
detecteur[detect].adrTrain:=0; else
begin
detecteur[detect].etat:=false;
detecteur[detect].train:='';
detecteur[detect].adrTrain:=0;
end;
end; end;
end; end;
@@ -189,7 +237,7 @@ begin
begin begin
detecteur[detect].adrTrain:=trains[5].adresse; detecteur[detect].adrTrain:=trains[5].adresse;
event_detecteur(detect,true,trains[5].nom_train); event_detecteur(detect,true,trains[5].nom_train);
Affiche('Positionnement train '+detecteur[detect].train+' sur détecteur '+intToSTR(detect),clLime); Affiche('Positionnement train '+detecteur[detect].train+' sur détecteur '+intToSTR(detect)+' vers '+EditDir5.Text,clLime);
end end
else else
begin begin
@@ -208,7 +256,7 @@ begin
begin begin
detecteur[detect].adrTrain:=trains[6].adresse; detecteur[detect].adrTrain:=trains[6].adresse;
event_detecteur(detect,true,trains[6].nom_train); event_detecteur(detect,true,trains[6].nom_train);
Affiche('Positionnement train '+detecteur[detect].train+' sur détecteur '+intToSTR(detect),clLime); Affiche('Positionnement train '+detecteur[detect].train+' sur détecteur '+intToSTR(detect)+' vers '+EditDir6.Text,clLime);
end end
else else
begin begin
@@ -221,6 +269,7 @@ begin
begin begin
affiche_tco; affiche_tco;
end; end;
end; end;
procedure TFormPlace.Edit1Change(Sender: TObject); procedure TFormPlace.Edit1Change(Sender: TObject);
@@ -349,10 +398,19 @@ begin
Affiche('Lancement du train '+detecteur[adrDet].train+' depuis détecteur '+intToSTR(adrDet),clYellow); Affiche('Lancement du train '+detecteur[adrDet].train+' depuis détecteur '+intToSTR(adrDet),clYellow);
AdrTrain:=detecteur[AdrDet].AdrTrain; AdrTrain:=detecteur[AdrDet].AdrTrain;
j:=index_train_adresse(AdrTrain); j:=index_train_adresse(AdrTrain);
vitesse_loco('',adrTrain,trains[j].VitNominale,true); vitesse_loco('',adrTrain,trains[j].VitNominale,not(placement[j].inverse));
trouve:=true; trouve:=true;
roulage:=true;
maj_feux;
reserve_canton(AdrDet,placement[j].detdir,adrtrain);
end; end;
end; end;
if trouve then
begin
Maj_feux;
Formprinc.LabelTitre.caption:=titre+' - Mode roulage en cours';
end;
if not(trouve) then Affiche('Pas de train placé',clOrange); if not(trouve) then Affiche('Pas de train placé',clOrange);
end; end;
@@ -361,8 +419,125 @@ var i : integer;
begin begin
roulage:=false; roulage:=false;
Affiche('Arrêt du roulage de tous les trains',clorange); Affiche('Arrêt du roulage de tous les trains',clorange);
Formprinc.LabelTitre.caption:=titre+' ';
for i:=1 to ntrains do for i:=1 to ntrains do
vitesse_loco('',trains[i].adresse,0,true); vitesse_loco('',trains[i].adresse,0,true);
end; end;
procedure TFormPlace.CheckInverse1Click(Sender: TObject);
begin
placement[1].inverse:=CheckInverse1.Checked;
end;
procedure TFormPlace.CheckInverse2Click(Sender: TObject);
begin
placement[2].inverse:=CheckInverse2.Checked;
end;
procedure TFormPlace.CheckInverse3Click(Sender: TObject);
begin
placement[3].inverse:=CheckInverse3.Checked;
end;
procedure TFormPlace.CheckInverse4Click(Sender: TObject);
begin
placement[4].inverse:=CheckInverse4.Checked;
end;
procedure TFormPlace.CheckInverse5Click(Sender: TObject);
begin
placement[5].inverse:=CheckInverse4.Checked;
end;
procedure TFormPlace.CheckInverse6Click(Sender: TObject);
begin
placement[6].inverse:=CheckInverse6.Checked;
end;
procedure TFormPlace.EditDir1Change(Sender: TObject);
var i,erreur : integer;
begin
val(editDir1.Text,i,erreur);
if erreur<>0 then exit;
if index_adresse_detecteur(i)=0 then
begin
LabelTexte.caption:='Détecteur '+intToSTR(i)+' inexistant';
exit;
end;
labelTexte.caption:='';
placement[1].detdir:=i;
end;
procedure TFormPlace.EditDir2Change(Sender: TObject);
var i,erreur : integer;
begin
val(editDir2.Text,i,erreur);
if erreur<>0 then exit;
if index_adresse_detecteur(i)=0 then
begin
LabelTexte.caption:='Détecteur '+intToSTR(i)+' inexistant';
exit;
end;
labelTexte.caption:='';
placement[2].detdir:=i;
end;
procedure TFormPlace.EditDir3Change(Sender: TObject);
var i,erreur : integer;
begin
val(editDir3.Text,i,erreur);
if erreur<>0 then exit;
if index_adresse_detecteur(i)=0 then
begin
LabelTexte.caption:='Détecteur '+intToSTR(i)+' inexistant';
exit;
end;
labelTexte.caption:='';
placement[3].detdir:=i;
end;
procedure TFormPlace.EditDir4Change(Sender: TObject);
var i,erreur : integer;
begin
val(editDir4.Text,i,erreur);
if erreur<>0 then exit;
if index_adresse_detecteur(i)=0 then
begin
LabelTexte.caption:='Détecteur '+intToSTR(i)+' inexistant';
exit;
end;
labelTexte.caption:='';
placement[4].detdir:=i;
end;
procedure TFormPlace.EditDir5Change(Sender: TObject);
var i,erreur : integer;
begin
val(editDir5.Text,i,erreur);
if erreur<>0 then exit;
if index_adresse_detecteur(i)=0 then
begin
LabelTexte.caption:='Détecteur '+intToSTR(i)+' inexistant';
exit;
end;
labelTexte.caption:='';
placement[5].detdir:=i;
end;
procedure TFormPlace.EditDir6Change(Sender: TObject);
var i,erreur : integer;
begin
val(editDir6.Text,i,erreur);
if erreur<>0 then exit;
if index_adresse_detecteur(i)=0 then
begin
LabelTexte.caption:='Détecteur '+intToSTR(i)+' inexistant';
exit;
end;
labelTexte.caption:='';
placement[6].detdir:=i;
end;
end. end.
+7 -7
View File
@@ -15,16 +15,16 @@ Ratio=10
/Matrice TCO /Matrice TCO
[Matrice] [Matrice]
/ inutilisé,adresse,image,inversion aiguillage,Orientation du feu, pied du feu , [texte], representation, fonte, taille fonte, couleur fonte, style / inutilisé,adresse,image,inversion aiguillage,Orientation du feu, pied du feu , [texte], representation, fonte, taille fonte, couleur fonte, style
(0,358,30,0,1,1,,2,,0,FFFFFF,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,497,30,0,1,2,,2,,0,FFFFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,TCO GARE PRINCIPALE,1,ARIAL,20,00FFFF,GI)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,FFFFFF,)(0,0,0,0,0,0,,0,,0,000000,) (0,358,30,0,1,1,,2,,0,FFFFFF,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,497,30,0,1,2,,2,,0,FFFFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,TCO GARE PRINCIPALE,1,ARIAL,20,00FFFF,GI)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,FFFFFF,)(0,0,0,0,0,0,,0,,0,000000,)
(0,0,0,0,0,0,,2,,0,000000,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,8,00FF00,)(0,0,0,0,0,0,,2,,8,00FF00,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,9,0,0,0,,2,,0,000000,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,0,0,0,0,,0,,0,000000,) (0,0,0,0,0,0,,2,,0,000000,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,8,00FF00,)(0,0,0,0,0,0,,2,,8,00FF00,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,9,0,0,0,,2,,0,000000,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,0,0,0,0,,0,,0,000000,)
(0,0,0,0,0,0,,2,,0,000000,)(0,517,20,0,0,0,,2,,0,00FFFF,)(0,531,20,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,6,2,0,0,0,,2,,0,00FF00,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,10,0,0,0,,2,,0,000000,)(0,0,9,0,0,0,,2,,0,000000,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,0,0,0,0,,0,,0,000000,) (0,0,0,0,0,0,,2,,0,000000,)(0,517,20,0,0,0,,2,,0,00FFFF,)(0,531,20,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,6,2,0,0,0,,2,,0,00FF00,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,10,0,0,0,,2,,0,000000,)(0,0,9,0,0,0,,2,,0,000000,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,0,0,0,0,,0,,0,000000,)
(0,0,0,0,0,0,,2,,0,000000,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,10,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,232,30,0,3,1,,2,,0,00FF00,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,FFFFFF,)(0,288,30,0,2,1,,2,,0,FFFFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,10,0,0,0,,2,MS SANS SERIF,10,00FFFF,)(0,0,10,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,) (0,0,0,0,0,0,,2,,0,000000,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,10,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,232,30,0,3,1,,2,,0,00FF00,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,FFFFFF,)(0,288,30,0,2,1,,2,,0,FFFFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,10,0,0,0,,2,MS SANS SERIF,10,00FFFF,)(0,0,10,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)
(0,0,0,0,0,0,,2,,0,000000,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,4,15,0,0,0,,2,,0,00FF00,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,514,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,522,1,0,0,0,,2,,0,00FFFF,)(0,0,7,0,0,0,,2,,0,000000,)(0,0,10,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,) (0,0,0,0,0,0,,2,,0,000000,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,372,30,0,1,1,,2,,0,FFFFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,4,15,0,0,0,,2,,0,00FF00,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,514,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,522,1,0,0,0,,2,,0,00FFFF,)(0,0,7,0,0,0,,2,,0,000000,)(0,0,10,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)
(0,0,0,0,0,0,,2,,0,000000,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,3,15,0,0,0,,2,,0,00FF00,)(0,5,2,0,0,0,,2,,0,00FF00,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,515,1,0,0,0,,2,,0,00FFFF,)(0,515,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,7,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,) (0,0,0,0,0,0,,2,,0,000000,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,0,20,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,3,15,0,0,0,,2,,0,00FF00,)(0,5,2,0,0,0,,2,,0,00FF00,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,515,1,0,0,0,,2,,0,00FFFF,)(0,515,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,7,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)
(0,0,0,0,0,0,,2,,0,000000,)(0,0,19,0,0,0,,2,,0,00FFFF,)(0,0,19,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,260,30,0,2,1,,2,,0,00FF00,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,10,0,0,0,,2,,0,000000,)(0,0,10,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,316,30,0,3,1,,2,,0,00FF00,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,23,0,0,0,,2,,0,000000,)(0,0,23,0,0,0,,2,,0,000000,)(0,0,23,0,0,0,QUAI 1,1,ARIAL,12,FFFFFF,G)(0,0,23,0,0,0,,2,,0,000000,)(0,0,23,0,0,0,,2,,0,000000,)(0,0,23,0,0,0,,2,,0,000000,)(0,0,23,0,0,0,,2,,0,000000,)(0,0,23,0,0,0,,2,,0,000000,)(0,0,23,0,0,0,,2,,0,000000,)(0,0,23,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,190,30,0,2,1,,2,,0,00FF00,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,) (0,0,0,0,0,0,,2,,0,000000,)(0,0,19,0,0,0,,2,,0,00FFFF,)(0,0,19,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,520,30,0,2,1,,2,,0,00FF00,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,10,0,0,0,,2,,0,000000,)(0,0,10,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,316,30,0,3,1,,2,,0,00FF00,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,23,0,0,0,,2,,0,000000,)(0,0,23,0,0,0,,2,,0,000000,)(0,0,23,0,0,0,QUAI 1,1,ARIAL,12,FFFFFF,G)(0,0,23,0,0,0,,2,,8,00FF00,)(0,0,23,0,0,0,,2,,8,00FF00,)(0,0,23,0,0,0,,2,,0,000000,)(0,0,23,0,0,0,,2,,0,000000,)(0,0,23,0,0,0,,2,,0,000000,)(0,0,23,0,0,0,,2,,0,000000,)(0,0,23,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,190,30,0,2,1,,2,,0,00FF00,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)
(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,11,0,0,0,,2,,0,00FFFF,)(0,0,6,0,0,0,,2,,0,000000,)(0,518,1,0,0,0,,0,,0,00FFFF,)(0,518,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,1,3,0,0,0,,2,,0,00FF00,)(0,100,21,0,0,0,,2,,0,00FF00,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,VOIE 2,2,ARIAL,10,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,523,1,0,0,0,,0,,0,00FFFF,)(0,523,1,0,0,0,,0,,0,00FFFF,)(0,523,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,) (0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,11,0,0,0,,2,,0,00FFFF,)(0,0,6,0,0,0,,2,,0,000000,)(0,518,1,0,0,0,,0,,0,00FFFF,)(0,518,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,1,3,0,0,0,,2,,8,00FF00,)(0,100,21,0,0,0,,2,,0,00FF00,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,VOIE 2,2,ARIAL,10,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,523,1,0,0,0,,0,,0,00FFFF,)(0,523,1,0,0,0,,0,,0,00FFFF,)(0,523,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)
(0,530,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,8,0,0,0,,2,,0,00FFFF,)(0,0,6,0,0,0,,2,,0,000000,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,12,4,1,0,0,,2,,0,00FF00,)(0,2,3,0,0,0,,2,,0,00FF00,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,519,1,0,0,0,,2,,0,00FFFF,)(0,519,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,VOIE 1,2,ARIAL,10,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,8,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,7,2,0,0,0,,2,,0,00FF00,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,527,1,0,0,0,,2,,8,00FFFF,)(0,0,1,0,0,0,,3,,8,00FFFF,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,) (0,530,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,8,0,0,0,,2,,0,00FFFF,)(0,0,6,0,0,0,,2,,0,000000,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,12,4,1,0,0,,2,,0,00FF00,)(0,2,3,0,0,0,,2,,0,00FF00,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,519,1,0,0,0,,2,,0,00FFFF,)(0,519,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,VOIE 1,2,ARIAL,10,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,8,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,7,2,0,0,0,,2,,0,00FF00,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,527,1,0,0,0,,2,,8,00FFFF,)(0,0,1,0,0,0,,3,,8,00FFFF,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)
(0,529,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,26,22,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,8,0,0,0,,0,,0,000000,)(0,0,11,0,0,0,,0,,0,000000,)(0,330,30,0,3,1,,0,,0,00FF00,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,23,0,0,0,,0,,0,000000,)(0,0,23,0,0,0,,0,,0,000000,)(0,0,23,0,0,0,QUAI 2,0,ARIAL,12,FFFFFF,G)(0,0,23,0,0,0,,0,,0,000000,)(0,0,23,0,0,0,,0,,0,000000,)(0,0,23,0,0,0,,0,,0,000000,)(0,0,23,0,0,0,,0,,0,000000,)(0,0,23,0,0,0,,0,,0,000000,)(0,0,23,0,0,0,,0,,0,000000,)(0,0,23,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,10,0,0,0,,0,,0,000000,)(0,204,30,0,3,1,,0,,0,00FF00,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,8,00FF00,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,) (0,529,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,26,22,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,8,0,0,0,,0,,0,000000,)(0,0,11,0,0,0,,0,,0,000000,)(0,330,30,0,3,1,,0,,0,00FF00,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,23,0,0,0,,0,,0,000000,)(0,0,23,0,0,0,,0,,0,000000,)(0,0,23,0,0,0,QUAI 2,1,ARIAL,12,FFFFFF,G)(0,0,23,0,0,0,,0,,0,000000,)(0,0,23,0,0,0,,0,,0,000000,)(0,0,23,0,0,0,,0,,0,000000,)(0,0,23,0,0,0,,0,,0,000000,)(0,0,23,0,0,0,,0,,0,000000,)(0,0,23,0,0,0,,0,,0,000000,)(0,0,23,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,10,0,0,0,,0,,0,000000,)(0,204,30,0,3,1,,0,,0,00FF00,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,8,00FF00,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)
(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,6,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,21,5,0,0,0,,0,,0,00FF00,)(0,20,5,0,0,0,,0,,0,00FF00,)(0,520,1,0,0,0,,2,,8,00FFFF,)(0,520,1,0,0,0,,0,,0,00FFFF,)(0,520,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,8,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,8,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,8,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,8,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,8,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,7,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,8,00FF00,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,) (0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,6,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,21,5,0,0,0,,0,,0,00FF00,)(0,20,5,0,0,0,,0,,0,00FF00,)(0,520,1,0,0,0,,2,,8,00FFFF,)(0,520,1,0,0,0,,0,,0,00FFFF,)(0,520,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,8,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,8,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,8,00FFFF,)(0,0,1,0,0,0,,2,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,8,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,8,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,1,0,0,0,,0,,0,00FFFF,)(0,0,7,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,8,00FF00,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)
(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,176,30,0,3,1,,0,,0,00FF00,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,3,,8,00FF00,)(0,0,0,0,0,0,,0,,8,00FF00,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,8,00FF00,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,8,00FF00,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,8,00FF00,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,) (0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,176,30,0,3,1,,0,,0,00FF00,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,3,,8,00FF00,)(0,0,0,0,0,0,,0,,8,00FF00,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,8,00FF00,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,8,00FF00,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,8,00FF00,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)
(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,) (0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,2,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)(0,0,0,0,0,0,,0,,0,000000,)
BIN
View File
Binary file not shown.
+10 -3
View File
@@ -23,7 +23,7 @@ var
Lance_verif : integer; Lance_verif : integer;
verifVersion,notificationVersion : boolean; verifVersion,notificationVersion : boolean;
Const Version='5.2'; // sert à la comparaison de la version publiée Const Version='5.3'; // sert à la comparaison de la version publiée
SousVersion=' '; // en cas d'absence de sous version mettre un espace SousVersion=' '; // en cas d'absence de sous version mettre un espace
implementation implementation
@@ -66,6 +66,8 @@ var
begin begin
Result:=False; Result:=False;
DeleteFile(s); DeleteFile(s);
//Affiche('VV1',clLime);
Application.ProcessMessages;
Try Fs:=TFileStream.Create(s,fmCreate,fmShareDenyNone); 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
@@ -73,6 +75,8 @@ begin
begin begin
// fonction longue // fonction longue
dwTimeout:=2000; //2s dwTimeout:=2000; //2s
//Affiche('VV2',clLime);
Application.ProcessMessages;
InternetSetOption(hSession,INTERNET_OPTION_CONNECT_TIMEOUT,@dwTimeOut, SizeOf(dwTimeOut)); InternetSetOption(hSession,INTERNET_OPTION_CONNECT_TIMEOUT,@dwTimeOut, SizeOf(dwTimeOut));
hService:=InternetOpenUrl(hSession, PChar(aUrl), nil, 0, INTERNET_FLAG_RELOAD, 0); hService:=InternetOpenUrl(hSession, PChar(aUrl), nil, 0, INTERNET_FLAG_RELOAD, 0);
if Assigned(hService) then if Assigned(hService) then
@@ -240,8 +244,11 @@ begin
else formVersion.Free; else formVersion.Free;
end; end;
if (V_utile=V_publie) and notificationVersion then Affiche('Votre version '+Version_p+SousVersion+' est à jour',clLime); if notificationVersion then
begin
if V_utile=V_publie then Affiche('Votre version '+Version_p+SousVersion+' est à jour',clLime);
if V_utile>V_publie then Affiche('Votre version '+version+SousVersion+' est plus récente que la version publiée '+Version_p+SV_publie,clLime);
end;
end; end;
end end
else else
+7
View File
@@ -134,4 +134,11 @@ version 5.2 : Nouvel algorithme pour le d
Suivi des trains sur les détecteurs enclenchés en mode autonome Suivi des trains sur les détecteurs enclenchés en mode autonome
Fermeture des fenêtres secondaires par appui sur Esc/Echap Fermeture des fenêtres secondaires par appui sur Esc/Echap
Correction bug ouverture des PN par actionneurs Correction bug ouverture des PN par actionneurs
version 5.3 : Informations sur les états des signaux par clic droit sur le signal.
Correction éventuelle fenêtre de violation au démarrage.
Renforcement du suivi des trains:
(prise en compte des changements d'aiguillages)
(détection simultanée d'un train sur deux détecteurs)