diff --git a/Notice d'utilisation des signaux_complexes_GL_V8.32.pdf b/Notice d'utilisation des signaux_complexes_GL_V8.33.pdf similarity index 75% rename from Notice d'utilisation des signaux_complexes_GL_V8.32.pdf rename to Notice d'utilisation des signaux_complexes_GL_V8.33.pdf index af7e106..1659ddc 100644 Binary files a/Notice d'utilisation des signaux_complexes_GL_V8.32.pdf and b/Notice d'utilisation des signaux_complexes_GL_V8.33.pdf differ diff --git a/Signaux_complexes_GL.map b/Signaux_complexes_GL.map index f0ad32d..efe5f62 100644 --- a/Signaux_complexes_GL.map +++ b/Signaux_complexes_GL.map @@ -1,104 +1,104 @@ Start Length Name Class - 0001:00000000 0016EC04H .text CODE - 0002:00000000 00002C24H .data DATA - 0002:00002C24 00C39AC5H .bss BSS + 0001:00000000 0016EC88H .text CODE + 0002:00000000 00002C4CH .data DATA + 0002:00002C4C 00C39AC1H .bss BSS Detailed map of segments - 0001:00000000 00005E87 C=CODE S=.text G=(none) M=System ACBP=A9 - 0001:00005E88 00000140 C=CODE S=.text G=(none) M=SysInit ACBP=A9 - 0001:00005FC8 00000108 C=CODE S=.text G=(none) M=Types ACBP=A9 - 0001:000060D0 00000F08 C=CODE S=.text G=(none) M=Windows ACBP=A9 - 0001:00006FD8 00000038 C=CODE S=.text G=(none) M=Messages ACBP=A9 - 0001:00007010 00000338 C=CODE S=.text G=(none) M=SysConst ACBP=A9 - 0001:00007348 00006E28 C=CODE S=.text G=(none) M=SysUtils ACBP=A9 - 0001:0000E170 0000081B C=CODE S=.text G=(none) M=VarUtils ACBP=A9 - 0001:0000E98C 0000809A C=CODE S=.text G=(none) M=Variants ACBP=A9 - 0001:00016A28 000001A0 C=CODE S=.text G=(none) M=RTLConsts ACBP=A9 - 0001:00016BC8 0000083C C=CODE S=.text G=(none) M=TypInfo ACBP=A9 - 0001:00017404 00000358 C=CODE S=.text G=(none) M=ActiveX ACBP=A9 - 0001:0001775C 0000A7EA C=CODE S=.text G=(none) M=Classes ACBP=A9 - 0001:00021F48 00000370 C=CODE S=.text G=(none) M=Consts ACBP=A9 - 0001:000222B8 00009BFB C=CODE S=.text G=(none) M=Graphics ACBP=A9 - 0001:0002BEB4 00000124 C=CODE S=.text G=(none) M=Math ACBP=A9 - 0001:0002BFD8 000002B8 C=CODE S=.text G=(none) M=Contnrs ACBP=A9 - 0001:0002C290 00000198 C=CODE S=.text G=(none) M=CommCtrl ACBP=A9 - 0001:0002C428 00000787 C=CODE S=.text G=(none) M=MultiMon ACBP=A9 - 0001:0002CBB0 00000038 C=CODE S=.text G=(none) M=Imm ACBP=A9 - 0001:0002CBE8 00000FF8 C=CODE S=.text G=(none) M=HelpIntfs ACBP=A9 - 0001:0002DBE0 00000058 C=CODE S=.text G=(none) M=WinSpool ACBP=A9 - 0001:0002DC38 000010C8 C=CODE S=.text G=(none) M=Printers ACBP=A9 - 0001:0002ED00 0000031F C=CODE S=.text G=(none) M=FlatSB ACBP=A9 - 0001:0002F020 000003F0 C=CODE S=.text G=(none) M=SyncObjs ACBP=A9 - 0001:0002F410 000009BB C=CODE S=.text G=(none) M=UxTheme ACBP=A9 - 0001:0002FDCC 00000038 C=CODE S=.text G=(none) M=RichEdit ACBP=A9 - 0001:0002FE04 00000038 C=CODE S=.text G=(none) M=ToolWin ACBP=A9 - 0001:0002FE3C 00000040 C=CODE S=.text G=(none) M=ShellAPI ACBP=A9 - 0001:0002FE7C 00000038 C=CODE S=.text G=(none) M=RegStr ACBP=A9 - 0001:0002FEB4 00000058 C=CODE S=.text G=(none) M=WinInet ACBP=A9 - 0001:0002FF0C 00000038 C=CODE S=.text G=(none) M=UrlMon ACBP=A9 - 0001:0002FF44 0000006C C=CODE S=.text G=(none) M=ShlObj ACBP=A9 - 0001:0002FFB0 00000060 C=CODE S=.text G=(none) M=CommDlg ACBP=A9 - 0001:00030010 00000038 C=CODE S=.text G=(none) M=Dlgs ACBP=A9 - 0001:00030048 000036D1 C=CODE S=.text G=(none) M=Dialogs ACBP=A9 - 0001:0003371C 00004ADA C=CODE S=.text G=(none) M=ExtCtrls ACBP=A9 - 0001:000381F8 00000090 C=CODE S=.text G=(none) M=ComStrs ACBP=A9 - 0001:00038288 000007A0 C=CODE S=.text G=(none) M=Clipbrd ACBP=A9 - 0001:00038A28 00000128 C=CODE S=.text G=(none) M=StrUtils ACBP=A9 - 0001:00038B50 00003821 C=CODE S=.text G=(none) M=Buttons ACBP=A9 - 0001:0003C374 00000038 C=CODE S=.text G=(none) M=ExtDlgs ACBP=A9 - 0001:0003C3AC 00000068 C=CODE S=.text G=(none) M=IniFiles ACBP=A9 - 0001:0003C414 00000068 C=CODE S=.text G=(none) M=Registry ACBP=A9 - 0001:0003C47C 0000006C C=CODE S=.text G=(none) M=Mapi ACBP=A9 - 0001:0003C4E8 00000058 C=CODE S=.text G=(none) M=ExtActns ACBP=A9 - 0001:0003C540 00000038 C=CODE S=.text G=(none) M=ListActns ACBP=A9 - 0001:0003C578 00009948 C=CODE S=.text G=(none) M=ComCtrls ACBP=A9 - 0001:00045EC0 00000EA0 C=CODE S=.text G=(none) M=Themes ACBP=A9 - 0001:00046D60 0000C698 C=CODE S=.text G=(none) M=StdCtrls ACBP=A9 - 0001:000533F8 00000168 C=CODE S=.text G=(none) M=StdActns ACBP=A9 - 0001:00053560 00000D1F C=CODE S=.text G=(none) M=WinHelpViewer ACBP=A9 - 0001:00054280 00011403 C=CODE S=.text G=(none) M=Controls ACBP=A9 - 0001:00065684 00001292 C=CODE S=.text G=(none) M=ActnList ACBP=A9 - 0001:00066918 00001B9C C=CODE S=.text G=(none) M=ImgList ACBP=A9 - 0001:000684B4 000066E1 C=CODE S=.text G=(none) M=Menus ACBP=A9 - 0001:0006EB98 0000CEFC C=CODE S=.text G=(none) M=Forms ACBP=A9 - 0001:0007BA94 00000060 C=CODE S=.text G=(none) M=ComConst ACBP=A9 - 0001:0007BAF4 00001259 C=CODE S=.text G=(none) M=ComObj ACBP=A9 - 0001:0007CD50 00000038 C=CODE S=.text G=(none) M=StdVCL ACBP=A9 - 0001:0007CD88 00001793 C=CODE S=.text G=(none) M=AxCtrls ACBP=A9 - 0001:0007E51C 00000060 C=CODE S=.text G=(none) M=OleConst ACBP=A9 - 0001:0007E57C 00003519 C=CODE S=.text G=(none) M=OleCtrls ACBP=A9 - 0001:00081A98 00000050 C=CODE S=.text G=(none) M=JConsts ACBP=A9 - 0001:00081AE8 000133EC C=CODE S=.text G=(none) M=jpeg ACBP=A9 - 0001:00094ED4 00000314 C=CODE S=.text G=(none) M=TlHelp32 ACBP=A9 - 0001:000951E8 00000128 C=CODE S=.text G=(none) M=WinSock ACBP=A9 - 0001:00095310 00003A78 C=CODE S=.text G=(none) M=ScktComp ACBP=A9 - 0001:00098D88 000008EA C=CODE S=.text G=(none) M=OleServer ACBP=A9 - 0001:00099674 00000598 C=CODE S=.text G=(none) M=MSCommLib_TLB ACBP=A9 - 0001:00099C0C 00000040 C=CODE S=.text G=(none) M=MMSystem ACBP=A9 - 0001:00099C4C 00000038 C=CODE S=.text G=(none) M=Nb30 ACBP=A9 - 0001:00099C84 00000A18 C=CODE S=.text G=(none) M=MaskUtils ACBP=A9 - 0001:0009A69C 00002108 C=CODE S=.text G=(none) M=Mask ACBP=A9 - 0001:0009C7A4 0000924C C=CODE S=.text G=(none) M=Grids ACBP=A9 - 0001:000A59F0 00001748 C=CODE S=.text G=(none) M=UnitPilote ACBP=A9 - 0001:000A7138 000004D0 C=CODE S=.text G=(none) M=Importation ACBP=A9 - 0001:000A7608 000102E0 C=CODE S=.text G=(none) M=UnitAnalyseSegCDM ACBP=A9 - 0001:000B78E8 000026F4 C=CODE S=.text G=(none) M=UnitConfigTCO ACBP=A9 - 0001:000B9FDC 00000C40 C=CODE S=.text G=(none) M=Unit_Pilote_aig ACBP=A9 - 0001:000BAC1C 00003A0C C=CODE S=.text G=(none) M=UnitConfigCellTCO ACBP=A9 - 0001:000BE628 00030CB0 C=CODE S=.text G=(none) M=UnitTCO ACBP=A9 - 0001:000EF2D8 00002C18 C=CODE S=.text G=(none) M=UnitSR ACBP=A9 - 0001:000F1EF0 00002404 C=CODE S=.text G=(none) M=UnitCDF ACBP=A9 - 0001:000F42F4 00001613 C=CODE S=.text G=(none) M=verif_version ACBP=A9 - 0001:000F5908 000011D0 C=CODE S=.text G=(none) M=UnitPareFeu ACBP=A9 - 0001:000F6AD8 00038000 C=CODE S=.text G=(none) M=UnitConfig ACBP=A9 - 0001:0012EAD8 000029E0 C=CODE S=.text G=(none) M=UnitDebug ACBP=A9 - 0001:001314B8 00000C00 C=CODE S=.text G=(none) M=UnitSimule ACBP=A9 - 0001:001320B8 000023CC C=CODE S=.text G=(none) M=Unitplace ACBP=A9 - 0001:00134484 0003A2F0 C=CODE S=.text G=(none) M=UnitPrinc ACBP=A9 - 0001:0016E774 0000048D C=CODE S=.text G=(none) M=Signaux_complexes_GL ACBP=A9 + 0001:00000000 00005E8F C=CODE S=.text G=(none) M=System ACBP=A9 + 0001:00005E90 00000140 C=CODE S=.text G=(none) M=SysInit ACBP=A9 + 0001:00005FD0 00000108 C=CODE S=.text G=(none) M=Types ACBP=A9 + 0001:000060D8 00000F08 C=CODE S=.text G=(none) M=Windows ACBP=A9 + 0001:00006FE0 00000038 C=CODE S=.text G=(none) M=Messages ACBP=A9 + 0001:00007018 00000338 C=CODE S=.text G=(none) M=SysConst ACBP=A9 + 0001:00007350 00006E28 C=CODE S=.text G=(none) M=SysUtils ACBP=A9 + 0001:0000E178 0000081B C=CODE S=.text G=(none) M=VarUtils ACBP=A9 + 0001:0000E994 0000809A C=CODE S=.text G=(none) M=Variants ACBP=A9 + 0001:00016A30 000001A0 C=CODE S=.text G=(none) M=RTLConsts ACBP=A9 + 0001:00016BD0 0000083C C=CODE S=.text G=(none) M=TypInfo ACBP=A9 + 0001:0001740C 00000358 C=CODE S=.text G=(none) M=ActiveX ACBP=A9 + 0001:00017764 0000A7EA C=CODE S=.text G=(none) M=Classes ACBP=A9 + 0001:00021F50 00000370 C=CODE S=.text G=(none) M=Consts ACBP=A9 + 0001:000222C0 00009BFB C=CODE S=.text G=(none) M=Graphics ACBP=A9 + 0001:0002BEBC 00000124 C=CODE S=.text G=(none) M=Math ACBP=A9 + 0001:0002BFE0 000002B8 C=CODE S=.text G=(none) M=Contnrs ACBP=A9 + 0001:0002C298 00000198 C=CODE S=.text G=(none) M=CommCtrl ACBP=A9 + 0001:0002C430 00000787 C=CODE S=.text G=(none) M=MultiMon ACBP=A9 + 0001:0002CBB8 00000038 C=CODE S=.text G=(none) M=Imm ACBP=A9 + 0001:0002CBF0 00000FF8 C=CODE S=.text G=(none) M=HelpIntfs ACBP=A9 + 0001:0002DBE8 00000058 C=CODE S=.text G=(none) M=WinSpool ACBP=A9 + 0001:0002DC40 000010C8 C=CODE S=.text G=(none) M=Printers ACBP=A9 + 0001:0002ED08 0000031F C=CODE S=.text G=(none) M=FlatSB ACBP=A9 + 0001:0002F028 000003F0 C=CODE S=.text G=(none) M=SyncObjs ACBP=A9 + 0001:0002F418 000009BB C=CODE S=.text G=(none) M=UxTheme ACBP=A9 + 0001:0002FDD4 00000038 C=CODE S=.text G=(none) M=RichEdit ACBP=A9 + 0001:0002FE0C 00000038 C=CODE S=.text G=(none) M=ToolWin ACBP=A9 + 0001:0002FE44 00000040 C=CODE S=.text G=(none) M=ShellAPI ACBP=A9 + 0001:0002FE84 00000038 C=CODE S=.text G=(none) M=RegStr ACBP=A9 + 0001:0002FEBC 00000058 C=CODE S=.text G=(none) M=WinInet ACBP=A9 + 0001:0002FF14 00000038 C=CODE S=.text G=(none) M=UrlMon ACBP=A9 + 0001:0002FF4C 0000006C C=CODE S=.text G=(none) M=ShlObj ACBP=A9 + 0001:0002FFB8 00000060 C=CODE S=.text G=(none) M=CommDlg ACBP=A9 + 0001:00030018 00000038 C=CODE S=.text G=(none) M=Dlgs ACBP=A9 + 0001:00030050 000036D1 C=CODE S=.text G=(none) M=Dialogs ACBP=A9 + 0001:00033724 00004ADA C=CODE S=.text G=(none) M=ExtCtrls ACBP=A9 + 0001:00038200 00000090 C=CODE S=.text G=(none) M=ComStrs ACBP=A9 + 0001:00038290 000007A0 C=CODE S=.text G=(none) M=Clipbrd ACBP=A9 + 0001:00038A30 00000128 C=CODE S=.text G=(none) M=StrUtils ACBP=A9 + 0001:00038B58 00003821 C=CODE S=.text G=(none) M=Buttons ACBP=A9 + 0001:0003C37C 00000038 C=CODE S=.text G=(none) M=ExtDlgs ACBP=A9 + 0001:0003C3B4 00000068 C=CODE S=.text G=(none) M=IniFiles ACBP=A9 + 0001:0003C41C 00000068 C=CODE S=.text G=(none) M=Registry ACBP=A9 + 0001:0003C484 0000006C C=CODE S=.text G=(none) M=Mapi ACBP=A9 + 0001:0003C4F0 00000058 C=CODE S=.text G=(none) M=ExtActns ACBP=A9 + 0001:0003C548 00000038 C=CODE S=.text G=(none) M=ListActns ACBP=A9 + 0001:0003C580 00009948 C=CODE S=.text G=(none) M=ComCtrls ACBP=A9 + 0001:00045EC8 00000EA0 C=CODE S=.text G=(none) M=Themes ACBP=A9 + 0001:00046D68 0000C698 C=CODE S=.text G=(none) M=StdCtrls ACBP=A9 + 0001:00053400 00000168 C=CODE S=.text G=(none) M=StdActns ACBP=A9 + 0001:00053568 00000D1F C=CODE S=.text G=(none) M=WinHelpViewer ACBP=A9 + 0001:00054288 00011403 C=CODE S=.text G=(none) M=Controls ACBP=A9 + 0001:0006568C 00001292 C=CODE S=.text G=(none) M=ActnList ACBP=A9 + 0001:00066920 00001B9C C=CODE S=.text G=(none) M=ImgList ACBP=A9 + 0001:000684BC 000066E1 C=CODE S=.text G=(none) M=Menus ACBP=A9 + 0001:0006EBA0 0000CEFC C=CODE S=.text G=(none) M=Forms ACBP=A9 + 0001:0007BA9C 00000060 C=CODE S=.text G=(none) M=ComConst ACBP=A9 + 0001:0007BAFC 00001259 C=CODE S=.text G=(none) M=ComObj ACBP=A9 + 0001:0007CD58 00000038 C=CODE S=.text G=(none) M=StdVCL ACBP=A9 + 0001:0007CD90 00001793 C=CODE S=.text G=(none) M=AxCtrls ACBP=A9 + 0001:0007E524 00000060 C=CODE S=.text G=(none) M=OleConst ACBP=A9 + 0001:0007E584 00003519 C=CODE S=.text G=(none) M=OleCtrls ACBP=A9 + 0001:00081AA0 00000050 C=CODE S=.text G=(none) M=JConsts ACBP=A9 + 0001:00081AF0 000133EC C=CODE S=.text G=(none) M=jpeg ACBP=A9 + 0001:00094EDC 00000314 C=CODE S=.text G=(none) M=TlHelp32 ACBP=A9 + 0001:000951F0 00000128 C=CODE S=.text G=(none) M=WinSock ACBP=A9 + 0001:00095318 00003A78 C=CODE S=.text G=(none) M=ScktComp ACBP=A9 + 0001:00098D90 000008EA C=CODE S=.text G=(none) M=OleServer ACBP=A9 + 0001:0009967C 000005A0 C=CODE S=.text G=(none) M=MSCommLib_TLB ACBP=A9 + 0001:00099C1C 00000040 C=CODE S=.text G=(none) M=MMSystem ACBP=A9 + 0001:00099C5C 00000038 C=CODE S=.text G=(none) M=Nb30 ACBP=A9 + 0001:00099C94 00000A18 C=CODE S=.text G=(none) M=MaskUtils ACBP=A9 + 0001:0009A6AC 00002108 C=CODE S=.text G=(none) M=Mask ACBP=A9 + 0001:0009C7B4 0000924C C=CODE S=.text G=(none) M=Grids ACBP=A9 + 0001:000A5A00 00001748 C=CODE S=.text G=(none) M=UnitPilote ACBP=A9 + 0001:000A7148 000004D0 C=CODE S=.text G=(none) M=Importation ACBP=A9 + 0001:000A7618 000102A4 C=CODE S=.text G=(none) M=UnitAnalyseSegCDM ACBP=A9 + 0001:000B78BC 000026F4 C=CODE S=.text G=(none) M=UnitConfigTCO ACBP=A9 + 0001:000B9FB0 00000C40 C=CODE S=.text G=(none) M=Unit_Pilote_aig ACBP=A9 + 0001:000BABF0 00003A0C C=CODE S=.text G=(none) M=UnitConfigCellTCO ACBP=A9 + 0001:000BE5FC 00030CCC C=CODE S=.text G=(none) M=UnitTCO ACBP=A9 + 0001:000EF2C8 00002C18 C=CODE S=.text G=(none) M=UnitSR ACBP=A9 + 0001:000F1EE0 00002404 C=CODE S=.text G=(none) M=UnitCDF ACBP=A9 + 0001:000F42E4 00001613 C=CODE S=.text G=(none) M=verif_version ACBP=A9 + 0001:000F58F8 000011D0 C=CODE S=.text G=(none) M=UnitPareFeu ACBP=A9 + 0001:000F6AC8 00038090 C=CODE S=.text G=(none) M=UnitConfig ACBP=A9 + 0001:0012EB58 000029E0 C=CODE S=.text G=(none) M=UnitDebug ACBP=A9 + 0001:00131538 00000C00 C=CODE S=.text G=(none) M=UnitSimule ACBP=A9 + 0001:00132138 000023CC C=CODE S=.text G=(none) M=Unitplace ACBP=A9 + 0001:00134504 0003A2F4 C=CODE S=.text G=(none) M=UnitPrinc ACBP=A9 + 0001:0016E7F8 0000048D 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 @@ -125,12 +125,12 @@ Detailed map of segments 0002:00001250 00000030 C=DATA S=.data G=DGROUP M=ComObj ACBP=A9 0002:00001280 0000002C C=DATA S=.data G=DGROUP M=OleCtrls ACBP=A9 0002:000012AC 00000908 C=DATA S=.data G=DGROUP M=jpeg ACBP=A9 - 0002:00001BB4 00000058 C=DATA S=.data G=DGROUP M=MSCommLib_TLB ACBP=A9 - 0002:00001C0C 00000009 C=DATA S=.data G=DGROUP M=MaskUtils ACBP=A9 - 0002:00001C18 00000004 C=DATA S=.data G=DGROUP M=Mask ACBP=A9 - 0002:00001C1C 00000006 C=DATA S=.data G=DGROUP M=Grids ACBP=A9 - 0002:00001C24 000000D4 C=DATA S=.data G=DGROUP M=UnitTCO ACBP=A9 - 0002:00001CF8 0000060D C=DATA S=.data G=DGROUP M=UnitPrinc ACBP=A9 + 0002:00001BB4 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:00001C40 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:00001C4C 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: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 @@ -221,7 +221,7 @@ Detailed map of segments 0002:0043F364 0000002C C=BSS S=.bss G=DGROUP M=UnitDebug ACBP=A9 0002:0043F390 0000000C C=BSS S=.bss G=DGROUP M=UnitSimule ACBP=A9 0002:0043F39C 00000008 C=BSS S=.bss G=DGROUP M=Unitplace ACBP=A9 - 0002:0043F3A4 007FD720 C=BSS S=.bss G=DGROUP M=UnitPrinc ACBP=A9 + 0002:0043F3A4 007FD71C C=BSS S=.bss G=DGROUP M=UnitPrinc ACBP=A9 Bound resource files @@ -247,4 +247,4 @@ Signaux_complexes_GL.res Signaux_complexes_GL.drf -Program entry point at 0001:0016EA84 +Program entry point at 0001:0016EB08 diff --git a/UnitAnalyseSegCDM.pas b/UnitAnalyseSegCDM.pas index 8e22bf0..2e4f16a 100644 --- a/UnitAnalyseSegCDM.pas +++ b/UnitAnalyseSegCDM.pas @@ -3341,11 +3341,6 @@ begin end; MaxAiguillage:=NAig_CDM; trier_aig; - // construit les index des aiguillages - for i:=1 to maxAiguillage do - begin - index_accessoire[aiguillage[i].adresse]:=i; - end; // remplit la list box les aiguillages formconfig.ListBoxAig.Clear; diff --git a/UnitConfig.dfm b/UnitConfig.dfm index 0072f04..2a75587 100644 --- a/UnitConfig.dfm +++ b/UnitConfig.dfm @@ -1,6 +1,6 @@ object FormConfig: TFormConfig - Left = 117 - Top = 189 + Left = 215 + Top = 91 Hint = 'Modifie la configuration selon les s'#233'lections choisies' BorderStyle = bsDialog Caption = 'Configuration g'#233'n'#233'rale' @@ -668,7 +668,7 @@ object FormConfig: TFormConfig Top = 8 Width = 633 Height = 497 - ActivePage = TabSheetAct + ActivePage = TabSheetSig Font.Charset = DEFAULT_CHARSET Font.Color = clBlack Font.Height = -11 @@ -2366,7 +2366,7 @@ object FormConfig: TFormConfig Width = 137 Height = 21 Style = csDropDownList - ItemHeight = 0 + ItemHeight = 13 TabOrder = 1 OnChange = ComboBoxDecChange end @@ -2473,7 +2473,7 @@ object FormConfig: TFormConfig Width = 137 Height = 21 Style = csDropDownList - ItemHeight = 0 + ItemHeight = 13 TabOrder = 2 OnChange = ComboBoxAspChange end @@ -3216,7 +3216,7 @@ object FormConfig: TFormConfig Height = 21 Hint = 'Nom de l'#39'accessoire d'#233'fini dans l'#39'onglet "p'#233'riph'#233'riques COM/USB"' Style = csDropDownList - ItemHeight = 13 + ItemHeight = 0 ParentShowHint = False ShowHint = True TabOrder = 6 @@ -3397,7 +3397,7 @@ object FormConfig: TFormConfig Height = 21 Hint = 'Nom de l'#39'accessoire d'#233'fini dans l'#39'onglet "p'#233'riph'#233'riques COM/USB"' Style = csDropDownList - ItemHeight = 13 + ItemHeight = 0 ParentShowHint = False ShowHint = True TabOrder = 10 diff --git a/UnitConfig.pas b/UnitConfig.pas index 540e7f9..d5bf4e9 100644 --- a/UnitConfig.pas +++ b/UnitConfig.pas @@ -410,7 +410,6 @@ type procedure ButtonConfigSRClick(Sender: TObject); procedure EditDet1Change(Sender: TObject); procedure EditSuiv1Change(Sender: TObject); - procedure EditAdrSigChange(Sender: TObject); procedure EditDet2Change(Sender: TObject); procedure EditSuiv2Change(Sender: TObject); procedure EditDet3Change(Sender: TObject); @@ -528,6 +527,7 @@ type procedure CheckBoxResaClick(Sender: TObject); procedure EditPortServeurExit(Sender: TObject); procedure EditPortServeurChange(Sender: TObject); + procedure EditAdrSigChange(Sender: TObject); private { Déclarations privées } @@ -1218,7 +1218,7 @@ begin end; end; inc(nbreFeux); - index_accessoire[adresse]:=i; + Delete(s,1,j); feux[i].adresse:=adresse; j:=pos(',',s); @@ -1961,11 +1961,55 @@ begin writeln(fichierN,s); end; writeln(fichierN,'0'); - closefile(fichierN); - end; +// trie les aiguillages +procedure trier_aig; +var i,j : integer; + temp : TAiguillage; +begin + for i:=1 to MaxAiguillage do + begin + for j:=i+1 to MaxAiguillage do + begin + if aiguillage[i].Adresse>aiguillage[j].adresse then + begin + temp:=aiguillage[i]; + aiguillage[i]:=aiguillage[j]; + aiguillage[j]:=temp; + end; + end; + end; + + for i:=1 to MaxAiguillage do + index_accessoire[aiguillage[i].adresse]:=i; +end; + +// trie les signaux +procedure trier_sig; +var i,j : integer; + temp : TSignal; +begin + for i:=1 to NbreFeux do + begin + for j:=i+1 to NbreFeux do + begin + if feux[i].Adresse>feux[j].adresse then + begin + temp:=feux[i]; + feux[i]:=feux[j]; + feux[j]:=temp; + end; + end; + end; + for i:=1 to NbreFeux do + begin + index_accessoire[feux[i].adresse]:=i; + end; +end; + + procedure lit_config; var s,sa,SOrigine: string; c : char; @@ -2369,8 +2413,7 @@ var s,sa,SOrigine: string; if erreur<>0 then Affiche('Erreur aiguillage '+intToSTR(adraig)+' ; caractère '+enregistrement[erreur]+' inconnu',clred); if debugConfig then Affiche('Adresse='+IntToSTR(adraig)+' enregistrement='+Enregistrement,clyellow); - Index_accessoire[adrAig]:=maxAiguillage; - aiguillage[maxaiguillage].adresse:=adraig; + aiguillage[maxaiguillage].Adresse:=adraig; aiguillage[maxaiguillage].AdroitB:='Z'; aiguillage[maxaiguillage].AdevieB:='Z'; aiguillage[maxaiguillage].DdroitB:='Z'; aiguillage[maxaiguillage].DdevieB:='Z'; @@ -2874,28 +2917,10 @@ var s,sa,SOrigine: string; Tablo_com_cde[NbPeriph].NumPeriph:=NbPeriph; end; until (sOrigine='0') or (NbPeriph>=NbMaxi_Periph); - end; - - - // trie les signaux - procedure trier_sig; - var i,j : integer; - temp : TSignal; - begin - for i:=1 to NbreFeux do - begin - for j:=i+1 to NbreFeux do - begin - if feux[i].Adresse>feux[j].adresse then - begin - temp:=feux[i]; - feux[i]:=feux[j]; - feux[j]:=temp; - end; - end; - end; end; + + procedure lit_flux; label ici1,ici2,ici3,ici4 ; var i : integer; @@ -8014,41 +8039,6 @@ begin end; end; -procedure TFormConfig.EditAdrSigChange(Sender: TObject); -var s : string; - i, erreur : integer; -begin - if clicliste then exit; - if affevt then Affiche('Evt adresse signal',clOrange); - // attention interférence avec clic droit propriétés sur un signal qui génère un evt sur ce contrôle - if FormConfig.PageControl.ActivePage=FormConfig.TabSheetSig then - with Formconfig do - begin - s:=EditAdrSig.Text; - if (s='') or (ligneClicSig<0) then exit; - Val(s,i,erreur); - if (erreur<>0) or (i<=0) or (i>MaxAcc) then - begin - EditAdrSig.Color:=clred; - LabelInfo.caption:='Erreur adresse signal ';exit; - end; - if (index_Signal(i)<>0) then - begin - EditAdrSig.Color:=clred; - LabelInfo.caption:='Signal '+intToSTR(i)+' existe, il ne sera pas écrasé';exit; - end; - - EditAdrSig.Color:=clWindow; - LabelInfo.caption:=' '; - feux[ligneClicSig+1].adresse:=i; - index_accessoire[i]:=ligneClicSig+1; - s:=encode_sig_feux(ligneClicSig+1); - ListBoxSig.Items[ligneClicSig]:=s; - ListBoxSig.selected[ligneClicSig]:=true; - Maj_Hint_Signal(ligneClicSig+1); - end; -end; - procedure TFormConfig.EditAdrAigChange(Sender: TObject); var s : string; @@ -8626,26 +8616,6 @@ begin end; -// trie les aiguillages -procedure trier_aig; -var i,j : integer; - temp : TAiguillage; -begin - for i:=1 to MaxAiguillage do - begin - for j:=i+1 to MaxAiguillage do - begin - if aiguillage[i].Adresse>aiguillage[j].adresse then - begin - temp:=aiguillage[i]; - aiguillage[i]:=aiguillage[j]; - aiguillage[j]:=temp; - end; - end; - end; -end; - - procedure supprime_act; var i,j,n : integer; ss,s: string; @@ -9830,58 +9800,62 @@ begin AdrOk:=True; if Verif_AdrXpressNet=1 then begin - - for i:=1 to maxaiguillage do + for k:=1 to NDetecteurs do begin - adresse:=aiguillage[i].Adresse ; - if (adresse>=257) and (adresse<=272) then - begin - AdrOk:=false; - ok:=false; - Affiche('Erreur 13: l''aiguillage '+IntToSTR(adresse)+' se trouve dans la plage des accessoires DCC interdits (257-272) en Xpressnet',clred); - end; - end; - for i:=1 to NbreFeux do - begin - adresse:=feux[i].Adresse; - nc:=Nombre_adresses_signal(adresse); + adr:=((adresse_detecteur[k]-1) div 2) +1; // transforme l'adresse du détecteur en accessoire (ex 513 devient 257 - if (adresse>=257) and (adresse<=272) or ((adresse+nc-1>=257) and (adresse+nc<=272)) then + for i:=1 to maxaiguillage do begin - AdrOk:=false; - ok:=false; - Affiche('Erreur 14: le signal '+IntToSTR(adresse)+' se trouve dans la plage des accessoires DCC interdits (257-272)',clred); - Affiche('en Xpressnet car son décodeur '+decodeur[dec]+' occupe '+intToSTR(nc)+' adresses de '+intToSTR(adresse)+' à '+intToSTR(adresse+nc-1),clred); - end; - end; - - // actionneurs - for i:=1 to maxTablo_act do - begin - if Tablo_actionneur[i].act then - begin - adresse:=Tablo_actionneur[i].accessoire; - if (adresse>=257) and (adresse<=272) then + adresse:=aiguillage[i].Adresse ; + if adresse=adr then begin AdrOk:=false; ok:=false; - Affiche('Erreur 15: l''actionneur '+IntToSTR(Tablo_actionneur[i].adresse)+' enclenche l''accessoire '+intToSTR(adresse),clred); - Affiche('qui se trouve dans la plage des accessoires DCC interdits (257-272) en Xpressnet',clred); + Affiche('Erreur 13: l''aiguillage '+IntToSTR(adresse)+' chevauche le détecteur '+intToSTR(adresse_detecteur[k]),clred); end; end; - if Tablo_actionneur[i].periph then + for i:=1 to NbreFeux do begin - j:=Tablo_actionneur[i].fonction; - if j>10 then begin Affiche('Erreur 15.1 pilotage actionneur '+intToSTR(Tablo_actionneur[i].adresse),clred);ok:=false;end; - if j=0 then begin Affiche('Erreur 15.2 L''actionneur '+intToSTR(Tablo_actionneur[i].adresse)+' n''a pas d''accessoire COM/USB d''affecté',clRed);ok:=false;end; - if (j>0) and (j<11) and (Tablo_periph[j].NumCom=0) then + adresse:=feux[i].Adresse; + nc:=Nombre_adresses_signal(adresse); + + if (adresse=adr) or ((adresse+nc-1>=adr) and (adresse+nc<=adr)) then begin - Affiche('Erreur 15.3 L''actionneur '+intToSTR(Tablo_actionneur[i].adresse)+' n''a pas d''accessoire COM/USB d''affecté',clRed); + dec:=feux[i].decodeur; + AdrOk:=false; ok:=false; + Affiche('Erreur 14: le signal '+IntToSTR(adresse)+' chevauche le détecteur '+intToStr(adresse_detecteur[k]),clred); + Affiche('en Xpressnet car son décodeur '+decodeur[dec]+' occupe '+intToSTR(nc)+' adresses de '+intToSTR(adresse)+' à '+intToSTR(adresse+nc-1),clred); end; end; + // actionneurs + for i:=1 to maxTablo_act do + begin + if Tablo_actionneur[i].act then + begin + adresse:=Tablo_actionneur[i].accessoire; + if (adresse=adr) then + begin + AdrOk:=false; + ok:=false; + Affiche('Erreur 15: l''actionneur '+IntToSTR(Tablo_actionneur[i].adresse)+' enclenche l''accessoire '+intToSTR(adresse),clred); + Affiche('et chevauche le détecteur '+intToStr(adresse_detecteur[k])+' interdit en XpressNet',clred); + end; + end; + if Tablo_actionneur[i].periph then + begin + j:=Tablo_actionneur[i].fonction; + if j>10 then begin Affiche('Erreur 15.1 pilotage actionneur '+intToSTR(Tablo_actionneur[i].adresse),clred);ok:=false;end; + if j=0 then begin Affiche('Erreur 15.2 L''actionneur '+intToSTR(Tablo_actionneur[i].adresse)+' n''a pas d''accessoire COM/USB d''affecté',clRed);ok:=false;end; + if (j>0) and (j<11) and (Tablo_periph[j].NumCom=0) then + begin + Affiche('Erreur 15.3 L''actionneur '+intToSTR(Tablo_actionneur[i].adresse)+' n''a pas d''accessoire COM/USB d''affecté',clRed); + ok:=false; + end; + end; + end; end; if not(AdrOk) then @@ -13196,6 +13170,43 @@ procedure TFormConfig.EditPortServeurChange(Sender: TObject); if activ=false then config_modifie:=true; end; -end. +procedure TFormConfig.EditAdrSigChange(Sender: TObject); + var s : string; + i, erreur : integer; +begin + if clicliste then exit; + if affevt then Affiche('Evt adresse signal',clOrange); + // attention interférence avec clic droit propriétés sur un signal qui génère un evt sur ce contrôle + if FormConfig.PageControl.ActivePage=FormConfig.TabSheetSig then + with Formconfig do + begin + s:=EditAdrSig.Text; + if (s='') or (ligneClicSig<0) then exit; + Val(s,i,erreur); + if (erreur<>0) or (i<=0) or (i>MaxAcc) then + begin + EditAdrSig.Color:=clred; + LabelInfo.caption:='Erreur adresse signal ';exit; + end; + if (index_Signal(i)<>0) then + begin + EditAdrSig.Color:=clred; + LabelInfo.caption:='Signal '+intToSTR(i)+' existe, il ne sera pas écrasé';exit; + end; + + EditAdrSig.Color:=clWindow; + LabelInfo.caption:=' '; + feux[ligneClicSig+1].adresse:=i; + Feux[ligneClicSig+1].Lbl.caption:='@'+IntToSTR(i); + index_accessoire[i]:=ligneClicSig+1; + s:=encode_sig_feux(ligneClicSig+1); + ListBoxSig.Items[ligneClicSig]:=s; + ListBoxSig.selected[ligneClicSig]:=true; + Maj_Hint_Signal(ligneClicSig+1); + end; +end; + + + end. diff --git a/UnitPrinc.pas b/UnitPrinc.pas index 5a12ac4..1a4a801 100644 --- a/UnitPrinc.pas +++ b/UnitPrinc.pas @@ -1,5 +1,5 @@ Unit UnitPrinc; -// 14/12 10h +// 22/12 22 (******************************************** Programme signaux complexes Graphique Lenz Delphi 7 + activeX Tmscomm + clientSocket @@ -548,7 +548,7 @@ TSignal = record var maxaiguillage,detecteur_chgt,Temps,Tempo_init,Suivant,ntrains,MaxPortCom, N_Cv,index_simule,NDetecteurs,N_Trains,N_routes,espY,Tps_affiche_retour_dcc, - NbreImagePligne,NbreBranches,Index2_det,Index2_aig,branche_det,ntrains_cdm, + NbreImagePligne,NbreBranches,Index2_aig,branche_det,ntrains_cdm, I_simule,maxTablo_act,NbreVoies,El_suivant,N_modules_dcc,NbDet1,ncrois, tempsCli,NbreFeux,pasreponse,AdrDevie,fenetre,Tempo_Aig,Tempo_feu,etat_init_interface, NombreImages,signalCpx,branche_trouve,Indexbranche_trouve,Actuel,Signal_suivant, @@ -1213,7 +1213,7 @@ begin Temp:=LgImage-Xcarre;Xcarre:=Ycarre;Ycarre:=Temp; end; - if (orientation=4) then + if (orientation=4) then begin //rotation 180° Xjaune:=LgImage-Xjaune;YJaune:=HtImage-YJaune; @@ -1289,7 +1289,7 @@ begin Temp:=LgImage-Xblanc;Xblanc:=Yblanc;Yblanc:=Temp; end; - if (orientation=4) then + if (orientation=4) then begin //rotation 180° Xjaune:=LgImage-Xjaune;YJaune:=HtImage-YJaune; @@ -1559,11 +1559,11 @@ procedure AffTexteIncliBordeTexture(C : TCanvas; X,Y : integer; Fonte : tFont; // Texture = BitMap de texture : Si Texture = Nil alors la face sera de la couleur de Fonte avec un contour de clBord si EpBord > 0. // Texte = Texte à écrire. // AngleDD = Angle d'inclinaison en Dixièmes de degré. -var dc : Hdc; - lgFont : Logfont; - AncFonte,NouvFonte : Hfont; - AncPen,NouvPen : Hpen; - AncBrush,NouvBrush : Hbrush; +var dc : Hdc; + lgFont : Logfont; + AncFonte,NouvFonte : Hfont; + AncPen,NouvPen : Hpen; + AncBrush,NouvBrush : Hbrush; begin C.Pen.Mode:=PenMode; dc:=C.Handle; @@ -1945,7 +1945,7 @@ begin if N>4 then cercle(ACanvas,x5,y5,rayon,GrisF); if N>5 then cercle(ACanvas,x6,y6,rayon,GrisF); end; - if EtatSignal=3 then + if EtatSignal=3 then begin cercle(ACanvas,x1,y1,rayon,clWhite); cercle(ACanvas,x2,y2,rayon,clWhite); @@ -2023,6 +2023,7 @@ begin end; end; +// affiche un texte contenu dans une chaine avec plusieurs CR, et le découpe à l'affichage. procedure Affiche_CR(s: string;lacouleur : Tcolor); var i : integer; begin @@ -2118,7 +2119,7 @@ begin end; } -// dessine l'aspect du feu en fonction de son adresse dans la partie droite de droite +// dessine l'aspect du signal en fonction de son adresse dans la partie droite de droite procedure Dessine_signal_mx(CanvasDest : Tcanvas;x,y : integer;FrX,frY : real;adresse : integer;orientation : integer); var i,aspect : integer; begin @@ -2834,8 +2835,9 @@ begin if cdm_connecte then begin + // il faut qu'on soit en RUN pour que les vitesses trains soient prises en compte s:=chaine_CDM_vitesseST(vitesse,nom_train); // par nom du train - //s:=chaine_CDM_vitesseINT(vitesse,adr_loco); // par adresse du train: ne fonctionne pas + //s:=chaine_CDM_vitesseINT(vitesse,adr_loco); // par adresse du train envoi_CDM(s); //affiche(s,clLime); end; @@ -4979,9 +4981,9 @@ begin } i:=1; //affiche('------------------------',clWhite); - recherche; + recherche; //affiche('------------------------',clGreen); - if trouve then index2_det:=i else index2_det:=0; + if trouve then result:=i else result:=0; //affiche('index2='+IntToSTR(index2_det),clWhite); if debug=3 then formprinc.Caption:=''; end; @@ -5014,7 +5016,7 @@ begin //affiche('index2='+IntToSTR(index2_det),clWhite); end; -// trouve le détecteur dans les branches (branche_trouve, Indexbranche_trouve) +// trouve le détecteur dans les branches et stocke le résultat des index dans branche_trouve, Indexbranche_trouve) // si pas trouvé, IndexBranche_trouve=0 procedure trouve_detecteur(detecteur : integer); var NBranche,i : integer; @@ -6852,8 +6854,11 @@ begin // trouver éléments avant le signal for i:=1 to Mtd do tabloDet[i]:=0; i:=index_signal(adresse); - if i=0 then affiche('Erreur 842 : signal '+intToSTR(adresse)+' inconnu',clred); - + if i=0 then + begin + affiche('Erreur 842 : signal '+intToSTR(adresse)+' inconnu',clred); + exit; + end; index:=1; for voie:=1 to 4 do begin @@ -8961,37 +8966,6 @@ begin end; end; -// trouve l'index d'un détecteur dans une branche depuis la fin de la branche -// si pas trouvé, renvoie 0 -// non utilisé -function index_detecteur_fin(detecteur,Num_branche : integer) : integer; -var dernier,i,j : integer; - trouve : boolean; - procedure recherche; - begin - repeat - if BrancheN[Num_Branche,i].Btype=det then // cherche un détecteur - begin - j:=BrancheN[Num_Branche,i].adresse; - trouve:=detecteur=j; - end; - if not(trouve) then dec(i); - until trouve or (j=0) - end; -begin - // déterminer la fin de la branche - i:=1; - repeat - inc(i); - until (BrancheN[Num_Branche,i].adresse=0) and (BrancheN[Num_Branche,i].btype=rien); - dernier:=i-1; - // rechercher le détecteur depuis l'index i - i:=dernier;index2_det:=0; - recherche; - if trouve then result:=i else result:=0; - recherche; - if trouve then index2_det:=i else index2_det:=0; -end; // trouve si le détecteur adr est contigu à un buttoir function buttoir_adjacent(adr : integer) : boolean; diff --git a/UnitTCO.pas b/UnitTCO.pas index f4a6c79..e85542e 100644 --- a/UnitTCO.pas +++ b/UnitTCO.pas @@ -746,7 +746,7 @@ var dx,dy : integer; begin rien:=not(prise_droit) and not(prise_bas) and not(prise_gauche) and not(prise_haut) and not(prise_NE) and not(prise_NO) and not(prise_SE) and not(prise_SO); - //poignée haut + // poignée haut r:=Rect_Select.rN; if ((x>=r.left) and (x<=r.Right) and (y>=r.top) and (y<=r.bottom)) or prise_haut then begin @@ -957,7 +957,6 @@ begin end; // créée un nouveau TCO qui n'existait pas - procedure Init_TCO(indexTCO : integer); var x,y : integer; begin @@ -1338,7 +1337,7 @@ begin tco[indexTCO,x,y].adresse:=adresse; delete(s,1,i); - //3 Bimage + // 3 Bimage i:=pos(',',s); if i=0 then begin Affiche('ETCO6',clred);closefile(fichier);exit;end; val(copy(s,1,i-1),valeur,erreur);if erreur<>0 then begin Affiche('ETCO7',clred);closefile(fichier);exit;end; @@ -1348,7 +1347,7 @@ begin tco[indexTCO,x,y].liaisons:=liaisons[valeur]; delete(s,1,i); - //4 Inverse + // 4 Inverse i:=pos(',',s); if i=0 then begin Affiche('ETCO8',clred);closefile(fichier);exit;end; val(copy(s,1,i-1),valeur,erreur);if erreur<>0 then begin Affiche('ETCO9',clred);closefile(fichier);exit;end; @@ -1427,7 +1426,7 @@ begin tco[indexTCO,x,y].coulFonte:=coulFonte; delete(s,1,i); - //12 style + // 12 style if (s[1]<>')') and (s[1]<>',') then begin // style GISB @@ -1500,7 +1499,7 @@ begin b:=i; end; -// donne l'équation de droite y=ax+b passant par (x1,y1) (x2,y2) +// donne l'équation de droite y=ax+b passant par les points (x1,y1) (x2,y2) procedure droite(x1,y1,x2,y2: integer;var a,b: double); begin if x2<>x1 then a:=(y2-y1)/(x2-x1) else a:=99999; @@ -1889,15 +1888,15 @@ begin //affiche(intToSTR(taillefont*LargeurCell[indexTCO] div 40),clyellow); // champ texte //Affiche(nf+' '+intToSTR(tf)+' '+s,clred); - case repr of - 0,1 : yt:=(hauteurCell[indexTCO] div 2)-round(tailleFont*fryGlob[indexTCO]); // au milieu - 2 : yt:=1; // haut - 3 : yt:=hauteurCell[indexTCO]-round(2*TailleFont*fryGlob[indexTCO]); // bas - 5 : begin // double centré XY - xt:=(largeurCell[indexTCO] div 2)-(round(length(s)*(taillefont)*frxGlob[indexTCO]) div 2); - yt:=(hauteurCell[indexTCO] div 2)-round(tailleFont*fryGlob[indexTCO]); // texte centré - end; - end; + case repr of + 0,1 : yt:=(hauteurCell[indexTCO] div 2)-round(tailleFont*fryGlob[indexTCO]); // au milieu + 2 : yt:=1; // haut + 3 : yt:=hauteurCell[indexTCO]-round(2*TailleFont*fryGlob[indexTCO]); // bas + 5 : begin // double centré XY + xt:=(largeurCell[indexTCO] div 2)-(round(length(s)*(taillefont)*frxGlob[indexTCO]) div 2); + yt:=(hauteurCell[indexTCO] div 2)-round(tailleFont*fryGlob[indexTCO]); // texte centré + end; + end; if b=Id_Quai then xt:=6; if (b<>Id_Quai) and (b<>Id_action) then s:=s+' '; @@ -12269,16 +12268,20 @@ begin begin i:=tco[indextco,xclic,yclic].piedfeu; n:=tco[indextco,xclic,yclic].feuoriente; - if i=1 then Affiche_fenetre_TCO(n,true); - if i=2 then with formprinc do + if i=1 then Affiche_fenetre_TCO(n,true); // affiche le TCO n°n + if i=2 then with formprinc do // afficher signaux complexes begin windowState:=wsNormal; //Maximized; show; BringToFront; end; - if (i=3) and (CDMhd<>0) then begin ShowWindow(CDMhd,SW_MAXIMIZE);end; - // action - if i=4 then + if (i=3) and (CDMhd<>0) then + begin // afficher CDM rail + ShowWindow(CDMhd,SW_MAXIMIZE); + SetForegroundWindow(CDMhd); // met CDM en premier plan + SetActiveWindow(CdmHd); + end; + if i=4 then // action accessoire begin // pilotage impulsionnel pilote_acc(tco[indextco,xclic,yclic].Adresse,tco[indextco,xclic,yclic].sortie,AigP); @@ -12691,8 +12694,7 @@ var Adr,erreur,index,indexTCO : integer; s: string; begin //Affiche('Chgt adresse',clyellow); - if clicTCO then exit; - if (ConfCellTCO) then exit; + if clicTCO or ConfCellTCO then exit; clicTCO:=true; auto_tcurs:=false; // interdit le déplacement du curseur encadré du TCO (pour que les touches curseur s'applique au Tedit) indexTCO:=index_TCO(sender); @@ -14070,7 +14072,6 @@ begin screen.cursor:=crUpArrow; end else stop_modetrace(indexTCO); - end; procedure TFormTCO.ButtonDessinerClick(Sender: TObject); @@ -14351,10 +14352,5 @@ begin end; end; - - - - - end. diff --git a/verif_version.pas b/verif_version.pas index 433b0cf..1eb9b94 100644 --- a/verif_version.pas +++ b/verif_version.pas @@ -25,7 +25,7 @@ var verifVersion,notificationVersion : boolean; date_creation,nombre_tel : string; -Const Version='8.32'; // sert à la comparaison de la version publiée +Const Version='8.33'; // sert à la comparaison de la version publiée SousVersion=' '; // A B C ... en cas d'absence de sous version mettre un espace function GetCurrentProcessEnvVar(const VariableName: string): string; diff --git a/versions.txt b/versions.txt index a324da3..4309083 100644 --- a/versions.txt +++ b/versions.txt @@ -212,4 +212,5 @@ version 8.3 : Possibilit Possibilité de télécommander Signaux_Complexes depuis les périphériques ou le serveur socket. version 8.31 : Correction d'un bug sur les détecteurs amonts des signaux. version 8.32 : Un actionneur seul peut être déclenché par plusieurs trains. - Correction du lancement du serveur COM-IP pour CDMRail V20.12 + Correction du lancement du serveur COM-IP pour CDMRail V20.12. +version 8.33 : Correction d'un bug sur le calcul d'index.