V8.27
This commit is contained in:
BIN
Binary file not shown.
+27
-27
@@ -1,8 +1,8 @@
|
||||
|
||||
Start Length Name Class
|
||||
0001:00000000 0016718CH .text CODE
|
||||
0001:00000000 001688D8H .text CODE
|
||||
0002:00000000 00002BE8H .data DATA
|
||||
0002:00002BE8 041CBB51H .bss BSS
|
||||
0002:00002BE8 041CEA31H .bss BSS
|
||||
|
||||
|
||||
Detailed map of segments
|
||||
@@ -85,20 +85,20 @@ Detailed map of segments
|
||||
0001:000A358C 000015B4 C=CODE S=.text G=(none) M=UnitPilote ACBP=A9
|
||||
0001:000A4B40 000004D0 C=CODE S=.text G=(none) M=Importation ACBP=A9
|
||||
0001:000A5010 00010280 C=CODE S=.text G=(none) M=UnitAnalyseSegCDM ACBP=A9
|
||||
0001:000B5290 00002690 C=CODE S=.text G=(none) M=UnitConfigTCO ACBP=A9
|
||||
0001:000B7920 000009C0 C=CODE S=.text G=(none) M=Unit_Pilote_aig ACBP=A9
|
||||
0001:000B82E0 00003458 C=CODE S=.text G=(none) M=UnitConfigCellTCO ACBP=A9
|
||||
0001:000BB738 0002DB7C C=CODE S=.text G=(none) M=UnitTCO ACBP=A9
|
||||
0001:000E92B4 00002C18 C=CODE S=.text G=(none) M=UnitSR ACBP=A9
|
||||
0001:000EBECC 00002404 C=CODE S=.text G=(none) M=UnitCDF ACBP=A9
|
||||
0001:000EE2D0 000015D3 C=CODE S=.text G=(none) M=verif_version ACBP=A9
|
||||
0001:000EF8A4 0000114C C=CODE S=.text G=(none) M=UnitPareFeu ACBP=A9
|
||||
0001:000F09F0 00037308 C=CODE S=.text G=(none) M=UnitConfig ACBP=A9
|
||||
0001:00127CF8 0000290C C=CODE S=.text G=(none) M=UnitDebug ACBP=A9
|
||||
0001:0012A604 00000C00 C=CODE S=.text G=(none) M=UnitSimule ACBP=A9
|
||||
0001:0012B204 00002390 C=CODE S=.text G=(none) M=Unitplace ACBP=A9
|
||||
0001:0012D594 00039768 C=CODE S=.text G=(none) M=UnitPrinc ACBP=A9
|
||||
0001:00166CFC 0000048D C=CODE S=.text G=(none) M=Signaux_complexes_GL ACBP=A9
|
||||
0001:000B5290 00002698 C=CODE S=.text G=(none) M=UnitConfigTCO ACBP=A9
|
||||
0001:000B7928 000009C0 C=CODE S=.text G=(none) M=Unit_Pilote_aig ACBP=A9
|
||||
0001:000B82E8 00003988 C=CODE S=.text G=(none) M=UnitConfigCellTCO ACBP=A9
|
||||
0001:000BBC70 0002ED60 C=CODE S=.text G=(none) M=UnitTCO ACBP=A9
|
||||
0001:000EA9D0 00002C18 C=CODE S=.text G=(none) M=UnitSR ACBP=A9
|
||||
0001:000ED5E8 00002404 C=CODE S=.text G=(none) M=UnitCDF ACBP=A9
|
||||
0001:000EF9EC 000015D3 C=CODE S=.text G=(none) M=verif_version ACBP=A9
|
||||
0001:000F0FC0 0000114C C=CODE S=.text G=(none) M=UnitPareFeu ACBP=A9
|
||||
0001:000F210C 0003732C C=CODE S=.text G=(none) M=UnitConfig ACBP=A9
|
||||
0001:00129438 0000290C C=CODE S=.text G=(none) M=UnitDebug ACBP=A9
|
||||
0001:0012BD44 00000C00 C=CODE S=.text G=(none) M=UnitSimule ACBP=A9
|
||||
0001:0012C944 00002390 C=CODE S=.text G=(none) M=Unitplace ACBP=A9
|
||||
0001:0012ECD4 00039774 C=CODE S=.text G=(none) M=UnitPrinc ACBP=A9
|
||||
0001:00168448 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
|
||||
@@ -212,16 +212,16 @@ Detailed map of segments
|
||||
0002:00007C40 00000014 C=BSS S=.bss G=DGROUP M=UnitConfigTCO ACBP=A9
|
||||
0002:00007C54 00000014 C=BSS S=.bss G=DGROUP M=Unit_Pilote_aig ACBP=A9
|
||||
0002:00007C68 00000014 C=BSS S=.bss G=DGROUP M=UnitConfigCellTCO ACBP=A9
|
||||
0002:00007C7C 00044EE8 C=BSS S=.bss G=DGROUP M=UnitTCO ACBP=A9
|
||||
0002:0004CB64 00000010 C=BSS S=.bss G=DGROUP M=UnitSR ACBP=A9
|
||||
0002:0004CB74 00000014 C=BSS S=.bss G=DGROUP M=UnitCDF ACBP=A9
|
||||
0002:0004CB88 00000018 C=BSS S=.bss G=DGROUP M=verif_version ACBP=A9
|
||||
0002:0004CBA0 00000004 C=BSS S=.bss G=DGROUP M=UnitPareFeu ACBP=A9
|
||||
0002:0004CBA4 000004F8 C=BSS S=.bss G=DGROUP M=UnitConfig ACBP=A9
|
||||
0002:0004D09C 0000002C C=BSS S=.bss G=DGROUP M=UnitDebug ACBP=A9
|
||||
0002:0004D0C8 0000000C C=BSS S=.bss G=DGROUP M=UnitSimule ACBP=A9
|
||||
0002:0004D0D4 00000008 C=BSS S=.bss G=DGROUP M=Unitplace ACBP=A9
|
||||
0002:0004D0DC 04181A74 C=BSS S=.bss G=DGROUP M=UnitPrinc ACBP=A9
|
||||
0002:00007C7C 00047DC8 C=BSS S=.bss G=DGROUP M=UnitTCO ACBP=A9
|
||||
0002:0004FA44 00000010 C=BSS S=.bss G=DGROUP M=UnitSR ACBP=A9
|
||||
0002:0004FA54 00000014 C=BSS S=.bss G=DGROUP M=UnitCDF ACBP=A9
|
||||
0002:0004FA68 00000018 C=BSS S=.bss G=DGROUP M=verif_version ACBP=A9
|
||||
0002:0004FA80 00000004 C=BSS S=.bss G=DGROUP M=UnitPareFeu ACBP=A9
|
||||
0002:0004FA84 000004F8 C=BSS S=.bss G=DGROUP M=UnitConfig ACBP=A9
|
||||
0002:0004FF7C 0000002C C=BSS S=.bss G=DGROUP M=UnitDebug ACBP=A9
|
||||
0002:0004FFA8 0000000C C=BSS S=.bss G=DGROUP M=UnitSimule ACBP=A9
|
||||
0002:0004FFB4 00000008 C=BSS S=.bss G=DGROUP M=Unitplace ACBP=A9
|
||||
0002:0004FFBC 04181A74 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:0016700C
|
||||
Program entry point at 0001:00168758
|
||||
|
||||
@@ -897,7 +897,7 @@ begin
|
||||
with FormAnalyseCdm.ImageCDM.canvas do
|
||||
begin
|
||||
pen.Width:=1;
|
||||
pen.color:=Cyan;
|
||||
pen.color:=clCyan;
|
||||
TextOut(x,y,s);
|
||||
Moveto(0,0);
|
||||
LineTo(x,y);
|
||||
|
||||
+9
-9
@@ -668,7 +668,7 @@ object FormConfig: TFormConfig
|
||||
Top = 8
|
||||
Width = 633
|
||||
Height = 497
|
||||
ActivePage = TabSheetCDM
|
||||
ActivePage = TabSheetAutonome
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -11
|
||||
@@ -1465,7 +1465,7 @@ object FormConfig: TFormConfig
|
||||
Top = 16
|
||||
Width = 25
|
||||
Height = 21
|
||||
Hint = 'Temps de filtrage d'#39'un d'#233'tecteur qui passe '#224' 0'
|
||||
Hint = 'Temps de filtrage des d'#233'tecteurs qui passent '#224' 0'
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 0
|
||||
@@ -2318,7 +2318,7 @@ object FormConfig: TFormConfig
|
||||
Width = 137
|
||||
Height = 21
|
||||
Style = csDropDownList
|
||||
ItemHeight = 0
|
||||
ItemHeight = 13
|
||||
TabOrder = 1
|
||||
OnChange = ComboBoxDecChange
|
||||
end
|
||||
@@ -2425,7 +2425,7 @@ object FormConfig: TFormConfig
|
||||
Width = 137
|
||||
Height = 21
|
||||
Style = csDropDownList
|
||||
ItemHeight = 0
|
||||
ItemHeight = 13
|
||||
TabOrder = 2
|
||||
OnChange = ComboBoxAspChange
|
||||
end
|
||||
@@ -2719,7 +2719,7 @@ object FormConfig: TFormConfig
|
||||
Width = 193
|
||||
Height = 21
|
||||
AutoComplete = False
|
||||
ItemHeight = 0
|
||||
ItemHeight = 13
|
||||
TabOrder = 0
|
||||
OnChange = ComboBoxDecodeurPersoChange
|
||||
end
|
||||
@@ -2738,7 +2738,7 @@ object FormConfig: TFormConfig
|
||||
Width = 145
|
||||
Height = 21
|
||||
Style = csDropDownList
|
||||
ItemHeight = 0
|
||||
ItemHeight = 13
|
||||
TabOrder = 2
|
||||
OnChange = ComboBoxNationChange
|
||||
end
|
||||
@@ -2784,7 +2784,7 @@ object FormConfig: TFormConfig
|
||||
Width = 193
|
||||
Height = 21
|
||||
Style = csDropDownList
|
||||
ItemHeight = 0
|
||||
ItemHeight = 13
|
||||
TabOrder = 6
|
||||
OnChange = ComboBoxDecCdeChange
|
||||
end
|
||||
@@ -3163,7 +3163,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 = 0
|
||||
ItemHeight = 13
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 6
|
||||
@@ -3344,7 +3344,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 = 0
|
||||
ItemHeight = 13
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 10
|
||||
|
||||
+1
-1
@@ -805,7 +805,7 @@ begin
|
||||
end
|
||||
else
|
||||
begin
|
||||
if adresseIPCDM='0' then Affiche('La connexion à CDM n''est pas demandée car l''adresse IP est nulle dans '+NomConfig,cyan);
|
||||
if adresseIPCDM='0' then Affiche('La connexion à CDM n''est pas demandée car l''adresse IP est nulle dans '+NomConfig,clcyan);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
+46
-4
@@ -4,7 +4,7 @@ object FormConfCellTCO: TFormConfCellTCO
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'FormConfCellTCO'
|
||||
ClientHeight = 430
|
||||
ClientWidth = 282
|
||||
ClientWidth = 284
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
@@ -291,10 +291,10 @@ object FormConfCellTCO: TFormConfCellTCO
|
||||
TabOrder = 5
|
||||
end
|
||||
object GroupBoxAction: TGroupBox
|
||||
Left = 24
|
||||
Top = 184
|
||||
Left = 8
|
||||
Top = 80
|
||||
Width = 249
|
||||
Height = 105
|
||||
Height = 129
|
||||
Caption = 'Action'
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
@@ -303,6 +303,20 @@ object FormConfCellTCO: TFormConfCellTCO
|
||||
Font.Style = []
|
||||
ParentFont = False
|
||||
TabOrder = 6
|
||||
object Label3: TLabel
|
||||
Left = 104
|
||||
Top = 74
|
||||
Width = 38
|
||||
Height = 13
|
||||
Caption = 'Adresse'
|
||||
end
|
||||
object Labela: TLabel
|
||||
Left = 184
|
||||
Top = 74
|
||||
Width = 6
|
||||
Height = 13
|
||||
Caption = #224
|
||||
end
|
||||
object RadioButtonAffTCO: TRadioButton
|
||||
Left = 8
|
||||
Top = 24
|
||||
@@ -338,6 +352,34 @@ object FormConfCellTCO: TFormConfCellTCO
|
||||
TabOrder = 3
|
||||
OnClick = RadioButtonCDMClick
|
||||
end
|
||||
object RadioButtonAction: TRadioButton
|
||||
Left = 8
|
||||
Top = 72
|
||||
Width = 89
|
||||
Height = 17
|
||||
Caption = 'Activer sortie'
|
||||
TabOrder = 4
|
||||
OnClick = RadioButtonActionClick
|
||||
end
|
||||
object EditAdrSortie: TEdit
|
||||
Left = 144
|
||||
Top = 68
|
||||
Width = 33
|
||||
Height = 21
|
||||
TabOrder = 5
|
||||
OnChange = EditAdrSortieChange
|
||||
end
|
||||
object EditEtat: TEdit
|
||||
Left = 200
|
||||
Top = 68
|
||||
Width = 25
|
||||
Height = 21
|
||||
Hint = '1 ou 2'
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 6
|
||||
OnChange = EditEtatChange
|
||||
end
|
||||
end
|
||||
end
|
||||
object CheckPinv: TCheckBox
|
||||
|
||||
+58
-1
@@ -36,6 +36,11 @@ type
|
||||
EditNumTCO: TEdit;
|
||||
RadioButtonSC: TRadioButton;
|
||||
RadioButtonCDM: TRadioButton;
|
||||
RadioButtonAction: TRadioButton;
|
||||
Label3: TLabel;
|
||||
EditAdrSortie: TEdit;
|
||||
EditEtat: TEdit;
|
||||
Labela: TLabel;
|
||||
procedure EditAdrElementChange(Sender: TObject);
|
||||
procedure EditTexteCCTCOChange(Sender: TObject);
|
||||
procedure ButtonFonteClick(Sender: TObject);
|
||||
@@ -59,6 +64,9 @@ type
|
||||
procedure FormHide(Sender: TObject);
|
||||
procedure RadioButtonSCClick(Sender: TObject);
|
||||
procedure RadioButtonCDMClick(Sender: TObject);
|
||||
procedure EditAdrSortieChange(Sender: TObject);
|
||||
procedure EditEtatChange(Sender: TObject);
|
||||
procedure RadioButtonActionClick(Sender: TObject);
|
||||
private
|
||||
{ Déclarations privées }
|
||||
public
|
||||
@@ -69,7 +77,7 @@ var
|
||||
FormConfCellTCO: TFormConfCellTCO;
|
||||
actualize,ConfCellTCO : boolean;
|
||||
IconeX,IconeY : integer;
|
||||
|
||||
|
||||
procedure actualise(indexTCO : integer);
|
||||
|
||||
implementation
|
||||
@@ -131,7 +139,18 @@ begin
|
||||
RadioButtonAffTCO.Checked:=tco[indexTCO,Xclic,Yclic].PiedFeu=1;
|
||||
RadioButtonSC.Checked:=tco[indexTCO,Xclic,Yclic].PiedFeu=2;
|
||||
RadioButtonCDM.Checked:=tco[indexTCO,Xclic,Yclic].PiedFeu=3;
|
||||
RadioButtonAction.Checked:=tco[indexTCO,Xclic,Yclic].PiedFeu=4;
|
||||
editNumTCO.Text:=intToSTR(tco[indexTCO,Xclic,Yclic].FeuOriente);
|
||||
if RadioButtonAction.Checked then
|
||||
begin
|
||||
EditAdrSortie.Text:=intToSTR(tco[indexTCO,Xclic,Yclic].Adresse);
|
||||
EditEtat.Text:=intToSTR(tco[indexTCO,Xclic,Yclic].sortie);
|
||||
end
|
||||
else
|
||||
begin
|
||||
EditAdrSortie.Text:='';
|
||||
EditEtat.Text:='';
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end
|
||||
@@ -823,6 +842,44 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFormConfCellTCO.EditAdrSortieChange(Sender: TObject);
|
||||
var i,erreur : integer;
|
||||
begin
|
||||
if clicTCO then exit;
|
||||
|
||||
val(EditAdrSortie.Text,i,erreur);
|
||||
if erreur<>0 then exit;
|
||||
|
||||
tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].adresse:=i;
|
||||
end;
|
||||
|
||||
procedure TFormConfCellTCO.EditEtatChange(Sender: TObject);
|
||||
var i,erreur : integer;
|
||||
begin
|
||||
if clicTCO then exit;
|
||||
|
||||
val(EditEtat.Text,i,erreur);
|
||||
if erreur<>0 then exit;
|
||||
|
||||
tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].sortie:=i;
|
||||
end;
|
||||
|
||||
|
||||
procedure TFormConfCellTCO.RadioButtonActionClick(Sender: TObject);
|
||||
var x,y : integer;
|
||||
begin
|
||||
if clicTCO or actualize then exit;
|
||||
if RadioButtonAction.Checked then
|
||||
begin
|
||||
x:=XClicCell[IndexTCOCourant];
|
||||
y:=yClicCell[IndexTCOCourant];
|
||||
tco[IndexTCOCourant,x,y].PiedFeu:=4;
|
||||
efface_cellule(indexTCOCourant,PCanvasTCO[indexTCOcourant],x,y,pmcopy);
|
||||
affiche_cellule(IndexTCOCourant,x,y);
|
||||
actualise(indexTCOCourant);
|
||||
end;
|
||||
end;
|
||||
|
||||
begin
|
||||
end.
|
||||
|
||||
|
||||
@@ -446,7 +446,6 @@ var ok : boolean;
|
||||
s : string;
|
||||
begin
|
||||
ok:=true;
|
||||
|
||||
if verif_config_TCO(indexTCOCourant) then
|
||||
begin
|
||||
with FormTCO[indexTCOCourant].ImageTCO do
|
||||
|
||||
+55
-46
@@ -390,13 +390,12 @@ const_droit_CDM=0; // positions aiguillages transmises par cdm
|
||||
const_inconnu=9; // position inconnue
|
||||
NbCouleurTrain=8;
|
||||
MaxCdeDccpp=20;
|
||||
ClBleuClair=$FF7070 ;
|
||||
clRose=$AAAAFF;
|
||||
Cyan=$FF6060;
|
||||
clCyan=$FFA0A0;
|
||||
clviolet=$FF00FF;
|
||||
GrisF=$333333;
|
||||
clOrange=$0077FF;
|
||||
couleurTrain : array[0..NbCouleurTrain] of Tcolor = (clRose,clYellow,clLime,clOrange,clAqua,clFuchsia,clLtGray,clred,clWhite);
|
||||
couleurTrain : array[0..NbCouleurTrain] of Tcolor = (clRose,clYellow,clLime,ClCyan,clAqua,clFuchsia,clLtGray,clred,clWhite);
|
||||
Max_Simule=10000;
|
||||
Max_Event_det_tick=30000;
|
||||
EtatSign : array[0..13] of string[20] =('carré','sémaphore','sémaphore cli','vert','vert cli','violet',
|
||||
@@ -841,7 +840,7 @@ procedure ferme_pn_usb(i : integer);
|
||||
procedure ouvre_pn_socket(i : integer);
|
||||
procedure ferme_pn_socket(i : integer);
|
||||
function com_socket(i : integer) : integer;
|
||||
function liste_portcom : tStrings;
|
||||
procedure liste_portcom;
|
||||
procedure mosaiqueH;
|
||||
procedure mosaiqueV;
|
||||
function InfoSignal(adresse : integer) : string;
|
||||
@@ -4837,10 +4836,11 @@ begin
|
||||
end;
|
||||
|
||||
// trouve l'index d'un détecteur dans une branche
|
||||
// si pas trouvé, renvoie 0
|
||||
// si pas trouvé, renvoie 0 sinon renvoie l'index du détecteur dans la branche
|
||||
function index_detecteur(detecteur,Num_branche : integer) : integer;
|
||||
var i,adr : integer;
|
||||
trouve : boolean;
|
||||
// trouve si detecteur est dans la branche num_branche à partir de l'index i
|
||||
procedure recherche;
|
||||
begin
|
||||
repeat
|
||||
@@ -4853,11 +4853,13 @@ var i,adr : integer;
|
||||
end;
|
||||
begin
|
||||
if debug=3 then formprinc.Caption:='index_detecteur '+IntToSTR(detecteur);
|
||||
{
|
||||
i:=1;index2_det:=0;
|
||||
recherche;
|
||||
if trouve then result:=i else result:=0;
|
||||
//affiche(inttostr(ai+1),clOrange);
|
||||
i:=2; // à voir
|
||||
}
|
||||
i:=1;
|
||||
//affiche('------------------------',clWhite);
|
||||
recherche;
|
||||
//affiche('------------------------',clGreen);
|
||||
@@ -6282,7 +6284,7 @@ begin
|
||||
dernier:=0;
|
||||
|
||||
// faire en incrément
|
||||
if afdeb then afficheDebug('incrément',cyan);
|
||||
if afdeb then afficheDebug('incrément',clcyan);
|
||||
suiv1:=BrancheN[Branche_Det,indexBranche_det+1].adresse;
|
||||
type1:=BrancheN[Branche_Det,indexBranche_det+1].Btype; // det aig buttoir
|
||||
|
||||
@@ -6309,7 +6311,7 @@ begin
|
||||
end;
|
||||
|
||||
// faire en décrément
|
||||
if afdeb then afficheDebug('décrément',cyan);
|
||||
if afdeb then afficheDebug('décrément',clcyan);
|
||||
if not(trouve) then
|
||||
begin
|
||||
suiv1:=BrancheN[Branche_Det,indexBranche_det-1].adresse;
|
||||
@@ -9294,8 +9296,8 @@ begin
|
||||
if (det1<NbMemZone) and (det2<NbMemZone) and (det3<NbMemZone) then
|
||||
begin
|
||||
//*** route validée ***
|
||||
MemZone[det1,det2].etat:=false;
|
||||
MemZone[det2,det1].etat:=False; // on dévalide la zone inverse
|
||||
//MemZone[det1,det2].etat:=false;
|
||||
// MemZone[det2,det1].etat:=False; // on dévalide la zone inverse non car sinon ne marche pas quand 2 trains se suivent
|
||||
MemZone[det2,det3].etat:=TRUE; // valide la nouvelle zone
|
||||
MemZone[det3,det2].etat:=False; // on dévalide la zone inverse
|
||||
//Train_Ch:=event_det_train[i].nom_train;
|
||||
@@ -11064,17 +11066,20 @@ begin
|
||||
if (acc=aigP) then
|
||||
begin
|
||||
indexAig:=index_aig(adresse);
|
||||
AdrTrain:=aiguillage[indexAig].AdrTrain;
|
||||
if AdrTrain<>0 then
|
||||
if indexAig<>0 then
|
||||
begin
|
||||
Affiche('Pilotage impossible, l''aiguillage '+intToSTR(adresse)+' est réservé par le train @'+intToSTR(AdrTrain),clred);
|
||||
Result:=false;
|
||||
exit;
|
||||
end;
|
||||
if (aiguillage[indexAig].inversionCDM=1) then
|
||||
begin
|
||||
if octet=1 then pilotage:=2 else pilotage:=1;
|
||||
end;
|
||||
AdrTrain:=aiguillage[indexAig].AdrTrain;
|
||||
if AdrTrain<>0 then
|
||||
begin
|
||||
Affiche('Pilotage impossible, l''aiguillage '+intToSTR(adresse)+' est réservé par le train @'+intToSTR(AdrTrain),clred);
|
||||
Result:=false;
|
||||
exit;
|
||||
end;
|
||||
if (aiguillage[indexAig].inversionCDM=1) then
|
||||
begin
|
||||
if octet=1 then pilotage:=2 else pilotage:=1;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
// pilotage par CDM rail -----------------
|
||||
@@ -11846,8 +11851,8 @@ begin
|
||||
editadrtrain.Text:=inttostr(trains[1].adresse);
|
||||
end;
|
||||
end;
|
||||
Affiche('CDM rail déconnecté',Cyan);
|
||||
AfficheDebug('CDM rail déconnecté',Cyan);
|
||||
Affiche('CDM rail déconnecté',clCyan);
|
||||
AfficheDebug('CDM rail déconnecté',clCyan);
|
||||
Formprinc.StatusBar1.Panels[2].text:='CDM déconnecté';
|
||||
filtrageDet0:=SauvefiltrageDet0;
|
||||
end;
|
||||
@@ -11964,6 +11969,7 @@ begin
|
||||
if (numport<1) or (numport>255) then
|
||||
begin
|
||||
affiche('Erreur portCom cde acc <0 ou >255',clred);
|
||||
result:=false;
|
||||
exit;
|
||||
end;
|
||||
trouve:=false;
|
||||
@@ -12048,6 +12054,7 @@ begin
|
||||
if (index<0) or (index>10) then
|
||||
begin
|
||||
affiche('Le nombre maxi de périphériques est atteint - Le socket '+Tablo_periph[index].protocole+' ne sera pas ouvert',clred);
|
||||
result:=false;
|
||||
exit;
|
||||
end;
|
||||
|
||||
@@ -12642,7 +12649,7 @@ begin
|
||||
else
|
||||
s:=s+' non positionné';
|
||||
end;
|
||||
Affiche(s,cyan);
|
||||
Affiche(s,clcyan);
|
||||
aiguillage[index].position:=pos;
|
||||
end;
|
||||
end;
|
||||
@@ -13197,7 +13204,7 @@ begin
|
||||
|
||||
|
||||
//DoubleBuffered:=true;
|
||||
{
|
||||
{
|
||||
aiguillage[index_aig(1)].position:=const_droit;
|
||||
aiguillage[index_aig(2)].position:=const_droit;
|
||||
aiguillage[index_aig(3)].position:=const_devie;
|
||||
@@ -13209,6 +13216,7 @@ begin
|
||||
aiguillage[index_aig(10)].position:=const_devie;
|
||||
aiguillage[index_aig(11)].position:=const_droit;
|
||||
aiguillage[index_aig(12)].position:=const_devie;
|
||||
aiguillage[index_aig(17)].position:=const_devie;
|
||||
aiguillage[index_aig(18)].position:=const_devie;
|
||||
aiguillage[index_aig(19)].position:=const_devie;
|
||||
aiguillage[index_aig(20)].position:=const_devie;
|
||||
@@ -13221,9 +13229,9 @@ begin
|
||||
aiguillage[index_aig(31)].position:=const_devie;
|
||||
aiguillage[index_aig(25)].position:=const_droit;
|
||||
aiguillage[index_aig(9)].position:=const_droit;
|
||||
{zone_tco(1,519,527,1);
|
||||
zone_tco(1,521,527,2);
|
||||
|
||||
// zone_tco(1,519,527,1);
|
||||
// zone_tco(1,521,527,2);
|
||||
{
|
||||
Event_Detecteur(524,true,'A');
|
||||
Event_Detecteur(524,false,'A');
|
||||
|
||||
@@ -13232,16 +13240,17 @@ begin
|
||||
|
||||
Event_Detecteur(527,true,'A');
|
||||
Event_Detecteur(527,false,'A');
|
||||
aiguillage[index_aig(7)].position:=const_devie;
|
||||
}
|
||||
//zone_TCO(1,560,562,1);
|
||||
|
||||
Event_Detecteur(524,true,'B');
|
||||
Event_Detecteur(524,false,'B');
|
||||
|
||||
Event_Detecteur(521,true,'B');
|
||||
Event_Detecteur(521,false,'B');
|
||||
|
||||
}
|
||||
//zone_TCO_V2(1,527,519,1);
|
||||
|
||||
// Event_Detecteur(524,true,'B');
|
||||
//(524,false,'B');
|
||||
|
||||
// Event_Detecteur(521,true,'B');
|
||||
// Event_Detecteur(521,false,'B');
|
||||
// roulage:=true;
|
||||
{ formatY:=2;
|
||||
‹y 00001010000101000111010000> format 0
|
||||
@@ -13361,7 +13370,7 @@ end;
|
||||
|
||||
// timer à 100 ms
|
||||
procedure TFormPrinc.Timer1Timer(Sender: TObject);
|
||||
var i,a,combine,adresse,TailleX,TailleY,orientation,indexTCO,x,y,Bimage,aspect : integer;
|
||||
var i,a,adresse,TailleX,TailleY,orientation,indexTCO,x,y,Bimage,aspect : integer;
|
||||
imageFeu : Timage;
|
||||
frx,fry : real;
|
||||
faire : boolean;
|
||||
@@ -13593,7 +13602,7 @@ begin
|
||||
begin
|
||||
if not(MsgSim) then
|
||||
begin
|
||||
Affiche('Simulation en cours ',Cyan);MsgSim:=true;
|
||||
Affiche('Simulation en cours ',clCyan);MsgSim:=true;
|
||||
end;
|
||||
|
||||
if intervalle_courant>=Intervalle then
|
||||
@@ -13627,7 +13636,7 @@ begin
|
||||
I_Simule:=0;
|
||||
MsgSim:=false;
|
||||
filtrageDet0:=SauvefiltrageDet0;
|
||||
Affiche('Fin de simulation',Cyan);
|
||||
Affiche('Fin de simulation',clCyan);
|
||||
StatusBar1.Panels[1].text:='';
|
||||
end;
|
||||
end;
|
||||
@@ -14006,8 +14015,8 @@ procedure TFormPrinc.Codificationdesaiguillages1Click(Sender: TObject);
|
||||
var i,adr : integer ;
|
||||
s : string;
|
||||
begin
|
||||
Affiche('Codification interne des aiguillages',Cyan);
|
||||
Affiche('D=position droite S=position déviée P=pointe Z=détecteur',Cyan);
|
||||
Affiche('Codification interne des aiguillages',clCyan);
|
||||
Affiche('D=position droite S=position déviée P=pointe Z=détecteur',clCyan);
|
||||
for i:=1 to MaxAiguillage do
|
||||
begin
|
||||
adr:=aiguillage[i].adresse;
|
||||
@@ -15156,11 +15165,11 @@ var i,typ,adract,etatAct,fonction,v,acc,sortie : integer;
|
||||
begin
|
||||
if (maxTablo_act=0) and (NbrePN=0) then
|
||||
begin
|
||||
Affiche('Aucun actionneur déclaré',Cyan);
|
||||
Affiche('Aucun actionneur déclaré',clCyan);
|
||||
exit;
|
||||
end;
|
||||
|
||||
Affiche('Codification interne des actionneurs',Cyan);
|
||||
Affiche('Codification interne des actionneurs',clCyan);
|
||||
for i:=1 to maxTablo_act do
|
||||
begin
|
||||
s:=Tablo_actionneur[i].trainDecl;
|
||||
@@ -15237,7 +15246,7 @@ begin
|
||||
MsgSim:=false;
|
||||
filtrageDet0:=SauvefiltrageDet0;
|
||||
StopSimu:=true;
|
||||
Affiche('Fin de simulation',Cyan);
|
||||
Affiche('Fin de simulation',clCyan);
|
||||
end;
|
||||
|
||||
procedure TFormPrinc.OuvrirunfichiertramesCDM1Click(Sender: TObject);
|
||||
@@ -15382,7 +15391,7 @@ begin
|
||||
aff:=MemZone[i,j].etat;
|
||||
if aff then
|
||||
begin
|
||||
Affiche('MemZone['+intToSTR(i)+','+intToSTR(j)+'] '+MemZone[i,j].train+' @='+intToSTR(MemZone[i,j].AdrTrain)+' Train n°'+intToSTR(MemZone[i,j].Numtrain),clYellow);
|
||||
Affiche('MemZone['+intToSTR(i)+','+intToSTR(j)+'] '+MemZone[i,j].train+' @='+intToSTR(MemZone[i,j].AdrTrain)+' Train n°'+intToSTR(MemZone[i,j].Numtrain),couleurTrain[MemZone[i,j].Numtrain]);
|
||||
rien:=false;
|
||||
end;
|
||||
inc(j);
|
||||
@@ -15403,14 +15412,14 @@ begin
|
||||
if n<>0 then s:=s+' @'+intToSTR(n);
|
||||
ss:=event_det_train[i].nom_train;
|
||||
if ss<>'' then s:=s+' '+ss;
|
||||
Affiche(s,clOrange);
|
||||
Affiche(s,couleurTrain[i]);
|
||||
|
||||
n:=event_det_train[i].signal_rouge;
|
||||
if n<>0 then Affiche('Arreté devant signal '+intToSTR(n),clyellow);
|
||||
for j:=1 to event_det_train[i].NbEl do
|
||||
begin
|
||||
s:=intToSTR(event_det_train[i].Det[j].adresse);
|
||||
Affiche(s,clyellow);
|
||||
Affiche(s,couleurTrain[i]);
|
||||
end;
|
||||
end;
|
||||
|
||||
@@ -15880,7 +15889,7 @@ begin
|
||||
if i=0 then Affiche('Aucun port com',clyellow);
|
||||
end;
|
||||
|
||||
function liste_portcom : tStrings;
|
||||
procedure liste_portcom ;
|
||||
begin
|
||||
try
|
||||
CoInitialize(nil);
|
||||
|
||||
+937
-131
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -25,7 +25,7 @@ var
|
||||
verifVersion,notificationVersion : boolean;
|
||||
date_creation,nombre_tel : string;
|
||||
|
||||
Const Version='8.26'; // sert à la comparaison de la version publiée
|
||||
Const Version='8.27'; // 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;
|
||||
|
||||
@@ -201,5 +201,9 @@ version 8.25 : Int
|
||||
Intégration d'un menu dans la fenêtre du TCO.
|
||||
version 8.26 : Amélioration de l'affichage du suivi des trains dans les TCOs.
|
||||
Restitution du Zoom du TCO lors de sa sauvegarde.
|
||||
version 8.27 : Nouvel algorithme de suivi des trains dans les TCO.
|
||||
Correction suivi de deux trains consécutifs.
|
||||
Création d'une action TCO "pilotage d'accessoire"
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user