V8.51
This commit is contained in:
@@ -70,6 +70,7 @@ procedure TFormImportation.EditBaseCroisChange(Sender: TObject);
|
||||
var i,erreur : integer;
|
||||
begin
|
||||
val(editBaseCrois.text,i,erreur);
|
||||
if i<0 then i:=0;
|
||||
if erreur=0 then BaseCroisement:=i;
|
||||
end;
|
||||
|
||||
|
||||
Binary file not shown.
BIN
Binary file not shown.
@@ -130,9 +130,3 @@ OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=8.1.0.0
|
||||
Comments=
|
||||
[HistoryLists\hlUnitAliases]
|
||||
Count=1
|
||||
Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
|
||||
[HistoryLists\hlSearchPath]
|
||||
Count=1
|
||||
Item0=$(DELPHI)\Lib\Debug
|
||||
|
||||
@@ -2,8 +2,8 @@ program Signaux_complexes_GL;
|
||||
|
||||
uses
|
||||
Forms,
|
||||
UnitPrinc in 'UnitPrinc.pas' {FormPrinc},
|
||||
UnitDebug in 'UnitDebug.pas' {FormDebug},
|
||||
UnitPrinc in 'UnitPrinc.pas' {FormPrinc},
|
||||
verif_version in 'verif_version.pas' {FormVersion},
|
||||
UnitPilote in 'UnitPilote.pas' {FormPilote},
|
||||
UnitSimule in 'UnitSimule.pas' {FormSimulation},
|
||||
@@ -17,7 +17,8 @@ uses
|
||||
Unitplace in 'Unitplace.pas' {FormPlace},
|
||||
UnitPareFeu in 'UnitPareFeu.pas',
|
||||
UnitAnalyseSegCDM in 'UnitAnalyseSegCDM.pas' {FormAnalyseCDM},
|
||||
Importation in 'Importation.pas' {FormImportation};
|
||||
Importation in 'Importation.pas' {FormImportation},
|
||||
MSCommLib_TLB in 'MSCommLib_TLB.pas';
|
||||
|
||||
{$R *.res}
|
||||
|
||||
@@ -26,6 +27,7 @@ begin
|
||||
Application.Initialize;
|
||||
Application.Title := 'Signaux complexes GL';
|
||||
Application.CreateForm(TFormPrinc, FormPrinc);
|
||||
Application.CreateForm(TFormDebug, FormDebug);
|
||||
Application.CreateForm(TFormVersion, FormVersion);
|
||||
Application.CreateForm(TFormPilote, FormPilote);
|
||||
Application.CreateForm(TFormSimulation, FormSimulation);
|
||||
@@ -36,7 +38,6 @@ begin
|
||||
Application.CreateForm(TFormConfCellTCO, FormConfCellTCO);
|
||||
Application.CreateForm(TFormCDF, FormCDF);
|
||||
Application.CreateForm(TFormPlace, FormPlace);
|
||||
Application.CreateForm(TFormDebug, FormDebug);
|
||||
Application.CreateForm(TFormAnalyseCDM, FormAnalyseCDM);
|
||||
Application.CreateForm(TFormImportation, FormImportation);
|
||||
{$IF CompilerVersion >= 28.0}
|
||||
|
||||
Binary file not shown.
+120
-120
@@ -1,104 +1,104 @@
|
||||
|
||||
Start Length Name Class
|
||||
0001:00000000 0018322CH .text CODE
|
||||
0002:00000000 00002C88H .data DATA
|
||||
0002:00002C88 045E33F9H .bss BSS
|
||||
0001:00000000 0017F73CH .text CODE
|
||||
0002:00000000 00002CB0H .data DATA
|
||||
0002:00002CB0 045E33E9H .bss BSS
|
||||
|
||||
|
||||
Detailed map of segments
|
||||
|
||||
0001:00000000 00005F13 C=CODE S=.text G=(none) M=System ACBP=A9
|
||||
0001:00005F14 00000140 C=CODE S=.text G=(none) M=SysInit ACBP=A9
|
||||
0001:00006054 00000108 C=CODE S=.text G=(none) M=Types ACBP=A9
|
||||
0001:0000615C 00000F38 C=CODE S=.text G=(none) M=Windows ACBP=A9
|
||||
0001:00007094 00000038 C=CODE S=.text G=(none) M=Messages ACBP=A9
|
||||
0001:000070CC 00000338 C=CODE S=.text G=(none) M=SysConst ACBP=A9
|
||||
0001:00007404 00006FF8 C=CODE S=.text G=(none) M=SysUtils ACBP=A9
|
||||
0001:0000E3FC 0000081B C=CODE S=.text G=(none) M=VarUtils ACBP=A9
|
||||
0001:0000EC18 0000809E C=CODE S=.text G=(none) M=Variants ACBP=A9
|
||||
0001:00016CB8 000001A0 C=CODE S=.text G=(none) M=RTLConsts ACBP=A9
|
||||
0001:00016E58 0000083C C=CODE S=.text G=(none) M=TypInfo ACBP=A9
|
||||
0001:00017694 00000358 C=CODE S=.text G=(none) M=ActiveX ACBP=A9
|
||||
0001:000179EC 0000A7EA C=CODE S=.text G=(none) M=Classes ACBP=A9
|
||||
0001:000221D8 00000370 C=CODE S=.text G=(none) M=Consts ACBP=A9
|
||||
0001:00022548 00009BFB C=CODE S=.text G=(none) M=Graphics ACBP=A9
|
||||
0001:0002C144 00000124 C=CODE S=.text G=(none) M=Math ACBP=A9
|
||||
0001:0002C268 000002B8 C=CODE S=.text G=(none) M=Contnrs ACBP=A9
|
||||
0001:0002C520 00000198 C=CODE S=.text G=(none) M=CommCtrl ACBP=A9
|
||||
0001:0002C6B8 00000787 C=CODE S=.text G=(none) M=MultiMon ACBP=A9
|
||||
0001:0002CE40 00000038 C=CODE S=.text G=(none) M=Imm ACBP=A9
|
||||
0001:0002CE78 00000FF8 C=CODE S=.text G=(none) M=HelpIntfs ACBP=A9
|
||||
0001:0002DE70 00000058 C=CODE S=.text G=(none) M=WinSpool ACBP=A9
|
||||
0001:0002DEC8 000010C8 C=CODE S=.text G=(none) M=Printers ACBP=A9
|
||||
0001:0002EF90 0000031F C=CODE S=.text G=(none) M=FlatSB ACBP=A9
|
||||
0001:0002F2B0 000003F0 C=CODE S=.text G=(none) M=SyncObjs ACBP=A9
|
||||
0001:0002F6A0 000009BB C=CODE S=.text G=(none) M=UxTheme ACBP=A9
|
||||
0001:0003005C 00000038 C=CODE S=.text G=(none) M=RichEdit ACBP=A9
|
||||
0001:00030094 00000038 C=CODE S=.text G=(none) M=ToolWin ACBP=A9
|
||||
0001:000300CC 00000048 C=CODE S=.text G=(none) M=ShellAPI ACBP=A9
|
||||
0001:00030114 00000038 C=CODE S=.text G=(none) M=RegStr ACBP=A9
|
||||
0001:0003014C 00000058 C=CODE S=.text G=(none) M=WinInet ACBP=A9
|
||||
0001:000301A4 00000038 C=CODE S=.text G=(none) M=UrlMon ACBP=A9
|
||||
0001:000301DC 0000007C C=CODE S=.text G=(none) M=ShlObj ACBP=A9
|
||||
0001:00030258 00000060 C=CODE S=.text G=(none) M=CommDlg ACBP=A9
|
||||
0001:000302B8 00000038 C=CODE S=.text G=(none) M=Dlgs ACBP=A9
|
||||
0001:000302F0 000036D1 C=CODE S=.text G=(none) M=Dialogs ACBP=A9
|
||||
0001:000339C4 00004ADA C=CODE S=.text G=(none) M=ExtCtrls ACBP=A9
|
||||
0001:000384A0 00000090 C=CODE S=.text G=(none) M=ComStrs ACBP=A9
|
||||
0001:00038530 000007A0 C=CODE S=.text G=(none) M=Clipbrd ACBP=A9
|
||||
0001:00038CD0 00000128 C=CODE S=.text G=(none) M=StrUtils ACBP=A9
|
||||
0001:00038DF8 00003821 C=CODE S=.text G=(none) M=Buttons ACBP=A9
|
||||
0001:0003C61C 00000038 C=CODE S=.text G=(none) M=ExtDlgs ACBP=A9
|
||||
0001:0003C654 00000068 C=CODE S=.text G=(none) M=IniFiles ACBP=A9
|
||||
0001:0003C6BC 00000068 C=CODE S=.text G=(none) M=Registry ACBP=A9
|
||||
0001:0003C724 0000006C C=CODE S=.text G=(none) M=Mapi ACBP=A9
|
||||
0001:0003C790 00000058 C=CODE S=.text G=(none) M=ExtActns ACBP=A9
|
||||
0001:0003C7E8 00000038 C=CODE S=.text G=(none) M=ListActns ACBP=A9
|
||||
0001:0003C820 00009948 C=CODE S=.text G=(none) M=ComCtrls ACBP=A9
|
||||
0001:00046168 00000EA0 C=CODE S=.text G=(none) M=Themes ACBP=A9
|
||||
0001:00047008 0000C698 C=CODE S=.text G=(none) M=StdCtrls ACBP=A9
|
||||
0001:000536A0 00000168 C=CODE S=.text G=(none) M=StdActns ACBP=A9
|
||||
0001:00053808 00000D1F C=CODE S=.text G=(none) M=WinHelpViewer ACBP=A9
|
||||
0001:00054528 00011403 C=CODE S=.text G=(none) M=Controls ACBP=A9
|
||||
0001:0006592C 00001292 C=CODE S=.text G=(none) M=ActnList ACBP=A9
|
||||
0001:00066BC0 00001B9C C=CODE S=.text G=(none) M=ImgList ACBP=A9
|
||||
0001:0006875C 000066E1 C=CODE S=.text G=(none) M=Menus ACBP=A9
|
||||
0001:0006EE40 0000CF8C C=CODE S=.text G=(none) M=Forms ACBP=A9
|
||||
0001:0007BDCC 00000060 C=CODE S=.text G=(none) M=ComConst ACBP=A9
|
||||
0001:0007BE2C 00001259 C=CODE S=.text G=(none) M=ComObj ACBP=A9
|
||||
0001:0007D088 00000038 C=CODE S=.text G=(none) M=StdVCL ACBP=A9
|
||||
0001:0007D0C0 00001793 C=CODE S=.text G=(none) M=AxCtrls ACBP=A9
|
||||
0001:0007E854 00000060 C=CODE S=.text G=(none) M=OleConst ACBP=A9
|
||||
0001:0007E8B4 00003519 C=CODE S=.text G=(none) M=OleCtrls ACBP=A9
|
||||
0001:00081DD0 00000050 C=CODE S=.text G=(none) M=JConsts ACBP=A9
|
||||
0001:00081E20 000133EC C=CODE S=.text G=(none) M=jpeg ACBP=A9
|
||||
0001:0009520C 00000314 C=CODE S=.text G=(none) M=TlHelp32 ACBP=A9
|
||||
0001:00095520 00000128 C=CODE S=.text G=(none) M=WinSock ACBP=A9
|
||||
0001:00095648 00003A78 C=CODE S=.text G=(none) M=ScktComp ACBP=A9
|
||||
0001:000990C0 000008EA C=CODE S=.text G=(none) M=OleServer ACBP=A9
|
||||
0001:000999AC 00000598 C=CODE S=.text G=(none) M=MSCommLib_TLB ACBP=A9
|
||||
0001:00099F44 00000040 C=CODE S=.text G=(none) M=MMSystem ACBP=A9
|
||||
0001:00099F84 00000038 C=CODE S=.text G=(none) M=Nb30 ACBP=A9
|
||||
0001:00099FBC 00000A18 C=CODE S=.text G=(none) M=MaskUtils ACBP=A9
|
||||
0001:0009A9D4 00002108 C=CODE S=.text G=(none) M=Mask ACBP=A9
|
||||
0001:0009CADC 0000924C C=CODE S=.text G=(none) M=Grids ACBP=A9
|
||||
0001:000A5D28 0000191C C=CODE S=.text G=(none) M=UnitPilote ACBP=A9
|
||||
0001:000A7644 0000057C C=CODE S=.text G=(none) M=Importation ACBP=A9
|
||||
0001:000A7BC0 00019434 C=CODE S=.text G=(none) M=UnitAnalyseSegCDM ACBP=A9
|
||||
0001:000C0FF4 0000289B C=CODE S=.text G=(none) M=UnitConfigTCO ACBP=A9
|
||||
0001:000C3890 00000D78 C=CODE S=.text G=(none) M=Unit_Pilote_aig ACBP=A9
|
||||
0001:000C4608 00003D24 C=CODE S=.text G=(none) M=UnitConfigCellTCO ACBP=A9
|
||||
0001:000C832C 00031BF8 C=CODE S=.text G=(none) M=UnitTCO ACBP=A9
|
||||
0001:000F9F24 000031F0 C=CODE S=.text G=(none) M=UnitSR ACBP=A9
|
||||
0001:000FD114 00002BF0 C=CODE S=.text G=(none) M=UnitCDF ACBP=A9
|
||||
0001:000FFD04 0000283F C=CODE S=.text G=(none) M=verif_version ACBP=A9
|
||||
0001:00102544 000011D0 C=CODE S=.text G=(none) M=UnitPareFeu ACBP=A9
|
||||
0001:00103714 0003C750 C=CODE S=.text G=(none) M=UnitConfig ACBP=A9
|
||||
0001:0013FE64 00002BCC C=CODE S=.text G=(none) M=UnitDebug ACBP=A9
|
||||
0001:00142A30 00000D2C C=CODE S=.text G=(none) M=UnitSimule ACBP=A9
|
||||
0001:0014375C 000027E8 C=CODE S=.text G=(none) M=Unitplace ACBP=A9
|
||||
0001:00145F44 0003CE27 C=CODE S=.text G=(none) M=UnitPrinc ACBP=A9
|
||||
0001:00182D6C 000004C0 C=CODE S=.text G=(none) M=Signaux_complexes_GL ACBP=A9
|
||||
0001:00000000 00005ED3 C=CODE S=.text G=(none) M=System ACBP=A9
|
||||
0001:00005ED4 00000140 C=CODE S=.text G=(none) M=SysInit ACBP=A9
|
||||
0001:00006014 00000108 C=CODE S=.text G=(none) M=Types ACBP=A9
|
||||
0001:0000611C 00000F38 C=CODE S=.text G=(none) M=Windows ACBP=A9
|
||||
0001:00007054 00000038 C=CODE S=.text G=(none) M=Messages ACBP=A9
|
||||
0001:0000708C 00000338 C=CODE S=.text G=(none) M=SysConst ACBP=A9
|
||||
0001:000073C4 00006FF8 C=CODE S=.text G=(none) M=SysUtils ACBP=A9
|
||||
0001:0000E3BC 0000081B C=CODE S=.text G=(none) M=VarUtils ACBP=A9
|
||||
0001:0000EBD8 0000804E C=CODE S=.text G=(none) M=Variants ACBP=A9
|
||||
0001:00016C28 000001A0 C=CODE S=.text G=(none) M=RTLConsts ACBP=A9
|
||||
0001:00016DC8 0000083C C=CODE S=.text G=(none) M=TypInfo ACBP=A9
|
||||
0001:00017604 00000358 C=CODE S=.text G=(none) M=ActiveX ACBP=A9
|
||||
0001:0001795C 0000A7EA C=CODE S=.text G=(none) M=Classes ACBP=A9
|
||||
0001:00022148 00000370 C=CODE S=.text G=(none) M=Consts ACBP=A9
|
||||
0001:000224B8 00009BFB C=CODE S=.text G=(none) M=Graphics ACBP=A9
|
||||
0001:0002C0B4 00000124 C=CODE S=.text G=(none) M=Math ACBP=A9
|
||||
0001:0002C1D8 000002B8 C=CODE S=.text G=(none) M=Contnrs ACBP=A9
|
||||
0001:0002C490 00000198 C=CODE S=.text G=(none) M=CommCtrl ACBP=A9
|
||||
0001:0002C628 00000787 C=CODE S=.text G=(none) M=MultiMon ACBP=A9
|
||||
0001:0002CDB0 00000038 C=CODE S=.text G=(none) M=Imm ACBP=A9
|
||||
0001:0002CDE8 00000FF8 C=CODE S=.text G=(none) M=HelpIntfs ACBP=A9
|
||||
0001:0002DDE0 00000058 C=CODE S=.text G=(none) M=WinSpool ACBP=A9
|
||||
0001:0002DE38 000010C8 C=CODE S=.text G=(none) M=Printers ACBP=A9
|
||||
0001:0002EF00 0000031F C=CODE S=.text G=(none) M=FlatSB ACBP=A9
|
||||
0001:0002F220 000003F0 C=CODE S=.text G=(none) M=SyncObjs ACBP=A9
|
||||
0001:0002F610 000009BB C=CODE S=.text G=(none) M=UxTheme ACBP=A9
|
||||
0001:0002FFCC 00000038 C=CODE S=.text G=(none) M=RichEdit ACBP=A9
|
||||
0001:00030004 00000038 C=CODE S=.text G=(none) M=ToolWin ACBP=A9
|
||||
0001:0003003C 00000048 C=CODE S=.text G=(none) M=ShellAPI ACBP=A9
|
||||
0001:00030084 00000038 C=CODE S=.text G=(none) M=RegStr ACBP=A9
|
||||
0001:000300BC 00000058 C=CODE S=.text G=(none) M=WinInet ACBP=A9
|
||||
0001:00030114 00000038 C=CODE S=.text G=(none) M=UrlMon ACBP=A9
|
||||
0001:0003014C 0000007C C=CODE S=.text G=(none) M=ShlObj ACBP=A9
|
||||
0001:000301C8 00000060 C=CODE S=.text G=(none) M=CommDlg ACBP=A9
|
||||
0001:00030228 00000038 C=CODE S=.text G=(none) M=Dlgs ACBP=A9
|
||||
0001:00030260 000036D1 C=CODE S=.text G=(none) M=Dialogs ACBP=A9
|
||||
0001:00033934 00004ADA C=CODE S=.text G=(none) M=ExtCtrls ACBP=A9
|
||||
0001:00038410 00000090 C=CODE S=.text G=(none) M=ComStrs ACBP=A9
|
||||
0001:000384A0 000007A0 C=CODE S=.text G=(none) M=Clipbrd ACBP=A9
|
||||
0001:00038C40 00000128 C=CODE S=.text G=(none) M=StrUtils ACBP=A9
|
||||
0001:00038D68 00003821 C=CODE S=.text G=(none) M=Buttons ACBP=A9
|
||||
0001:0003C58C 00000038 C=CODE S=.text G=(none) M=ExtDlgs ACBP=A9
|
||||
0001:0003C5C4 00000068 C=CODE S=.text G=(none) M=IniFiles ACBP=A9
|
||||
0001:0003C62C 00000068 C=CODE S=.text G=(none) M=Registry ACBP=A9
|
||||
0001:0003C694 0000006C C=CODE S=.text G=(none) M=Mapi ACBP=A9
|
||||
0001:0003C700 00000058 C=CODE S=.text G=(none) M=ExtActns ACBP=A9
|
||||
0001:0003C758 00000038 C=CODE S=.text G=(none) M=ListActns ACBP=A9
|
||||
0001:0003C790 00009948 C=CODE S=.text G=(none) M=ComCtrls ACBP=A9
|
||||
0001:000460D8 00000EA0 C=CODE S=.text G=(none) M=Themes ACBP=A9
|
||||
0001:00046F78 0000C698 C=CODE S=.text G=(none) M=StdCtrls ACBP=A9
|
||||
0001:00053610 00000168 C=CODE S=.text G=(none) M=StdActns ACBP=A9
|
||||
0001:00053778 00000D1F C=CODE S=.text G=(none) M=WinHelpViewer ACBP=A9
|
||||
0001:00054498 00011403 C=CODE S=.text G=(none) M=Controls ACBP=A9
|
||||
0001:0006589C 00001292 C=CODE S=.text G=(none) M=ActnList ACBP=A9
|
||||
0001:00066B30 00001B9C C=CODE S=.text G=(none) M=ImgList ACBP=A9
|
||||
0001:000686CC 000066E1 C=CODE S=.text G=(none) M=Menus ACBP=A9
|
||||
0001:0006EDB0 0000CF8C C=CODE S=.text G=(none) M=Forms ACBP=A9
|
||||
0001:0007BD3C 00000050 C=CODE S=.text G=(none) M=JConsts ACBP=A9
|
||||
0001:0007BD8C 000133EC C=CODE S=.text G=(none) M=jpeg ACBP=A9
|
||||
0001:0008F178 00000060 C=CODE S=.text G=(none) M=ComConst ACBP=A9
|
||||
0001:0008F1D8 00001259 C=CODE S=.text G=(none) M=ComObj ACBP=A9
|
||||
0001:00090434 00000038 C=CODE S=.text G=(none) M=StdVCL ACBP=A9
|
||||
0001:0009046C 00001793 C=CODE S=.text G=(none) M=AxCtrls ACBP=A9
|
||||
0001:00091C00 00000060 C=CODE S=.text G=(none) M=OleConst ACBP=A9
|
||||
0001:00091C60 00003519 C=CODE S=.text G=(none) M=OleCtrls ACBP=A9
|
||||
0001:0009517C 00000314 C=CODE S=.text G=(none) M=TlHelp32 ACBP=A9
|
||||
0001:00095490 00000128 C=CODE S=.text G=(none) M=WinSock ACBP=A9
|
||||
0001:000955B8 00003A78 C=CODE S=.text G=(none) M=ScktComp ACBP=A9
|
||||
0001:00099030 000008EA C=CODE S=.text G=(none) M=OleServer ACBP=A9
|
||||
0001:0009991C 00000598 C=CODE S=.text G=(none) M=MSCommLib_TLB ACBP=A9
|
||||
0001:00099EB4 00000040 C=CODE S=.text G=(none) M=MMSystem ACBP=A9
|
||||
0001:00099EF4 00000038 C=CODE S=.text G=(none) M=Nb30 ACBP=A9
|
||||
0001:00099F2C 00000A18 C=CODE S=.text G=(none) M=MaskUtils ACBP=A9
|
||||
0001:0009A944 00002108 C=CODE S=.text G=(none) M=Mask ACBP=A9
|
||||
0001:0009CA4C 0000924C C=CODE S=.text G=(none) M=Grids ACBP=A9
|
||||
0001:000A5C98 00001820 C=CODE S=.text G=(none) M=UnitPilote ACBP=A9
|
||||
0001:000A74B8 0000057C C=CODE S=.text G=(none) M=Importation ACBP=A9
|
||||
0001:000A7A34 000147DC C=CODE S=.text G=(none) M=UnitAnalyseSegCDM ACBP=A9
|
||||
0001:000BC210 0000289B C=CODE S=.text G=(none) M=UnitConfigTCO ACBP=A9
|
||||
0001:000BEAAC 00000C64 C=CODE S=.text G=(none) M=Unit_Pilote_aig ACBP=A9
|
||||
0001:000BF710 00003D24 C=CODE S=.text G=(none) M=UnitConfigCellTCO ACBP=A9
|
||||
0001:000C3434 00032118 C=CODE S=.text G=(none) M=UnitTCO ACBP=A9
|
||||
0001:000F554C 00003410 C=CODE S=.text G=(none) M=UnitSR ACBP=A9
|
||||
0001:000F895C 000027B4 C=CODE S=.text G=(none) M=UnitCDF ACBP=A9
|
||||
0001:000FB110 0000284B C=CODE S=.text G=(none) M=verif_version ACBP=A9
|
||||
0001:000FD95C 000011D0 C=CODE S=.text G=(none) M=UnitPareFeu ACBP=A9
|
||||
0001:000FEB2C 00000C00 C=CODE S=.text G=(none) M=UnitSimule ACBP=A9
|
||||
0001:000FF72C 00002850 C=CODE S=.text G=(none) M=Unitplace ACBP=A9
|
||||
0001:00101F7C 0003D29F C=CODE S=.text G=(none) M=UnitPrinc ACBP=A9
|
||||
0001:0013F21C 0003D35C C=CODE S=.text G=(none) M=UnitConfig ACBP=A9
|
||||
0001:0017C578 00002D04 C=CODE S=.text G=(none) M=UnitDebug ACBP=A9
|
||||
0001:0017F27C 000004C0 C=CODE S=.text G=(none) M=Signaux_complexes_GL ACBP=A9
|
||||
0002:00000000 000000CC C=DATA S=.data G=DGROUP M=System ACBP=A9
|
||||
0002:000000CC 00000020 C=DATA S=.data G=DGROUP M=SysInit ACBP=A9
|
||||
0002:000000EC 00000254 C=DATA S=.data G=DGROUP M=SysUtils ACBP=A9
|
||||
@@ -123,15 +123,15 @@ Detailed map of segments
|
||||
0002:00001030 00000020 C=DATA S=.data G=DGROUP M=ImgList ACBP=A9
|
||||
0002:00001050 000000EC C=DATA S=.data G=DGROUP M=Menus ACBP=A9
|
||||
0002:0000113C 00000124 C=DATA S=.data G=DGROUP M=Forms ACBP=A9
|
||||
0002:00001260 00000030 C=DATA S=.data G=DGROUP M=ComObj ACBP=A9
|
||||
0002:00001290 0000002C C=DATA S=.data G=DGROUP M=OleCtrls ACBP=A9
|
||||
0002:000012BC 00000908 C=DATA S=.data G=DGROUP M=jpeg ACBP=A9
|
||||
0002:00001BC4 00000058 C=DATA S=.data G=DGROUP M=MSCommLib_TLB ACBP=A9
|
||||
0002:00001C1C 00000009 C=DATA S=.data G=DGROUP M=MaskUtils ACBP=A9
|
||||
0002:00001C28 00000004 C=DATA S=.data G=DGROUP M=Mask ACBP=A9
|
||||
0002:00001C2C 00000006 C=DATA S=.data G=DGROUP M=Grids ACBP=A9
|
||||
0002:00001C34 000000D4 C=DATA S=.data G=DGROUP M=UnitTCO ACBP=A9
|
||||
0002:00001D08 0000060D C=DATA S=.data G=DGROUP M=UnitPrinc ACBP=A9
|
||||
0002:00001260 00000908 C=DATA S=.data G=DGROUP M=jpeg ACBP=A9
|
||||
0002:00001B68 00000030 C=DATA S=.data G=DGROUP M=ComObj ACBP=A9
|
||||
0002:00001B98 0000002C C=DATA S=.data G=DGROUP M=OleCtrls ACBP=A9
|
||||
0002:00001BC4 00000080 C=DATA S=.data G=DGROUP M=MSCommLib_TLB ACBP=A9
|
||||
0002:00001C44 00000009 C=DATA S=.data G=DGROUP M=MaskUtils ACBP=A9
|
||||
0002:00001C50 00000004 C=DATA S=.data G=DGROUP M=Mask ACBP=A9
|
||||
0002:00001C54 00000006 C=DATA S=.data G=DGROUP M=Grids ACBP=A9
|
||||
0002:00001C5C 000000D4 C=DATA S=.data G=DGROUP M=UnitTCO ACBP=A9
|
||||
0002:00001D30 0000060D C=DATA S=.data G=DGROUP M=UnitPrinc ACBP=A9
|
||||
0002:00003000 00000664 C=BSS S=.bss G=DGROUP M=System ACBP=A9
|
||||
0002:00003664 00000010 C=BSS S=.bss G=DGROUP M=SysInit ACBP=A9
|
||||
0002:00003674 00000004 C=BSS S=.bss G=DGROUP M=Types ACBP=A9
|
||||
@@ -189,14 +189,14 @@ Detailed map of segments
|
||||
0002:00003BD4 0000000C C=BSS S=.bss G=DGROUP M=ImgList ACBP=A9
|
||||
0002:00003BE0 00000010 C=BSS S=.bss G=DGROUP M=Menus ACBP=A9
|
||||
0002:00003BF0 00000020 C=BSS S=.bss G=DGROUP M=Forms ACBP=A9
|
||||
0002:00003C10 00000004 C=BSS S=.bss G=DGROUP M=ComConst ACBP=A9
|
||||
0002:00003C14 00000011 C=BSS S=.bss G=DGROUP M=ComObj ACBP=A9
|
||||
0002:00003C28 00000004 C=BSS S=.bss G=DGROUP M=StdVCL ACBP=A9
|
||||
0002:00003C2C 0000001C C=BSS S=.bss G=DGROUP M=AxCtrls ACBP=A9
|
||||
0002:00003C48 00000004 C=BSS S=.bss G=DGROUP M=OleConst ACBP=A9
|
||||
0002:00003C4C 00000014 C=BSS S=.bss G=DGROUP M=OleCtrls ACBP=A9
|
||||
0002:00003C60 00000004 C=BSS S=.bss G=DGROUP M=JConsts ACBP=A9
|
||||
0002:00003C64 00000004 C=BSS S=.bss G=DGROUP M=jpeg ACBP=A9
|
||||
0002:00003C10 00000004 C=BSS S=.bss G=DGROUP M=JConsts ACBP=A9
|
||||
0002:00003C14 00000004 C=BSS S=.bss G=DGROUP M=jpeg ACBP=A9
|
||||
0002:00003C18 00000004 C=BSS S=.bss G=DGROUP M=ComConst ACBP=A9
|
||||
0002:00003C1C 00000011 C=BSS S=.bss G=DGROUP M=ComObj ACBP=A9
|
||||
0002:00003C30 00000004 C=BSS S=.bss G=DGROUP M=StdVCL ACBP=A9
|
||||
0002:00003C34 0000001C C=BSS S=.bss G=DGROUP M=AxCtrls ACBP=A9
|
||||
0002:00003C50 00000004 C=BSS S=.bss G=DGROUP M=OleConst ACBP=A9
|
||||
0002:00003C54 00000014 C=BSS S=.bss G=DGROUP M=OleCtrls ACBP=A9
|
||||
0002:00003C68 00000048 C=BSS S=.bss G=DGROUP M=TlHelp32 ACBP=A9
|
||||
0002:00003CB0 00000004 C=BSS S=.bss G=DGROUP M=WinSock ACBP=A9
|
||||
0002:00003CB4 00000194 C=BSS S=.bss G=DGROUP M=ScktComp ACBP=A9
|
||||
@@ -218,11 +218,11 @@ Detailed map of segments
|
||||
0002:00430E84 00000014 C=BSS S=.bss G=DGROUP M=UnitCDF ACBP=A9
|
||||
0002:00430E98 00000020 C=BSS S=.bss G=DGROUP M=verif_version ACBP=A9
|
||||
0002:00430EB8 00000004 C=BSS S=.bss G=DGROUP M=UnitPareFeu ACBP=A9
|
||||
0002:00430EBC 00000560 C=BSS S=.bss G=DGROUP M=UnitConfig ACBP=A9
|
||||
0002:0043141C 0000002C C=BSS S=.bss G=DGROUP M=UnitDebug ACBP=A9
|
||||
0002:00431448 0000000C C=BSS S=.bss G=DGROUP M=UnitSimule ACBP=A9
|
||||
0002:00431454 00000008 C=BSS S=.bss G=DGROUP M=Unitplace ACBP=A9
|
||||
0002:0043145C 041B4F9C C=BSS S=.bss G=DGROUP M=UnitPrinc ACBP=A9
|
||||
0002:00430EBC 0000000C C=BSS S=.bss G=DGROUP M=UnitSimule ACBP=A9
|
||||
0002:00430EC8 00000008 C=BSS S=.bss G=DGROUP M=Unitplace ACBP=A9
|
||||
0002:00430ED0 041B4F80 C=BSS S=.bss G=DGROUP M=UnitPrinc ACBP=A9
|
||||
0002:045E5E50 0000056C C=BSS S=.bss G=DGROUP M=UnitConfig ACBP=A9
|
||||
0002:045E63BC 0000002C C=BSS S=.bss G=DGROUP M=UnitDebug ACBP=A9
|
||||
|
||||
Bound resource files
|
||||
|
||||
@@ -239,13 +239,13 @@ UnitTCO.dfm
|
||||
UnitSR.dfm
|
||||
UnitCDF.dfm
|
||||
verif_version.dfm
|
||||
UnitConfig.dfm
|
||||
UnitDebug.dfm
|
||||
UnitSimule.dfm
|
||||
Unitplace.dfm
|
||||
UnitPrinc.dfm
|
||||
UnitConfig.dfm
|
||||
UnitDebug.dfm
|
||||
Signaux_complexes_GL.res
|
||||
Signaux_complexes_GL.drf
|
||||
|
||||
|
||||
Program entry point at 0001:0018307C
|
||||
Program entry point at 0001:0017F58C
|
||||
|
||||
+94
-99
@@ -1,7 +1,7 @@
|
||||
unit UnitAnalyseSegCDM;
|
||||
// importation des données de CDM
|
||||
// Affichage de la page du réseau CDM
|
||||
// les Tjs ne sont pas traitées
|
||||
// les Tjs ne sont pas traitées (de toute façon CDM ne les gère pas)
|
||||
// fichier source CDM générateur de l'export : cd_cdb.c version 2.0
|
||||
interface
|
||||
|
||||
@@ -11,18 +11,16 @@ uses
|
||||
math, Printers ;
|
||||
|
||||
const
|
||||
max_db = 20; // 20 détecteurs maxi entre 2 aiguillages
|
||||
max_db = 20; // 20 détecteurs maxi entre 2 aiguillages
|
||||
pisur180=pi/180 ;
|
||||
_180surpi=180/pi;
|
||||
|
||||
// décalages d'affichages
|
||||
yCrOffset=-5;
|
||||
yCrOffset=-5; // décalages d'affichages pour les adresses
|
||||
yCrOffset2=-14;
|
||||
yTurnoutOffset=-16;
|
||||
Zmini=50;
|
||||
Zmaxi=100;
|
||||
fond_cdm=$303000;
|
||||
precision_clic=4; // précision du clic sur un élément
|
||||
Zmini=50; // zoom mini
|
||||
Zmaxi=100; // zoom maxi
|
||||
fond_cdm=$303000; // couleur de fond de la fenêtre
|
||||
precision_clic=4; // précision en pixels du clic sur un élément
|
||||
|
||||
type
|
||||
TFormAnalyseCDM = class(TForm)
|
||||
@@ -79,91 +77,86 @@ type
|
||||
{ Déclarations publiques }
|
||||
end;
|
||||
|
||||
// tableau des détecteurs sur un segment
|
||||
TdetSeg= array[1..10] of record
|
||||
index,periph : integer;
|
||||
end;
|
||||
end;
|
||||
|
||||
Trec_cdm = record adresse : integer;
|
||||
distance : integer; // distance au port d'entrée
|
||||
end;
|
||||
tDetect_cdm= array[1..max_db] of Trec_cdm;
|
||||
|
||||
// structure d'aiguillage de CDM
|
||||
TAig_CDM = record
|
||||
adresse,adrtriple,temps : integer;
|
||||
modele : TEquipement ;
|
||||
ADroit : integer ; // (TJD:identifiant extérieur) connecté sur la position droite en talon
|
||||
ADroitB : char ; // P D S Z
|
||||
|
||||
ADevie : integer ; // (TJD:identifiant extérieur) adresse de l'élément connecté en position déviée
|
||||
ADevieB : char; // caractère (D ou S)si aiguillage de l'élément connecté en position déviée
|
||||
APointe : integer; // adresse de l'élément connecté en position droite ;
|
||||
APointeB : char;
|
||||
DDroit : integer; // destination de la TJD en position droite
|
||||
DDroitB : char ;
|
||||
DDevie : integer; // destination de la TJD en position déviée
|
||||
DDevieB : char ;
|
||||
adresse,adrtriple,temps : integer;
|
||||
modele : TEquipement ;
|
||||
ADroit : integer ; // (TJD:identifiant extérieur) connecté sur la position droite en talon
|
||||
ADroitB : char ; // P D S Z
|
||||
ADevie : integer ; // (TJD:identifiant extérieur) adresse de l'élément connecté en position déviée
|
||||
ADevieB : char; // caractère (D ou S)si aiguillage de l'élément connecté en position déviée
|
||||
APointe : integer; // adresse de l'élément connecté en position droite ;
|
||||
APointeB : char;
|
||||
DDroit : integer; // destination de la TJD en position droite
|
||||
DDroitB : char ;
|
||||
DDevie : integer; // destination de la TJD en position déviée
|
||||
DDevieB : char ;
|
||||
|
||||
Adevie2 : integer;
|
||||
Adevie2B : char ;
|
||||
// états d'une TJD (2 ou 4, 4 par défaut)
|
||||
EtatTJD : integer;
|
||||
// si l'aiguillage provient d'une traversée double jonction
|
||||
bdj : boolean;
|
||||
adrCDM : integer; // adresse de la bjd dans cdm
|
||||
IndexSeg : integer; //
|
||||
Adevie2 : integer;
|
||||
Adevie2B : char ;
|
||||
// états d'une TJD (2 ou 4, 4 par défaut)
|
||||
EtatTJD : integer;
|
||||
bdj : boolean; // si l'aiguillage provient d'une traversée double jonction
|
||||
adrCDM : integer; // adresse de la bjd dans cdm
|
||||
IndexSeg : integer;
|
||||
end;
|
||||
|
||||
end;
|
||||
// structure segment, port et periph de CDM
|
||||
TInter = record
|
||||
x,y,z : integer;
|
||||
typ : string[20];
|
||||
MirrorZ : integer;
|
||||
MirrorParent : integer;
|
||||
end;
|
||||
|
||||
// structure segment, port et periph de CDM
|
||||
TInter =
|
||||
record
|
||||
x,y,z : integer;
|
||||
typ : string[20];
|
||||
MirrorZ : integer;
|
||||
MirrorParent : integer;
|
||||
end;
|
||||
Tport = record
|
||||
numero : integer; // numéro du port
|
||||
typ : string[20];
|
||||
x,y,z,angle : integer;
|
||||
local : integer; // numéro de port local
|
||||
connecte : boolean;
|
||||
ConnecteAuPort : integer; // connecté au port
|
||||
ConnecteAuSeg : integer; // connecté au segment
|
||||
end;
|
||||
|
||||
Tport =
|
||||
record
|
||||
numero : integer; // numéro du port
|
||||
typ : string[20];
|
||||
x,y,z,angle : integer;
|
||||
local : integer; // numéro de port local
|
||||
connecte : boolean;
|
||||
ConnecteAuPort : integer; // connecté au port
|
||||
ConnecteAuSeg : integer; // connecté au segment
|
||||
end;
|
||||
TPeriph = record
|
||||
numero : integer; // numéro du port
|
||||
typ : string[20];
|
||||
pere : integer;
|
||||
x,y,z,angle : integer;
|
||||
bright,bdown : integer;// sens et position par rapport à la voie
|
||||
location : integer; // ?? en %
|
||||
adresse : integer;
|
||||
status : integer;
|
||||
OnDevicePort : integer;
|
||||
end;
|
||||
|
||||
TPeriph =
|
||||
record
|
||||
numero : integer; // numéro du port
|
||||
typ : string[20];
|
||||
pere : integer;
|
||||
x,y,z,angle : integer;
|
||||
bright,bdown : integer;// sens et position par rapport à la voie
|
||||
location : integer; // ?? en %
|
||||
adresse : integer;
|
||||
status : integer;
|
||||
OnDevicePort : integer;
|
||||
end;
|
||||
|
||||
Tsegment =
|
||||
record
|
||||
numero : integer;
|
||||
typ : string[20]; // arc, turnout, ...
|
||||
nport,nperiph,nInter : integer; // nombre de ports et de peripheriques et d'intersections
|
||||
port : array of TPort;
|
||||
periph : array of TPeriph;
|
||||
inter : array of TInter;
|
||||
XMin,Ymin,XMax,Ymax,StartAngle,ArcAngle,Rayon,radius0,angle0,angle,lengthdev,deltadev0 : integer;
|
||||
lXc,lYc : integer;
|
||||
// turnout
|
||||
longueur,longueurDev,DeltaDev,Curveoffset : integer;
|
||||
// turnout curve
|
||||
xc0,yc0,DeltaDev2,xc,yc : integer;
|
||||
// pour signaux complexes
|
||||
adresse,adresse2,duree,adr_CDM : integer;
|
||||
end;
|
||||
Tsegment = record
|
||||
numero : integer;
|
||||
typ : string[20]; // arc, turnout, ...
|
||||
nport,nperiph,nInter : integer; // nombre de ports, de peripheriques et d'intersections
|
||||
port : array of TPort;
|
||||
periph : array of TPeriph;
|
||||
inter : array of TInter;
|
||||
XMin,Ymin,XMax,Ymax,StartAngle,ArcAngle,Rayon,radius0,angle0,angle,lengthdev,deltadev0 : integer;
|
||||
lXc,lYc : integer;
|
||||
// turnout
|
||||
longueur,longueurDev,DeltaDev,Curveoffset : integer;
|
||||
// turnout curve
|
||||
xc0,yc0,DeltaDev2,xc,yc : integer;
|
||||
// pour signaux complexes
|
||||
adresse,adresse2,duree,adr_CDM : integer;
|
||||
end;
|
||||
|
||||
|
||||
var Segment : array of Tsegment;
|
||||
@@ -193,7 +186,7 @@ uses Importation;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
//
|
||||
// renvoie l'index d'un aiguillage CDM d'adresse "adresse"
|
||||
function index_aigCdm(adresse : integer) : integer;
|
||||
var i : integer;
|
||||
trouve : boolean;
|
||||
@@ -206,7 +199,10 @@ begin
|
||||
if trouve then result:=i-1 else result:=0;
|
||||
end;
|
||||
|
||||
// cherche, isole et restreint la chaine s qui contient "chercher"
|
||||
// cherche, isole et restreint la chaine s qui contient "chercher", et réduit s
|
||||
// ex: isole_valeur(' periph #135 ','periph #',true)
|
||||
// renvoie '135' et s='periph'
|
||||
|
||||
function isole_valeur(var s : string; chercher : string;afficheErr : boolean) : string;
|
||||
var i : integer;
|
||||
serr : string;
|
||||
@@ -316,7 +312,7 @@ begin
|
||||
val(s2,i,erreur);
|
||||
Segment[nSeg-1].periph[nperiph-1].status:=i;
|
||||
|
||||
// peut être suivi de 'On device port'
|
||||
// peut être suivi de 'On device port' si une adresse de détecteur ou d'actionneur se trouve sur l'appareil de voie
|
||||
Segment[nSeg-1].periph[nperiph-1].OnDevicePort:=-1; // marqueur d'invalidité
|
||||
s:=AnsiLowerCase(lignes[nligne+1]);
|
||||
if pos('on device port',s)<>0 then
|
||||
@@ -880,6 +876,7 @@ begin
|
||||
degtoRad:=angle*pisur180;
|
||||
end;
|
||||
|
||||
// dessine un arc dans le canvas, dont le centre est CenterX,Y de rayon , angle de départ et de stop en degrés
|
||||
procedure D_Arc(Canvas: TCanvas; CenterX,CenterY: integer;
|
||||
rayon: Integer; StartDegres, StopDegres: Double);
|
||||
var
|
||||
@@ -1009,7 +1006,7 @@ end;
|
||||
// trace un arc selon les coordonnées CDM
|
||||
procedure angle_cdm(canvas : Tcanvas;centreX,centreY:integer;debut,fin : double ;rayon : integer);
|
||||
begin
|
||||
coords(centreX,centreY);
|
||||
coords(centreX,centreY); // transforme en coords windows
|
||||
rayon:=round(rayon*reducX) div 1000;
|
||||
D_arc(Canvas,centreX,centreY,rayon,debut,fin);
|
||||
end;
|
||||
@@ -1081,7 +1078,7 @@ end;
|
||||
|
||||
// dessine un arc orienté de xa,ya à xb,yb dans le canvas image (pas imprimante)
|
||||
// coordonnées CDM
|
||||
procedure arc_xy(canvas : tcanvas;centreX,centreY,rayon,xa,ya,xb,yb : integer);
|
||||
procedure arc_xy_CDM(canvas : tcanvas;centreX,centreY,rayon,xa,ya,xb,yb : integer);
|
||||
var x1,y1,x2,y2: integer ;
|
||||
arcXa,arcYa,arcxb,arcYb,angleA,angleB,
|
||||
cosA,SinA,CosB,SinB,vectoriel,AngleAB: double;
|
||||
@@ -1235,7 +1232,7 @@ begin
|
||||
canvas.pen.color:=clred;
|
||||
//ligneCDM(canvas,milieuX,milieuY,centreX,centreY);
|
||||
//ligneCDM(canvas,x0,y0,x1,y1);
|
||||
arc_xy(canvas,centreX,centreY,round(rayonD)+250,x1,y1,x0,y0);
|
||||
arc_xy_CDM(canvas,centreX,centreY,round(rayonD)+250,x1,y1,x0,y0);
|
||||
|
||||
centreX:=round(-rayonD*cos(alpha))+MilieuX;
|
||||
centreY:=round(pente*centreX+b);
|
||||
@@ -1243,7 +1240,7 @@ begin
|
||||
canvas.pen.color:=clyellow;
|
||||
//ligneCDM(canvas,milieuX,milieuY,centreX,centreY);
|
||||
//ligneCDM(canvas,x0,y0,x1,y1);
|
||||
arc_xy(canvas,centreX,centreY,round(rayonD)+250,x1,y1,x0,y0);
|
||||
arc_xy_CDM(canvas,centreX,centreY,round(rayonD)+250,x1,y1,x0,y0);
|
||||
exit;
|
||||
|
||||
// méthode directe
|
||||
@@ -1284,7 +1281,7 @@ begin
|
||||
centreX:=x0+5000;
|
||||
centreY:=round(pente*centreX+b);
|
||||
rayon:=round(sqrt(sqr(centreX-x0)+sqr(centreY-y0)));
|
||||
arc_xy(canvas,centreX,centreY,rayon,x2,y2,x0,y0);
|
||||
arc_xy_CDM(canvas,centreX,centreY,rayon,x2,y2,x0,y0);
|
||||
|
||||
// point de départ en vert
|
||||
canvas.pen.color:=clLime;
|
||||
@@ -1309,7 +1306,7 @@ begin
|
||||
TmpBmp.Free;
|
||||
end;
|
||||
|
||||
// rotation matricielle autour de Centre
|
||||
// rotation matricielle de l'angle (en radians) autour de Centre
|
||||
function XForm_Rotation(Angle : Single;Centre : TPoint) : TXForm;
|
||||
var SinA,CosA: Extended;
|
||||
begin
|
||||
@@ -1389,10 +1386,10 @@ begin
|
||||
GMode:=SetGraphicsMode(ACanvas.Handle, GM_ADVANCED);
|
||||
if GetWorldTransform(ACanvas.Handle, XFormOld) then // renvoie la matrice courante dans XformOld
|
||||
begin
|
||||
// faire les transformations
|
||||
// faire les 3 transformations
|
||||
XFormRot:=XForm_Rotation(Angle,Point(l2,h2)); // rotation autour du centre
|
||||
XFormScale:=XForm_Echelle(Zoom,Zoom,point(l2,h2)); // Zoom au point central
|
||||
XFormXLat:=XForm_Translation(x-l2,y-h2); // décalage
|
||||
XFormScale:=XForm_Echelle(Zoom,Zoom,point(l2,h2)); // Zoom au point central
|
||||
XFormXLat:=XForm_Translation(x-l2,y-h2); // décalage
|
||||
|
||||
// Combiner les 3 transformations
|
||||
CombineTransform(XForm,XFormRot,XFormScale); // Xform<-- f(XformRot,XformScale)
|
||||
@@ -1401,7 +1398,7 @@ begin
|
||||
// calcule les coordonnées des 4 points de coins de l'icone qui a tourné et zoomé
|
||||
// x0,y0 x3,y3
|
||||
// x1,y1 x2,y2
|
||||
d:=sqrt( sqr(l2)+ sqr(h2));
|
||||
d:=sqrt(sqr(l2)+ sqr(h2));
|
||||
//c1:=round(zoom*l2); // pour faire la rotation à la tete du train
|
||||
//c2:=round(zoom*h2);
|
||||
z:=zoom*d;
|
||||
@@ -3845,7 +3842,7 @@ begin
|
||||
Segment[nSeg-1].port[2].ConnecteAuPort:=992; // le port 0 est la pointe
|
||||
Segment[nSeg-1].port[2].ConnecteAuSeg:=992;
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
// compile le fichier Texte de CDM se trouvant en fenêtre principale et l'importe
|
||||
procedure Compilation;
|
||||
@@ -4638,8 +4635,6 @@ begin
|
||||
end;
|
||||
inc(i);
|
||||
until (i>nseg-1);
|
||||
nombre:=itablo;
|
||||
result:=itablo>0;
|
||||
nombre:=itablo;
|
||||
result:=itablo>0;
|
||||
end;
|
||||
@@ -4705,7 +4700,7 @@ begin
|
||||
CentreY:=segment[ind1].lyc;
|
||||
Canvas.pen.color:=clred;
|
||||
x1:=segment[ind1].periph[per1].x;
|
||||
y1:=segment[ind1].periph[per1].y;
|
||||
y1:=segment[ind1].periph[per1].y;
|
||||
x2:=segment[ind1].periph[per2].x;
|
||||
y2:=segment[ind1].periph[per2].y;
|
||||
canvas.pen.Color:=clred;
|
||||
@@ -4842,7 +4837,7 @@ begin
|
||||
// déterminer la destination
|
||||
// trouve le port connecté au segment suivant
|
||||
tp:=index_port_connecte(index,circuit_det[2].index,indexPort);
|
||||
// trouver les coordonnées su x,y sur lequel est connecté le port
|
||||
// trouver les coordonnées su x,y sur lequel est connecté le port
|
||||
xs:=Segment[index].port[IndexPort].x;
|
||||
ys:=Segment[index].port[IndexPort].y;
|
||||
// donc tracer un arc de (x,y) détecteur à (xs,ys) port
|
||||
@@ -4917,7 +4912,7 @@ begin
|
||||
// déterminer la destination
|
||||
// trouve le port connecté au segment précédent
|
||||
tp:=index_port_connecte(index,circuit_det[NindexR-1].index,indexPort);
|
||||
// trouver les coordonnées su x,y sur lequel est connecté le port
|
||||
// trouver les coordonnées su x,y sur lequel est connecté le port
|
||||
xs:=Segment[index].port[IndexPort].x;
|
||||
ys:=Segment[index].port[IndexPort].y;
|
||||
// donc tracer un arc de (x,y) (détecteur) à (xs,ys) port
|
||||
|
||||
+15
-14
@@ -681,7 +681,7 @@ object FormConfig: TFormConfig
|
||||
Top = 8
|
||||
Width = 633
|
||||
Height = 505
|
||||
ActivePage = TabSheetCDM
|
||||
ActivePage = TabSheetPeriph
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -11
|
||||
@@ -1266,14 +1266,14 @@ object FormConfig: TFormConfig
|
||||
end
|
||||
object Label8: TLabel
|
||||
Left = 14
|
||||
Top = 50
|
||||
Top = 48
|
||||
Width = 82
|
||||
Height = 13
|
||||
Caption = 'Port de l'#39'interface'
|
||||
end
|
||||
object EditIPLenz: TEdit
|
||||
Left = 176
|
||||
Top = 24
|
||||
Top = 20
|
||||
Width = 81
|
||||
Height = 21
|
||||
TabStop = False
|
||||
@@ -1281,7 +1281,7 @@ object FormConfig: TFormConfig
|
||||
end
|
||||
object EditportLenz: TEdit
|
||||
Left = 176
|
||||
Top = 48
|
||||
Top = 44
|
||||
Width = 81
|
||||
Height = 21
|
||||
TabStop = False
|
||||
@@ -1944,7 +1944,7 @@ object FormConfig: TFormConfig
|
||||
Left = 192
|
||||
Top = 56
|
||||
Width = 89
|
||||
Height = 49
|
||||
Height = 41
|
||||
Hint =
|
||||
'Change les adresses dans les points de connexions des aiguillage' +
|
||||
's et des branches si on a chang'#233' l'#39'adresse d'#39'un aiguillage'
|
||||
@@ -4035,7 +4035,7 @@ object FormConfig: TFormConfig
|
||||
Height = 13
|
||||
end
|
||||
object SBMonte: TSpeedButton
|
||||
Left = 240
|
||||
Left = 256
|
||||
Top = 184
|
||||
Width = 25
|
||||
Height = 33
|
||||
@@ -4059,7 +4059,7 @@ object FormConfig: TFormConfig
|
||||
OnClick = SBMonteClick
|
||||
end
|
||||
object SBDesc: TSpeedButton
|
||||
Left = 240
|
||||
Left = 256
|
||||
Top = 224
|
||||
Width = 25
|
||||
Height = 33
|
||||
@@ -4097,7 +4097,7 @@ object FormConfig: TFormConfig
|
||||
object ListBoxPeriph: TListBox
|
||||
Left = 8
|
||||
Top = 96
|
||||
Width = 233
|
||||
Width = 249
|
||||
Height = 273
|
||||
Color = clBlack
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
@@ -4134,8 +4134,8 @@ object FormConfig: TFormConfig
|
||||
OnClick = ButtonSupAccComClick
|
||||
end
|
||||
object GroupBoxDesc: TGroupBox
|
||||
Left = 280
|
||||
Top = 88
|
||||
Left = 288
|
||||
Top = 72
|
||||
Width = 329
|
||||
Height = 129
|
||||
Caption = 'Description du p'#233'riph'#233'rique'
|
||||
@@ -4148,9 +4148,9 @@ object FormConfig: TFormConfig
|
||||
Caption = 'Nom du p'#233'riph'#233'rique'
|
||||
end
|
||||
object EditNomPeriph: TEdit
|
||||
Left = 150
|
||||
Left = 128
|
||||
Top = 24
|
||||
Width = 170
|
||||
Width = 192
|
||||
Height = 21
|
||||
Hint = 'Nom au choix du p'#233'riph'#233'rique'
|
||||
ParentShowHint = False
|
||||
@@ -4163,12 +4163,13 @@ object FormConfig: TFormConfig
|
||||
Left = 14
|
||||
Top = 421
|
||||
Width = 75
|
||||
Height = 20
|
||||
Height = 36
|
||||
Hint = 'R'#233'ouvre les ports COMs et Sockets demand'#233's'
|
||||
Caption = 'Ouvre COMs'
|
||||
Caption = 'Ouvre COMs Sockets'
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 4
|
||||
WordWrap = True
|
||||
OnClick = ButtonOuvreComClick
|
||||
end
|
||||
end
|
||||
|
||||
+286
-166
@@ -358,7 +358,6 @@ type
|
||||
Label31: TLabel;
|
||||
Label39: TLabel;
|
||||
procedure ButtonAppliquerEtFermerClick(Sender: TObject);
|
||||
procedure FormActivate(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure ListBoxAigMouseDown(Sender: TObject; Button: TMouseButton;
|
||||
Shift: TShiftState; X, Y: Integer);
|
||||
@@ -542,6 +541,7 @@ type
|
||||
procedure ButtonPropageClick(Sender: TObject);
|
||||
procedure EditAdrAigExit(Sender: TObject);
|
||||
procedure EditAdrAigChange(Sender: TObject);
|
||||
procedure FormActivate(Sender: TObject);
|
||||
|
||||
private
|
||||
{ Déclarations privées }
|
||||
@@ -658,7 +658,7 @@ var
|
||||
// composants dynamiques
|
||||
Gp1,GroupBoxAvance,GroupBoxExpert : TGroupBox;
|
||||
|
||||
CheckBoxCR,Cb1,Cb2,Cb3,CbVis : TCheckBox;
|
||||
CheckBoxCR,Cb1,Cb2,Cb3,CbVis,cbDTR,cbRTS : TCheckBox;
|
||||
|
||||
MemoPeriph : Tmemo;
|
||||
|
||||
@@ -679,7 +679,7 @@ var
|
||||
LabelStyle,LabelOuvreEcran,LabelAvance1,LabelAvance2,LabelAntiTO,
|
||||
LabelTD,LabelNC,LabelFiltre,LabelAlgo,LabelNbSignBS,LabelnCantonsRes : Tlabel;
|
||||
|
||||
RadioReserve : TradioGroup;
|
||||
RadioReserve,RadioServeurCDM : TradioGroup;
|
||||
|
||||
LabelDecCde : array[1..19] of TLabel;
|
||||
|
||||
@@ -896,7 +896,7 @@ begin
|
||||
delete(s,1,i);
|
||||
val(s,vitesse,i);
|
||||
if (vitesse<>300) and (vitesse<>1200) and (vitesse<>2400) and (vitesse<>4800) and (vitesse<>9600) and
|
||||
(vitesse<>19200) and (vitesse<>38400) and (vitesse<>57600) and (vitesse<>115200) then
|
||||
(vitesse<>19200) and (vitesse<>38400) and (vitesse<>57600) and (vitesse<>115200) and (vitesse<>128000) and (vitesse<>256000) then
|
||||
begin
|
||||
Affiche('Vitesse COM ('+intToSTR(vitesse)+') incorrecte',clred);
|
||||
result:=false;
|
||||
@@ -947,6 +947,8 @@ begin
|
||||
if Tablo_periph[index].ScvAct then s:=s+',1' else s:=s+',0';
|
||||
if Tablo_periph[index].ScvVis then s:=s+',1' else s:=s+',0';
|
||||
if Tablo_periph[index].cr then s:=s+',1' else s:=s+',0';
|
||||
if Tablo_periph[index].dtr then s:=s+',1' else s:=s+',0';
|
||||
if Tablo_periph[index].rts then s:=s+',1' else s:=s+',0';
|
||||
s:=s+','+Tablo_periph[index].protocole;
|
||||
|
||||
result:=s;
|
||||
@@ -1183,6 +1185,7 @@ begin
|
||||
s:=s+intToSTR(Signaux[i].SR[nc].sortie0);
|
||||
if nc<8 then s:=s+',' else s:=s+')';
|
||||
end;
|
||||
s:=s+',NA'+intToSTR(Signaux[i].na);
|
||||
end;
|
||||
|
||||
// décodeur CDF ou digikeijs
|
||||
@@ -1579,6 +1582,15 @@ begin
|
||||
delete(s,1,k);
|
||||
Signaux[i].SR[l].sortie0:=j;
|
||||
end;
|
||||
if length(s)>2 then
|
||||
if copy(s,1,2)='NA' then
|
||||
begin
|
||||
delete(s,1,2);
|
||||
val(s,j,erreur);
|
||||
delete(s,1,erreur);
|
||||
Signaux[i].na:=j;
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
// champ motif
|
||||
@@ -2242,7 +2254,6 @@ var s,sa,SOrigine: string;
|
||||
|
||||
maxTablo_act:=1;
|
||||
NbrePN:=0;Nligne:=1;
|
||||
for i:=1 to 10 do tablo_com_cde[i].NumPeriph:=0;
|
||||
|
||||
// définition des actionneurs
|
||||
repeat
|
||||
@@ -3032,9 +3043,22 @@ var s,sa,SOrigine: string;
|
||||
val(sa,i,erreur);
|
||||
Tablo_periph[NbPeriph].cr:=i=1;
|
||||
|
||||
// nouveaux champ dtr
|
||||
i:=pos(',',sa);Delete(sa,1,i);
|
||||
val(sa,i,erreur);
|
||||
Tablo_periph[NbPeriph].protocole:=sa;
|
||||
|
||||
if (i<2) and (upcase(sa[1])<>'C') then // adresse ip ou Com
|
||||
begin
|
||||
val(sa,i,erreur);
|
||||
Tablo_periph[NbPeriph].dtr:=i=1;
|
||||
i:=pos(',',sa);Delete(sa,1,i);
|
||||
|
||||
val(sa,i,erreur);
|
||||
Tablo_periph[NbPeriph].rts:=i=1;
|
||||
i:=pos(',',sa);Delete(sa,1,i);
|
||||
end;
|
||||
|
||||
Tablo_periph[NbPeriph].protocole:=uppercase(sa);
|
||||
i:=com_socket(NbPeriph);
|
||||
if i=1 then
|
||||
begin
|
||||
@@ -3052,7 +3076,6 @@ var s,sa,SOrigine: string;
|
||||
i:=extract_int(sa);
|
||||
if i=0 then Affiche('Erreur 97 - Port COM nul : '+sOrigine,clred);
|
||||
Tablo_periph[NbPeriph].NumCom:=i;
|
||||
Tablo_com_cde[NbPeriph].NumPeriph:=NbPeriph;
|
||||
end;
|
||||
until (sOrigine='0') or (NbPeriph>=NbMaxi_Periph);
|
||||
end;
|
||||
@@ -4160,6 +4183,7 @@ begin
|
||||
if (AdrBaseDetDccpp<0) or (AdrBaseDetDccpp>2048) then AdrBaseDetDccpp:=513;
|
||||
|
||||
mode_Reserve:=RadioReserve.ItemIndex; // 0 = par canton - 1=par détecteurs
|
||||
serveurIPCDM_Touche:=radioServeurCDM.ItemIndex=0;
|
||||
|
||||
val(EditAlgo.Text,i,erreur);
|
||||
if (i<1) or (i>1) then i:=1;
|
||||
@@ -4220,150 +4244,14 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
procedure TFormConfig.FormActivate(Sender: TObject);
|
||||
var i : integer;
|
||||
s : string;
|
||||
begin
|
||||
if affevt then affiche('FormConfig activate',clLime);
|
||||
activ:=true;
|
||||
clicListe:=false;
|
||||
Edit_HG.Visible:=false;
|
||||
labelHG.Visible:=false;
|
||||
EditP1.Visible:=false;
|
||||
EditP2.Visible:=false;
|
||||
EditP3.Visible:=false;
|
||||
EditP4.Visible:=false;
|
||||
LabelTJD1.Visible:=false;
|
||||
LabelTJD2.Visible:=false;
|
||||
EditDevieS2.Visible:=false;
|
||||
Label18.Visible:=false;
|
||||
Label20.Visible:=false;
|
||||
if AvecRoulage=1 then LabelInfVitesse.Visible:=false else LabelInfVitesse.Visible:=true;
|
||||
|
||||
EditP1.ReadOnly:=false;
|
||||
EditP2.ReadOnly:=false;
|
||||
EditP3.ReadOnly:=false;
|
||||
EditP4.ReadOnly:=false;
|
||||
EditPointe_BG.ReadOnly:=false;
|
||||
EditDevie_HD.ReadOnly:=false;
|
||||
EditDroit_BD.ReadOnly:=false;
|
||||
Edit_HG.ReadOnly:=false;
|
||||
|
||||
CheckBoxAffMemo.Checked:=AffMemoFenetre=1;
|
||||
EditNbCantons.text:=intToSTR(Nb_cantons_Sig);
|
||||
EditTempoFeu.Text:=IntToSTR(Tempo_Signal);
|
||||
EditNbDetDist.text:=IntToSTR(Nb_Det_dist);
|
||||
EditAdrIPCDM.text:=adresseIPCDM;
|
||||
EditPortCDM.Text:=IntToSTR(portCDM);
|
||||
EditIPLenz.text:=AdresseIP;
|
||||
EditportLenz.text:=IntToSTR(PortInterface);
|
||||
EditTempoAig.Text:=IntToSTR(Tempo_Aig);
|
||||
EditFiltrDet.text:=intToSTR(filtrageDet0);
|
||||
EditnCantonsRes.Text:=intToSTR(nCantonsRes);
|
||||
EditAntiTO.Text:=intToSTR(AntiTimeoutEthLenz);
|
||||
|
||||
{$IF CompilerVersion >= 28.0}
|
||||
ComboStyle.itemIndex:=Style_Aff;
|
||||
{$IFEND}
|
||||
EditOuvreEcran.Text:=intToSTR(ecran_SC);
|
||||
EditComUSB.Text:=PortCom;
|
||||
EditFonte.text:=IntToSTR(TailleFonte);
|
||||
editdebug.Text:=IntToSTR(debug);
|
||||
CheckBoxVerifXpressNet.Checked:=Verif_AdrXpressNet=1;
|
||||
editPortServeur.Text:=intToSTR(portServeur);
|
||||
checkRoulage.Checked:=AvecRoulage=1;
|
||||
EditTempoOctetUSB.text:=IntToSTR(TempoOctet);
|
||||
EditTempoReponse.Text:=IntToSTR(TimoutMaxInterface);
|
||||
RadioButton1.checked:=false;
|
||||
RadioButton2.checked:=false;
|
||||
if Valeur_entete=0 then RadioButton1.checked:=true;
|
||||
if Valeur_entete=1 then RadioButton2.checked:=true;
|
||||
LabelInfo.Width:=240;LabelInfo.Height:=65;LabelInfo.AutoSize:=false;
|
||||
LabelResult.width:=137;LabelResult.Height:=25;
|
||||
LabelNomSon.top:=16;LabelNomSon.Left:=48;
|
||||
SpeedButtonJoue.Top:=60; SpeedButtonCharger.Top:=60;
|
||||
EditSon.Top:=38;EditSon.Left:=16;
|
||||
|
||||
CheckBoxResa.Checked:=AvecResa;
|
||||
CheckVerifVersion.Checked:=verifVersion;
|
||||
CheckFenEt.Checked:=Fenetre=1;
|
||||
CheckInfoVersion.Checked:=notificationVersion;
|
||||
CheckLanceCDM.Checked:=LanceCDM;
|
||||
CheckAvecTCO.checked:=avecTCO;
|
||||
CheckBandeauTCO.Checked:=MasqueBandeauTCO;
|
||||
|
||||
RadioButtonSS.Checked:=ServeurInterfaceCDM=0;
|
||||
RadioButtonXN.Checked:=ServeurInterfaceCDM=1;
|
||||
RadioButtonP50.Checked:=ServeurInterfaceCDM=2;
|
||||
RadioButtonSP.Checked:=ServeurInterfaceCDM=3;
|
||||
RadioButtonFIS.Checked:=ServeurInterfaceCDM=4;
|
||||
RadioButtonRS.Checked:=ServeurInterfaceCDM=5;
|
||||
RadioButtonDCCpp.Checked:=ServeurInterfaceCDM=6;
|
||||
RadioButtonECOS.Checked:=ServeurInterfaceCDM=7;
|
||||
RadioButtonDCCpl.Checked:=ServeurInterfaceCDM=8;
|
||||
RadioButton13.Checked:=ServeurRetroCDM=1;
|
||||
RadioButton14.Checked:=ServeurRetroCDM=2;
|
||||
RadioButton15.Checked:=ServeurRetroCDM=3;
|
||||
RadioButton16.Checked:=ServeurRetroCDM=4;
|
||||
RadioButton17.Checked:=ServeurRetroCDM=5;
|
||||
RadioButton18.Checked:=ServeurRetroCDM=6;
|
||||
checkBoxZ21.Checked:=Z21;
|
||||
|
||||
CheckBoxServAig.checked:=Srvc_Aig;
|
||||
CheckBoxServDet.checked:=Srvc_Det;
|
||||
CheckBoxServAct.checked:=Srvc_Act;
|
||||
CheckServPosTrains.checked:=Srvc_Pos;
|
||||
CheckBoxSrvSig.Checked:=Srvc_Sig;
|
||||
|
||||
CheckBoxRazSignaux.checked:=Raz_Acc_signaux;
|
||||
CheckBoxInitAig.checked:=AvecInitAiguillages;
|
||||
CheckPosAig.checked:=AvecDemandeAiguillages;
|
||||
CheckBoxDemarUSB.checked:=AvecDemandeInterfaceUSB;
|
||||
CheckBoxDemarEth.checked:=AvecDemandeInterfaceEth;
|
||||
CheckBoxSombre.Checked:=sombre;
|
||||
|
||||
RadioButtonXpress.Checked:=protocole=1;
|
||||
RadioButtonDcc.Checked:=protocole=2;
|
||||
|
||||
if NbreDecPers>0 then
|
||||
ComboBoxNation.Itemindex:=decodeur_pers[1].nation-1;
|
||||
|
||||
clicListe:=true; // empeche le traitement de l'evt text
|
||||
editLAY.Text:=lay;
|
||||
|
||||
LabelNbDecPers.caption:=intToSTR(NbreDecPers);
|
||||
|
||||
|
||||
//l'onglet affiché est sélectionné à l'appel de la fiche dans l'unité UnitPrinc
|
||||
clicListe:=false;
|
||||
activ:=false;
|
||||
|
||||
if clicproprietes then clicListeSignal(IndexSignalClic);
|
||||
clicproprietes:=false;
|
||||
|
||||
// aiguillages
|
||||
ListBoxAig.Clear;
|
||||
for i:=1 to MaxAiguillage do
|
||||
begin
|
||||
s:=encode_aig(i);
|
||||
ListBoxAig.Items.AddObject(s, Pointer(clRed));
|
||||
Aiguillage[i].modifie:=false;
|
||||
end;
|
||||
ListBoxAig.itemindex:=0;
|
||||
|
||||
RadioReserve.ItemIndex:=mode_Reserve;
|
||||
editAlgo.Text:=intToSTR(Algo_localisation);
|
||||
EditMaxSignalSens.Text:=intToSTR(Max_Signal_Sens);
|
||||
|
||||
end;
|
||||
|
||||
procedure champs_dec_centrale;
|
||||
procedure champs_dec_centrale;
|
||||
var i,nombre : integer;
|
||||
begin
|
||||
if decCourant<1 then exit;
|
||||
decodeur_pers[decCourant].commande:=0;
|
||||
nombre:=decodeur_pers[decCourant].nbreAdr;
|
||||
for i:=1 to nombre do
|
||||
for i:=1 to nombre do
|
||||
begin
|
||||
ComboTS1[i].Visible:=true;
|
||||
ComboTS2[i].Visible:=true;
|
||||
@@ -4372,7 +4260,7 @@ begin
|
||||
ComboL2[i].Visible:=true;
|
||||
ShapeT[i].Visible:=true;
|
||||
end;
|
||||
for i:=nombre+1 to 10 do
|
||||
for i:=nombre+1 to 10 do
|
||||
begin
|
||||
ComboTS1[i].Visible:=false;
|
||||
ComboTS2[i].Visible:=false;
|
||||
@@ -4551,6 +4439,9 @@ begin
|
||||
if pos('Det',s)<>0 then Tablo_periph[ligneClicAccPeriph+1].ScvDet:=cb.Checked;
|
||||
if pos('Act',s)<>0 then Tablo_periph[ligneClicAccPeriph+1].ScvAct:=cb.Checked;
|
||||
if pos('Vis',s)<>0 then Tablo_periph[ligneClicAccPeriph+1].ScvVis:=cb.Checked;
|
||||
if pos('DTR',s)<>0 then Tablo_periph[ligneClicAccPeriph+1].dtr:=cb.Checked;;
|
||||
if pos('RTS',s)<>0 then Tablo_periph[ligneClicAccPeriph+1].rts:=cb.Checked;
|
||||
|
||||
if s='CheckBoxCR' then Tablo_periph[ligneClicAccPeriph+1].CR:=cb.Checked;
|
||||
s:=encode_Periph(ligneClicAccPeriph+1);
|
||||
ListBoxPeriph.Items[ligneClicAccPeriph]:=s;
|
||||
@@ -4730,7 +4621,6 @@ begin
|
||||
LabelInfo.caption:='';
|
||||
|
||||
Tablo_periph[ligneClicAccPeriph+1].NumCom:=i;
|
||||
Tablo_com_cde[ligneClicAccPeriph+1].NumPeriph:=ligneClicAccPeriph+1;
|
||||
ListBoxPeriph.Selected[ligneClicAccPeriph]:=true;
|
||||
|
||||
maj_champs_combos(ligneClicAccPeriph+1);
|
||||
@@ -4747,14 +4637,12 @@ begin
|
||||
inc(NbPeriph_COMUSB);
|
||||
if NbPeriph_COMUSB>MaxComUSBPeriph then labelInfo.Caption:='Nombre maxi de périphériques COM/USB atteint';
|
||||
Tablo_periph[i].numComposant:=NbPeriph_COMUSB;
|
||||
Tablo_com_cde[i].NumPeriph:=NbPeriph_COMUSB;
|
||||
end;
|
||||
if v=2 then
|
||||
begin
|
||||
inc(NbPeriph_Socket);
|
||||
if NbPeriph_Socket>MaxComSocketPeriph then labelInfo.Caption:='Nombre maxi de périphériques socket atteint';
|
||||
Tablo_periph[NbPeriph].numComposant:=NbPeriph_socket;
|
||||
Tablo_com_cde[i].NumPeriph:=NbPeriph_Socket;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@@ -4832,8 +4720,9 @@ procedure TFormConfig.FormCreate(Sender: TObject);
|
||||
var i,j,x,y,l,LongestLength,PixelLength : integer;
|
||||
cs,s,LongestString : string;
|
||||
begin
|
||||
if debug=1 then Affiche('Création fenêtre config',clLime);
|
||||
|
||||
if AffEvt or (debug=1) then Affiche('Création fenêtre config',clLime);
|
||||
|
||||
visible:=false;
|
||||
clicListe:=true;
|
||||
position:=poMainFormCenter;
|
||||
cs:='ColorA='+IntToHex(couleurFond,6); // pour rajouter aux couleurs personnalisées de la fenetre couleur
|
||||
@@ -4886,7 +4775,8 @@ begin
|
||||
ShowHint:=false;
|
||||
visible:=true;
|
||||
end;
|
||||
// création des champs dynamiques de l'onglet décodeurs
|
||||
|
||||
// création des champs dynamiques de l'onglet décodeurs
|
||||
for i:=1 to 10 do
|
||||
begin
|
||||
y:=i*40+20;
|
||||
@@ -5708,9 +5598,9 @@ begin
|
||||
MemoPeriph:=Tmemo.Create(Formconfig.TabSheetPeriph);
|
||||
with MemoPeriph do
|
||||
begin
|
||||
left:=gp1.Left-30;
|
||||
left:=gp1.Left-20;
|
||||
top:=LabelMP.Top+15;
|
||||
width:=gp1.Width+30;
|
||||
width:=gp1.Width+20;
|
||||
height:=110;
|
||||
parent:=TabSheetPeriph;
|
||||
Name:='MemoPeriph';
|
||||
@@ -5725,12 +5615,13 @@ begin
|
||||
BoutonCom:=Tbutton.Create(FormConfig.TabSheetPeriph);
|
||||
with BoutonCom do
|
||||
begin
|
||||
Left:=100;Top:=ButtonOuvreCom.top;Width:=75;Height:=20;
|
||||
Left:=100;Top:=ButtonOuvreCom.top;Width:=75;Height:=36;
|
||||
caption:='Lister COMs';
|
||||
name:='BoutonCom';
|
||||
parent:=FormConfig.TabSheetPeriph;
|
||||
hint:='Affiche les ports COM/USB disponibles';
|
||||
ShowHint:=true;
|
||||
wordwrap:=true;
|
||||
onclick:=formconfig.Bt_onclick;
|
||||
end;
|
||||
|
||||
@@ -5792,6 +5683,31 @@ begin
|
||||
onclick:=formconfig.cb_onclick;
|
||||
end;
|
||||
|
||||
cbDTR:=TCheckBox.Create(FormConfig.TabSheetPeriph);
|
||||
with cbDTR do
|
||||
begin
|
||||
parent:=groupBoxDesc;
|
||||
Left:=200;Top:=LabelPortCde.Top+30;Width:=100;Height:=17;
|
||||
caption:='DTR';
|
||||
name:='cbDTR';
|
||||
hint:='COM/USB uniquement.'+#13+'Décoché: mise à 0 de ligne DTR et évite le reset de la plupart des arduinos,'+#13+'ou peut bloquer la transmission sur d''autres.';
|
||||
ShowHint:=true;
|
||||
onclick:=formconfig.cb_onclick;
|
||||
end;
|
||||
|
||||
cbRTS:=TCheckBox.Create(FormConfig.TabSheetPeriph);
|
||||
with cbRTS do
|
||||
begin
|
||||
parent:=groupBoxDesc;
|
||||
Left:=200;Top:=cbDTR.top+20;Width:=100;Height:=17;
|
||||
caption:='RTS';
|
||||
name:='cbRTS';
|
||||
hint:='COM/USB uniquement : mise à 0 ou 1 de ligne RTS';
|
||||
ShowHint:=true;
|
||||
onclick:=formconfig.cb_onclick;
|
||||
end;
|
||||
|
||||
|
||||
// compilation avec D11----------------------------------------
|
||||
{$IF CompilerVersion >= 28.0}
|
||||
labelD11.Visible:=true;
|
||||
@@ -5839,7 +5755,7 @@ begin
|
||||
LabelAvance1:=TLabel.Create(FormConfig.TabAvance);
|
||||
with LabelAvance1 do
|
||||
begin
|
||||
Left:=10;Top:=10;Width:=170;Height:=12;
|
||||
Left:=10;Top:=10;Width:=180;Height:=12;
|
||||
caption:='Paramètres avancés et experts';
|
||||
name:='LabelAvance1';
|
||||
Font.Style:=[fsBold];
|
||||
@@ -5850,7 +5766,7 @@ begin
|
||||
GroupBoxAvance:=TGroupBox.Create(FormConfig.TabAvance);
|
||||
with GroupBoxAvance do
|
||||
begin
|
||||
Left:=20;Top:=40;Width:=350;Height:=150; // maxi=580
|
||||
Left:=3;Top:=40;Width:=300;Height:=150; // maxi=580
|
||||
caption:='Jeu de paramètres avancés';
|
||||
name:='GroupBoxAvance';
|
||||
parent:=TabAvance;
|
||||
@@ -5961,7 +5877,7 @@ begin
|
||||
RadioReserve:=TRadioGroup.Create(TabAvance);
|
||||
with RadioReserve do
|
||||
begin
|
||||
Left:=20;Top:=GroupBoxAvance.top+GroupBoxAvance.Height+20;Width:=GroupBoxAvance.width;Height:=60;
|
||||
Left:=5;Top:=GroupBoxAvance.top+GroupBoxAvance.Height+10;Width:=GroupBoxAvance.width;Height:=60;
|
||||
name:='RadioReserve';
|
||||
Caption:='Réservation des aiguillages';
|
||||
parent:=TabAvance;
|
||||
@@ -5971,11 +5887,12 @@ begin
|
||||
items.Add('Réservation par canton');
|
||||
items.Add('Réservation par détecteurs');
|
||||
end;
|
||||
|
||||
GroupBoxExpert:=TGroupBox.Create(FormConfig.TabAvance);
|
||||
with GroupBoxExpert do
|
||||
begin
|
||||
Left:=20;;Width:=350;Height:=100; // maxi=580
|
||||
Top:=RadioReserve.Top+RadioReserve.Height+20 ;
|
||||
Left:=GroupBoxAvance.Left;Width:=GroupBoxAvance.width;Height:=100; // maxi=580
|
||||
Top:=RadioReserve.Top+RadioReserve.Height+10 ;
|
||||
caption:='Jeu de paramètres experts';
|
||||
name:='GroupBoxExpert';
|
||||
parent:=TabAvance;
|
||||
@@ -6021,6 +5938,19 @@ begin
|
||||
ShowHint:=true;
|
||||
end;
|
||||
|
||||
RadioServeurCDM:=TRadioGroup.Create(TabAvance);
|
||||
with RadioServeurCDM do
|
||||
begin
|
||||
Left:=GroupBoxAvance.Left;Top:=GroupBoxExpert.top+GroupBoxExpert.Height+10;Width:=GroupBoxAvance.width;Height:=60;
|
||||
name:='RadioServeurCDM';
|
||||
Caption:='Méthode de démarrage du serveur de CDM rail';
|
||||
parent:=TabAvance;
|
||||
hint:='Démarrage du serveur COM-IP de CDMRail';
|
||||
ShowHint:=true;
|
||||
items.Add('Par simulation de touches');
|
||||
items.Add('Par ligne de commande');
|
||||
|
||||
end;
|
||||
|
||||
ImageSignaux.picture.Assign(formpilote.ImageSignaux.Picture);
|
||||
|
||||
@@ -6155,7 +6085,11 @@ begin
|
||||
cb2.Checked:=Tablo_periph[index].ScvDet;
|
||||
cb3.Checked:=Tablo_periph[index].ScvAct;
|
||||
cbVis.Checked:=Tablo_periph[index].ScvVis;
|
||||
cbDTR.Checked:=Tablo_periph[index].dtr;
|
||||
cbRTS.Checked:=Tablo_periph[index].rts;
|
||||
|
||||
CheckBoxCR.Checked:=Tablo_periph[index].cr;
|
||||
|
||||
EditPortCde.text:=Tablo_periph[index].protocole;
|
||||
MemoPeriph.Clear;
|
||||
clicliste:=false;
|
||||
@@ -6163,7 +6097,7 @@ end;
|
||||
|
||||
// affiche le graphisme de l'aiguillage en fonction du tablo en index
|
||||
procedure Aff_champs_aig_tablo(index : integer);
|
||||
var Adresse,Adr2,ind,id2,erreur,position : integer;
|
||||
var Adresse,Adr2,ind,id2,erreur,position,AncienAdresse : integer;
|
||||
tjd,tri,tjs,croi : boolean;
|
||||
s,ss : string;
|
||||
i,vitesse : integer;
|
||||
@@ -6408,6 +6342,17 @@ begin
|
||||
if croi then s:='Croisement ' else s:='Aiguillage ';
|
||||
formconfig.labelInfo.caption:=s+'décrivant la BJS '+intToSTR(aiguillage[index].AdrCDM);
|
||||
end;
|
||||
|
||||
adresse:=aiguillage[ligneclicAig+1].Adresse;
|
||||
if adresse=0 then exit;
|
||||
index:=Index_Aig(Adresse);
|
||||
AncienAdresse:=aiguillage[index].AncienAdresse;
|
||||
if adresse<>AncienAdresse then
|
||||
FormConfig.ButtonPropage.Hint:='Change les adresses '+intToSTR(AncienAdresse)+' dans les points de connexions'+#13+
|
||||
'des aiguillages et des branches par l''adresse '+intToSTR(adresse)
|
||||
else FormConfig.ButtonPropage.Hint:='Change les adresses dans les points de connexions'+#13+
|
||||
'des aiguillages, des branches et des signaux'+#13+
|
||||
'si on a changé l''adresse d''un aiguillage';
|
||||
clicListe:=false;
|
||||
end;
|
||||
|
||||
@@ -9320,6 +9265,32 @@ begin
|
||||
Signaux[i].Aspect:=3;
|
||||
Signaux[i].decodeur:=0;
|
||||
Signaux[i].verrouCarre:=false;
|
||||
Signaux[i].SR[1].sortie0:=1;
|
||||
Signaux[i].SR[1].sortie1:=6;
|
||||
Signaux[i].SR[2].sortie0:=2;
|
||||
Signaux[i].SR[2].sortie1:=3;
|
||||
Signaux[i].SR[3].sortie0:=9;
|
||||
Signaux[i].SR[3].sortie1:=10;
|
||||
Signaux[i].SR[4].sortie0:=4;
|
||||
Signaux[i].SR[4].sortie1:=5;
|
||||
Signaux[i].SR[5].sortie0:=7;
|
||||
Signaux[i].SR[5].sortie1:=8;
|
||||
Signaux[i].SR[6].sortie0:=0;
|
||||
Signaux[i].SR[6].sortie1:=0;
|
||||
Signaux[i].SR[7].sortie0:=16;
|
||||
Signaux[i].SR[7].sortie1:=18;
|
||||
Signaux[i].SR[8].sortie0:=19;
|
||||
Signaux[i].SR[8].sortie1:=0;
|
||||
Signaux[i].Na:=4;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
cree_image(i);
|
||||
s:=encode_signal(i);
|
||||
@@ -9565,7 +9536,7 @@ begin
|
||||
93,94,95,96,97,98,99 : nc:=4;
|
||||
end;
|
||||
end;
|
||||
if dec=7 then nc:=8; // SR
|
||||
if dec=7 then nc:=Signaux[i].Na; // SR
|
||||
if dec=8 then // arcomora
|
||||
begin
|
||||
case x of
|
||||
@@ -13509,7 +13480,6 @@ var ss,s : string;
|
||||
s:=encode_Periph(i);
|
||||
if s<>'' then
|
||||
begin
|
||||
Tablo_com_cde[i].NumPeriph:=i;
|
||||
FormConfig.ListBoxPeriph.items.Add(s);
|
||||
ajoute_champs_combos(i);
|
||||
end;
|
||||
@@ -13621,7 +13591,7 @@ begin
|
||||
begin
|
||||
if com_socket(i)=1 then // si port com$usb
|
||||
begin
|
||||
if connecte_port_usb_periph(i) then
|
||||
if connecte_usb_periph(i) then
|
||||
Affiche('COM'+intToSTR(Tablo_periph[i].numcom)+' périphérique ouvert',clLime)
|
||||
else Affiche('COM'+intToSTR(Tablo_periph[i].numcom)+' périphérique non ouvert',clOrange);
|
||||
end
|
||||
@@ -13908,6 +13878,7 @@ begin
|
||||
inc(i);
|
||||
until (i=n) or trouve;
|
||||
if not(trouve) then exit;
|
||||
|
||||
dec(i);
|
||||
if i=0 then exit;
|
||||
|
||||
@@ -14252,12 +14223,16 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
ButtonPropage.Hint:='Change les adresses dans les points de connexions'+#13+
|
||||
'des aiguillages, des branches et des signaux'+#13+
|
||||
'si on a changé l''adresse d''un aiguillage';
|
||||
|
||||
clicListe:=false;
|
||||
end;
|
||||
|
||||
procedure change_adr_aig;
|
||||
var s : string;
|
||||
nEtat,i,vide,erreur,index,adr2 : integer;
|
||||
nEtat,i,vide,erreur,index,adr2,AncienAdresse : integer;
|
||||
modele: TEquipement;
|
||||
c : char;
|
||||
begin
|
||||
@@ -14339,6 +14314,14 @@ begin
|
||||
end;
|
||||
ListBoxSig.selected[ligneClicSig]:=true;
|
||||
end;
|
||||
|
||||
adresse:=aiguillage[ligneclicAig+1].Adresse;
|
||||
if adresse=0 then exit;
|
||||
index:=Index_Aig(Adresse);
|
||||
AncienAdresse:=aiguillage[index].AncienAdresse;
|
||||
if adresse<>AncienAdresse then
|
||||
ButtonPropage.Hint:='Change les adresses '+intToSTR(AncienAdresse)+' dans les points de connexions'+#13+
|
||||
'des aiguillages et des branches par l''adresse '+intToSTR(adresse);
|
||||
end;
|
||||
end;
|
||||
|
||||
@@ -14357,8 +14340,145 @@ begin
|
||||
change_adr_aig;
|
||||
end;
|
||||
|
||||
procedure TFormConfig.FormActivate(Sender: TObject);
|
||||
var i : integer;
|
||||
s : string;
|
||||
begin
|
||||
if affevt or (debug=1) then affiche('FormConfig activate',clLime);
|
||||
activ:=true;
|
||||
clicListe:=false;
|
||||
Edit_HG.Visible:=false;
|
||||
labelHG.Visible:=false;
|
||||
EditP1.Visible:=false;
|
||||
EditP2.Visible:=false;
|
||||
EditP3.Visible:=false;
|
||||
EditP4.Visible:=false;
|
||||
LabelTJD1.Visible:=false;
|
||||
LabelTJD2.Visible:=false;
|
||||
EditDevieS2.Visible:=false;
|
||||
Label18.Visible:=false;
|
||||
Label20.Visible:=false;
|
||||
if AvecRoulage=1 then LabelInfVitesse.Visible:=false else LabelInfVitesse.Visible:=true;
|
||||
|
||||
|
||||
EditP1.ReadOnly:=false;
|
||||
EditP2.ReadOnly:=false;
|
||||
EditP3.ReadOnly:=false;
|
||||
EditP4.ReadOnly:=false;
|
||||
EditPointe_BG.ReadOnly:=false;
|
||||
EditDevie_HD.ReadOnly:=false;
|
||||
EditDroit_BD.ReadOnly:=false;
|
||||
Edit_HG.ReadOnly:=false;
|
||||
|
||||
CheckBoxAffMemo.Checked:=AffMemoFenetre=1;
|
||||
EditNbCantons.text:=intToSTR(Nb_cantons_Sig);
|
||||
EditTempoFeu.Text:=IntToSTR(Tempo_Signal);
|
||||
EditNbDetDist.text:=IntToSTR(Nb_Det_dist);
|
||||
EditAdrIPCDM.text:=adresseIPCDM;
|
||||
EditPortCDM.Text:=IntToSTR(portCDM);
|
||||
EditIPLenz.text:=AdresseIP;
|
||||
EditportLenz.text:=IntToSTR(PortInterface);
|
||||
EditTempoAig.Text:=IntToSTR(Tempo_Aig);
|
||||
EditFiltrDet.text:=intToSTR(filtrageDet0);
|
||||
EditnCantonsRes.Text:=intToSTR(nCantonsRes);
|
||||
EditAntiTO.Text:=intToSTR(AntiTimeoutEthLenz);
|
||||
|
||||
{$IF CompilerVersion >= 28.0}
|
||||
ComboStyle.itemIndex:=Style_Aff;
|
||||
{$IFEND}
|
||||
EditOuvreEcran.Text:=intToSTR(ecran_SC);
|
||||
EditComUSB.Text:=PortCom;
|
||||
EditFonte.text:=IntToSTR(TailleFonte);
|
||||
editdebug.Text:=IntToSTR(debug);
|
||||
CheckBoxVerifXpressNet.Checked:=Verif_AdrXpressNet=1;
|
||||
editPortServeur.Text:=intToSTR(portServeur);
|
||||
checkRoulage.Checked:=AvecRoulage=1;
|
||||
EditTempoOctetUSB.text:=IntToSTR(TempoOctet);
|
||||
EditTempoReponse.Text:=IntToSTR(TimoutMaxInterface);
|
||||
RadioButton1.checked:=false;
|
||||
RadioButton2.checked:=false;
|
||||
if Valeur_entete=0 then RadioButton1.checked:=true;
|
||||
if Valeur_entete=1 then RadioButton2.checked:=true;
|
||||
LabelInfo.Width:=240;LabelInfo.Height:=65;LabelInfo.AutoSize:=false;
|
||||
LabelResult.width:=137;LabelResult.Height:=25;
|
||||
LabelNomSon.top:=16;LabelNomSon.Left:=48;
|
||||
SpeedButtonJoue.Top:=60; SpeedButtonCharger.Top:=60;
|
||||
EditSon.Top:=38;EditSon.Left:=16;
|
||||
|
||||
CheckBoxResa.Checked:=AvecResa;
|
||||
CheckVerifVersion.Checked:=verifVersion;
|
||||
CheckFenEt.Checked:=Fenetre=1;
|
||||
CheckInfoVersion.Checked:=notificationVersion;
|
||||
CheckLanceCDM.Checked:=LanceCDM;
|
||||
CheckAvecTCO.checked:=avecTCO;
|
||||
CheckBandeauTCO.Checked:=MasqueBandeauTCO;
|
||||
|
||||
RadioButtonSS.Checked:=ServeurInterfaceCDM=0;
|
||||
RadioButtonXN.Checked:=ServeurInterfaceCDM=1;
|
||||
RadioButtonP50.Checked:=ServeurInterfaceCDM=2;
|
||||
RadioButtonSP.Checked:=ServeurInterfaceCDM=3;
|
||||
RadioButtonFIS.Checked:=ServeurInterfaceCDM=4;
|
||||
RadioButtonRS.Checked:=ServeurInterfaceCDM=5;
|
||||
RadioButtonDCCpp.Checked:=ServeurInterfaceCDM=6;
|
||||
RadioButtonECOS.Checked:=ServeurInterfaceCDM=7;
|
||||
RadioButtonDCCpl.Checked:=ServeurInterfaceCDM=8;
|
||||
RadioButton13.Checked:=ServeurRetroCDM=1;
|
||||
RadioButton14.Checked:=ServeurRetroCDM=2;
|
||||
RadioButton15.Checked:=ServeurRetroCDM=3;
|
||||
RadioButton16.Checked:=ServeurRetroCDM=4;
|
||||
RadioButton17.Checked:=ServeurRetroCDM=5;
|
||||
RadioButton18.Checked:=ServeurRetroCDM=6;
|
||||
checkBoxZ21.Checked:=Z21;
|
||||
|
||||
CheckBoxServAig.checked:=Srvc_Aig;
|
||||
CheckBoxServDet.checked:=Srvc_Det;
|
||||
CheckBoxServAct.checked:=Srvc_Act;
|
||||
CheckServPosTrains.checked:=Srvc_Pos;
|
||||
CheckBoxSrvSig.Checked:=Srvc_Sig;
|
||||
|
||||
CheckBoxRazSignaux.checked:=Raz_Acc_signaux;
|
||||
CheckBoxInitAig.checked:=AvecInitAiguillages;
|
||||
CheckPosAig.checked:=AvecDemandeAiguillages;
|
||||
CheckBoxDemarUSB.checked:=AvecDemandeInterfaceUSB;
|
||||
CheckBoxDemarEth.checked:=AvecDemandeInterfaceEth;
|
||||
CheckBoxSombre.Checked:=sombre;
|
||||
|
||||
RadioButtonXpress.Checked:=protocole=1;
|
||||
RadioButtonDcc.Checked:=protocole=2;
|
||||
|
||||
if NbreDecPers>0 then
|
||||
ComboBoxNation.Itemindex:=decodeur_pers[1].nation-1;
|
||||
|
||||
clicListe:=true; // empeche le traitement de l'evt text
|
||||
editLAY.Text:=lay;
|
||||
|
||||
LabelNbDecPers.caption:=intToSTR(NbreDecPers);
|
||||
|
||||
|
||||
//l'onglet affiché est sélectionné à l'appel de la fiche dans l'unité UnitPrinc
|
||||
clicListe:=false;
|
||||
activ:=false;
|
||||
|
||||
if clicproprietes then clicListeSignal(IndexSignalClic);
|
||||
clicproprietes:=false;
|
||||
|
||||
// aiguillages
|
||||
ListBoxAig.Clear;
|
||||
for i:=1 to MaxAiguillage do
|
||||
begin
|
||||
s:=encode_aig(i);
|
||||
ListBoxAig.Items.AddObject(s, Pointer(clRed));
|
||||
Aiguillage[i].modifie:=false;
|
||||
end;
|
||||
ListBoxAig.itemindex:=0;
|
||||
|
||||
RadioReserve.ItemIndex:=mode_Reserve;
|
||||
if serveurIPCDM_Touche then RadioServeurCDM.ItemIndex:=0 else RadioServeurCDM.ItemIndex:=1;
|
||||
editAlgo.Text:=intToSTR(Algo_localisation);
|
||||
EditMaxSignalSens.Text:=intToSTR(Max_Signal_Sens);
|
||||
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
|
||||
|
||||
|
||||
@@ -338,7 +338,7 @@ object FormConfCellTCO: TFormConfCellTCO
|
||||
object EditNumTCO: TEdit
|
||||
Left = 104
|
||||
Top = 20
|
||||
Width = 33
|
||||
Width = 25
|
||||
Height = 21
|
||||
TabOrder = 1
|
||||
OnChange = EditNumTCOChange
|
||||
@@ -366,7 +366,10 @@ object FormConfCellTCO: TFormConfCellTCO
|
||||
Top = 72
|
||||
Width = 89
|
||||
Height = 17
|
||||
Hint = 'Active un accessoire de fa'#231'on impulsionelle'
|
||||
Caption = 'Activer sortie'
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 4
|
||||
OnClick = RadioButtonActionClick
|
||||
end
|
||||
@@ -392,10 +395,10 @@ object FormConfCellTCO: TFormConfCellTCO
|
||||
object RadioButtonStop: TRadioButton
|
||||
Left = 8
|
||||
Top = 88
|
||||
Width = 177
|
||||
Width = 137
|
||||
Height = 17
|
||||
Hint = 'Arr'#234'te tous les trains (mode autonome et CDM)'
|
||||
Caption = 'Arr'#234'ter toutes les trains'
|
||||
Caption = 'Arr'#234'ter tous les trains'
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 7
|
||||
|
||||
@@ -477,7 +477,7 @@ var i : integer;
|
||||
begin
|
||||
// fenetre toujours dessus
|
||||
position:=poMainFormCenter;
|
||||
if affevt then Affiche('FormConfCellTCO create',clyellow);
|
||||
if affevt then Affiche('FormConfCellTCO create',clLime);
|
||||
actualize:=false;
|
||||
SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NoMove or SWP_NoSize);
|
||||
iconeX:=50; // taille de l'icone
|
||||
@@ -594,7 +594,7 @@ end;
|
||||
procedure TFormConfCellTCO.FormActivate(Sender: TObject);
|
||||
begin
|
||||
if indexTCOcourant=0 then exit;
|
||||
if affevt then Affiche('FormConfCellTCO activate',clyellow);
|
||||
if affevt then Affiche('FormConfCellTCO activate',clLime);
|
||||
if selectionaffichee[indexTCOcourant] then ButtonFond.caption:='Couleur de fond de la sélection'
|
||||
else ButtonFond.caption:='Couleur de fond de la cellule';
|
||||
ConfCellTCO:=true;
|
||||
|
||||
+682
-645
File diff suppressed because it is too large
Load Diff
+137
-86
@@ -8,19 +8,47 @@ uses
|
||||
|
||||
type
|
||||
TFormDebug = class(TForm)
|
||||
EditNivDebug: TEdit;
|
||||
Label1: TLabel;
|
||||
LabelTitreDebug: TLabel;
|
||||
SaveDialog: TSaveDialog;
|
||||
ButtonEcrLog: TButton;
|
||||
ButtonRazTampon: TButton;
|
||||
ButtonCherche: TButton;
|
||||
ButtonAffEvtChrono: TButton;
|
||||
ButtonCop: TButton;
|
||||
PopupMenuRE: TPopupMenu;
|
||||
copier1: TMenuItem;
|
||||
PopupMenuRD: TPopupMenu;
|
||||
Copier2: TMenuItem;
|
||||
ScrollBoxDebug: TScrollBox;
|
||||
RichDebug: TRichEdit;
|
||||
ButtonRazTout: TButton;
|
||||
ButtonCop: TButton;
|
||||
ButtonAffEvtChrono: TButton;
|
||||
ButtonCherche: TButton;
|
||||
ButtonEcrLog: TButton;
|
||||
ButtonRazTampon: TButton;
|
||||
ButtonRazLog: TButton;
|
||||
GroupBox1: TGroupBox;
|
||||
MemoEvtDet: TRichEdit;
|
||||
GroupBox5: TGroupBox;
|
||||
EditSimuDet: TEdit;
|
||||
ButtonSimuDet0: TButton;
|
||||
ButtonSimuDet1: TButton;
|
||||
ButtonSimuAct0: TButton;
|
||||
ButtonSimuAct1: TButton;
|
||||
GroupBox6: TGroupBox;
|
||||
Label3: TLabel;
|
||||
Label5: TLabel;
|
||||
EditAdresse: TEdit;
|
||||
EditSortie: TEdit;
|
||||
Button1: TButton;
|
||||
Button0: TButton;
|
||||
GroupBoxPrim: TGroupBox;
|
||||
GroupBox3: TGroupBox;
|
||||
Label4: TLabel;
|
||||
ButtonSigSuiv: TButton;
|
||||
ButtonCanSuivSig: TButton;
|
||||
EditSigSuiv: TEdit;
|
||||
ButtonCP: TButton;
|
||||
Button2: TButton;
|
||||
GroupBox4: TGroupBox;
|
||||
ButtonDetSuiv: TButton;
|
||||
EditPrec: TEdit;
|
||||
EditActuel: TEdit;
|
||||
ButtonElSuiv: TButton;
|
||||
GroupBox2: TGroupBox;
|
||||
CheckAffSig: TCheckBox;
|
||||
CheckBoxEvtDetAig: TCheckBox;
|
||||
@@ -28,42 +56,16 @@ type
|
||||
CheckTrame: TCheckBox;
|
||||
CheckBoxAffFD: TCheckBox;
|
||||
CheckBoxAffDebDecSig: TCheckBox;
|
||||
GroupBox3: TGroupBox;
|
||||
ButtonSigSuiv: TButton;
|
||||
ButtonCanSuivSig: TButton;
|
||||
EditSigSuiv: TEdit;
|
||||
Label4: TLabel;
|
||||
GroupBox4: TGroupBox;
|
||||
ButtonDetSuiv: TButton;
|
||||
EditPrec: TEdit;
|
||||
EditActuel: TEdit;
|
||||
ButtonCP: TButton;
|
||||
Button2: TButton;
|
||||
RichDebug: TRichEdit;
|
||||
PopupMenuRD: TPopupMenu;
|
||||
Copier2: TMenuItem;
|
||||
GroupBox5: TGroupBox;
|
||||
ButtonSimuDet0: TButton;
|
||||
ButtonSimuDet1: TButton;
|
||||
EditSimuDet: TEdit;
|
||||
ButtonRazTout: TButton;
|
||||
EditDebugSignal: TEdit;
|
||||
CheckBoxTiers: TCheckBox;
|
||||
ButtonSimuAct0: TButton;
|
||||
ButtonSimuAct1: TButton;
|
||||
ButtonElSuiv: TButton;
|
||||
CheckBox1: TCheckBox;
|
||||
CheckDebugTCO: TCheckBox;
|
||||
GroupBox6: TGroupBox;
|
||||
EditAdresse: TEdit;
|
||||
Label3: TLabel;
|
||||
Label5: TLabel;
|
||||
EditSortie: TEdit;
|
||||
Button1: TButton;
|
||||
Button0: TButton;
|
||||
MemoEvtDet: TRichEdit;
|
||||
CheckDetSIg: TCheckBox;
|
||||
CheckBoxPrinc: TCheckBox;
|
||||
LabelTitreDebug: TLabel;
|
||||
Label1: TLabel;
|
||||
EditNivDebug: TEdit;
|
||||
ButtonAigDevie: TButton;
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure ButtonEcrLogClick(Sender: TObject);
|
||||
procedure EditNivDebugKeyPress(Sender: TObject; var Key: Char);
|
||||
@@ -103,6 +105,8 @@ type
|
||||
procedure MemoEvtDetChange(Sender: TObject);
|
||||
procedure CheckDetSIgClick(Sender: TObject);
|
||||
procedure CheckBoxPrincClick(Sender: TObject);
|
||||
procedure Button3Click(Sender: TObject);
|
||||
procedure ButtonAigDevieClick(Sender: TObject);
|
||||
private
|
||||
{ Déclarations privées }
|
||||
public
|
||||
@@ -172,7 +176,10 @@ begin
|
||||
for i:=0 to ComponentCount-1 do
|
||||
begin
|
||||
c:=Components[i];
|
||||
composant(c,couleurFond,couleurTexte);
|
||||
if c is tScrollBox then
|
||||
begin
|
||||
(c as tScrollBox).Color:=color;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@@ -193,16 +200,38 @@ end;
|
||||
procedure TFormDebug.FormCreate(Sender: TObject);
|
||||
var s: string;
|
||||
begin
|
||||
if affevt then affiche('FormDebug create',clLime);
|
||||
if debug=1 then Affiche('Création fenêtre debug',clLime);
|
||||
if affevt or (debug=1) then affiche('FormDebug create',clLime);
|
||||
EditNivDebug.Text:='0';
|
||||
RichDebug.WordWrap:=false; // interdit la coupure des chaînes en limite du composant
|
||||
RichDebug.color:=$33;
|
||||
//constraints.MaxHeight:=800; // taille Y maxi
|
||||
initform:=false;
|
||||
visible:=false;
|
||||
RichDebug.clear;
|
||||
s:=DateToStr(date)+' '+TimeToStr(Time)+' ';
|
||||
Autoscroll:=true; // permet l'affichage de l'ascenseur dans radstudio
|
||||
// l'ascenseur de la fenetre dans D11 ------------
|
||||
// ne fonctionne que si le style est windows !!! (bug du VCL)
|
||||
// obligé d'utiliser une scrollBox
|
||||
|
||||
DebugAffiche:=true;
|
||||
|
||||
RichDebug.Height:=scrollBoxdebug.Height-30;
|
||||
RichDebug.Anchors:=[akLeft,akTop,akRight,akBottom];
|
||||
|
||||
with scrollBoxdebug do
|
||||
begin
|
||||
Anchors:=[akLeft,akTop,akRight,akBottom];
|
||||
VertScrollBar.Smooth:=false; // ne pas mettre true sinon figeage dans W11 si on clique sur la trackbar!!
|
||||
VertScrollBar.Tracking:=true;
|
||||
HorzScrollBar.Visible:=false;
|
||||
autoScroll:=true;
|
||||
autoSize:=false;
|
||||
end;
|
||||
|
||||
checkTrame.hint:='Affiche les trames de la centrale XpressNet'+#13+'ou les trames CDM-Rail (COM_IP)';
|
||||
checkBoxTiers.hint:='Nécessite d''activer les services'+#13+'"signaux" et "position des trains"'+#13+
|
||||
'dans la configuration générale';
|
||||
|
||||
compt_erreur:=0;
|
||||
LigneErreur:=0;
|
||||
if debug=1 then Affiche('Fin création fenêtre debug',clLime);
|
||||
@@ -213,6 +242,13 @@ begin
|
||||
couleurs_debug;
|
||||
end;
|
||||
|
||||
procedure TFormDebug.FormActivate(Sender: TObject);
|
||||
begin
|
||||
if affevt then affiche('FormDebug activate',clLime);
|
||||
formDebug.buttonCP.Caption:='Etat '+intToSTR(Nb_cantons_Sig)+' cantons précédents signal';
|
||||
end;
|
||||
|
||||
|
||||
procedure TFormDebug.ButtonEcrLogClick(Sender: TObject);
|
||||
var s : string;
|
||||
i : integer;
|
||||
@@ -377,10 +413,11 @@ end;
|
||||
procedure TFormDebug.ButtonSigSuivClick(Sender: TObject);
|
||||
var adr,erreur,ancdebug,AdrSigSuivant : integer ;
|
||||
begin
|
||||
Val(EditSigSuiv.Text,adr,erreur);
|
||||
if (erreur<>0) or (adr<1) then exit;
|
||||
ancdebug:=NivDebug;
|
||||
NivDebug:=3;
|
||||
Val(EditSigSuiv.Text,adr,erreur);
|
||||
if (erreur<>0) and (adr>0) then etat_signal_suivant(Adr,1,AdrSigSuivant) ;
|
||||
etat_signal_suivant(Adr,1,AdrSigSuivant) ;
|
||||
NivDebug:=AncDebug;
|
||||
end;
|
||||
|
||||
@@ -393,26 +430,26 @@ begin
|
||||
NivDebug:=3;
|
||||
s1:=EditPrec.Text;
|
||||
s2:=EditActuel.Text;
|
||||
if (s1='') or (s2='') then exit;
|
||||
if (s1='') or (s2='') then begin NivDebug:=AncDebug;exit;end;
|
||||
if s1[1]='A' then begin type1:=aig;delete(s1,1,1);end else type1:=det;
|
||||
if s2[1]='A' then begin type2:=aig;delete(s2,1,1);end else type2:=det;
|
||||
Val(s1,prec,erreur);
|
||||
if (erreur<>0) or (prec<1) then exit;
|
||||
if (erreur<>0) or (prec<1) then begin NivDebug:=AncDebug;exit;end;
|
||||
Val(s2,Actuel,erreur);
|
||||
if (erreur<>0) or (actuel<1) then exit;
|
||||
if (erreur<>0) or (actuel<1) then begin NivDebug:=AncDebug;exit;end;
|
||||
Adr:=detecteur_suivant_El(prec,type1,actuel,type2,1);
|
||||
if Adr<9996 then AfficheDebug('Le détecteur suivant aux éléments '+IntToSTR(prec)+'/'+IntToSTR(actuel)+' est '+IntToSTR(Adr),clyellow)
|
||||
else AfficheDebug('Pas trouvé de détecteur suvant aux éléments '+IntToSTR(prec)+'/'+IntToSTR(actuel),clyellow);
|
||||
else AfficheDebug('Pas trouvé de détecteur suvant aux éléments '+IntToSTR(prec)+'/'+IntToSTR(actuel),clyellow);
|
||||
NivDebug:=AncDebug;
|
||||
end;
|
||||
|
||||
procedure TFormDebug.ButtonCanSuivSigClick(Sender: TObject);
|
||||
var Adr,erreur,ancdebug : integer ;
|
||||
begin
|
||||
Val(EditSigSuiv.Text,Adr,erreur);
|
||||
if (erreur<>0) or (adr<1) then exit;
|
||||
ancdebug:=NivDebug;
|
||||
NivDebug:=3;
|
||||
Val(EditSigSuiv.Text,Adr,erreur);
|
||||
if (erreur=0) or (adr<1) then exit;
|
||||
if test_memoire_zones(Adr) then AfficheDebug('Présence train',clYellow) else
|
||||
AfficheDebug('Absence train',clyellow);
|
||||
NivDebug:=AncDebug;
|
||||
@@ -516,13 +553,13 @@ begin
|
||||
NivDebug:=3;
|
||||
s1:=EditPrec.Text;
|
||||
s2:=EditActuel.Text;
|
||||
if (s1='') or (s2='') then exit;
|
||||
if (s1='') or (s2='') then begin NivDebug:=AncDebug;exit;end;
|
||||
if s1[1]='A' then begin type1:=aig;delete(s1,1,1);end else type1:=det;
|
||||
if s2[1]='A' then begin type2:=aig;delete(s2,1,1);end else type2:=det;
|
||||
Val(s1,prec,erreur);
|
||||
if (erreur<>0) or (prec<1) then exit;
|
||||
if (erreur<>0) or (prec<1) then begin NivDebug:=AncDebug;exit;end;;
|
||||
Val(s2,Actuel,erreur);
|
||||
if (erreur<>0) or (actuel<1) then exit;
|
||||
if (erreur<>0) or (actuel<1) then begin NivDebug:=AncDebug;exit;end;;
|
||||
Adr:=suivant_Alg3(prec,type1,actuel,type2,1);
|
||||
if Adr<9995 then
|
||||
begin
|
||||
@@ -548,8 +585,8 @@ procedure TFormDebug.Button1Click(Sender: TObject);
|
||||
var adr,sortie,erreur,groupe : integer;
|
||||
fonction : byte;
|
||||
s : string;
|
||||
begin
|
||||
val(EditAdresse.text,adr,erreur);
|
||||
begin
|
||||
val(EditAdresse.text,adr,erreur);
|
||||
if (erreur<>0) or (adr<1) or (adr>2048) then
|
||||
begin
|
||||
EditAdresse.text:='1';
|
||||
@@ -587,15 +624,15 @@ begin
|
||||
if protocole=2 then AfficheDebug('D10: Commande DCC++ pas encore implantée',clred);
|
||||
end;
|
||||
|
||||
Self.ActiveControl:=nil;
|
||||
end;
|
||||
|
||||
Self.ActiveControl:=nil;
|
||||
end;
|
||||
|
||||
procedure TFormDebug.Button0Click(Sender: TObject);
|
||||
var adr,sortie,erreur,groupe : integer;
|
||||
var adr,sortie,erreur,groupe : integer;
|
||||
fonction : byte;
|
||||
s : string;
|
||||
begin
|
||||
val(EditAdresse.text,adr,erreur);
|
||||
begin
|
||||
val(EditAdresse.text,adr,erreur);
|
||||
if (erreur<>0) or (adr<1) or (adr>2048) then
|
||||
begin
|
||||
EditAdresse.text:='1';
|
||||
@@ -633,35 +670,49 @@ begin
|
||||
if protocole=2 then AfficheDebug('D11: Commande DCC++ pas encore implantée',clred)
|
||||
end;
|
||||
|
||||
Self.ActiveControl:=nil;
|
||||
end;
|
||||
|
||||
Self.ActiveControl:=nil;
|
||||
end;
|
||||
|
||||
procedure TFormDebug.FormKeyPress(Sender: TObject; var Key: Char);
|
||||
begin
|
||||
if key=chr(27) then close;
|
||||
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;
|
||||
|
||||
begin
|
||||
if key=chr(27) then close;
|
||||
end;
|
||||
|
||||
procedure TFormDebug.MemoEvtDetChange(Sender: TObject);
|
||||
begin
|
||||
SendMessage(MemoEvtDet.handle,WM_VSCROLL,SB_BOTTOM,0);
|
||||
end;
|
||||
|
||||
begin
|
||||
SendMessage(MemoEvtDet.handle,WM_VSCROLL,SB_BOTTOM,0);
|
||||
end;
|
||||
|
||||
procedure TFormDebug.CheckDetSIgClick(Sender: TObject);
|
||||
begin
|
||||
AFfDetSIg:=checkDetSig.checked;
|
||||
end;
|
||||
|
||||
begin
|
||||
AFfDetSIg:=checkDetSig.checked;
|
||||
end;
|
||||
|
||||
|
||||
procedure TFormDebug.CheckBoxPrincClick(Sender: TObject);
|
||||
begin
|
||||
ProcPrinc:=checkBoxPrinc.checked;
|
||||
end;
|
||||
begin
|
||||
ProcPrinc:=checkBoxPrinc.checked;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TFormDebug.Button3Click(Sender: TObject);
|
||||
begin
|
||||
ScrollBoxDebug.VertScrollBar.Position:=0;
|
||||
end;
|
||||
|
||||
|
||||
procedure TFormDebug.ButtonAigDevieClick(Sender: TObject);
|
||||
var Adr,erreur,ancDebug : integer;
|
||||
begin
|
||||
Val(EditSigSuiv.Text,Adr,erreur);
|
||||
if (erreur<>0) or (Adr<1) then exit;
|
||||
ancdebug:=NivDebug;
|
||||
NivDebug:=3;
|
||||
Aiguille_deviee(Adr);
|
||||
NivDebug:=AncDebug;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
@@ -289,6 +289,7 @@ end;
|
||||
|
||||
procedure TFormPilote.FormCreate(Sender: TObject);
|
||||
begin
|
||||
if affevt then affiche('FormPilote create',clLime);
|
||||
position:=poMainFormCenter;
|
||||
couleurs_pilote;
|
||||
end;
|
||||
@@ -331,6 +332,7 @@ procedure TFormPilote.FormActivate(Sender: TObject);
|
||||
var n,i,d : integer;
|
||||
begin
|
||||
// mise à jour du champ décodeur
|
||||
if affevt then affiche('FormPilote activate',clLime);
|
||||
i:=Index_Signal(AdrPilote);
|
||||
d:=Signaux[i].decodeur;
|
||||
n:=Signaux[i].aspect;
|
||||
|
||||
+15
-46
@@ -1,11 +1,10 @@
|
||||
object FormPrinc: TFormPrinc
|
||||
Left = 27
|
||||
Top = 202
|
||||
Left = 180
|
||||
Top = 135
|
||||
Width = 1148
|
||||
Height = 618
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
BorderStyle = bsSingle
|
||||
Caption = 'Signaux complexes'
|
||||
ClientHeight = 648
|
||||
ClientWidth = 1133
|
||||
Caption = 'SIgnaux complexes'
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
@@ -21,13 +20,13 @@ object FormPrinc: TFormPrinc
|
||||
OnCreate = FormCreate
|
||||
OnResize = FormResize
|
||||
DesignSize = (
|
||||
1133
|
||||
648)
|
||||
1132
|
||||
560)
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
object LabelTitre: TLabel
|
||||
Left = 8
|
||||
Top = 10
|
||||
Top = 2
|
||||
Width = 173
|
||||
Height = 18
|
||||
Caption = 'Signaux complexes GL'
|
||||
@@ -1431,8 +1430,8 @@ object FormPrinc: TFormPrinc
|
||||
end
|
||||
object StatusBar1: TStatusBar
|
||||
Left = 0
|
||||
Top = 626
|
||||
Width = 1133
|
||||
Top = 538
|
||||
Width = 1132
|
||||
Height = 22
|
||||
Panels = <
|
||||
item
|
||||
@@ -1458,24 +1457,14 @@ object FormPrinc: TFormPrinc
|
||||
end>
|
||||
OnDrawPanel = StatusBar1DrawPanel
|
||||
end
|
||||
object MSCommUSBInterface: TMSComm
|
||||
Left = 1064
|
||||
Top = 200
|
||||
Width = 32
|
||||
Height = 32
|
||||
OnComm = MSCommUSBInterfaceComm
|
||||
ControlData = {
|
||||
2143341208000000ED030000ED03000001568A64000006000000010000040000
|
||||
00020000802500000000080000000000000000003F00000011000000}
|
||||
end
|
||||
object Button1: TButton
|
||||
Left = 744
|
||||
Left = 751
|
||||
Top = 16
|
||||
Width = 75
|
||||
Height = 25
|
||||
Anchors = [akTop, akRight]
|
||||
Caption = 'Button1'
|
||||
TabOrder = 2
|
||||
TabOrder = 1
|
||||
Visible = False
|
||||
OnClick = Button1Click
|
||||
end
|
||||
@@ -1484,7 +1473,7 @@ object FormPrinc: TFormPrinc
|
||||
Top = 56
|
||||
Width = 1057
|
||||
Height = 476
|
||||
TabOrder = 3
|
||||
TabOrder = 2
|
||||
DesignSize = (
|
||||
1057
|
||||
476)
|
||||
@@ -1982,8 +1971,8 @@ object FormPrinc: TFormPrinc
|
||||
end
|
||||
end
|
||||
object GroupBoxCV: TGroupBox
|
||||
Left = 481
|
||||
Top = -8
|
||||
Left = 665
|
||||
Top = -24
|
||||
Width = 265
|
||||
Height = 129
|
||||
Anchors = [akTop, akRight]
|
||||
@@ -2044,26 +2033,6 @@ object FormPrinc: TFormPrinc
|
||||
end
|
||||
end
|
||||
end
|
||||
object MSCommCde1: TMSComm
|
||||
Left = 1064
|
||||
Top = 280
|
||||
Width = 32
|
||||
Height = 32
|
||||
OnComm = MSCommCde1Comm
|
||||
ControlData = {
|
||||
2143341208000000ED030000ED03000001568A64000006000000010000040000
|
||||
00020000802500000000080000000000000000003F00000001000000}
|
||||
end
|
||||
object MSCommCde2: TMSComm
|
||||
Left = 1064
|
||||
Top = 312
|
||||
Width = 32
|
||||
Height = 32
|
||||
OnComm = MSCommCde2Comm
|
||||
ControlData = {
|
||||
2143341208000000ED030000ED03000001568A64000006000000010000040000
|
||||
00020000802500000000080000000000000000003F00000001000000}
|
||||
end
|
||||
object Timer1: TTimer
|
||||
Interval = 100
|
||||
OnTimer = Timer1Timer
|
||||
|
||||
+467
-290
File diff suppressed because it is too large
Load Diff
+99
-76
@@ -1,9 +1,9 @@
|
||||
object FormSR: TFormSR
|
||||
Left = 425
|
||||
Top = 73
|
||||
Left = 405
|
||||
Top = 89
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'Configuration du d'#233'codeur du signal St'#233'phane Ravaut'
|
||||
ClientHeight = 540
|
||||
ClientHeight = 575
|
||||
ClientWidth = 475
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
@@ -18,7 +18,7 @@ object FormSR: TFormSR
|
||||
TextHeight = 13
|
||||
object LabelAdrSR1: TLabel
|
||||
Left = 24
|
||||
Top = 72
|
||||
Top = 64
|
||||
Width = 63
|
||||
Height = 13
|
||||
Caption = 'LabelAdrSR1'
|
||||
@@ -37,9 +37,9 @@ object FormSR: TFormSR
|
||||
Height = 13
|
||||
Caption = '- 1'
|
||||
end
|
||||
object Label3: TLabel
|
||||
object Label300: TLabel
|
||||
Left = 24
|
||||
Top = 24
|
||||
Top = 8
|
||||
Width = 59
|
||||
Height = 16
|
||||
Caption = 'Adresse'
|
||||
@@ -50,9 +50,9 @@ object FormSR: TFormSR
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object Label4: TLabel
|
||||
object Label301: TLabel
|
||||
Left = 112
|
||||
Top = 24
|
||||
Top = 8
|
||||
Width = 28
|
||||
Height = 16
|
||||
Caption = 'Etat'
|
||||
@@ -63,9 +63,9 @@ object FormSR: TFormSR
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object Label5: TLabel
|
||||
object Label302: TLabel
|
||||
Left = 200
|
||||
Top = 24
|
||||
Top = 8
|
||||
Width = 49
|
||||
Height = 16
|
||||
Caption = 'Aspect'
|
||||
@@ -78,7 +78,7 @@ object FormSR: TFormSR
|
||||
end
|
||||
object Shape1: TShape
|
||||
Left = 16
|
||||
Top = 104
|
||||
Top = 97
|
||||
Width = 409
|
||||
Height = 1
|
||||
end
|
||||
@@ -89,23 +89,23 @@ object FormSR: TFormSR
|
||||
Height = 13
|
||||
Caption = 'LabelAdrSR2'
|
||||
end
|
||||
object Label7: TLabel
|
||||
object Label3: TLabel
|
||||
Left = 120
|
||||
Top = 112
|
||||
Width = 15
|
||||
Height = 13
|
||||
Caption = '+ 2'
|
||||
end
|
||||
object Label8: TLabel
|
||||
object Label4: TLabel
|
||||
Left = 120
|
||||
Top = 136
|
||||
Width = 12
|
||||
Height = 13
|
||||
Caption = '- 1'
|
||||
end
|
||||
object Label6: TLabel
|
||||
object Label303: TLabel
|
||||
Left = 344
|
||||
Top = 24
|
||||
Top = 8
|
||||
Width = 21
|
||||
Height = 16
|
||||
Caption = 'CV'
|
||||
@@ -118,14 +118,14 @@ object FormSR: TFormSR
|
||||
end
|
||||
object LabelCV1: TLabel
|
||||
Left = 320
|
||||
Top = 56
|
||||
Top = 48
|
||||
Width = 20
|
||||
Height = 13
|
||||
Caption = 'CV='
|
||||
end
|
||||
object LabelCV2: TLabel
|
||||
Left = 384
|
||||
Top = 56
|
||||
Top = 48
|
||||
Width = 20
|
||||
Height = 13
|
||||
Caption = 'CV='
|
||||
@@ -146,53 +146,53 @@ object FormSR: TFormSR
|
||||
end
|
||||
object LabelCV5: TLabel
|
||||
Left = 320
|
||||
Top = 118
|
||||
Top = 110
|
||||
Width = 20
|
||||
Height = 13
|
||||
Caption = 'CV='
|
||||
end
|
||||
object LabelCV6: TLabel
|
||||
Left = 384
|
||||
Top = 118
|
||||
Top = 110
|
||||
Width = 20
|
||||
Height = 13
|
||||
Caption = 'CV='
|
||||
end
|
||||
object LabelCV7: TLabel
|
||||
Left = 320
|
||||
Top = 142
|
||||
Top = 134
|
||||
Width = 20
|
||||
Height = 13
|
||||
Caption = 'CV='
|
||||
end
|
||||
object LabelCV8: TLabel
|
||||
Left = 384
|
||||
Top = 142
|
||||
Top = 134
|
||||
Width = 20
|
||||
Height = 13
|
||||
Caption = 'CV='
|
||||
end
|
||||
object Shape2: TShape
|
||||
Left = 16
|
||||
Top = 160
|
||||
Top = 150
|
||||
Width = 409
|
||||
Height = 1
|
||||
end
|
||||
object LabelAdrSR3: TLabel
|
||||
Left = 24
|
||||
Top = 184
|
||||
Top = 176
|
||||
Width = 63
|
||||
Height = 13
|
||||
Caption = 'LabelAdrSR2'
|
||||
end
|
||||
object Label10: TLabel
|
||||
object Label5: TLabel
|
||||
Left = 120
|
||||
Top = 168
|
||||
Width = 15
|
||||
Height = 13
|
||||
Caption = '+ 2'
|
||||
end
|
||||
object Label11: TLabel
|
||||
object Label6: TLabel
|
||||
Left = 120
|
||||
Top = 192
|
||||
Width = 12
|
||||
@@ -201,14 +201,14 @@ object FormSR: TFormSR
|
||||
end
|
||||
object LabelCV9: TLabel
|
||||
Left = 320
|
||||
Top = 172
|
||||
Top = 164
|
||||
Width = 20
|
||||
Height = 13
|
||||
Caption = 'CV='
|
||||
end
|
||||
object LabelCV10: TLabel
|
||||
Left = 384
|
||||
Top = 172
|
||||
Top = 164
|
||||
Width = 20
|
||||
Height = 13
|
||||
Caption = 'CV='
|
||||
@@ -229,7 +229,7 @@ object FormSR: TFormSR
|
||||
end
|
||||
object Shape3: TShape
|
||||
Left = 16
|
||||
Top = 216
|
||||
Top = 219
|
||||
Width = 409
|
||||
Height = 1
|
||||
end
|
||||
@@ -240,16 +240,16 @@ object FormSR: TFormSR
|
||||
Height = 13
|
||||
Caption = 'LabelAdrSR2'
|
||||
end
|
||||
object Label12: TLabel
|
||||
object Label7: TLabel
|
||||
Left = 120
|
||||
Top = 224
|
||||
Top = 232
|
||||
Width = 15
|
||||
Height = 13
|
||||
Caption = '+ 2'
|
||||
end
|
||||
object Label13: TLabel
|
||||
object Label8: TLabel
|
||||
Left = 120
|
||||
Top = 248
|
||||
Top = 256
|
||||
Width = 12
|
||||
Height = 13
|
||||
Caption = '- 1'
|
||||
@@ -284,7 +284,7 @@ object FormSR: TFormSR
|
||||
end
|
||||
object Shape4: TShape
|
||||
Left = 16
|
||||
Top = 272
|
||||
Top = 276
|
||||
Width = 409
|
||||
Height = 1
|
||||
end
|
||||
@@ -295,16 +295,16 @@ object FormSR: TFormSR
|
||||
Height = 13
|
||||
Caption = 'LabelAdrSR2'
|
||||
end
|
||||
object Label14: TLabel
|
||||
object Label9: TLabel
|
||||
Left = 120
|
||||
Top = 280
|
||||
Top = 288
|
||||
Width = 15
|
||||
Height = 13
|
||||
Caption = '+ 2'
|
||||
end
|
||||
object Label15: TLabel
|
||||
object Label10: TLabel
|
||||
Left = 120
|
||||
Top = 304
|
||||
Top = 312
|
||||
Width = 12
|
||||
Height = 13
|
||||
Caption = '- 1'
|
||||
@@ -339,27 +339,27 @@ object FormSR: TFormSR
|
||||
end
|
||||
object Shape5: TShape
|
||||
Left = 16
|
||||
Top = 328
|
||||
Top = 333
|
||||
Width = 409
|
||||
Height = 1
|
||||
end
|
||||
object LabelAdrSR6: TLabel
|
||||
Left = 24
|
||||
Top = 352
|
||||
Top = 360
|
||||
Width = 63
|
||||
Height = 13
|
||||
Caption = 'LabelAdrSR2'
|
||||
end
|
||||
object Label16: TLabel
|
||||
object Label11: TLabel
|
||||
Left = 120
|
||||
Top = 336
|
||||
Top = 344
|
||||
Width = 15
|
||||
Height = 13
|
||||
Caption = '+ 2'
|
||||
end
|
||||
object Label17: TLabel
|
||||
object Label12: TLabel
|
||||
Left = 120
|
||||
Top = 360
|
||||
Top = 368
|
||||
Width = 12
|
||||
Height = 13
|
||||
Caption = '- 1'
|
||||
@@ -394,7 +394,7 @@ object FormSR: TFormSR
|
||||
end
|
||||
object Shape6: TShape
|
||||
Left = 16
|
||||
Top = 384
|
||||
Top = 385
|
||||
Width = 409
|
||||
Height = 1
|
||||
end
|
||||
@@ -405,16 +405,16 @@ object FormSR: TFormSR
|
||||
Height = 13
|
||||
Caption = 'LabelAdrSR2'
|
||||
end
|
||||
object Label18: TLabel
|
||||
object Label13: TLabel
|
||||
Left = 120
|
||||
Top = 392
|
||||
Top = 400
|
||||
Width = 15
|
||||
Height = 13
|
||||
Caption = '+ 2'
|
||||
end
|
||||
object Label19: TLabel
|
||||
object Label14: TLabel
|
||||
Left = 120
|
||||
Top = 416
|
||||
Top = 424
|
||||
Width = 12
|
||||
Height = 13
|
||||
Caption = '- 1'
|
||||
@@ -449,7 +449,7 @@ object FormSR: TFormSR
|
||||
end
|
||||
object Shape7: TShape
|
||||
Left = 16
|
||||
Top = 440
|
||||
Top = 438
|
||||
Width = 409
|
||||
Height = 1
|
||||
end
|
||||
@@ -460,16 +460,16 @@ object FormSR: TFormSR
|
||||
Height = 13
|
||||
Caption = 'LabelAdrSR2'
|
||||
end
|
||||
object Label20: TLabel
|
||||
object Label15: TLabel
|
||||
Left = 120
|
||||
Top = 448
|
||||
Width = 15
|
||||
Height = 13
|
||||
Caption = '+ 2'
|
||||
end
|
||||
object Label21: TLabel
|
||||
object Label16: TLabel
|
||||
Left = 120
|
||||
Top = 472
|
||||
Top = 480
|
||||
Width = 12
|
||||
Height = 13
|
||||
Caption = '- 1'
|
||||
@@ -490,7 +490,7 @@ object FormSR: TFormSR
|
||||
end
|
||||
object LabelCV31: TLabel
|
||||
Left = 320
|
||||
Top = 476
|
||||
Top = 484
|
||||
Width = 20
|
||||
Height = 13
|
||||
Caption = 'CV='
|
||||
@@ -503,15 +503,40 @@ object FormSR: TFormSR
|
||||
Caption = 'CV='
|
||||
end
|
||||
object LabelErreur: TLabel
|
||||
Left = 224
|
||||
Top = 528
|
||||
Left = 152
|
||||
Top = 512
|
||||
Width = 3
|
||||
Height = 13
|
||||
Caption = ':'
|
||||
end
|
||||
object Label900: TLabel
|
||||
Left = 212
|
||||
Top = 532
|
||||
Width = 205
|
||||
Height = 26
|
||||
Alignment = taRightJustify
|
||||
Caption = 'Nombre d'#39'adresses occup'#233'es par le signal : (1 '#224' 8)'
|
||||
WordWrap = True
|
||||
end
|
||||
object Shape8: TShape
|
||||
Left = 16
|
||||
Top = 502
|
||||
Width = 409
|
||||
Height = 1
|
||||
end
|
||||
object ComboBoxAdr15: TComboBox
|
||||
Left = 160
|
||||
Top = 448
|
||||
Width = 145
|
||||
Height = 21
|
||||
Style = csDropDownList
|
||||
ItemHeight = 13
|
||||
TabOrder = 14
|
||||
OnChange = ComboBoxAdr15Change
|
||||
end
|
||||
object ComboBoxAdr1: TComboBox
|
||||
Left = 160
|
||||
Top = 56
|
||||
Top = 48
|
||||
Width = 145
|
||||
Height = 21
|
||||
Style = csDropDownList
|
||||
@@ -521,7 +546,7 @@ object FormSR: TFormSR
|
||||
end
|
||||
object ComboBoxAdr2: TComboBox
|
||||
Left = 160
|
||||
Top = 80
|
||||
Top = 72
|
||||
Width = 145
|
||||
Height = 21
|
||||
Style = csDropDownList
|
||||
@@ -531,7 +556,7 @@ object FormSR: TFormSR
|
||||
end
|
||||
object ComboBoxAdr3: TComboBox
|
||||
Left = 160
|
||||
Top = 112
|
||||
Top = 104
|
||||
Width = 145
|
||||
Height = 21
|
||||
Style = csDropDownList
|
||||
@@ -541,7 +566,7 @@ object FormSR: TFormSR
|
||||
end
|
||||
object ComboBoxAdr4: TComboBox
|
||||
Left = 160
|
||||
Top = 136
|
||||
Top = 128
|
||||
Width = 145
|
||||
Height = 21
|
||||
Style = csDropDownList
|
||||
@@ -551,7 +576,7 @@ object FormSR: TFormSR
|
||||
end
|
||||
object ComboBoxAdr5: TComboBox
|
||||
Left = 160
|
||||
Top = 168
|
||||
Top = 160
|
||||
Width = 145
|
||||
Height = 21
|
||||
Style = csDropDownList
|
||||
@@ -649,16 +674,6 @@ object FormSR: TFormSR
|
||||
TabOrder = 13
|
||||
OnChange = ComboBoxAdr14Change
|
||||
end
|
||||
object ComboBoxAdr15: TComboBox
|
||||
Left = 160
|
||||
Top = 448
|
||||
Width = 145
|
||||
Height = 21
|
||||
Style = csDropDownList
|
||||
ItemHeight = 13
|
||||
TabOrder = 14
|
||||
OnChange = ComboBoxAdr15Change
|
||||
end
|
||||
object ComboBoxAdr16: TComboBox
|
||||
Left = 160
|
||||
Top = 472
|
||||
@@ -669,13 +684,21 @@ object FormSR: TFormSR
|
||||
TabOrder = 15
|
||||
OnChange = ComboBoxAdr16Change
|
||||
end
|
||||
object BitBtnok: TBitBtn
|
||||
Left = 24
|
||||
Top = 504
|
||||
object EditNEsignal: TEdit
|
||||
Left = 424
|
||||
Top = 536
|
||||
Width = 17
|
||||
Height = 21
|
||||
TabOrder = 16
|
||||
OnChange = EditNEsignalChange
|
||||
end
|
||||
object Button1: TButton
|
||||
Left = 32
|
||||
Top = 536
|
||||
Width = 75
|
||||
Height = 25
|
||||
TabOrder = 16
|
||||
OnClick = BitBtnokClick
|
||||
Kind = bkOK
|
||||
Caption = 'Ok'
|
||||
TabOrder = 17
|
||||
OnClick = Button1Click
|
||||
end
|
||||
end
|
||||
|
||||
+308
-117
@@ -1,8 +1,8 @@
|
||||
// Unité pour la configuration du décodeur Stéphane Ravaux
|
||||
// http://stephane.ravaut.free.fr/Train_miniature/Decodeurs/Decodeur_DCC_Signaux_complexes_SNCF.html
|
||||
|
||||
unit UnitSR;
|
||||
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
@@ -17,14 +17,14 @@ type
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
ComboBoxAdr2: TComboBox;
|
||||
Label3: TLabel;
|
||||
Label4: TLabel;
|
||||
Label5: TLabel;
|
||||
Label300: TLabel;
|
||||
Label301: TLabel;
|
||||
Label302: TLabel;
|
||||
Shape1: TShape;
|
||||
LabelAdrSR2: TLabel;
|
||||
Label7: TLabel;
|
||||
Label8: TLabel;
|
||||
Label6: TLabel;
|
||||
Label3: TLabel;
|
||||
Label4: TLabel;
|
||||
Label303: TLabel;
|
||||
LabelCV1: TLabel;
|
||||
LabelCV2: TLabel;
|
||||
LabelCV3: TLabel;
|
||||
@@ -37,8 +37,8 @@ type
|
||||
LabelCV8: TLabel;
|
||||
Shape2: TShape;
|
||||
LabelAdrSR3: TLabel;
|
||||
Label10: TLabel;
|
||||
Label11: TLabel;
|
||||
Label5: TLabel;
|
||||
Label6: TLabel;
|
||||
ComboBoxAdr5: TComboBox;
|
||||
ComboBoxAdr6: TComboBox;
|
||||
LabelCV9: TLabel;
|
||||
@@ -47,8 +47,8 @@ type
|
||||
LabelCV12: TLabel;
|
||||
Shape3: TShape;
|
||||
LabelAdrSR4: TLabel;
|
||||
Label12: TLabel;
|
||||
Label13: TLabel;
|
||||
Label7: TLabel;
|
||||
Label8: TLabel;
|
||||
ComboBoxAdr7: TComboBox;
|
||||
ComboBoxAdr8: TComboBox;
|
||||
LabelCV13: TLabel;
|
||||
@@ -57,8 +57,8 @@ type
|
||||
LabelCV16: TLabel;
|
||||
Shape4: TShape;
|
||||
LabelAdrSR5: TLabel;
|
||||
Label14: TLabel;
|
||||
Label15: TLabel;
|
||||
Label9: TLabel;
|
||||
Label10: TLabel;
|
||||
ComboBoxAdr9: TComboBox;
|
||||
ComboBoxAdr10: TComboBox;
|
||||
LabelCV17: TLabel;
|
||||
@@ -67,8 +67,8 @@ type
|
||||
LabelCV20: TLabel;
|
||||
Shape5: TShape;
|
||||
LabelAdrSR6: TLabel;
|
||||
Label16: TLabel;
|
||||
Label17: TLabel;
|
||||
Label11: TLabel;
|
||||
Label12: TLabel;
|
||||
ComboBoxAdr11: TComboBox;
|
||||
ComboBoxAdr12: TComboBox;
|
||||
LabelCV21: TLabel;
|
||||
@@ -77,8 +77,8 @@ type
|
||||
LabelCV24: TLabel;
|
||||
Shape6: TShape;
|
||||
LabelAdrSR7: TLabel;
|
||||
Label18: TLabel;
|
||||
Label19: TLabel;
|
||||
Label13: TLabel;
|
||||
Label14: TLabel;
|
||||
LabelCV25: TLabel;
|
||||
LabelCV26: TLabel;
|
||||
LabelCV27: TLabel;
|
||||
@@ -87,8 +87,8 @@ type
|
||||
ComboBoxAdr14: TComboBox;
|
||||
Shape7: TShape;
|
||||
LabelAdrSR8: TLabel;
|
||||
Label20: TLabel;
|
||||
Label21: TLabel;
|
||||
Label15: TLabel;
|
||||
Label16: TLabel;
|
||||
LabelCV29: TLabel;
|
||||
LabelCV30: TLabel;
|
||||
LabelCV31: TLabel;
|
||||
@@ -96,7 +96,10 @@ type
|
||||
ComboBoxAdr15: TComboBox;
|
||||
ComboBoxAdr16: TComboBox;
|
||||
LabelErreur: TLabel;
|
||||
BitBtnok: TBitBtn;
|
||||
Label900: TLabel;
|
||||
EditNEsignal: TEdit;
|
||||
Button1: TButton;
|
||||
Shape8: TShape;
|
||||
procedure FormActivate(Sender: TObject);
|
||||
procedure ComboBoxAdr1Change(Sender: TObject);
|
||||
procedure ComboBoxAdr2Change(Sender: TObject);
|
||||
@@ -115,7 +118,8 @@ type
|
||||
procedure ComboBoxAdr15Change(Sender: TObject);
|
||||
procedure ComboBoxAdr16Change(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure BitBtnokClick(Sender: TObject);
|
||||
procedure EditNEsignalChange(Sender: TObject);
|
||||
procedure Button1Click(Sender: TObject);
|
||||
private
|
||||
{ Déclarations privées }
|
||||
public
|
||||
@@ -125,7 +129,7 @@ type
|
||||
var
|
||||
FormSR: TFormSR;
|
||||
Adr,IndexSig : integer;
|
||||
|
||||
//etatsDefSR : array[1..16] of integer; // états par défaut du décodeur SR
|
||||
procedure couleurs_SR;
|
||||
|
||||
implementation
|
||||
@@ -133,10 +137,47 @@ implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
// efface/affiche les composants en fonction du nombre d'adresses (de 1 à 8)
|
||||
procedure efface(nadr : integer);
|
||||
var i : integer;
|
||||
c : tComboBox;
|
||||
Lb : tLabel;
|
||||
s : string;
|
||||
begin
|
||||
for i:=1 to 16 do
|
||||
begin
|
||||
s:='ComboBoxAdr'+intToSTR(i);
|
||||
c:=formSR.findComponent(s) as tComboBox;
|
||||
c.Visible:=(i-1)<2*nadr ;
|
||||
|
||||
s:='Label'+intToSTR(i);
|
||||
Lb:=formSR.findComponent(s) as tLabel;
|
||||
Lb.Visible:=i-1<2*nadr;
|
||||
|
||||
s:='LabelCV'+intToSTR(i*2-1);
|
||||
Lb:=formSR.findComponent(s) as tLabel;
|
||||
Lb.Visible:=i-1<2*nadr;
|
||||
s:='LabelCV'+intToSTR(i*2);
|
||||
Lb:=formSR.findComponent(s) as tLabel;
|
||||
Lb.Visible:=i-1<2*nadr;
|
||||
end;
|
||||
|
||||
for i:=1 to 8 do
|
||||
begin
|
||||
s:='LabelAdrSR'+intToSTR(i);
|
||||
Lb:=formSR.findComponent(s) as tLabel;
|
||||
Lb.visible:=(i-1)<nadr ;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
// valeurs des CV du décodeur SR, uniquement pour l'affichage
|
||||
procedure etat_SR(etat : integer;var etat1,etat2 : integer) ;
|
||||
begin
|
||||
// etat1 correspond à l'allumage des leds du 1er cycle clignotant
|
||||
// etat2 correspond à l'allumage des leds du 2eme cycle clignotant
|
||||
etat1:=0;
|
||||
etat2:=0;
|
||||
case etat of
|
||||
// carré
|
||||
1 : begin etat1:=$81;etat2:=$81;end;
|
||||
@@ -180,99 +221,6 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
procedure TFormSR.FormActivate(Sender: TObject);
|
||||
var erreur,etat1,etat2 : integer;
|
||||
begin
|
||||
Val(FormConfig.EditAdrSig.text,Adr,erreur);
|
||||
indexSig:=index_Signal(Adr);
|
||||
if IndexSig=0 then LabelErreur.caption:='Erreur feu inexistant'
|
||||
else
|
||||
begin
|
||||
LabelAdrSR1.caption:=intToSTR(Adr);
|
||||
LabelAdrSR2.caption:=intToSTR(Adr+1);
|
||||
LabelAdrSR3.caption:=intToSTR(Adr+2);
|
||||
LabelAdrSR4.caption:=intToSTR(Adr+3);
|
||||
LabelAdrSR5.caption:=intToSTR(Adr+4);
|
||||
LabelAdrSR6.caption:=intToSTR(Adr+5);
|
||||
LabelAdrSR7.caption:=intToSTR(Adr+6);
|
||||
LabelAdrSR8.caption:=intToSTR(Adr+7);
|
||||
|
||||
ComboBoxAdr1.ItemIndex:=Signaux[indexSig].SR[1].sortie1;
|
||||
ComboBoxAdr2.ItemIndex:=Signaux[indexSig].SR[1].sortie0;
|
||||
ComboBoxAdr3.ItemIndex:=Signaux[indexSig].SR[2].sortie1;
|
||||
ComboBoxAdr4.ItemIndex:=Signaux[indexSig].SR[2].sortie0;
|
||||
ComboBoxAdr5.ItemIndex:=Signaux[indexSig].SR[3].sortie1;
|
||||
ComboBoxAdr6.ItemIndex:=Signaux[indexSig].SR[3].sortie0;
|
||||
ComboBoxAdr7.ItemIndex:=Signaux[indexSig].SR[4].sortie1;
|
||||
ComboBoxAdr8.ItemIndex:=Signaux[indexSig].SR[4].sortie0;
|
||||
ComboBoxAdr9.ItemIndex:=Signaux[indexSig].SR[5].sortie1;
|
||||
ComboBoxAdr10.ItemIndex:=Signaux[indexSig].SR[5].sortie0;
|
||||
ComboBoxAdr11.ItemIndex:=Signaux[indexSig].SR[6].sortie1;
|
||||
ComboBoxAdr12.ItemIndex:=Signaux[indexSig].SR[6].sortie0;
|
||||
ComboBoxAdr13.ItemIndex:=Signaux[indexSig].SR[7].sortie1;
|
||||
ComboBoxAdr14.ItemIndex:=Signaux[indexSig].SR[7].sortie0;
|
||||
ComboBoxAdr15.ItemIndex:=Signaux[indexSig].SR[8].sortie1;
|
||||
ComboBoxAdr16.ItemIndex:=Signaux[indexSig].SR[8].sortie0;
|
||||
|
||||
etat_SR(Signaux[indexSig].SR[1].sortie1,etat1,etat2);
|
||||
labelCV1.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV2.Caption:='CV='+IntToSTR(etat2);
|
||||
etat_SR(Signaux[indexSig].SR[1].sortie0,etat1,etat2);
|
||||
labelCV3.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV4.Caption:='CV='+IntToSTR(etat2);
|
||||
etat_SR(Signaux[indexSig].SR[2].sortie1,etat1,etat2);
|
||||
labelCV5.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV6.Caption:='CV='+IntToSTR(etat2);
|
||||
etat_SR(Signaux[indexSig].SR[2].sortie0,etat1,etat2);
|
||||
labelCV7.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV8.Caption:='CV='+IntToSTR(etat2);
|
||||
etat_SR(Signaux[indexSig].SR[3].sortie1,etat1,etat2);
|
||||
labelCV9.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV10.Caption:='CV='+IntToSTR(etat2);
|
||||
etat_SR(Signaux[indexSig].SR[3].sortie0,etat1,etat2);
|
||||
labelCV11.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV12.Caption:='CV='+IntToSTR(etat2);
|
||||
etat_SR(Signaux[indexSig].SR[4].sortie1,etat1,etat2);
|
||||
labelCV13.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV14.Caption:='CV='+IntToSTR(etat2);
|
||||
|
||||
etat_SR(Signaux[indexSig].SR[4].sortie0,etat1,etat2);
|
||||
labelCV15.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV16.Caption:='CV='+IntToSTR(etat2);
|
||||
|
||||
etat_SR(Signaux[indexSig].SR[5].sortie1,etat1,etat2);
|
||||
labelCV17.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV18.Caption:='CV='+IntToSTR(etat2);
|
||||
etat_SR(Signaux[indexSig].SR[5].sortie0,etat1,etat2);
|
||||
labelCV19.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV20.Caption:='CV='+IntToSTR(etat2);
|
||||
|
||||
etat_SR(Signaux[indexSig].SR[6].sortie1,etat1,etat2);
|
||||
labelCV21.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV22.Caption:='CV='+IntToSTR(etat2);
|
||||
etat_SR(Signaux[indexSig].SR[6].sortie0,etat1,etat2);
|
||||
labelCV23.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV24.Caption:='CV='+IntToSTR(etat2);
|
||||
|
||||
etat_SR(Signaux[indexSig].SR[7].sortie1,etat1,etat2);
|
||||
labelCV25.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV26.Caption:='CV='+IntToSTR(etat2);
|
||||
etat_SR(Signaux[indexSig].SR[7].sortie0,etat1,etat2);
|
||||
labelCV27.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV28.Caption:='CV='+IntToSTR(etat2);
|
||||
|
||||
etat_SR(Signaux[indexSig].SR[8].sortie1,etat1,etat2);
|
||||
labelCV29.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV30.Caption:='CV='+IntToSTR(etat2);
|
||||
|
||||
etat_SR(Signaux[indexSig].SR[8].sortie0,etat1,etat2);
|
||||
labelCV31.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV32.Caption:='CV='+IntToSTR(etat2);
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure Maj_DB;
|
||||
var s : string;
|
||||
begin
|
||||
@@ -481,9 +429,100 @@ begin
|
||||
end;
|
||||
|
||||
procedure TFormSR.FormCreate(Sender: TObject);
|
||||
var i : integer;
|
||||
var i,y : integer;
|
||||
c : tComboBox;
|
||||
sh : tShape;
|
||||
Lb : tLabel;
|
||||
s : string;
|
||||
begin
|
||||
{
|
||||
// états par défaut du décodeur SR , d'après le tableau Etats[] il y a 13 états valides.
|
||||
// manque états 11: ralen30 - 12: ralen 60 - 13 rappel 30 - 14 rappel 60 - 15: ralen 60 + jaune cli - 17 : rappel 30 + jaune cli ??
|
||||
// sortie 0
|
||||
etatsDefSR[1]:=1; // carré - sortie 1
|
||||
etatsDefSR[2]:=6; // violet - sortie 2
|
||||
// sortie 1
|
||||
etatsDefSR[3]:=2; // sémaphore - sortie 1
|
||||
etatsDefSR[4]:=3; // sémaphore cli - sortie 2
|
||||
// sortie 2
|
||||
etatsDefSR[5]:=9; // jaune - sortie 1
|
||||
etatsDefSR[6]:=10; // jaune cli - sortie 2
|
||||
// sortie 3
|
||||
etatsDefSR[7]:=4; // vert - sortie 1
|
||||
etatsDefSR[8]:=5; // vert cli - sortie 2
|
||||
// sortie 4
|
||||
etatsDefSR[9]:=7; // blanc - sortie 1
|
||||
etatsDefSR[10]:=8; // blanc cli - sortie 2
|
||||
// sortie 5
|
||||
etatsDefSR[11]:=0; // invalide- sortie 1
|
||||
etatsDefSR[12]:=0; // invalide- sortie 2
|
||||
// sortie 6
|
||||
etatsDefSR[13]:=16; // jaune + rappel 30 - sortie 1
|
||||
etatsDefSR[14]:=18; // jaune + rappel 60 - sortie 2
|
||||
// sortie 7
|
||||
etatsDefSR[15]:=19; // jaune cli + rappel 60 - sortie 1
|
||||
etatsDefSR[16]:=0; // invalide - sortie 2
|
||||
}
|
||||
|
||||
// ajustement des composants
|
||||
for i:=1 to 16 do
|
||||
begin
|
||||
y:=(i-1)*30+30;
|
||||
s:='ComboBoxAdr'+intToSTR(i);
|
||||
c:=findComponent(s) as tcomboBox;
|
||||
c.Top:=y;
|
||||
|
||||
s:='Label'+intToSTR(i);
|
||||
Lb:=findComponent(s) as tLabel;
|
||||
Lb.top:=y+4;
|
||||
|
||||
s:='LabelCV'+intToSTR(i*2-1);
|
||||
Lb:=findComponent(s) as tLabel;
|
||||
Lb.top:=y+4;
|
||||
s:='LabelCV'+intToSTR(i*2);
|
||||
Lb:=findComponent(s) as tLabel;
|
||||
Lb.top:=y+4;
|
||||
end;
|
||||
for i:=1 to 8 do
|
||||
begin
|
||||
y:=(i-1)*60;
|
||||
s:='Shape'+intToSTR(i);
|
||||
sh:=findComponent(s) as tshape;
|
||||
sh.top:=y+86;
|
||||
end;
|
||||
|
||||
for i:=1 to 8 do
|
||||
begin
|
||||
y:=(i-1)*60;
|
||||
s:='LabelAdrSR'+intToSTR(i);
|
||||
Lb:=findComponent(s) as tLabel;
|
||||
Lb.top:=y+48;
|
||||
Lb.Font.Style:=[fsBold];
|
||||
end;
|
||||
|
||||
|
||||
position:=poMainFormCenter;
|
||||
{
|
||||
for i:=1 to 16 do
|
||||
begin
|
||||
|
||||
ComboBoxAdr1.items.add('');
|
||||
ComboBoxAdr2.items.add('');
|
||||
ComboBoxAdr3.items.add('');
|
||||
ComboBoxAdr4.items.add('');
|
||||
ComboBoxAdr5.items.add('');
|
||||
ComboBoxAdr6.items.add('');
|
||||
ComboBoxAdr7.items.add('');
|
||||
ComboBoxAdr8.items.add('');
|
||||
ComboBoxAdr9.items.add('');
|
||||
ComboBoxAdr10.items.add('');
|
||||
ComboBoxAdr11.items.add('');
|
||||
ComboBoxAdr12.items.add('');
|
||||
ComboBoxAdr13.items.add('');
|
||||
ComboBoxAdr14.items.add('');
|
||||
ComboBoxAdr15.items.add('');
|
||||
ComboBoxAdr16.items.add('');
|
||||
}
|
||||
for i:=0 to 19 do
|
||||
begin
|
||||
ComboBoxAdr1.items.add(etats[i]);
|
||||
@@ -506,7 +545,159 @@ begin
|
||||
couleurs_SR;
|
||||
end;
|
||||
|
||||
procedure TFormSR.BitBtnokClick(Sender: TObject);
|
||||
procedure TFormSR.FormActivate(Sender: TObject);
|
||||
var erreur,etat1,etat2,ne : integer;
|
||||
begin
|
||||
Val(FormConfig.EditAdrSig.text,Adr,erreur);
|
||||
indexSig:=index_Signal(Adr);
|
||||
if IndexSig=0 then LabelErreur.caption:='Erreur 512 : signal '+intToSTR(Adr)+' inexistant'
|
||||
else
|
||||
begin
|
||||
LabelAdrSR1.caption:=intToSTR(Adr);
|
||||
LabelAdrSR2.caption:=intToSTR(Adr+1);
|
||||
LabelAdrSR3.caption:=intToSTR(Adr+2);
|
||||
LabelAdrSR4.caption:=intToSTR(Adr+3);
|
||||
LabelAdrSR5.caption:=intToSTR(Adr+4);
|
||||
LabelAdrSR6.caption:=intToSTR(Adr+5);
|
||||
LabelAdrSR7.caption:=intToSTR(Adr+6);
|
||||
LabelAdrSR8.caption:=intToSTR(Adr+7);
|
||||
|
||||
ComboBoxAdr1.ItemIndex:=Signaux[indexSig].SR[1].sortie1;
|
||||
ComboBoxAdr2.ItemIndex:=Signaux[indexSig].SR[1].sortie0;
|
||||
ComboBoxAdr3.ItemIndex:=Signaux[indexSig].SR[2].sortie1;
|
||||
ComboBoxAdr4.ItemIndex:=Signaux[indexSig].SR[2].sortie0;
|
||||
ComboBoxAdr5.ItemIndex:=Signaux[indexSig].SR[3].sortie1;
|
||||
ComboBoxAdr6.ItemIndex:=Signaux[indexSig].SR[3].sortie0;
|
||||
ComboBoxAdr7.ItemIndex:=Signaux[indexSig].SR[4].sortie1;
|
||||
ComboBoxAdr8.ItemIndex:=Signaux[indexSig].SR[4].sortie0;
|
||||
ComboBoxAdr9.ItemIndex:=Signaux[indexSig].SR[5].sortie1;
|
||||
ComboBoxAdr10.ItemIndex:=Signaux[indexSig].SR[5].sortie0;
|
||||
ComboBoxAdr11.ItemIndex:=Signaux[indexSig].SR[6].sortie1;
|
||||
ComboBoxAdr12.ItemIndex:=Signaux[indexSig].SR[6].sortie0;
|
||||
ComboBoxAdr13.ItemIndex:=Signaux[indexSig].SR[7].sortie1;
|
||||
ComboBoxAdr14.ItemIndex:=Signaux[indexSig].SR[7].sortie0;
|
||||
ComboBoxAdr15.ItemIndex:=Signaux[indexSig].SR[8].sortie1;
|
||||
ComboBoxAdr16.ItemIndex:=Signaux[indexSig].SR[8].sortie0;
|
||||
|
||||
{
|
||||
for i:=1 to 16 do
|
||||
begin
|
||||
ComboBoxAdr1.Items[i-1]:=etats[etatsDefSR[i]];
|
||||
ComboBoxAdr2.Items[i-1]:=etats[etatsDefSR[i]];
|
||||
|
||||
ComboBoxAdr3.Items[i-1]:=etats[etatsDefSR[i]];
|
||||
ComboBoxAdr4.Items[i-1]:=etats[etatsDefSR[i]];
|
||||
|
||||
ComboBoxAdr5.Items[i-1]:=etats[etatsDefSR[i]];
|
||||
ComboBoxAdr6.Items[i-1]:=etats[etatsDefSR[i]];
|
||||
|
||||
ComboBoxAdr7.Items[i-1]:=etats[etatsDefSR[i]];
|
||||
ComboBoxAdr8.Items[i-1]:=etats[etatsDefSR[i]];
|
||||
|
||||
ComboBoxAdr9.Items[i-1]:=etats[etatsDefSR[i]];
|
||||
ComboBoxAdr10.Items[i-1]:=etats[etatsDefSR[i]];
|
||||
|
||||
ComboBoxAdr11.Items[i-1]:=etats[etatsDefSR[i]];
|
||||
ComboBoxAdr12.Items[i-1]:=etats[etatsDefSR[i]];
|
||||
|
||||
ComboBoxAdr13.Items[i-1]:=etats[etatsDefSR[i]];
|
||||
ComboBoxAdr14.Items[i-1]:=etats[etatsDefSR[i]];
|
||||
|
||||
ComboBoxAdr15.Items[i-1]:=etats[etatsDefSR[i]];
|
||||
ComboBoxAdr16.Items[i-1]:=etats[etatsDefSR[i]];
|
||||
end; }
|
||||
|
||||
ne:=Signaux[indexSig].Na; // nombre d'états du signal (2 à 19)
|
||||
EditNESignal.Text:=intToSTr(ne);
|
||||
|
||||
if ne=2 then
|
||||
begin
|
||||
ComboBoxAdr3.Enabled:=false;
|
||||
ComboBoxAdr4.Enabled:=false;
|
||||
ComboBoxAdr5.Enabled:=false;
|
||||
ComboBoxAdr6.Enabled:=false;
|
||||
ComboBoxAdr7.Enabled:=false;
|
||||
ComboBoxAdr8.Enabled:=false;
|
||||
ComboBoxAdr9.Enabled:=false;
|
||||
ComboBoxAdr10.Enabled:=false;
|
||||
ComboBoxAdr11.Enabled:=false;
|
||||
ComboBoxAdr12.Enabled:=false;
|
||||
ComboBoxAdr13.Enabled:=false;
|
||||
ComboBoxAdr14.Enabled:=false;
|
||||
ComboBoxAdr15.Enabled:=false;
|
||||
ComboBoxAdr16.Enabled:=false;
|
||||
end;
|
||||
|
||||
|
||||
etat_SR(Signaux[indexSig].SR[1].sortie1,etat1,etat2);
|
||||
labelCV1.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV2.Caption:='CV='+IntToSTR(etat2);
|
||||
etat_SR(Signaux[indexSig].SR[1].sortie0,etat1,etat2);
|
||||
labelCV3.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV4.Caption:='CV='+IntToSTR(etat2);
|
||||
etat_SR(Signaux[indexSig].SR[2].sortie1,etat1,etat2);
|
||||
labelCV5.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV6.Caption:='CV='+IntToSTR(etat2);
|
||||
etat_SR(Signaux[indexSig].SR[2].sortie0,etat1,etat2);
|
||||
labelCV7.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV8.Caption:='CV='+IntToSTR(etat2);
|
||||
etat_SR(Signaux[indexSig].SR[3].sortie1,etat1,etat2);
|
||||
labelCV9.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV10.Caption:='CV='+IntToSTR(etat2);
|
||||
etat_SR(Signaux[indexSig].SR[3].sortie0,etat1,etat2);
|
||||
labelCV11.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV12.Caption:='CV='+IntToSTR(etat2);
|
||||
etat_SR(Signaux[indexSig].SR[4].sortie1,etat1,etat2);
|
||||
labelCV13.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV14.Caption:='CV='+IntToSTR(etat2);
|
||||
|
||||
etat_SR(Signaux[indexSig].SR[4].sortie0,etat1,etat2);
|
||||
labelCV15.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV16.Caption:='CV='+IntToSTR(etat2);
|
||||
|
||||
etat_SR(Signaux[indexSig].SR[5].sortie1,etat1,etat2);
|
||||
labelCV17.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV18.Caption:='CV='+IntToSTR(etat2);
|
||||
etat_SR(Signaux[indexSig].SR[5].sortie0,etat1,etat2);
|
||||
labelCV19.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV20.Caption:='CV='+IntToSTR(etat2);
|
||||
|
||||
etat_SR(Signaux[indexSig].SR[6].sortie1,etat1,etat2);
|
||||
labelCV21.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV22.Caption:='CV='+IntToSTR(etat2);
|
||||
etat_SR(Signaux[indexSig].SR[6].sortie0,etat1,etat2);
|
||||
labelCV23.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV24.Caption:='CV='+IntToSTR(etat2);
|
||||
|
||||
etat_SR(Signaux[indexSig].SR[7].sortie1,etat1,etat2);
|
||||
labelCV25.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV26.Caption:='CV='+IntToSTR(etat2);
|
||||
etat_SR(Signaux[indexSig].SR[7].sortie0,etat1,etat2);
|
||||
labelCV27.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV28.Caption:='CV='+IntToSTR(etat2);
|
||||
|
||||
etat_SR(Signaux[indexSig].SR[8].sortie1,etat1,etat2);
|
||||
labelCV29.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV30.Caption:='CV='+IntToSTR(etat2);
|
||||
|
||||
etat_SR(Signaux[indexSig].SR[8].sortie0,etat1,etat2);
|
||||
labelCV31.Caption:='CV='+IntToSTR(etat1);
|
||||
labelCV32.Caption:='CV='+IntToSTR(etat2);
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFormSR.EditNEsignalChange(Sender: TObject);
|
||||
var i,erreur : integer;
|
||||
begin
|
||||
val(EditNESignal.Text,i,erreur);
|
||||
if (erreur<>0) or (i<1) or (i>8) then exit;
|
||||
Signaux[ligneClicSig+1].na:=i;
|
||||
maj_db;
|
||||
efface(i);
|
||||
end;
|
||||
|
||||
procedure TFormSR.Button1Click(Sender: TObject);
|
||||
begin
|
||||
close;
|
||||
end;
|
||||
|
||||
+6
-2
@@ -1,6 +1,6 @@
|
||||
object FormTCO: TFormTCO
|
||||
Left = 114
|
||||
Top = 116
|
||||
Left = 113
|
||||
Top = 72
|
||||
Width = 1218
|
||||
Height = 594
|
||||
VertScrollBar.Visible = False
|
||||
@@ -1322,6 +1322,10 @@ object FormTCO: TFormTCO
|
||||
Top = 8
|
||||
object MenuTCO: TMenuItem
|
||||
Caption = 'TCO'
|
||||
object RechargerleTCOdepuislefichier1: TMenuItem
|
||||
Caption = 'Recharger le TCO depuis le fichier'
|
||||
OnClick = RechargerleTCOdepuislefichier1Click
|
||||
end
|
||||
object SauvegarderleTCO1: TMenuItem
|
||||
Caption = 'Sauvegarder le TCO'
|
||||
OnClick = SauvegarderleTCO1Click
|
||||
|
||||
+384
-201
File diff suppressed because it is too large
Load Diff
@@ -176,4 +176,8 @@ begin
|
||||
end;
|
||||
|
||||
begin
|
||||
|
||||
|
||||
|
||||
|
||||
end.
|
||||
|
||||
@@ -107,6 +107,7 @@ end;
|
||||
|
||||
procedure TFormPlace.FormActivate(Sender: TObject);
|
||||
begin
|
||||
if affevt then affiche('FormPlace activate',clLime);
|
||||
LabelTrain1.Caption:=trains[1].nom_train;
|
||||
Edit1.text:=intToSTR(placement[1].detecteur);
|
||||
EditDir1.Text:=IntToSTR(placement[1].detdir);
|
||||
@@ -570,6 +571,7 @@ end;
|
||||
|
||||
procedure TFormPlace.FormCreate(Sender: TObject);
|
||||
begin
|
||||
if affevt then affiche('FormPlace Create',clLime);
|
||||
if debug=1 then Affiche('Début création fenetre Place',clLime);
|
||||
position:=poMainFormCenter;
|
||||
PlaceAffiche:=true;
|
||||
|
||||
+1
-3
@@ -25,7 +25,7 @@ var
|
||||
verifVersion,notificationVersion,essai : boolean;
|
||||
chemin_Dest,chemin_src,date_creation,nombre_tel : string;
|
||||
|
||||
Const Version='8.5'; // sert à la comparaison de la version publiée
|
||||
Const Version='8.51'; // sert à la comparaison de la version publiée
|
||||
SousVersion=' '; // A B C ... en cas d'absence de sous version mettre un espace
|
||||
// pour unzip
|
||||
SHCONTCH_NOPROGRESSBOX = 4;
|
||||
@@ -590,7 +590,6 @@ begin
|
||||
SHFileOperation(FileFolderOperation);
|
||||
end;
|
||||
|
||||
// https://github.com/sx2008/Delphi-Test-Apps/blob/master/ShellZipTest/ShellZipTool.pas
|
||||
function Unzip(zipfile : oleVariant): boolean;
|
||||
var
|
||||
shellobj,srcfldr, destfldr, shellfldritems,repertoire: Olevariant;
|
||||
@@ -617,7 +616,6 @@ begin
|
||||
exit;
|
||||
end;
|
||||
|
||||
|
||||
repertoire:=filtre; // mettre dans olevariant
|
||||
|
||||
filtre:='';
|
||||
|
||||
+5
-5
@@ -233,15 +233,15 @@ version 8.41 : Am
|
||||
version 8.42 : Création d'un onglet de paramètres avancés.
|
||||
Fichier d'aide affichable depuis le menu.
|
||||
version 8.43 : Correction d'un bug sur l'importation des détecteurs depuis CDM rail.
|
||||
version 8.44 : Gestion de la centrale Z21 en mode autonome en Xpressnet.
|
||||
version 8.5 : Gestion de la centrale Z21 en mode autonome en Xpressnet.
|
||||
Amélioration des réservations des aiguillages.
|
||||
Amélioration affichages des trajets dans les TCOs.
|
||||
Amélioration des réceptions des trames XpressNet.
|
||||
Ajout d'une action "arrêt des trains" pour les TCOs
|
||||
|
||||
|
||||
|
||||
version 8.51 : Améliorations sur l'affichage des fenêtres aux démarrage.
|
||||
Création commandes des lignes DTR et RTS sur les périphériques COM/USB.
|
||||
Gestion des déconnexions matérielles des ports COM/USB.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user