V8.53
This commit is contained in:
Binary file not shown.
BIN
Binary file not shown.
+125
-126
@@ -1,104 +1,104 @@
|
|||||||
|
|
||||||
Start Length Name Class
|
Start Length Name Class
|
||||||
0001:00000000 0017F73CH .text CODE
|
0001:00000000 0017FCFCH .text CODE
|
||||||
0002:00000000 00002CB0H .data DATA
|
0002:00000000 00002CA0H .data DATA
|
||||||
0002:00002CB0 045E33E9H .bss BSS
|
0002:00002CA0 045F6E41H .bss BSS
|
||||||
|
|
||||||
|
|
||||||
Detailed map of segments
|
Detailed map of segments
|
||||||
|
|
||||||
0001:00000000 00005ED3 C=CODE S=.text G=(none) M=System ACBP=A9
|
0001:00000000 00005F07 C=CODE S=.text G=(none) M=System ACBP=A9
|
||||||
0001:00005ED4 00000140 C=CODE S=.text G=(none) M=SysInit ACBP=A9
|
0001:00005F08 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:00006048 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:00006150 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:00007088 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:000070C0 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:000073F8 00006F8C C=CODE S=.text G=(none) M=SysUtils ACBP=A9
|
||||||
0001:0000E3BC 0000081B C=CODE S=.text G=(none) M=VarUtils ACBP=A9
|
0001:0000E384 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:0000EBA0 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:00016BF0 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:00016D90 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:000175CC 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:00017924 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:00022110 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:00022480 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:0002C07C 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:0002C1A0 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:0002C458 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:0002C5F0 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:0002CD78 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:0002CDB0 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:0002DDA8 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:0002DE00 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:0002EEC8 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:0002F1E8 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:0002F5D8 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:0002FF94 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:0002FFCC 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:00030004 00000040 C=CODE S=.text G=(none) M=ShellAPI ACBP=A9
|
||||||
0001:00030084 00000038 C=CODE S=.text G=(none) M=RegStr ACBP=A9
|
0001:00030044 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:0003007C 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:000300D4 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:0003010C 0000006C C=CODE S=.text G=(none) M=ShlObj ACBP=A9
|
||||||
0001:000301C8 00000060 C=CODE S=.text G=(none) M=CommDlg ACBP=A9
|
0001:00030178 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:000301D8 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:00030210 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:000338E4 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:000383C0 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:00038450 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:00038BF0 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:00038D18 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:0003C53C 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:0003C574 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:0003C5DC 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:0003C644 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:0003C6B0 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:0003C708 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:0003C740 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:00046088 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:00046F28 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:000535C0 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:00053728 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:00054448 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:0006584C 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:00066AE0 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:0006867C 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:0006ED60 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:0007BCEC 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:0007BD3C 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:0008F128 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:0008F188 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:000903E4 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:0009041C 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:00091BB0 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:00091C10 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:0009512C 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:00095440 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:00095568 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:00098FE0 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:000998CC 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:00099E64 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:00099EA4 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:00099EDC 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:0009A8F4 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:0009C9FC 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:000A5C48 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:000A7468 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:000A79E4 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:000BC1C0 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:000BEA5C 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:000BF6C0 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:000C33E4 000320D4 C=CODE S=.text G=(none) M=UnitTCO ACBP=A9
|
||||||
0001:000F554C 00003410 C=CODE S=.text G=(none) M=UnitSR ACBP=A9
|
0001:000F54B8 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:000F88C8 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:000FB07C 00002667 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:000FD6E4 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:000FE8B4 00000DDC C=CODE S=.text G=(none) M=UnitSimule ACBP=A9
|
||||||
0001:000FF72C 00002850 C=CODE S=.text G=(none) M=Unitplace ACBP=A9
|
0001:000FF690 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:00101EE0 0003D627 C=CODE S=.text G=(none) M=UnitPrinc ACBP=A9
|
||||||
0001:0013F21C 0003D35C C=CODE S=.text G=(none) M=UnitConfig ACBP=A9
|
0001:0013F508 0003D4BC C=CODE S=.text G=(none) M=UnitConfig ACBP=A9
|
||||||
0001:0017C578 00002D04 C=CODE S=.text G=(none) M=UnitDebug ACBP=A9
|
0001:0017C9C4 00002E78 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
|
0001:0017F83C 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: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: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
|
0002:000000EC 00000254 C=DATA S=.data G=DGROUP M=SysUtils ACBP=A9
|
||||||
@@ -109,29 +109,28 @@ Detailed map of segments
|
|||||||
0002:00000518 00000080 C=DATA S=.data G=DGROUP M=Classes ACBP=A9
|
0002:00000518 00000080 C=DATA S=.data G=DGROUP M=Classes ACBP=A9
|
||||||
0002:00000598 0000030C C=DATA S=.data G=DGROUP M=Graphics ACBP=A9
|
0002:00000598 0000030C C=DATA S=.data G=DGROUP M=Graphics ACBP=A9
|
||||||
0002:000008A4 00000004 C=DATA S=.data G=DGROUP M=Printers ACBP=A9
|
0002:000008A4 00000004 C=DATA S=.data G=DGROUP M=Printers ACBP=A9
|
||||||
0002:000008A8 00000010 C=DATA S=.data G=DGROUP M=ShlObj ACBP=A9
|
0002:000008A8 00000180 C=DATA S=.data G=DGROUP M=Dialogs ACBP=A9
|
||||||
0002:000008B8 00000180 C=DATA S=.data G=DGROUP M=Dialogs ACBP=A9
|
0002:00000A28 0000018C C=DATA S=.data G=DGROUP M=ExtCtrls ACBP=A9
|
||||||
0002:00000A38 0000018C C=DATA S=.data G=DGROUP M=ExtCtrls ACBP=A9
|
0002:00000BB4 0000009E C=DATA S=.data G=DGROUP M=Buttons ACBP=A9
|
||||||
0002:00000BC4 0000009E C=DATA S=.data G=DGROUP M=Buttons ACBP=A9
|
0002:00000C54 00000008 C=DATA S=.data G=DGROUP M=IniFiles ACBP=A9
|
||||||
0002:00000C64 00000008 C=DATA S=.data G=DGROUP M=IniFiles ACBP=A9
|
0002:00000C5C 00000008 C=DATA S=.data G=DGROUP M=Registry ACBP=A9
|
||||||
0002:00000C6C 00000008 C=DATA S=.data G=DGROUP M=Registry ACBP=A9
|
0002:00000C64 00000008 C=DATA S=.data G=DGROUP M=Mapi ACBP=A9
|
||||||
0002:00000C74 00000008 C=DATA S=.data G=DGROUP M=Mapi ACBP=A9
|
0002:00000C6C 000000B9 C=DATA S=.data G=DGROUP M=ComCtrls ACBP=A9
|
||||||
0002:00000C7C 000000B9 C=DATA S=.data G=DGROUP M=ComCtrls ACBP=A9
|
0002:00000D28 00000068 C=DATA S=.data G=DGROUP M=Themes ACBP=A9
|
||||||
0002:00000D38 00000068 C=DATA S=.data G=DGROUP M=Themes ACBP=A9
|
0002:00000D90 00000154 C=DATA S=.data G=DGROUP M=StdCtrls ACBP=A9
|
||||||
0002:00000DA0 00000154 C=DATA S=.data G=DGROUP M=StdCtrls ACBP=A9
|
0002:00000EE4 0000013C C=DATA S=.data G=DGROUP M=Controls ACBP=A9
|
||||||
0002:00000EF4 0000013C C=DATA S=.data G=DGROUP M=Controls ACBP=A9
|
0002:00001020 00000020 C=DATA S=.data G=DGROUP M=ImgList ACBP=A9
|
||||||
0002:00001030 00000020 C=DATA S=.data G=DGROUP M=ImgList ACBP=A9
|
0002:00001040 000000EC C=DATA S=.data G=DGROUP M=Menus ACBP=A9
|
||||||
0002:00001050 000000EC C=DATA S=.data G=DGROUP M=Menus ACBP=A9
|
0002:0000112C 00000124 C=DATA S=.data G=DGROUP M=Forms ACBP=A9
|
||||||
0002:0000113C 00000124 C=DATA S=.data G=DGROUP M=Forms ACBP=A9
|
0002:00001250 00000908 C=DATA S=.data G=DGROUP M=jpeg ACBP=A9
|
||||||
0002:00001260 00000908 C=DATA S=.data G=DGROUP M=jpeg ACBP=A9
|
0002:00001B58 00000030 C=DATA S=.data G=DGROUP M=ComObj ACBP=A9
|
||||||
0002:00001B68 00000030 C=DATA S=.data G=DGROUP M=ComObj ACBP=A9
|
0002:00001B88 0000002C C=DATA S=.data G=DGROUP M=OleCtrls ACBP=A9
|
||||||
0002:00001B98 0000002C C=DATA S=.data G=DGROUP M=OleCtrls ACBP=A9
|
0002:00001BB4 00000080 C=DATA S=.data G=DGROUP M=MSCommLib_TLB ACBP=A9
|
||||||
0002:00001BC4 00000080 C=DATA S=.data G=DGROUP M=MSCommLib_TLB ACBP=A9
|
0002:00001C34 00000009 C=DATA S=.data G=DGROUP M=MaskUtils ACBP=A9
|
||||||
0002:00001C44 00000009 C=DATA S=.data G=DGROUP M=MaskUtils ACBP=A9
|
0002:00001C40 00000004 C=DATA S=.data G=DGROUP M=Mask ACBP=A9
|
||||||
0002:00001C50 00000004 C=DATA S=.data G=DGROUP M=Mask ACBP=A9
|
0002:00001C44 00000006 C=DATA S=.data G=DGROUP M=Grids ACBP=A9
|
||||||
0002:00001C54 00000006 C=DATA S=.data G=DGROUP M=Grids ACBP=A9
|
0002:00001C4C 000000D4 C=DATA S=.data G=DGROUP M=UnitTCO ACBP=A9
|
||||||
0002:00001C5C 000000D4 C=DATA S=.data G=DGROUP M=UnitTCO ACBP=A9
|
0002:00001D20 0000060D C=DATA S=.data G=DGROUP M=UnitPrinc 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: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: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
|
0002:00003674 00000004 C=BSS S=.bss G=DGROUP M=Types ACBP=A9
|
||||||
@@ -216,13 +215,13 @@ Detailed map of segments
|
|||||||
0002:00018770 00418704 C=BSS S=.bss G=DGROUP M=UnitTCO ACBP=A9
|
0002:00018770 00418704 C=BSS S=.bss G=DGROUP M=UnitTCO ACBP=A9
|
||||||
0002:00430E74 00000010 C=BSS S=.bss G=DGROUP M=UnitSR ACBP=A9
|
0002:00430E74 00000010 C=BSS S=.bss G=DGROUP M=UnitSR ACBP=A9
|
||||||
0002:00430E84 00000014 C=BSS S=.bss G=DGROUP M=UnitCDF ACBP=A9
|
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:00430E98 000001EC 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:00431084 00000004 C=BSS S=.bss G=DGROUP M=UnitPareFeu ACBP=A9
|
||||||
0002:00430EBC 0000000C C=BSS S=.bss G=DGROUP M=UnitSimule ACBP=A9
|
0002:00431088 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:00431094 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:0043109C 041C8808 C=BSS S=.bss G=DGROUP M=UnitPrinc ACBP=A9
|
||||||
0002:045E5E50 0000056C C=BSS S=.bss G=DGROUP M=UnitConfig ACBP=A9
|
0002:045F98A4 00000570 C=BSS S=.bss G=DGROUP M=UnitConfig ACBP=A9
|
||||||
0002:045E63BC 0000002C C=BSS S=.bss G=DGROUP M=UnitDebug ACBP=A9
|
0002:045F9E14 0000002C C=BSS S=.bss G=DGROUP M=UnitDebug ACBP=A9
|
||||||
|
|
||||||
Bound resource files
|
Bound resource files
|
||||||
|
|
||||||
@@ -248,4 +247,4 @@ Signaux_complexes_GL.res
|
|||||||
Signaux_complexes_GL.drf
|
Signaux_complexes_GL.drf
|
||||||
|
|
||||||
|
|
||||||
Program entry point at 0001:0017F58C
|
Program entry point at 0001:0017FB4C
|
||||||
|
|||||||
+22
-9
@@ -681,7 +681,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 8
|
Top = 8
|
||||||
Width = 633
|
Width = 633
|
||||||
Height = 505
|
Height = 505
|
||||||
ActivePage = TabSheetPeriph
|
ActivePage = TabSheetAig
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clBlack
|
Font.Color = clBlack
|
||||||
Font.Height = -11
|
Font.Height = -11
|
||||||
@@ -1987,7 +1987,7 @@ object FormConfig: TFormConfig
|
|||||||
Left = 0
|
Left = 0
|
||||||
Top = 56
|
Top = 56
|
||||||
Width = 305
|
Width = 305
|
||||||
Height = 409
|
Height = 377
|
||||||
Color = clBlack
|
Color = clBlack
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clAqua
|
Font.Color = clAqua
|
||||||
@@ -2003,6 +2003,19 @@ object FormConfig: TFormConfig
|
|||||||
OnKeyDown = ListBoxAigKeyDown
|
OnKeyDown = ListBoxAigKeyDown
|
||||||
OnMouseDown = ListBoxAigMouseDown
|
OnMouseDown = ListBoxAigMouseDown
|
||||||
end
|
end
|
||||||
|
object CheckBoxMsgAigInc: TCheckBox
|
||||||
|
Left = 8
|
||||||
|
Top = 448
|
||||||
|
Width = 273
|
||||||
|
Height = 17
|
||||||
|
Hint =
|
||||||
|
'Affiche un message d'#39'avertissement si un '#233'v'#232'nement est re'#231'u d'#39'un' +
|
||||||
|
' aiguillage non d'#233'clar'#233
|
||||||
|
Caption = 'Affiche un message sur '#233'vt aiguillage inconnu'
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
|
TabOrder = 5
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object TabSheetBranches: TTabSheet
|
object TabSheetBranches: TTabSheet
|
||||||
Caption = 'Branches'
|
Caption = 'Branches'
|
||||||
@@ -2353,7 +2366,7 @@ object FormConfig: TFormConfig
|
|||||||
Width = 137
|
Width = 137
|
||||||
Height = 21
|
Height = 21
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
OnChange = ComboBoxDecChange
|
OnChange = ComboBoxDecChange
|
||||||
end
|
end
|
||||||
@@ -2460,7 +2473,7 @@ object FormConfig: TFormConfig
|
|||||||
Width = 137
|
Width = 137
|
||||||
Height = 21
|
Height = 21
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
OnChange = ComboBoxAspChange
|
OnChange = ComboBoxAspChange
|
||||||
end
|
end
|
||||||
@@ -2753,7 +2766,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 56
|
Top = 56
|
||||||
Width = 193
|
Width = 193
|
||||||
Height = 21
|
Height = 21
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
OnChange = ComboBoxDecodeurPersoChange
|
OnChange = ComboBoxDecodeurPersoChange
|
||||||
end
|
end
|
||||||
@@ -2772,7 +2785,7 @@ object FormConfig: TFormConfig
|
|||||||
Width = 145
|
Width = 145
|
||||||
Height = 21
|
Height = 21
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
OnChange = ComboBoxNationChange
|
OnChange = ComboBoxNationChange
|
||||||
end
|
end
|
||||||
@@ -2818,7 +2831,7 @@ object FormConfig: TFormConfig
|
|||||||
Width = 193
|
Width = 193
|
||||||
Height = 21
|
Height = 21
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
TabOrder = 6
|
TabOrder = 6
|
||||||
OnChange = ComboBoxDecCdeChange
|
OnChange = ComboBoxDecCdeChange
|
||||||
end
|
end
|
||||||
@@ -3203,7 +3216,7 @@ object FormConfig: TFormConfig
|
|||||||
Height = 21
|
Height = 21
|
||||||
Hint = 'Nom de l'#39'accessoire d'#233'fini dans l'#39'onglet "p'#233'riph'#233'riques COM/USB"'
|
Hint = 'Nom de l'#39'accessoire d'#233'fini dans l'#39'onglet "p'#233'riph'#233'riques COM/USB"'
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 6
|
TabOrder = 6
|
||||||
@@ -3384,7 +3397,7 @@ object FormConfig: TFormConfig
|
|||||||
Height = 21
|
Height = 21
|
||||||
Hint = 'Nom de l'#39'accessoire d'#233'fini dans l'#39'onglet "p'#233'riph'#233'riques COM/USB"'
|
Hint = 'Nom de l'#39'accessoire d'#233'fini dans l'#39'onglet "p'#233'riph'#233'riques COM/USB"'
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 10
|
TabOrder = 10
|
||||||
|
|||||||
+20
-1
@@ -357,6 +357,7 @@ type
|
|||||||
TabAvance: TTabSheet;
|
TabAvance: TTabSheet;
|
||||||
Label31: TLabel;
|
Label31: TLabel;
|
||||||
Label39: TLabel;
|
Label39: TLabel;
|
||||||
|
CheckBoxMsgAigInc: TCheckBox;
|
||||||
procedure ButtonAppliquerEtFermerClick(Sender: TObject);
|
procedure ButtonAppliquerEtFermerClick(Sender: TObject);
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure ListBoxAigMouseDown(Sender: TObject; Button: TMouseButton;
|
procedure ListBoxAigMouseDown(Sender: TObject; Button: TMouseButton;
|
||||||
@@ -578,6 +579,7 @@ Avec_roulage_ch='Avec_roulage';
|
|||||||
nb_det_dist_ch='nb_det_dist';
|
nb_det_dist_ch='nb_det_dist';
|
||||||
IpV4_PC_ch='IpV4_PC';
|
IpV4_PC_ch='IpV4_PC';
|
||||||
ServicesCDM_ch='ServicesCDM';
|
ServicesCDM_ch='ServicesCDM';
|
||||||
|
AffAigND_ch='AigND';
|
||||||
retro_ch='retro';
|
retro_ch='retro';
|
||||||
Ecran_ch='Ecran';
|
Ecran_ch='Ecran';
|
||||||
Z21_ch='Z21';
|
Z21_ch='Z21';
|
||||||
@@ -651,7 +653,7 @@ var
|
|||||||
|
|
||||||
ack_cdm,clicliste,config_modifie,clicproprietes,confasauver,trouve_MaxPort,fermeSC,
|
ack_cdm,clicliste,config_modifie,clicproprietes,confasauver,trouve_MaxPort,fermeSC,
|
||||||
modif_branches,ConfigPrete,trouve_section_dccpp,trouve_section_trains,trouve_section_acccomusb,
|
modif_branches,ConfigPrete,trouve_section_dccpp,trouve_section_trains,trouve_section_acccomusb,
|
||||||
trouveAvecVerifIconesTCO,Affiche_avert,activ,trouve_section_dec_pers,Z21 : boolean;
|
trouveAvecVerifIconesTCO,Affiche_avert,activ,trouve_section_dec_pers,Z21,AffAigND : boolean;
|
||||||
|
|
||||||
fichier : text;
|
fichier : text;
|
||||||
|
|
||||||
@@ -1873,6 +1875,9 @@ begin
|
|||||||
if Raz_Acc_signaux then s:='1' else s:='0';
|
if Raz_Acc_signaux then s:='1' else s:='0';
|
||||||
writeln(fichierN,Raz_signaux_ch+'='+s);
|
writeln(fichierN,Raz_signaux_ch+'='+s);
|
||||||
|
|
||||||
|
if AffAigND then s:='1' else s:='0';
|
||||||
|
writeln(fichierN,AffAigND_ch+'='+s);
|
||||||
|
|
||||||
// temporisation entre 2 commandes décodeurs signaux
|
// temporisation entre 2 commandes décodeurs signaux
|
||||||
writeln(fichierN,Tempo_signal_ch+'=',IntToSTR(Tempo_Signal));
|
writeln(fichierN,Tempo_signal_ch+'=',IntToSTR(Tempo_Signal));
|
||||||
|
|
||||||
@@ -3691,6 +3696,17 @@ var s,sa,SOrigine: string;
|
|||||||
Raz_Acc_signaux:=i=1;
|
Raz_Acc_signaux:=i=1;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
sa:=uppercase(AffAigND_ch)+'=';
|
||||||
|
i:=pos(sa,s);
|
||||||
|
if i=1 then
|
||||||
|
begin
|
||||||
|
inc(nv);
|
||||||
|
delete(s,i,length(sa));
|
||||||
|
val(s,i,erreur);
|
||||||
|
if i>1 then i:=1;
|
||||||
|
AffAigND:=i=1;
|
||||||
|
end;
|
||||||
|
|
||||||
// section aiguillages
|
// section aiguillages
|
||||||
sa:=uppercase(section_aig_ch);
|
sa:=uppercase(section_aig_ch);
|
||||||
if pos(sa,s)<>0 then
|
if pos(sa,s)<>0 then
|
||||||
@@ -4159,6 +4175,7 @@ begin
|
|||||||
Srvc_Pos:=CheckServPosTrains.checked;
|
Srvc_Pos:=CheckServPosTrains.checked;
|
||||||
Srvc_Sig:=CheckBoxSrvSig.checked;
|
Srvc_Sig:=CheckBoxSrvSig.checked;
|
||||||
Raz_Acc_signaux:=CheckBoxRazSignaux.checked;
|
Raz_Acc_signaux:=CheckBoxRazSignaux.checked;
|
||||||
|
AffAigND:=CheckBoxMsgAigInc.checked;
|
||||||
AvecInitAiguillages:=CheckBoxInitAig.Checked;
|
AvecInitAiguillages:=CheckBoxInitAig.Checked;
|
||||||
AvecDemandeAiguillages:=checkPosAig.checked;
|
AvecDemandeAiguillages:=checkPosAig.checked;
|
||||||
AvecDemandeInterfaceUSB:=CheckBoxDemarUSB.checked;
|
AvecDemandeInterfaceUSB:=CheckBoxDemarUSB.checked;
|
||||||
@@ -5960,6 +5977,7 @@ begin
|
|||||||
' = 2 : protocole matériel RTS-CTS sans temporisation d''envoi (Interfaces Lenz LI)'+#13+
|
' = 2 : protocole matériel RTS-CTS sans temporisation d''envoi (Interfaces Lenz LI)'+#13+
|
||||||
' = 4 : contrôle de la ligne CTS avant d''émettre un caractère avec temporisation d''envoi';
|
' = 4 : contrôle de la ligne CTS avant d''émettre un caractère avec temporisation d''envoi';
|
||||||
EditComUSB.showHint:=true;
|
EditComUSB.showHint:=true;
|
||||||
|
ListBoxAig.Height:=382;
|
||||||
|
|
||||||
ligneclicAig:=-1;
|
ligneclicAig:=-1;
|
||||||
AncLigneClicAig:=-1;
|
AncLigneClicAig:=-1;
|
||||||
@@ -14436,6 +14454,7 @@ begin
|
|||||||
CheckBoxSrvSig.Checked:=Srvc_Sig;
|
CheckBoxSrvSig.Checked:=Srvc_Sig;
|
||||||
|
|
||||||
CheckBoxRazSignaux.checked:=Raz_Acc_signaux;
|
CheckBoxRazSignaux.checked:=Raz_Acc_signaux;
|
||||||
|
CheckBoxMsgAigInc.checked:=AffAigND;
|
||||||
CheckBoxInitAig.checked:=AvecInitAiguillages;
|
CheckBoxInitAig.checked:=AvecInitAiguillages;
|
||||||
CheckPosAig.checked:=AvecDemandeAiguillages;
|
CheckPosAig.checked:=AvecDemandeAiguillages;
|
||||||
CheckBoxDemarUSB.checked:=AvecDemandeInterfaceUSB;
|
CheckBoxDemarUSB.checked:=AvecDemandeInterfaceUSB;
|
||||||
|
|||||||
+37
-37
@@ -1,13 +1,13 @@
|
|||||||
object FormDebug: TFormDebug
|
object FormDebug: TFormDebug
|
||||||
Left = 196
|
Left = 244
|
||||||
Top = 37
|
Top = 119
|
||||||
VertScrollBar.Increment = 67
|
VertScrollBar.Increment = 67
|
||||||
VertScrollBar.Tracking = True
|
VertScrollBar.Tracking = True
|
||||||
VertScrollBar.Visible = False
|
VertScrollBar.Visible = False
|
||||||
AutoScroll = False
|
AutoScroll = False
|
||||||
Caption = 'Fen'#234'tre de d'#233'bug'
|
Caption = 'Fen'#234'tre de d'#233'bug'
|
||||||
ClientHeight = 757
|
ClientHeight = 662
|
||||||
ClientWidth = 946
|
ClientWidth = 878
|
||||||
Color = clWindow
|
Color = clWindow
|
||||||
TransparentColorValue = clTeal
|
TransparentColorValue = clTeal
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
@@ -22,25 +22,25 @@ object FormDebug: TFormDebug
|
|||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
OnKeyPress = FormKeyPress
|
OnKeyPress = FormKeyPress
|
||||||
DesignSize = (
|
DesignSize = (
|
||||||
946
|
878
|
||||||
757)
|
662)
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
object ScrollBoxDebug: TScrollBox
|
object ScrollBoxDebug: TScrollBox
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 940
|
Width = 872
|
||||||
Height = 772
|
Height = 677
|
||||||
HorzScrollBar.Visible = False
|
HorzScrollBar.Visible = False
|
||||||
Anchors = [akLeft, akTop, akRight, akBottom]
|
Anchors = [akLeft, akTop, akRight, akBottom]
|
||||||
Color = clBtnFace
|
Color = clBtnFace
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
DesignSize = (
|
DesignSize = (
|
||||||
919
|
851
|
||||||
768)
|
673)
|
||||||
object LabelTitreDebug: TLabel
|
object LabelTitreDebug: TLabel
|
||||||
Left = 543
|
Left = 475
|
||||||
Top = 8
|
Top = 8
|
||||||
Width = 131
|
Width = 131
|
||||||
Height = 18
|
Height = 18
|
||||||
@@ -54,7 +54,7 @@ object FormDebug: TFormDebug
|
|||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
Left = 695
|
Left = 627
|
||||||
Top = 10
|
Top = 10
|
||||||
Width = 108
|
Width = 108
|
||||||
Height = 13
|
Height = 13
|
||||||
@@ -72,7 +72,7 @@ object FormDebug: TFormDebug
|
|||||||
object RichDebug: TRichEdit
|
object RichDebug: TRichEdit
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 522
|
Width = 454
|
||||||
Height = 753
|
Height = 753
|
||||||
Anchors = [akLeft, akTop, akRight]
|
Anchors = [akLeft, akTop, akRight]
|
||||||
Color = clMaroon
|
Color = clMaroon
|
||||||
@@ -84,7 +84,7 @@ object FormDebug: TFormDebug
|
|||||||
OnChange = RichDebugChange
|
OnChange = RichDebugChange
|
||||||
end
|
end
|
||||||
object ButtonRazTout: TButton
|
object ButtonRazTout: TButton
|
||||||
Left = 533
|
Left = 465
|
||||||
Top = 216
|
Top = 216
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 25
|
Height = 25
|
||||||
@@ -99,7 +99,7 @@ object FormDebug: TFormDebug
|
|||||||
OnClick = ButtonRazToutClick
|
OnClick = ButtonRazToutClick
|
||||||
end
|
end
|
||||||
object ButtonCop: TButton
|
object ButtonCop: TButton
|
||||||
Left = 533
|
Left = 465
|
||||||
Top = 248
|
Top = 248
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 41
|
Height = 41
|
||||||
@@ -116,7 +116,7 @@ object FormDebug: TFormDebug
|
|||||||
OnClick = ButtonCopClick
|
OnClick = ButtonCopClick
|
||||||
end
|
end
|
||||||
object ButtonAffEvtChrono: TButton
|
object ButtonAffEvtChrono: TButton
|
||||||
Left = 533
|
Left = 465
|
||||||
Top = 296
|
Top = 296
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 33
|
Height = 33
|
||||||
@@ -127,7 +127,7 @@ object FormDebug: TFormDebug
|
|||||||
OnClick = ButtonAffEvtChronoClick
|
OnClick = ButtonAffEvtChronoClick
|
||||||
end
|
end
|
||||||
object ButtonCherche: TButton
|
object ButtonCherche: TButton
|
||||||
Left = 533
|
Left = 465
|
||||||
Top = 336
|
Top = 336
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 25
|
Height = 25
|
||||||
@@ -140,7 +140,7 @@ object FormDebug: TFormDebug
|
|||||||
OnClick = ButtonChercheClick
|
OnClick = ButtonChercheClick
|
||||||
end
|
end
|
||||||
object ButtonEcrLog: TButton
|
object ButtonEcrLog: TButton
|
||||||
Left = 533
|
Left = 465
|
||||||
Top = 184
|
Top = 184
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 29
|
Height = 29
|
||||||
@@ -150,7 +150,7 @@ object FormDebug: TFormDebug
|
|||||||
OnClick = ButtonEcrLogClick
|
OnClick = ButtonEcrLogClick
|
||||||
end
|
end
|
||||||
object ButtonRazTampon: TButton
|
object ButtonRazTampon: TButton
|
||||||
Left = 533
|
Left = 465
|
||||||
Top = 368
|
Top = 368
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 33
|
Height = 33
|
||||||
@@ -161,7 +161,7 @@ object FormDebug: TFormDebug
|
|||||||
OnClick = ButtonRazTamponClick
|
OnClick = ButtonRazTamponClick
|
||||||
end
|
end
|
||||||
object ButtonRazLog: TButton
|
object ButtonRazLog: TButton
|
||||||
Left = 533
|
Left = 465
|
||||||
Top = 408
|
Top = 408
|
||||||
Width = 97
|
Width = 97
|
||||||
Height = 33
|
Height = 33
|
||||||
@@ -172,7 +172,7 @@ object FormDebug: TFormDebug
|
|||||||
OnClick = ButtonRazLogClick
|
OnClick = ButtonRazLogClick
|
||||||
end
|
end
|
||||||
object MemoEvtDet: TRichEdit
|
object MemoEvtDet: TRichEdit
|
||||||
Left = 638
|
Left = 570
|
||||||
Top = 186
|
Top = 186
|
||||||
Width = 272
|
Width = 272
|
||||||
Height = 263
|
Height = 263
|
||||||
@@ -183,7 +183,7 @@ object FormDebug: TFormDebug
|
|||||||
OnChange = MemoEvtDetChange
|
OnChange = MemoEvtDetChange
|
||||||
end
|
end
|
||||||
object GroupBox5: TGroupBox
|
object GroupBox5: TGroupBox
|
||||||
Left = 530
|
Left = 462
|
||||||
Top = 456
|
Top = 456
|
||||||
Width = 380
|
Width = 380
|
||||||
Height = 57
|
Height = 57
|
||||||
@@ -250,7 +250,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
object GroupBox6: TGroupBox
|
object GroupBox6: TGroupBox
|
||||||
Left = 530
|
Left = 462
|
||||||
Top = 520
|
Top = 520
|
||||||
Width = 380
|
Width = 380
|
||||||
Height = 52
|
Height = 52
|
||||||
@@ -327,7 +327,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
object GroupBoxPrim: TGroupBox
|
object GroupBoxPrim: TGroupBox
|
||||||
Left = 532
|
Left = 464
|
||||||
Top = 584
|
Top = 584
|
||||||
Width = 378
|
Width = 378
|
||||||
Height = 185
|
Height = 185
|
||||||
@@ -345,12 +345,12 @@ object FormDebug: TFormDebug
|
|||||||
object GroupBox3: TGroupBox
|
object GroupBox3: TGroupBox
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 16
|
Top = 16
|
||||||
Width = 353
|
Width = 361
|
||||||
Height = 73
|
Height = 73
|
||||||
Caption = 'Signal'
|
Caption = 'Signal'
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
object Label4: TLabel
|
object Label4: TLabel
|
||||||
Left = 313
|
Left = 321
|
||||||
Top = 10
|
Top = 10
|
||||||
Width = 32
|
Width = 32
|
||||||
Height = 13
|
Height = 13
|
||||||
@@ -363,7 +363,7 @@ object FormDebug: TFormDebug
|
|||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object ButtonSigSuiv: TButton
|
object ButtonSigSuiv: TButton
|
||||||
Left = 0
|
Left = 8
|
||||||
Top = 16
|
Top = 16
|
||||||
Width = 49
|
Width = 49
|
||||||
Height = 49
|
Height = 49
|
||||||
@@ -376,7 +376,7 @@ object FormDebug: TFormDebug
|
|||||||
OnClick = ButtonSigSuivClick
|
OnClick = ButtonSigSuivClick
|
||||||
end
|
end
|
||||||
object ButtonCanSuivSig: TButton
|
object ButtonCanSuivSig: TButton
|
||||||
Left = 48
|
Left = 56
|
||||||
Top = 16
|
Top = 16
|
||||||
Width = 65
|
Width = 65
|
||||||
Height = 49
|
Height = 49
|
||||||
@@ -389,7 +389,7 @@ object FormDebug: TFormDebug
|
|||||||
OnClick = ButtonCanSuivSigClick
|
OnClick = ButtonCanSuivSigClick
|
||||||
end
|
end
|
||||||
object EditSigSuiv: TEdit
|
object EditSigSuiv: TEdit
|
||||||
Left = 312
|
Left = 320
|
||||||
Top = 32
|
Top = 32
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 21
|
Height = 21
|
||||||
@@ -399,7 +399,7 @@ object FormDebug: TFormDebug
|
|||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
end
|
end
|
||||||
object ButtonCP: TButton
|
object ButtonCP: TButton
|
||||||
Left = 112
|
Left = 120
|
||||||
Top = 16
|
Top = 16
|
||||||
Width = 81
|
Width = 81
|
||||||
Height = 49
|
Height = 49
|
||||||
@@ -412,7 +412,7 @@ object FormDebug: TFormDebug
|
|||||||
OnClick = ButtonCPClick
|
OnClick = ButtonCPClick
|
||||||
end
|
end
|
||||||
object Button2: TButton
|
object Button2: TButton
|
||||||
Left = 192
|
Left = 200
|
||||||
Top = 16
|
Top = 16
|
||||||
Width = 57
|
Width = 57
|
||||||
Height = 49
|
Height = 49
|
||||||
@@ -427,7 +427,7 @@ object FormDebug: TFormDebug
|
|||||||
OnClick = Button2Click
|
OnClick = Button2Click
|
||||||
end
|
end
|
||||||
object ButtonAigDevie: TButton
|
object ButtonAigDevie: TButton
|
||||||
Left = 248
|
Left = 256
|
||||||
Top = 16
|
Top = 16
|
||||||
Width = 57
|
Width = 57
|
||||||
Height = 49
|
Height = 49
|
||||||
@@ -443,7 +443,7 @@ object FormDebug: TFormDebug
|
|||||||
object GroupBox4: TGroupBox
|
object GroupBox4: TGroupBox
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 96
|
Top = 96
|
||||||
Width = 353
|
Width = 361
|
||||||
Height = 81
|
Height = 81
|
||||||
Caption = 'D'#233'tecteur/'#233'l'#233'ment suivant'
|
Caption = 'D'#233'tecteur/'#233'l'#233'ment suivant'
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
@@ -462,7 +462,7 @@ object FormDebug: TFormDebug
|
|||||||
OnClick = ButtonDetSuivClick
|
OnClick = ButtonDetSuivClick
|
||||||
end
|
end
|
||||||
object EditPrec: TEdit
|
object EditPrec: TEdit
|
||||||
Left = 208
|
Left = 216
|
||||||
Top = 34
|
Top = 34
|
||||||
Width = 49
|
Width = 49
|
||||||
Height = 21
|
Height = 21
|
||||||
@@ -472,7 +472,7 @@ object FormDebug: TFormDebug
|
|||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
end
|
end
|
||||||
object EditActuel: TEdit
|
object EditActuel: TEdit
|
||||||
Left = 264
|
Left = 272
|
||||||
Top = 34
|
Top = 34
|
||||||
Width = 49
|
Width = 49
|
||||||
Height = 21
|
Height = 21
|
||||||
@@ -498,7 +498,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
object GroupBox2: TGroupBox
|
object GroupBox2: TGroupBox
|
||||||
Left = 534
|
Left = 466
|
||||||
Top = 28
|
Top = 28
|
||||||
Width = 376
|
Width = 376
|
||||||
Height = 149
|
Height = 149
|
||||||
@@ -711,7 +711,7 @@ object FormDebug: TFormDebug
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
object EditNivDebug: TEdit
|
object EditNivDebug: TEdit
|
||||||
Left = 819
|
Left = 751
|
||||||
Top = 8
|
Top = 8
|
||||||
Width = 49
|
Width = 49
|
||||||
Height = 21
|
Height = 21
|
||||||
|
|||||||
+7
-6
@@ -1,6 +1,6 @@
|
|||||||
object FormPrinc: TFormPrinc
|
object FormPrinc: TFormPrinc
|
||||||
Left = 180
|
Left = 134
|
||||||
Top = 135
|
Top = 180
|
||||||
Width = 1148
|
Width = 1148
|
||||||
Height = 618
|
Height = 618
|
||||||
Anchors = [akLeft, akTop, akRight]
|
Anchors = [akLeft, akTop, akRight]
|
||||||
@@ -20,8 +20,8 @@ object FormPrinc: TFormPrinc
|
|||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
OnResize = FormResize
|
OnResize = FormResize
|
||||||
DesignSize = (
|
DesignSize = (
|
||||||
1132
|
1140
|
||||||
560)
|
567)
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
object LabelTitre: TLabel
|
object LabelTitre: TLabel
|
||||||
@@ -1430,8 +1430,8 @@ object FormPrinc: TFormPrinc
|
|||||||
end
|
end
|
||||||
object StatusBar1: TStatusBar
|
object StatusBar1: TStatusBar
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 538
|
Top = 545
|
||||||
Width = 1132
|
Width = 1140
|
||||||
Height = 22
|
Height = 22
|
||||||
Panels = <
|
Panels = <
|
||||||
item
|
item
|
||||||
@@ -2124,6 +2124,7 @@ object FormPrinc: TFormPrinc
|
|||||||
end
|
end
|
||||||
object DeconnecterUSB: TMenuItem
|
object DeconnecterUSB: TMenuItem
|
||||||
Caption = 'D'#233'connecter l'#39'interface de l'#39'USB'
|
Caption = 'D'#233'connecter l'#39'interface de l'#39'USB'
|
||||||
|
Enabled = False
|
||||||
Hint = 'D'#233'connecter l'#39'interface USB'
|
Hint = 'D'#233'connecter l'#39'interface USB'
|
||||||
OnClick = DeconnecterUSBClick
|
OnClick = DeconnecterUSBClick
|
||||||
end
|
end
|
||||||
|
|||||||
+47
-26
@@ -714,7 +714,8 @@ var
|
|||||||
record
|
record
|
||||||
tick : longint;
|
tick : longint;
|
||||||
modele : Tequipement;
|
modele : Tequipement;
|
||||||
Adresse,etat : integer ;
|
Adresse,Adresse2,etat : integer ;
|
||||||
|
train : string;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
tablo_CV : array [1..255] of integer;
|
tablo_CV : array [1..255] of integer;
|
||||||
@@ -5469,7 +5470,7 @@ end;
|
|||||||
// un élément est constitué de son adresse et de son type
|
// un élément est constitué de son adresse et de son type
|
||||||
// et renvoie aussi en variable globale: typeGen le type de l'élément (det aig uniquement! pas tjd ni crois)
|
// et renvoie aussi en variable globale: typeGen le type de l'élément (det aig uniquement! pas tjd ni crois)
|
||||||
// : AigMal = aiguillage mal positionné ou inconnu
|
// : AigMal = aiguillage mal positionné ou inconnu
|
||||||
// alg= algorithme 1 à 8 sous forme de bits fonctionnels
|
// alg= algorithme 1 à 8 sous forme de bits fonctionnels:
|
||||||
// bit0 (1)=arret sur suivant qu'il soit un détecteur ou un aiguillage
|
// bit0 (1)=arret sur suivant qu'il soit un détecteur ou un aiguillage
|
||||||
// bit1 (2)=arret sur aiguillage en talon mal positionné
|
// bit1 (2)=arret sur aiguillage en talon mal positionné
|
||||||
// bit2 (4)=arret sur aiguillage réservé
|
// bit2 (4)=arret sur aiguillage réservé
|
||||||
@@ -5482,11 +5483,13 @@ end;
|
|||||||
// 9996: arrêt sur position inconnue d'aiguillage
|
// 9996: arrêt sur position inconnue d'aiguillage
|
||||||
// 9995: arrêt sur buttoir
|
// 9995: arrêt sur buttoir
|
||||||
// 9994: arrêt sur aiguillage réservé
|
// 9994: arrêt sur aiguillage réservé
|
||||||
|
// 9993: éléments non consécutifs
|
||||||
|
|
||||||
// la variable "actuel" peut etre changée en cas de TJD!
|
// la variable "actuel" peut etre changée en cas de TJD!
|
||||||
function suivant_alg3(prec : integer;typeELprec : TEquipement;actuel : integer;typeElActuel : TEquipement;alg : integer) : integer;
|
function suivant_alg3(prec : integer;typeELprec : TEquipement;actuel : integer;typeElActuel : TEquipement;alg : integer) : integer;
|
||||||
var Adr,AdrPrec,indexBranche_prec,branche_trouve_prec,indexBranche_actuel,branche_trouve_actuel,
|
var Adr,AdrPrec,indexBranche_prec,branche_trouve_prec,indexBranche_actuel,branche_trouve_actuel,
|
||||||
tjsc1,tjsc2,AdrTjdP,Adr2,N_iteration,index,NetatTJD,index2 : integer;
|
tjsc1,tjsc2,AdrTjdP,Adr2,N_iteration,index,NetatTJD,index2 : integer;
|
||||||
tjscourbe1,tjscourbe2,tjdC,tjsC : boolean;
|
tjscourbe1,tjscourbe2,tjdC,tjsC,id : boolean;
|
||||||
A,Aprec,tjsc1B,tjsc2B,typeprec: char;
|
A,Aprec,tjsc1B,tjsc2B,typeprec: char;
|
||||||
Md,BT,BtypePrec,TypeEL : TEquipement;
|
Md,BT,BtypePrec,TypeEL : TEquipement;
|
||||||
s : string;
|
s : string;
|
||||||
@@ -5504,7 +5507,7 @@ begin
|
|||||||
Suivant_alg3:=9999;exit;
|
Suivant_alg3:=9999;exit;
|
||||||
end;
|
end;
|
||||||
if (NivDebug=3) then
|
if (NivDebug=3) then
|
||||||
AfficheDebug('Alg3 précédent='+intToSTR(prec)+'/'+BtypeToChaine(TypeElprec)+' actuel='+intToSTR(actuel)+'/'+BtypeToChaine(typeElActuel)+' Alg='+intToSTr(alg),clyellow);
|
AfficheDebug('it='+intToSTR(n_iteration)+' Alg3 précédent='+intToSTR(prec)+'/'+BtypeToChaine(TypeElprec)+' actuel='+intToSTR(actuel)+'/'+BtypeToChaine(typeElActuel)+' Alg='+intToSTr(alg),clyellow);
|
||||||
|
|
||||||
// trouver les éléments du précédent dans les branches
|
// trouver les éléments du précédent dans les branches
|
||||||
trouve_element(prec,TypeELPrec); // branche_trouve IndexBranche_trouve
|
trouve_element(prec,TypeELPrec); // branche_trouve IndexBranche_trouve
|
||||||
@@ -5531,13 +5534,15 @@ begin
|
|||||||
Adr:=actuel;
|
Adr:=actuel;
|
||||||
Bt:=BrancheN[branche_trouve_actuel,indexBranche_actuel].Btype;
|
Bt:=BrancheN[branche_trouve_actuel,indexBranche_actuel].Btype;
|
||||||
|
|
||||||
//Affiche('Btype='+intToSTR(Btype)+' Actuel='+inTToSTR(actuel),clyellow);
|
if nivDebug=3 then AfficheDebug('Btype='+BTypeToChaine(Bt)+' Actuel='+inTToSTR(actuel),clyellow);
|
||||||
|
|
||||||
|
id:=false;
|
||||||
if Bt=det then // l'élément actuel est un détecteur
|
if Bt=det then // l'élément actuel est un détecteur
|
||||||
begin
|
begin
|
||||||
// on part de l'actuel pour retomber sur le précédent
|
// on part de l'actuel pour retomber sur le précédent
|
||||||
if BrancheN[branche_trouve_actuel,indexBranche_actuel-1].Adresse=prec then // c'est l'autre sens
|
if BrancheN[branche_trouve_actuel,indexBranche_actuel-1].Adresse=prec then // c'est l'autre sens
|
||||||
begin
|
begin
|
||||||
|
id:=true;
|
||||||
if NivDebug=3 then AfficheDebug('40 - trouvé détecteur '+intToSTR(adr)+' en + ',clwhite);
|
if NivDebug=3 then AfficheDebug('40 - trouvé détecteur '+intToSTR(adr)+' en + ',clwhite);
|
||||||
Prec:=Adr;
|
Prec:=Adr;
|
||||||
Aprec:=a;
|
Aprec:=a;
|
||||||
@@ -5554,6 +5559,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
if BrancheN[branche_trouve_actuel,indexBranche_actuel+1].Adresse=prec then
|
if BrancheN[branche_trouve_actuel,indexBranche_actuel+1].Adresse=prec then
|
||||||
begin
|
begin
|
||||||
|
id:=true;
|
||||||
if NivDebug=3 then AfficheDebug('42 - trouvé détecteur '+intToSTR(adr)+' en - ',clwhite);
|
if NivDebug=3 then AfficheDebug('42 - trouvé détecteur '+intToSTR(adr)+' en - ',clwhite);
|
||||||
Prec:=Adr;
|
Prec:=Adr;
|
||||||
Aprec:=a;
|
Aprec:=a;
|
||||||
@@ -5571,6 +5577,7 @@ begin
|
|||||||
// ici, les éléments sont non consécutifs. voir si l'un des deux est une TJD/TJS
|
// ici, les éléments sont non consécutifs. voir si l'un des deux est une TJD/TJS
|
||||||
if (btypePrec=aig) then // car btype dans les branches vaut det, aig, buttoir mais jamais tjd ni tjs
|
if (btypePrec=aig) then // car btype dans les branches vaut det, aig, buttoir mais jamais tjd ni tjs
|
||||||
begin
|
begin
|
||||||
|
id:=true;
|
||||||
// changer l'adresse du précédent par l'autre adresse de la TJD/S
|
// changer l'adresse du précédent par l'autre adresse de la TJD/S
|
||||||
// V1 index:=index_aig(prec);
|
// V1 index:=index_aig(prec);
|
||||||
index:=tablo_index_aiguillage[prec];
|
index:=tablo_index_aiguillage[prec];
|
||||||
@@ -5579,9 +5586,16 @@ begin
|
|||||||
begin
|
begin
|
||||||
//V1 prec:=Aiguillage[index_aig(prec)].Ddroit;
|
//V1 prec:=Aiguillage[index_aig(prec)].Ddroit;
|
||||||
prec:=Aiguillage[tablo_index_aiguillage[prec]].Ddroit;
|
prec:=Aiguillage[tablo_index_aiguillage[prec]].Ddroit;
|
||||||
if NivDebug=3 then AfficheDebug('Le précedent est une TJD/S - substitution du precédent par la pointe de la TJD qui est '+intToSTR(prec),clYellow);
|
if NivDebug=3 then AfficheDebug('Le précedent est une TJD/S - substitution du précédent par la pointe de la TJD qui est '+intToSTR(prec),clYellow);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
if not(id) then
|
||||||
|
begin
|
||||||
|
Affiche('Erreur 780 alg3: '+intToSTR(prec)+' '+intToSTR(actuel)+' non consécutifs',clRed);
|
||||||
|
result:=9993;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
inc(n_iteration);
|
inc(n_iteration);
|
||||||
|
|
||||||
if n_iteration>50 then
|
if n_iteration>50 then
|
||||||
@@ -5620,7 +5634,7 @@ begin
|
|||||||
if (alg and $4=$4) and (aiguillage[index].AdrTrain<>0) then
|
if (alg and $4=$4) and (aiguillage[index].AdrTrain<>0) then
|
||||||
begin
|
begin
|
||||||
if NivDebug=3 then AfficheDebug('230 - aiguillage '+intToSTR(adr)+' réservé par train @'+intToSTR(aiguillage[index].AdrTrain),clyellow);
|
if NivDebug=3 then AfficheDebug('230 - aiguillage '+intToSTR(adr)+' réservé par train @'+intToSTR(aiguillage[index].AdrTrain),clyellow);
|
||||||
suivant_alg3:=9997; //. attention code incorrect devrait être 9994
|
suivant_alg3:=9997; // attention code incorrect devrait être 9994
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -6873,7 +6887,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
IndexBranche:=IndexBranche_trouve;
|
IndexBranche:=IndexBranche_trouve;
|
||||||
branche:=branche_trouve;
|
branche:=branche_trouve;
|
||||||
Dir:=1 ; //test direction
|
Dir:=1 ; //test direction 1 ou 2 (incrément ou décrément)
|
||||||
|
|
||||||
repeat
|
repeat
|
||||||
if (Dir=1) then i:=IndexBranche-1 else i:=IndexBranche+1;
|
if (Dir=1) then i:=IndexBranche-1 else i:=IndexBranche+1;
|
||||||
@@ -10081,8 +10095,10 @@ begin
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
Affiche_evt('1-0 Les éléments '+intToSTR(det1)+' et '+intToSTR(det3)+' ne sont pas contigus',clyellow);
|
Affiche_evt('1-0 Train '+intToSTR(i)+' Eléments '+intToSTR(det1)+' et '+intToSTR(det3)+' non contigus',clyellow);
|
||||||
for tco:=1 to nbreTCO do maj_tco(i,det3);
|
|
||||||
|
for tco:=1 to nbreTCO do
|
||||||
|
maj_tco(tco,det3);
|
||||||
// det3 et det1 non adjacents
|
// det3 et det1 non adjacents
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@@ -10348,7 +10364,7 @@ begin
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
//Affiche_Evt('Route invalide: dét '+intToSTR(det2)+' '+intToSTR(det3)+' non contigus',clOrange);
|
Affiche_evt('2-0 Train '+intToSTR(i)+' Eléments '+intToSTR(det2)+' et '+intToSTR(det3)+' non contigus',clyellow);
|
||||||
if event_det_train[i].det[2].adresse=det3 then
|
if event_det_train[i].det[2].adresse=det3 then
|
||||||
begin
|
begin
|
||||||
s:='7. Rebond dét. '+intToSTR(det3)+' déjà affecté au train '+IntToSTR(i);
|
s:='7. Rebond dét. '+intToSTR(det3)+' déjà affecté au train '+IntToSTR(i);
|
||||||
@@ -10936,15 +10952,14 @@ begin
|
|||||||
ancien_actionneur[adr]:=etat;
|
ancien_actionneur[adr]:=etat;
|
||||||
if not(fd) and not(fm) then exit;
|
if not(fd) and not(fm) then exit;
|
||||||
|
|
||||||
if AffAigDet then AfficheDebug('Tick='+IntToSTR(tick)+' Evt Act '+intToSTR(Adr)+'/'+intToSTR(Adr2)+'='+intToSTR(etat),clyellow);
|
if AffAigDet then AfficheDebug('Tick='+IntToSTR(tick)+' Evt Act='+intToSTR(Adr)+'/'+intToSTR(Adr2)+'='+intToSTR(etat)+' Train='+trainDecl,clyellow);
|
||||||
|
|
||||||
// vérifier si l'actionneur en évènement a été déclaré pour réagir
|
// vérifier si l'actionneur en évènement a été déclaré pour réagir
|
||||||
// dans tableau des actionneurs
|
// dans tableau des actionneurs
|
||||||
for i:=1 to maxTablo_act do
|
for i:=1 to maxTablo_act do
|
||||||
begin
|
begin
|
||||||
sDecl:=Tablo_actionneur[i].trainDecl;
|
sDecl:=Tablo_actionneur[i].trainDecl;
|
||||||
etatAct:=Tablo_actionneur[i].etat ; // état à réagir
|
etatAct:=Tablo_actionneur[i].etat ; // état à réagir
|
||||||
etatValide:=((etatAct=etat) and fm) or ((etatAct=0) and fd);
|
etatValide:=((etatAct=etat) and fm) or ((etatAct=0) and fd); // front montant ou descendant
|
||||||
typ:=Tablo_actionneur[i].typdeclenche; // déclencheur: 0=actioneur/détecteur 2=evt aig 3=MemZone
|
typ:=Tablo_actionneur[i].typdeclenche; // déclencheur: 0=actioneur/détecteur 2=evt aig 3=MemZone
|
||||||
if typ=0 then
|
if typ=0 then
|
||||||
begin
|
begin
|
||||||
@@ -11445,7 +11460,9 @@ begin
|
|||||||
begin
|
begin
|
||||||
evalue;evalue;evalue;
|
evalue;evalue;evalue;
|
||||||
end;
|
end;
|
||||||
end;
|
end
|
||||||
|
|
||||||
|
else if AffAigND then affiche('Avertissement 47 : un evt aiguillage '+intToSTR(adresse)+' non déclaré a été reçu',clOrange);
|
||||||
|
|
||||||
// evt actionneur d'aiguillage
|
// evt actionneur d'aiguillage
|
||||||
for i:=1 to maxTablo_act do
|
for i:=1 to maxTablo_act do
|
||||||
@@ -14568,8 +14585,17 @@ begin
|
|||||||
// evt détecteur ?
|
// evt détecteur ?
|
||||||
if Tablo_simule[I_simule].modele=det then
|
if Tablo_simule[I_simule].modele=det then
|
||||||
begin
|
begin
|
||||||
s:='Simulation '+intToSTR(I_simule)+' Tick='+IntToSTR(tick)+' det='+intToSTR(Tablo_simule[i_simule].adresse)+'='+IntToSTR(Tablo_simule[i_simule].etat);
|
s:='Simu '+intToSTR(I_simule)+' Tick='+IntToSTR(tick)+' det='+intToSTR(Tablo_simule[i_simule].adresse)+'='+IntToSTR(Tablo_simule[i_simule].etat);
|
||||||
Event_Detecteur(Tablo_simule[i_simule].adresse, Tablo_simule[i_simule].etat=1,''); // créer évt détecteur
|
Event_Detecteur(Tablo_simule[i_simule].adresse, Tablo_simule[i_simule].etat=1, Tablo_simule[i_simule].train); // créer évt détecteur
|
||||||
|
StatusBar1.Panels[1].text:=s;
|
||||||
|
//Affiche(s,clyellow);
|
||||||
|
end;
|
||||||
|
|
||||||
|
// evt actionneur ?
|
||||||
|
if Tablo_simule[I_simule].modele=act then
|
||||||
|
begin
|
||||||
|
s:='Simu '+intToSTR(I_simule)+' Tick='+IntToSTR(tick)+' act='+intToSTR(Tablo_simule[i_simule].adresse)+'='+IntToSTR(Tablo_simule[i_simule].etat);
|
||||||
|
Event_Act(Tablo_simule[i_simule].adresse,Tablo_simule[i_simule].adresse2,Tablo_simule[i_simule].etat, Tablo_simule[i_simule].train);
|
||||||
StatusBar1.Panels[1].text:=s;
|
StatusBar1.Panels[1].text:=s;
|
||||||
//Affiche(s,clyellow);
|
//Affiche(s,clyellow);
|
||||||
end;
|
end;
|
||||||
@@ -14577,7 +14603,7 @@ begin
|
|||||||
// evt aiguillage ?
|
// evt aiguillage ?
|
||||||
if Tablo_simule[I_simule].modele=aig then
|
if Tablo_simule[I_simule].modele=aig then
|
||||||
begin
|
begin
|
||||||
s:='Simulation '+intToSTR(I_simule)+' Tick='+IntToSTR(tick)+' aig='+intToSTR(Tablo_simule[i_simule].adresse)+'='+IntToSTR(Tablo_simule[i_simule].etat);
|
s:='Simu '+intToSTR(I_simule)+' Tick='+IntToSTR(tick)+' aig='+intToSTR(Tablo_simule[i_simule].adresse)+'='+IntToSTR(Tablo_simule[i_simule].etat);
|
||||||
Event_Aig(Tablo_simule[i_simule].Adresse,Tablo_simule[i_simule].etat); // créer évt aiguillage
|
Event_Aig(Tablo_simule[i_simule].Adresse,Tablo_simule[i_simule].etat); // créer évt aiguillage
|
||||||
StatusBar1.Panels[1].text:=s;
|
StatusBar1.Panels[1].text:=s;
|
||||||
//Affiche(s,clyellow);
|
//Affiche(s,clyellow);
|
||||||
@@ -15928,7 +15954,7 @@ end;
|
|||||||
|
|
||||||
procedure TFormPrinc.FichierSimuClick(Sender: TObject);
|
procedure TFormPrinc.FichierSimuClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
FormSimulation.showModal;
|
if formSimulation<>nil then FormSimulation.showModal;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormPrinc.ButtonEcrCVClick(Sender: TObject);
|
procedure TFormPrinc.ButtonEcrCVClick(Sender: TObject);
|
||||||
@@ -16867,13 +16893,9 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormPrinc.Button1Click(Sender: TObject);
|
procedure TFormPrinc.Button1Click(Sender: TObject);
|
||||||
var s : string;
|
|
||||||
begin
|
begin
|
||||||
debugTCO:=true;
|
reserve_dereserve_det(888,561,1,1,0);
|
||||||
zone_TCO(2,513,514,1,1);
|
//libere_canton
|
||||||
Affiche('513-514',clYellow);
|
|
||||||
|
|
||||||
//reserve_dereserve_det(530,534,1,2,1);
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@@ -17532,7 +17554,6 @@ end;
|
|||||||
|
|
||||||
// mise à jour des menus TCO en fonction du nombre i de TCO
|
// mise à jour des menus TCO en fonction du nombre i de TCO
|
||||||
Procedure Menu_tco(i : integer);
|
Procedure Menu_tco(i : integer);
|
||||||
var j : integer;
|
|
||||||
begin
|
begin
|
||||||
with formprinc do
|
with formprinc do
|
||||||
begin
|
begin
|
||||||
|
|||||||
+36
-9
@@ -62,7 +62,8 @@ begin
|
|||||||
//if intervalle<>0 then k:=Index_Simule*Intervalle+tick+30 else // démarre dans 3s
|
//if intervalle<>0 then k:=Index_Simule*Intervalle+tick+30 else // démarre dans 3s
|
||||||
// k:=Index_Simule+tick+30 ;
|
// k:=Index_Simule+tick+30 ;
|
||||||
Tablo_simule[index_simule].tick:=k;
|
Tablo_simule[index_simule].tick:=k;
|
||||||
// détecteur?
|
|
||||||
|
// détecteur? Det=528=1 Train=BB16024
|
||||||
i:=pos('DET',s);
|
i:=pos('DET',s);
|
||||||
if i<>0 then
|
if i<>0 then
|
||||||
begin
|
begin
|
||||||
@@ -78,13 +79,42 @@ begin
|
|||||||
Delete(s,1,i);
|
Delete(s,1,i);
|
||||||
val(s,k,erreur);
|
val(s,k,erreur);
|
||||||
Tablo_simule[index_simule].etat:=k;
|
Tablo_simule[index_simule].etat:=k;
|
||||||
{s:=IntToSTR(Index_simule)+' Tick='+intToSTR(Tablo_simule[index_simule].tick)+
|
end;
|
||||||
' Detecteur='+intToSTR(Tablo_simule[index_simule].Adresse)+
|
i:=pos('=',s);
|
||||||
'='+intToSTR(Tablo_simule[index_simule].etat);
|
if i<>0 then delete(s,1,i);
|
||||||
Affiche(s,ClLime); }
|
Tablo_simule[index_simule].train:=s;
|
||||||
|
|
||||||
inc(index_simule);
|
inc(index_simule);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// actionneur? Act=803/0=1 Train=CC406526
|
||||||
|
i:=pos('ACT',s);
|
||||||
|
if i<>0 then
|
||||||
|
begin
|
||||||
|
Delete(s,1,i+2);
|
||||||
|
if s[1]='=' then delete(s,1,1);
|
||||||
|
if s[1]=' ' then delete(s,1,1);
|
||||||
|
val(s,k,erreur);
|
||||||
|
Tablo_simule[index_simule].adresse:=k;
|
||||||
|
|
||||||
|
i:=pos('/',s);
|
||||||
|
if i<>0 then delete(s,1,i);
|
||||||
|
val(s,k,erreur);
|
||||||
|
Tablo_simule[index_simule].adresse2:=k;
|
||||||
|
|
||||||
|
i:=pos('=',s);
|
||||||
|
if i<>0 then delete(s,1,i);
|
||||||
|
val(s,k,erreur);
|
||||||
|
|
||||||
|
Tablo_simule[index_simule].modele:=act;
|
||||||
|
Tablo_simule[index_simule].etat:=k;
|
||||||
|
|
||||||
|
i:=pos('=',s);
|
||||||
|
if i<>0 then delete(s,1,i);
|
||||||
|
Tablo_simule[index_simule].train:=s;
|
||||||
|
inc(index_simule);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// aiguillage?
|
// aiguillage?
|
||||||
i:=pos('AIG',s);
|
i:=pos('AIG',s);
|
||||||
if i<>0 then
|
if i<>0 then
|
||||||
@@ -102,10 +132,6 @@ begin
|
|||||||
val(s,k,erreur);
|
val(s,k,erreur);
|
||||||
if (k=1) or (k=2) then Tablo_simule[index_simule].etat:=k
|
if (k=1) or (k=2) then Tablo_simule[index_simule].etat:=k
|
||||||
else Affiche('Erreur 622 : Position aiguillage '+intToSTR(Tablo_simule[index_simule].adresse)+' inconnue dans le fichier de simulation',clred);
|
else Affiche('Erreur 622 : Position aiguillage '+intToSTR(Tablo_simule[index_simule].adresse)+' inconnue dans le fichier de simulation',clred);
|
||||||
{s:=IntToSTR(Index_simule)+' Tick='+intToSTR(Tablo_simule[index_simule].tick)+
|
|
||||||
' Aiguillage='+intToSTR(Tablo_simule[index_simule].adresse)+
|
|
||||||
'='+intToSTR(Tablo_simule[index_simule].etat);
|
|
||||||
Affiche(s,ClLime); }
|
|
||||||
inc(index_simule);
|
inc(index_simule);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@@ -113,6 +139,7 @@ begin
|
|||||||
Application.ProcessMessages;
|
Application.ProcessMessages;
|
||||||
sortie:=eof(fte) or (index_simule>Max_Simule) or (pos('STOP',s)<>0);
|
sortie:=eof(fte) or (index_simule>Max_Simule) or (pos('STOP',s)<>0);
|
||||||
end ;
|
end ;
|
||||||
|
|
||||||
if index_simule>Max_Simule then Affiche('Tableau maximal atteint',clred);
|
if index_simule>Max_Simule then Affiche('Tableau maximal atteint',clred);
|
||||||
Affiche('Intervalle='+intToSTR(intervalle),clyellow);
|
Affiche('Intervalle='+intToSTR(intervalle),clyellow);
|
||||||
dec(index_simule); //maxi
|
dec(index_simule); //maxi
|
||||||
|
|||||||
+29
-27
@@ -1612,27 +1612,6 @@ begin
|
|||||||
//Affiche(intToSTR(LargeurCell[indexTCO])+' '+intToSTR(epaisseur),clyellow);
|
//Affiche(intToSTR(LargeurCell[indexTCO])+' '+intToSTR(epaisseur),clyellow);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure entoure_cell_grille(indexTCO,x,y : integer);
|
|
||||||
// redessine le carré de grille de la cellule qui a été altéré par la mise à
|
|
||||||
// jour de la cellule
|
|
||||||
var Xorg,Yorg : integer;
|
|
||||||
begin;
|
|
||||||
if not(AvecGrille[indexTCO]) then exit;
|
|
||||||
Xorg:=(x-1)*LargeurCell[indexTCO];
|
|
||||||
Yorg:=(y-1)*HauteurCell[indexTCO];
|
|
||||||
if PcanvasTCO[indexTCO]<>nil then
|
|
||||||
With PcanvasTCO[indexTCO] do
|
|
||||||
begin
|
|
||||||
Pen.Color:=clGrille[IndexTCO];
|
|
||||||
Pen.mode:=PmCopy;
|
|
||||||
Pen.width:=3;
|
|
||||||
MoveTo(Xorg,YOrg);
|
|
||||||
LineTo(Xorg+LargeurCell[indexTCO],YOrg);
|
|
||||||
LineTo(Xorg+LargeurCell[indexTCO],YOrg+HauteurCell[indexTCO]);
|
|
||||||
LineTo(Xorg,YOrg+HauteurCell[indexTCO]);
|
|
||||||
LineTo(Xorg,YOrg);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function positionTCO(indexTCO,x,y : integer) : integer;
|
function positionTCO(indexTCO,x,y : integer) : integer;
|
||||||
var position,i : integer;
|
var position,i : integer;
|
||||||
@@ -8666,6 +8645,28 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure entoure_cell_grille(indexTCO,x,y : integer);
|
||||||
|
// redessine le carré de grille de la cellule qui a été altéré par la mise à
|
||||||
|
// jour de la cellule
|
||||||
|
var Xorg,Yorg : integer;
|
||||||
|
begin;
|
||||||
|
if not(AvecGrille[indexTCO]) then exit;
|
||||||
|
Xorg:=(x-1)*LargeurCell[indexTCO];
|
||||||
|
Yorg:=(y-1)*HauteurCell[indexTCO];
|
||||||
|
if PcanvasTCO[indexTCO]<>nil then
|
||||||
|
With PcanvasTCO[indexTCO] do
|
||||||
|
begin
|
||||||
|
Pen.Color:=clGrille[IndexTCO];
|
||||||
|
Pen.mode:=PmCopy;
|
||||||
|
Pen.width:=1;
|
||||||
|
MoveTo(Xorg,YOrg);
|
||||||
|
LineTo(Xorg+LargeurCell[indexTCO],YOrg);
|
||||||
|
LineTo(Xorg+LargeurCell[indexTCO],YOrg+HauteurCell[indexTCO]);
|
||||||
|
LineTo(Xorg,YOrg+HauteurCell[indexTCO]);
|
||||||
|
LineTo(Xorg,YOrg);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure Entoure_cell(indexTCO,x,y : integer);
|
procedure Entoure_cell(indexTCO,x,y : integer);
|
||||||
var r : Trect;
|
var r : Trect;
|
||||||
@@ -8985,7 +8986,7 @@ begin
|
|||||||
Affiche(s,clred);
|
Affiche(s,clred);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// efface le trajet du tco du train depuis le détecteur jusqu'au premier aiguillage
|
// efface le trajet du tco du numéro du train depuis le détecteur jusqu'au premier aiguillage
|
||||||
procedure efface_trajet(det,train : integer);
|
procedure efface_trajet(det,train : integer);
|
||||||
var i,j,t,n,Bimage,x,y : integer;
|
var i,j,t,n,Bimage,x,y : integer;
|
||||||
trouve : boolean;
|
trouve : boolean;
|
||||||
@@ -12189,7 +12190,7 @@ begin
|
|||||||
//if not(clicsouris) then affiche('non',clred);
|
//if not(clicsouris) then affiche('non',clred);
|
||||||
if clicsouris and SelecBouge then
|
if clicsouris and SelecBouge then
|
||||||
begin
|
begin
|
||||||
//zizi
|
//
|
||||||
x0:=(xMiniSel-1)*LargeurCell[indexTCO];
|
x0:=(xMiniSel-1)*LargeurCell[indexTCO];
|
||||||
y0:=(yMiniSel-1)*hauteurCell[indexTCO];
|
y0:=(yMiniSel-1)*hauteurCell[indexTCO];
|
||||||
larg:=((xMaxiSel-xMiniSel)+1)*LargeurCell[indexTCO];
|
larg:=((xMaxiSel-xMiniSel)+1)*LargeurCell[indexTCO];
|
||||||
@@ -12409,6 +12410,7 @@ procedure Maj_TCO(indexTCO,Adresse : integer);
|
|||||||
var x,y: integer;
|
var x,y: integer;
|
||||||
begin
|
begin
|
||||||
if PcanvasTCO[indexTCO]=nil then exit;
|
if PcanvasTCO[indexTCO]=nil then exit;
|
||||||
|
|
||||||
for y:=1 to NbreCellY[indexTCO] do
|
for y:=1 to NbreCellY[indexTCO] do
|
||||||
for x:=1 to NbreCellX[indexTCO] do
|
for x:=1 to NbreCellX[indexTCO] do
|
||||||
begin
|
begin
|
||||||
@@ -13652,10 +13654,10 @@ var cs : string;
|
|||||||
x,y,xmini,ymini,xmaxi,ymaxi : integer;
|
x,y,xmini,ymini,xmaxi,ymaxi : integer;
|
||||||
modeselection : boolean;
|
modeselection : boolean;
|
||||||
begin
|
begin
|
||||||
xmini:=(XminiSel div LargeurCell[indexTCO]) +1;
|
xmini:=XminiSel;
|
||||||
ymini:=(YminiSel div hauteurCell[indexTCO]) +1;
|
ymini:=YminiSel;
|
||||||
xmaxi:=(XmaxiSel div LargeurCell[indexTCO]) +1;
|
xmaxi:=XmaxiSel;
|
||||||
ymaxi:=(YmaxiSel div hauteurCell[indexTCO]) +1;
|
ymaxi:=YmaxiSel;
|
||||||
modeSelection:=xmini<xmaxi;
|
modeSelection:=xmini<xmaxi;
|
||||||
|
|
||||||
if modeSelection then
|
if modeSelection then
|
||||||
|
|||||||
+80
-106
@@ -1,5 +1,6 @@
|
|||||||
unit verif_version;
|
unit verif_version;
|
||||||
|
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
@@ -24,8 +25,9 @@ var
|
|||||||
Lance_verif : integer;
|
Lance_verif : integer;
|
||||||
verifVersion,notificationVersion,essai : boolean;
|
verifVersion,notificationVersion,essai : boolean;
|
||||||
chemin_Dest,chemin_src,date_creation,nombre_tel : string;
|
chemin_Dest,chemin_src,date_creation,nombre_tel : string;
|
||||||
|
f : text;
|
||||||
|
|
||||||
Const Version='8.51'; // sert à la comparaison de la version publiée
|
Const Version='8.53'; // sert à la comparaison de la version publiée
|
||||||
SousVersion=' '; // A B C ... en cas d'absence de sous version mettre un espace
|
SousVersion=' '; // A B C ... en cas d'absence de sous version mettre un espace
|
||||||
// pour unzip
|
// pour unzip
|
||||||
SHCONTCH_NOPROGRESSBOX = 4;
|
SHCONTCH_NOPROGRESSBOX = 4;
|
||||||
@@ -93,8 +95,8 @@ begin
|
|||||||
if i<>0 then
|
if i<>0 then
|
||||||
case i of
|
case i of
|
||||||
12007 : Affiche('Erreur de résolution DNS',clred);
|
12007 : Affiche('Erreur de résolution DNS',clred);
|
||||||
12037 : Affiche('Erreur validité de certificat - Mettre windows à jour',clred);
|
12037 : Affiche('Erreur validité de certificat - Mettre windows à jour ou version windows obsolète',clred);
|
||||||
12157 : Affiche('Erreur canal sécurisé SSL 2.0 - Mettre windows à jour',clred);
|
12157 : Affiche('Erreur canal sécurisé SSL 2.0 - Mettre windows à jour ou version windows obsolète',clred);
|
||||||
else affiche('Erreur '+intToSTR(i),clred);
|
else affiche('Erreur '+intToSTR(i),clred);
|
||||||
end;
|
end;
|
||||||
if Assigned(hService) then
|
if Assigned(hService) then
|
||||||
@@ -122,54 +124,26 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure log(s : string;couleur : Tcolor);
|
||||||
|
begin
|
||||||
|
Affiche(s,couleur);
|
||||||
|
writeln(f,s);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure copie_fichier(s : string);
|
procedure copie_fichier(s : string);
|
||||||
var fs,fd : string;
|
var fs,fd : string;
|
||||||
i : integer;
|
i : integer;
|
||||||
begin
|
begin
|
||||||
fd:=chemin_dest+s;
|
fd:=chemin_dest+s;
|
||||||
fs:=chemin_src+s;
|
fs:=chemin_src+s;
|
||||||
//Affiche(fd,clOrange);
|
|
||||||
//Affiche(fs,clOrange);
|
|
||||||
|
|
||||||
if not(copyfile(pchar(fs),pchar(fd),false)) then
|
if not(copyfile(pchar(fs),pchar(fd),false)) then // false force la copie si existant
|
||||||
begin
|
begin
|
||||||
fs:=' non copié'; // true évite de le recopier
|
|
||||||
i:=getLastError;
|
i:=getLastError;
|
||||||
Affiche('Erreur '+s,clred);
|
log('Fichier '+s+' non copié. Erreur '+intToSTR(i)+': '+SysErrorMessage(i),clred);
|
||||||
Affiche('non copié. Erreur '+intToSTR(i)+': '+SysErrorMessage(i),clred);
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
Affiche(s+' copié',clLime);
|
log(s+' copié',clLime);
|
||||||
end;
|
|
||||||
|
|
||||||
procedure cree_raccourci(nom_exe : string);
|
|
||||||
var
|
|
||||||
LinkName : WideString;
|
|
||||||
TargetName : String;
|
|
||||||
IObject : IUnknown;
|
|
||||||
ISLink : IShellLink;
|
|
||||||
IPFile : IPersistFile;
|
|
||||||
PIDL : PItemIDList;
|
|
||||||
InFolder : array[0..MAX_PATH] of Char;
|
|
||||||
begin
|
|
||||||
TargetName:=CheminProgrammes+'\Signaux_complexes\'+nom_exe;
|
|
||||||
IObject:=CreateComObject(CLSID_ShellLink);
|
|
||||||
ISLink:=IObject as IShellLink;
|
|
||||||
IPFile:=IObject as IPersistFile;
|
|
||||||
|
|
||||||
with ISLink do begin
|
|
||||||
SetPath(pChar(TargetName));
|
|
||||||
SetWorkingDirectory(pChar(ExtractFilePath(TargetName)));
|
|
||||||
end;
|
|
||||||
|
|
||||||
// on veut placer le lien sur le bureau
|
|
||||||
SHGetSpecialFolderLocation(0,CSIDL_DESKTOPDIRECTORY,PIDL);
|
|
||||||
SHGetPathFromIDList(PIDL,InFolder);
|
|
||||||
|
|
||||||
if nom_exe='signaux_complexes_gl.exe' then LinkName:=InFolder + '\Signaux Complexes.lnk';
|
|
||||||
if nom_exe='signaux_complexes_gl_d11.exe' then LinkName:=InFolder + '\Signaux Complexes D11.lnk';
|
|
||||||
|
|
||||||
IPFile.Save(PWChar(LinkName),false);
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@@ -181,36 +155,40 @@ var fichier,nomPDF : string;
|
|||||||
SR : TSearchRec;
|
SR : TSearchRec;
|
||||||
nombre,i,attributes : integer;
|
nombre,i,attributes : integer;
|
||||||
pdf,ok : boolean;
|
pdf,ok : boolean;
|
||||||
begin
|
|
||||||
Aff('Téléchargement réussi, décompression');
|
|
||||||
formVersion.close;
|
|
||||||
|
|
||||||
Affiche('Décompression du zip '+s,clLime);
|
|
||||||
if not(unzip(s)) then
|
|
||||||
begin
|
begin
|
||||||
Affiche('Erreur à la décompression du zip',clred);
|
// Vérifier si répertoire dest existe
|
||||||
|
chemin_Dest:=CheminProgrammes+'\Signaux_complexes';
|
||||||
|
if not(directoryExists(chemin_Dest)) then mkDir(chemin_dest);
|
||||||
|
|
||||||
|
i:=pos('.zip',s);
|
||||||
|
if i=0 then
|
||||||
|
begin
|
||||||
|
log('nom du zip invalide',clred);
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
chemin_src:=s;
|
chemin_src:=s;
|
||||||
i:=pos('.zip',chemin_src);
|
|
||||||
if i=0 then
|
|
||||||
begin
|
|
||||||
affiche('nom du zip invalide',clred);
|
|
||||||
exit;
|
|
||||||
end;
|
|
||||||
delete(chemin_src,i,4); // transforme en chemin
|
delete(chemin_src,i,4); // transforme en chemin
|
||||||
|
|
||||||
// Vérifier si répertoire dest existe
|
|
||||||
chemin_Dest:=CheminProgrammes+'\Signaux_complexes';
|
|
||||||
if not(directoryExists(chemin_Dest)) then
|
|
||||||
begin
|
|
||||||
Affiche('Création du répertoire '+chemin_dest,clLime);
|
|
||||||
mkDir(chemin_dest);
|
|
||||||
end;
|
|
||||||
chemin_dest:=chemin_dest+'\';
|
chemin_dest:=chemin_dest+'\';
|
||||||
chemin_src:=chemin_src+'\';
|
chemin_src:=chemin_src+'\';
|
||||||
|
|
||||||
|
AssignFile(f,chemin_dest+'log-install.txt');
|
||||||
|
Rewrite(f);
|
||||||
|
|
||||||
|
log('Mise à jour de signaux complexes V'+version+' le '+DateToStr(date)+' à '+TimeToStr(Time)+' ',clYellow);
|
||||||
|
log('Téléchargement réussi, décompression',clyellow);
|
||||||
|
formVersion.close;
|
||||||
|
|
||||||
|
log('Décompression du zip '+s,clLime);
|
||||||
|
if not(unzip(s)) then
|
||||||
|
begin
|
||||||
|
log('Erreur à la décompression du zip',clred);
|
||||||
|
close(f);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
// remplit dirlist avec les noms de fichiers du chemin dest
|
// remplit dirlist avec les noms de fichiers du chemin dest
|
||||||
nombre:=0;
|
nombre:=0;
|
||||||
DirList:=TStringList.Create;
|
DirList:=TStringList.Create;
|
||||||
@@ -227,7 +205,7 @@ begin
|
|||||||
FindClose(SR);
|
FindClose(SR);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// supprimer les fichiers *.Exe et versions.txt et pdf
|
// supprimer les fichiers versions.txt copie_sc.exe et pdf
|
||||||
nomPdf:='';
|
nomPdf:='';
|
||||||
for i:=0 to nombre-1 do
|
for i:=0 to nombre-1 do
|
||||||
begin
|
begin
|
||||||
@@ -238,24 +216,23 @@ begin
|
|||||||
|
|
||||||
//Affiche(s,clyellow);
|
//Affiche(s,clyellow);
|
||||||
// fichiers à supprimer dans répertoire destination
|
// fichiers à supprimer dans répertoire destination
|
||||||
if (pos('.exe',s)<>0) or (s='versions.txt') or pdf then
|
if (s='versions.txt') or pdf then
|
||||||
begin
|
begin
|
||||||
fichier:=chemin_dest+s;
|
fichier:=chemin_dest+s;
|
||||||
if sysutils.FileExists((fichier)) then
|
if sysutils.FileExists(fichier) then
|
||||||
begin
|
begin
|
||||||
Affiche('Suppression de '+fichier,clorange);
|
log('Suppression de '+fichier,clorange);
|
||||||
Attributes:=FileGetAttr(pchar(fichier));
|
Attributes:=FileGetAttr(pchar(fichier));
|
||||||
Attributes := Attributes and not (faReadOnly or faHidden);
|
Attributes := Attributes and not (faReadOnly or faHidden);
|
||||||
SetFileAttributes(pchar(fichier),Attributes);
|
SetFileAttributes(pchar(fichier),Attributes);
|
||||||
ok:=sysutils.DeleteFile(pchar(fichier));
|
ok:=sysutils.DeleteFile(pchar(fichier));
|
||||||
if not(OK) then Affiche('Erreur : Pas réussi à supprimer '+fichier,clred);
|
if not(OK) then log('Erreur : Pas réussi à supprimer '+fichier,clred);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// copie les fichiers du répertoire zip vers le rep installé
|
// copie les fichiers du répertoire zip vers le rep installé
|
||||||
copie_fichier('signaux_complexes_gl.exe');
|
|
||||||
copie_fichier('signaux_complexes_gl_d11.exe');
|
|
||||||
copie_fichier('versions.txt');
|
copie_fichier('versions.txt');
|
||||||
|
|
||||||
// trouver du nom du pdf dans le chemin source
|
// trouver du nom du pdf dans le chemin source
|
||||||
@@ -278,36 +255,30 @@ begin
|
|||||||
|
|
||||||
if nomPdf<>'' then copie_fichier(nomPdf);
|
if nomPdf<>'' then copie_fichier(nomPdf);
|
||||||
|
|
||||||
Affiche('Création des raccourcis sur le bureau',cllime);
|
// lancer copie_sc.exe qui copie les exe et crée les raccourcis et lance SC
|
||||||
cree_raccourci('signaux_complexes_gl.exe');
|
chdir(chemin_src);
|
||||||
cree_raccourci('signaux_complexes_gl_d11.exe');
|
s:='"'+chemin_dest+'" "'+chemin_src+'"';
|
||||||
|
log('exécution de copie_sc.exe '+s,clyellow);
|
||||||
if essai then exit;
|
close(f);
|
||||||
|
|
||||||
s:='';
|
|
||||||
Affiche('Lancement de la nouvelle version',clyellow);
|
Affiche('Lancement de la nouvelle version',clyellow);
|
||||||
Application.processMessages;
|
Sleep(2000);
|
||||||
Sleep(3000);
|
|
||||||
i:=ShellExecute(Formprinc.Handle,'open',
|
i:=ShellExecute(Formprinc.Handle,'open',
|
||||||
Pchar('signaux_complexes_gl_d11.exe'),
|
Pchar('copie_sc.exe'),
|
||||||
Pchar(s), // paramètre
|
Pchar(s), // paramètre
|
||||||
PChar(chemin_dest) // répertoire
|
PChar('') // répertoire
|
||||||
,SW_SHOWNORMAL);
|
,SW_SHOWNORMAL);
|
||||||
if i>32 then
|
if i>32 then
|
||||||
begin
|
begin
|
||||||
Affiche('lancement ok',cllime);
|
|
||||||
Application.Terminate;
|
Application.Terminate;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
Affiche('Erreur '+intToSTR(i),clred);
|
Affiche('Erreur '+intToSTR(i)+' au lancement de copie_sc.exe ',clred);
|
||||||
exit;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// renvoie le numéro de version depuis le site github
|
// renvoie le numéro de version depuis le site github, et télécharge... etc
|
||||||
// si 0
|
|
||||||
function verifie_version : real;
|
function verifie_version : real;
|
||||||
var description,s,s2,s3,Version_p,Url,LocalFile,nomfichier,date_creation_ang : string;
|
var description,s,s2,s3,Version_p,Url,LocalFile,nomfichier,date_creation_ang : string;
|
||||||
trouve_version,trouve_zip,zone_comm,LocZip : boolean;
|
trouve_version,trouve_zip,zone_comm,LocZip : boolean;
|
||||||
@@ -378,13 +349,11 @@ begin
|
|||||||
begin
|
begin
|
||||||
AssignFile(fichier,LocalFile);
|
AssignFile(fichier,LocalFile);
|
||||||
reset(fichier);
|
reset(fichier);
|
||||||
|
|
||||||
while not(eof(fichier)) and (not(trouve_version) or not(trouve_zip)) do
|
while not(eof(fichier)) and (not(trouve_version) or not(trouve_zip)) do
|
||||||
begin
|
begin
|
||||||
readln(fichier,s);
|
readln(fichier,s);
|
||||||
s:=utf8Decode(s);
|
s:=utf8Decode(s);
|
||||||
//Affiche(s,clyellow);
|
//Affiche(s,clyellow);
|
||||||
|
|
||||||
// adresse de téléchargement
|
// adresse de téléchargement
|
||||||
s3:=extrait_champ('browser_download_url');
|
s3:=extrait_champ('browser_download_url');
|
||||||
if s3<>'' then trouve_zip:=true;
|
if s3<>'' then trouve_zip:=true;
|
||||||
@@ -406,7 +375,6 @@ begin
|
|||||||
date_creation:=date_creation+' '+copy(date_creation_ang,i2+1,length(date_creation_ang)-i2-1);
|
date_creation:=date_creation+' '+copy(date_creation_ang,i2+1,length(date_creation_ang)-i2-1);
|
||||||
//Affiche(date_creation,clyellow);
|
//Affiche(date_creation,clyellow);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// version publiée
|
// version publiée
|
||||||
version_p:=extrait_champ('tag_name');
|
version_p:=extrait_champ('tag_name');
|
||||||
if version_p<>'' then
|
if version_p<>'' then
|
||||||
@@ -426,7 +394,6 @@ begin
|
|||||||
if j<>0 then
|
if j<>0 then
|
||||||
begin
|
begin
|
||||||
comm[i]:=copy(description,1,j-1);
|
comm[i]:=copy(description,1,j-1);
|
||||||
|
|
||||||
inc(i);
|
inc(i);
|
||||||
delete(description,1,j+1);
|
delete(description,1,j+1);
|
||||||
end;
|
end;
|
||||||
@@ -436,14 +403,11 @@ begin
|
|||||||
begin
|
begin
|
||||||
delete(description,j,2);
|
delete(description,j,2);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
until j=0;
|
until j=0;
|
||||||
//
|
//
|
||||||
ncomm:=i;
|
ncomm:=i;
|
||||||
comm[i]:=supprime_anti(description);
|
comm[i]:=supprime_anti(description);
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end;
|
end;
|
||||||
closefile(fichier);
|
closefile(fichier);
|
||||||
|
|
||||||
@@ -457,12 +421,9 @@ begin
|
|||||||
locZip:=s3[i]='/';
|
locZip:=s3[i]='/';
|
||||||
until (i=1) or LocZip;
|
until (i=1) or LocZip;
|
||||||
nomfichier:=copy(s3,i+1,length(s3)-i);
|
nomfichier:=copy(s3,i+1,length(s3)-i);
|
||||||
|
|
||||||
//affiche(nombre_tel,cllime);
|
//affiche(nombre_tel,cllime);
|
||||||
|
|
||||||
//Affiche(s3,clLime);
|
//Affiche(s3,clLime);
|
||||||
//Affiche(nomfichier,clred);
|
//Affiche(nomfichier,clred);
|
||||||
|
|
||||||
// changer le . en ,
|
// changer le . en ,
|
||||||
s:=Version_p;
|
s:=Version_p;
|
||||||
// i:=pos('.',s);if i<>0 then s[i]:=',';
|
// i:=pos('.',s);if i<>0 then s[i]:=',';
|
||||||
@@ -473,13 +434,11 @@ begin
|
|||||||
l:=length(s);
|
l:=length(s);
|
||||||
SV_publie:=s[l];
|
SV_publie:=s[l];
|
||||||
if Sv_publie in ['0'..'9'] then Sv_Publie:=' ' else begin s:=copy(s,1,l-1);Version_P:=s;end;
|
if Sv_publie in ['0'..'9'] then Sv_Publie:=' ' else begin s:=copy(s,1,l-1);Version_P:=s;end;
|
||||||
|
|
||||||
val(s,V_publie,erreur);
|
val(s,V_publie,erreur);
|
||||||
if erreur<>0 then exit;
|
if erreur<>0 then exit;
|
||||||
val(s2,V_utile,erreur);
|
val(s2,V_utile,erreur);
|
||||||
if erreur<>0 then exit;
|
if erreur<>0 then exit;
|
||||||
if (V_utile<V_publie) or
|
if (V_utile<V_publie) or ((V_utile=V_publie) and (SousVersion<SV_publie)) then
|
||||||
((V_utile=V_publie) and (SousVersion<SV_publie)) then
|
|
||||||
begin
|
begin
|
||||||
FormVersion.Top:=10;
|
FormVersion.Top:=10;
|
||||||
FormVersion.Left:=10;
|
FormVersion.Left:=10;
|
||||||
@@ -489,7 +448,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
FormVersion.Memo1.lines.Clear;
|
FormVersion.Memo1.lines.Clear;
|
||||||
Aff('Nouveautés de la V'+version_p+SV_publie+' de Signaux_Complexes_GL du '+date_creation);
|
Aff('Nouveautés de la V'+version_p+SV_publie+' de Signaux_Complexes_GL du '+date_creation);
|
||||||
aff(' ');
|
Aff(' ');
|
||||||
for i:=1 to ncomm do aff(comm[i]);
|
for i:=1 to ncomm do aff(comm[i]);
|
||||||
end;
|
end;
|
||||||
if MessageDlg(s+#13+'Voulez-vous la télécharger, l''installer et l''exécuter?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
|
if MessageDlg(s+#13+'Voulez-vous la télécharger, l''installer et l''exécuter?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
|
||||||
@@ -499,13 +458,14 @@ begin
|
|||||||
|
|
||||||
essai:=false;
|
essai:=false;
|
||||||
|
|
||||||
|
// s3=url complete avecnom de fichier ex : 'https://github.com/f1iwq2/Signaux_complexes_GL/releases/download/V8.51/signaux_complexes_V8.51.zip'
|
||||||
|
// s=répertoire+fichier de téléchargement ex : 'C:\Users\moi\Downloads\signaux_complexes_V8.51.zip'
|
||||||
if not(essai) then
|
if not(essai) then
|
||||||
begin
|
begin
|
||||||
Aff('Téléchargement de '+s3+' dans ');
|
Aff('Téléchargement de '+s3+' dans ');
|
||||||
Aff(s);
|
Aff(s);
|
||||||
Affiche('Téléchargement de '+s3+' dans '+s,clLime);
|
Affiche('Téléchargement de '+s3+' dans '+s,clLime);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if essai then
|
if essai then
|
||||||
begin
|
begin
|
||||||
Affiche('*** mode essai ***',clOrange);
|
Affiche('*** mode essai ***',clOrange);
|
||||||
@@ -513,11 +473,12 @@ begin
|
|||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// télécharge l'url (s3) dans le fichier s
|
||||||
if DownloadURL_NOCache(s3,s,taille) then
|
if DownloadURL_NOCache(s3,s,taille) then
|
||||||
begin
|
begin
|
||||||
if taille>700000 then
|
if taille>700000 then
|
||||||
begin
|
begin
|
||||||
dezipe_copie(s);
|
dezipe_copie(s); // dézipe et lance et termine le programme.
|
||||||
end
|
end
|
||||||
else Aff('Echec 2 de téléchargement - taille invalide');
|
else Aff('Echec 2 de téléchargement - taille invalide');
|
||||||
end
|
end
|
||||||
@@ -531,11 +492,9 @@ begin
|
|||||||
begin
|
begin
|
||||||
result:=-1;
|
result:=-1;
|
||||||
affiche('Le dépôt ',clOrange);
|
affiche('Le dépôt ',clOrange);
|
||||||
|
|
||||||
formprinc.FenRich.SelStart:=length(formprinc.FenRich.Text);
|
formprinc.FenRich.SelStart:=length(formprinc.FenRich.Text);
|
||||||
formprinc.FenRich.SelAttributes.Style:=[fsUnderline];
|
formprinc.FenRich.SelAttributes.Style:=[fsUnderline];
|
||||||
Affiche('https://github.com/f1iwq2/Signaux_complexes_GL/releases',clAqua);
|
Affiche('https://github.com/f1iwq2/Signaux_complexes_GL/releases',clAqua);
|
||||||
|
|
||||||
Affiche('ne comprend aucune version diffusée.',clOrange);
|
Affiche('ne comprend aucune version diffusée.',clOrange);
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
@@ -579,6 +538,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
// ne parche pas pour les répertoires non vides
|
||||||
procedure DeleteDirectory(const DirName: string);
|
procedure DeleteDirectory(const DirName: string);
|
||||||
var
|
var
|
||||||
FileFolderOperation: TSHFileOpStruct;
|
FileFolderOperation: TSHFileOpStruct;
|
||||||
@@ -590,6 +550,19 @@ begin
|
|||||||
SHFileOperation(FileFolderOperation);
|
SHFileOperation(FileFolderOperation);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function DelDir(Dir: String): Boolean;
|
||||||
|
var fos: TSHFileOpStruct;
|
||||||
|
begin
|
||||||
|
ZeroMemory(@fos,SizeOf(fos));
|
||||||
|
with fos do
|
||||||
|
begin
|
||||||
|
wFunc:=FO_DELETE;
|
||||||
|
fFlags:=FOF_SILENT or FOF_NOCONFIRMATION;
|
||||||
|
pFrom:=PChar(Dir + #0);
|
||||||
|
end;
|
||||||
|
Result:=(0=ShFileOperation(fos));
|
||||||
|
end;
|
||||||
|
|
||||||
function Unzip(zipfile : oleVariant): boolean;
|
function Unzip(zipfile : oleVariant): boolean;
|
||||||
var
|
var
|
||||||
shellobj,srcfldr, destfldr, shellfldritems,repertoire: Olevariant;
|
shellobj,srcfldr, destfldr, shellfldritems,repertoire: Olevariant;
|
||||||
@@ -604,27 +577,28 @@ begin
|
|||||||
filtre:=zipfile;
|
filtre:=zipfile;
|
||||||
delete(filtre,i,4);
|
delete(filtre,i,4);
|
||||||
|
|
||||||
if directoryExists(filtre) then DeleteDirectory(filtre);
|
// créer le répertoire destination du zip (obligatoire car la commande de dézippe ne le créée pas)
|
||||||
|
if not(directoryExists(filtre)) then
|
||||||
|
begin
|
||||||
{$I-}
|
{$I-}
|
||||||
MkDir(filtre);
|
MkDir(filtre);
|
||||||
erreur:=IoResult;
|
erreur:=IoResult;
|
||||||
{$I+}
|
{$I+}
|
||||||
if erreur<>0 then
|
if erreur<>0 then
|
||||||
begin
|
begin
|
||||||
Affiche('Impossible de créer répertoire',clred);
|
log('Impossible de créer répertoire '+filtre+' erreur '+intToSTR(erreur),clred);
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
repertoire:=filtre; // mettre dans olevariant
|
repertoire:=filtre; // mettre dans olevariant
|
||||||
|
|
||||||
filtre:='';
|
filtre:='';
|
||||||
shellobj:=CreateOleObject('Shell.Application');
|
shellobj:=CreateOleObject('Shell.Application');
|
||||||
|
|
||||||
srcfldr:=ShellObj.NameSpace(Zipfile);
|
srcfldr:=ShellObj.NameSpace(Zipfile);
|
||||||
if not((VarType(srcfldr)=varDispatch) and Assigned(TVarData(srcfldr).VDispatch)) then
|
if not((VarType(srcfldr)=varDispatch) and Assigned(TVarData(srcfldr).VDispatch)) then
|
||||||
begin
|
begin
|
||||||
Affiche(zipfile+ ' invalide ou absent',clred);
|
log('Fichier '+zipfile+ ' invalide ou absent',clred);
|
||||||
result:=false;
|
result:=false;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
@@ -632,7 +606,7 @@ begin
|
|||||||
destfldr:=ShellObj.NameSpace(repertoire);
|
destfldr:=ShellObj.NameSpace(repertoire);
|
||||||
if not ((VarType(destfldr)=varDispatch) and Assigned(TVarData(destfldr).VDispatch)) then
|
if not ((VarType(destfldr)=varDispatch) and Assigned(TVarData(destfldr).VDispatch)) then
|
||||||
begin
|
begin
|
||||||
Affiche(' répertoire destination invalide : '+ repertoire,clred);
|
log('Répertoire destination invalide : '+ repertoire,clred);
|
||||||
result:=false;
|
result:=false;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
|
|||||||
@@ -241,6 +241,12 @@ version 8.5 : Gestion de la centrale Z21 en mode autonome en Xpressnet.
|
|||||||
version 8.51 : Améliorations sur l'affichage des fenêtres aux démarrage.
|
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.
|
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.
|
Gestion des déconnexions matérielles des ports COM/USB.
|
||||||
|
version 8.52 : Amélioration de l'installeur automatique.
|
||||||
|
version 8.53 : Prise en compte des actionneurs dans le simulateur.
|
||||||
|
Correction d'un bug sur l'affichage des TCO en mode exploitation.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user