V10.78
This commit is contained in:
Binary file not shown.
BIN
Binary file not shown.
+37
-20
@@ -1573,7 +1573,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 8
|
Top = 8
|
||||||
Width = 633
|
Width = 633
|
||||||
Height = 505
|
Height = 505
|
||||||
ActivePage = TabSheetCompt
|
ActivePage = TabSheetBouton
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clBlack
|
Font.Color = clBlack
|
||||||
Font.Height = -11
|
Font.Height = -11
|
||||||
@@ -2097,7 +2097,7 @@ object FormConfig: TFormConfig
|
|||||||
'S'#233'lection du style d'#39#39'affichage - Le style sera chang'#233' '#224' la ferm' +
|
'S'#233'lection du style d'#39#39'affichage - Le style sera chang'#233' '#224' la ferm' +
|
||||||
'eture de la fen'#234'tre'#39
|
'eture de la fen'#234'tre'#39
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
@@ -3303,11 +3303,11 @@ object FormConfig: TFormConfig
|
|||||||
WordWrap = True
|
WordWrap = True
|
||||||
end
|
end
|
||||||
object Label15: TLabel
|
object Label15: TLabel
|
||||||
Left = 56
|
Left = 64
|
||||||
Top = 44
|
Top = 46
|
||||||
Width = 171
|
Width = 171
|
||||||
Height = 13
|
Height = 13
|
||||||
Caption = 'Temporisation commandes (x100mx)'
|
Caption = 'Temporisation commandes (x100ms)'
|
||||||
WordWrap = True
|
WordWrap = True
|
||||||
end
|
end
|
||||||
object MemoCarre: TMemo
|
object MemoCarre: TMemo
|
||||||
@@ -3332,7 +3332,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
|
||||||
@@ -3463,7 +3463,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
|
||||||
@@ -3779,7 +3779,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
|
||||||
@@ -3798,7 +3798,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
|
||||||
@@ -3844,7 +3844,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
|
||||||
@@ -4057,7 +4057,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 96
|
Top = 96
|
||||||
Width = 137
|
Width = 137
|
||||||
Height = 21
|
Height = 21
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
OnChange = ComboBoxOperateurChange
|
OnChange = ComboBoxOperateurChange
|
||||||
OnDrawItem = ComboBoxOperateurDrawItem
|
OnDrawItem = ComboBoxOperateurDrawItem
|
||||||
@@ -4077,7 +4077,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 96
|
Top = 96
|
||||||
Width = 161
|
Width = 161
|
||||||
Height = 21
|
Height = 21
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
@@ -4189,7 +4189,7 @@ object FormConfig: TFormConfig
|
|||||||
Width = 145
|
Width = 145
|
||||||
Height = 21
|
Height = 21
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
TabOrder = 7
|
TabOrder = 7
|
||||||
OnChange = ComboBoxFLChange
|
OnChange = ComboBoxFLChange
|
||||||
end
|
end
|
||||||
@@ -4739,7 +4739,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
|
||||||
@@ -6329,7 +6329,7 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object GroupBoxBR: TGroupBox
|
object GroupBoxBR: TGroupBox
|
||||||
Left = 312
|
Left = 312
|
||||||
Top = 120
|
Top = 128
|
||||||
Width = 260
|
Width = 260
|
||||||
Height = 121
|
Height = 121
|
||||||
Caption = 'Bouton rotatif'
|
Caption = 'Bouton rotatif'
|
||||||
@@ -6407,11 +6407,11 @@ object FormConfig: TFormConfig
|
|||||||
Left = 312
|
Left = 312
|
||||||
Top = 224
|
Top = 224
|
||||||
Width = 260
|
Width = 260
|
||||||
Height = 121
|
Height = 145
|
||||||
Caption = 'Bouton'
|
Caption = 'Bouton'
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
object LabeledEditF: TLabeledEdit
|
object LabeledEditF: TLabeledEdit
|
||||||
Left = 185
|
Left = 193
|
||||||
Top = 52
|
Top = 52
|
||||||
Width = 40
|
Width = 40
|
||||||
Height = 21
|
Height = 21
|
||||||
@@ -6428,7 +6428,7 @@ object FormConfig: TFormConfig
|
|||||||
OnChange = LabeledEditFChange
|
OnChange = LabeledEditFChange
|
||||||
end
|
end
|
||||||
object LabeledEditFn: TLabeledEdit
|
object LabeledEditFn: TLabeledEdit
|
||||||
Left = 201
|
Left = 217
|
||||||
Top = 76
|
Top = 76
|
||||||
Width = 16
|
Width = 16
|
||||||
Height = 21
|
Height = 21
|
||||||
@@ -6445,7 +6445,7 @@ object FormConfig: TFormConfig
|
|||||||
OnChange = LabeledEditFnChange
|
OnChange = LabeledEditFnChange
|
||||||
end
|
end
|
||||||
object LabeledEditCT: TLabeledEdit
|
object LabeledEditCT: TLabeledEdit
|
||||||
Left = 185
|
Left = 193
|
||||||
Top = 20
|
Top = 20
|
||||||
Width = 40
|
Width = 40
|
||||||
Height = 21
|
Height = 21
|
||||||
@@ -6461,6 +6461,23 @@ object FormConfig: TFormConfig
|
|||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
OnChange = LabeledEditCTChange
|
OnChange = LabeledEditCTChange
|
||||||
end
|
end
|
||||||
|
object LabeledEditT: TLabeledEdit
|
||||||
|
Left = 193
|
||||||
|
Top = 108
|
||||||
|
Width = 40
|
||||||
|
Height = 21
|
||||||
|
Hint = 'Temporisation de retomb'#233'e de la fonction F.'
|
||||||
|
EditLabel.Width = 173
|
||||||
|
EditLabel.Height = 13
|
||||||
|
EditLabel.Caption = 'Temporisation de retomb'#233'e (x100ms)'
|
||||||
|
EditLabel.Layout = tlBottom
|
||||||
|
LabelPosition = lpLeft
|
||||||
|
LabelSpacing = 10
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
|
TabOrder = 3
|
||||||
|
OnChange = LabeledEditTChange
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object GroupBoxBloc: TGroupBox
|
object GroupBoxBloc: TGroupBox
|
||||||
Left = 312
|
Left = 312
|
||||||
@@ -6482,7 +6499,7 @@ object FormConfig: TFormConfig
|
|||||||
Width = 153
|
Width = 153
|
||||||
Height = 21
|
Height = 21
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
OnChange = ComboBoxUSBTrChange
|
OnChange = ComboBoxUSBTrChange
|
||||||
end
|
end
|
||||||
|
|||||||
+132
-20
@@ -513,6 +513,7 @@ type
|
|||||||
EditTempoSig: TEdit;
|
EditTempoSig: TEdit;
|
||||||
Label15: TLabel;
|
Label15: TLabel;
|
||||||
LabeledEditCr: TLabeledEdit;
|
LabeledEditCr: TLabeledEdit;
|
||||||
|
LabeledEditT: TLabeledEdit;
|
||||||
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;
|
||||||
@@ -814,6 +815,7 @@ type
|
|||||||
procedure LabeledEditZoneChange(Sender: TObject);
|
procedure LabeledEditZoneChange(Sender: TObject);
|
||||||
procedure EditTempoSigChange(Sender: TObject);
|
procedure EditTempoSigChange(Sender: TObject);
|
||||||
procedure LabeledEditCrChange(Sender: TObject);
|
procedure LabeledEditCrChange(Sender: TObject);
|
||||||
|
procedure LabeledEditTChange(Sender: TObject);
|
||||||
|
|
||||||
private
|
private
|
||||||
{ Déclarations privées }
|
{ Déclarations privées }
|
||||||
@@ -972,10 +974,12 @@ EtatBoutonTCO=7;
|
|||||||
EtatMemoire=8;
|
EtatMemoire=8;
|
||||||
EtatZone=9;
|
EtatZone=9;
|
||||||
NomVAR='Fonction logique';
|
NomVAR='Fonction logique';
|
||||||
|
// Opérateurs des fonctions
|
||||||
NomOpET='Opérateur ET';
|
NomOpET='Opérateur ET';
|
||||||
NomOpOU='Opérateur OU';
|
NomOpOU='Opérateur OU';
|
||||||
NomOpNonET='Opérateur Non ET';
|
NomOpNonET='Opérateur Non ET';
|
||||||
NomOpNonOU='Opérateur Non OU';
|
NomOpNonOU='Opérateur Non OU';
|
||||||
|
// Variables des fonctions
|
||||||
NomEtatDCC='Etat DCC';
|
NomEtatDCC='Etat DCC';
|
||||||
NomEtatDet='Etat détect./actionn.';
|
NomEtatDet='Etat détect./actionn.';
|
||||||
NomEtatBoutonTCO='Bouton TCO';
|
NomEtatBoutonTCO='Bouton TCO';
|
||||||
@@ -2673,16 +2677,16 @@ begin
|
|||||||
begin
|
begin
|
||||||
s:='B'+intToSTR(j)+','+blocUSB[j].afftrain+',BR'+intToSTR(blocUSB[j].rotatifM)+','+intToSTR(blocUSB[j].rotatifP)+','+intToSTR(blocUSB[j].clic)+
|
s:='B'+intToSTR(j)+','+blocUSB[j].afftrain+',BR'+intToSTR(blocUSB[j].rotatifM)+','+intToSTR(blocUSB[j].rotatifP)+','+intToSTR(blocUSB[j].clic)+
|
||||||
','+intToSTR(blocUSB[j].increment)+
|
','+intToSTR(blocUSB[j].increment)+
|
||||||
',B'+intToSTR(blocUSB[j].Bp1)+','+IntToSTR(blocUSB[j].Fbp1)+','+IntToSTR(blocUSB[j].Fnp1)+
|
',B'+intToSTR(blocUSB[j].Bp1)+','+IntToSTR(blocUSB[j].Fbp1)+','+IntToSTR(blocUSB[j].Fnp1)+','+IntToSTR(blocUSB[j].Tbp1)+
|
||||||
',B'+intToSTR(blocUSB[j].Bp2)+','+IntToSTR(blocUSB[j].Fbp2)+','+IntToSTR(blocUSB[j].Fnp2)+
|
',B'+intToSTR(blocUSB[j].Bp2)+','+IntToSTR(blocUSB[j].Fbp2)+','+IntToSTR(blocUSB[j].Fnp2)+','+IntToSTR(blocUSB[j].Tbp2)+
|
||||||
',B'+intToSTR(blocUSB[j].Bp3)+','+IntToSTR(blocUSB[j].Fbp3)+','+IntToSTR(blocUSB[j].Fnp3)+
|
',B'+intToSTR(blocUSB[j].Bp3)+','+IntToSTR(blocUSB[j].Fbp3)+','+IntToSTR(blocUSB[j].Fnp3)+','+IntToSTR(blocUSB[j].Tbp3)+
|
||||||
',B'+intToSTR(blocUSB[j].Bp4)+','+IntToSTR(blocUSB[j].Fbp4)+','+IntToSTR(blocUSB[j].Fnp4)+
|
',B'+intToSTR(blocUSB[j].Bp4)+','+IntToSTR(blocUSB[j].Fbp4)+','+IntToSTR(blocUSB[j].Fnp4)+','+IntToSTR(blocUSB[j].Tbp4)+
|
||||||
',B'+intToSTR(blocUSB[j].Bp5)+','+IntToSTR(blocUSB[j].Fbp5)+','+IntToSTR(blocUSB[j].Fnp5)+
|
',B'+intToSTR(blocUSB[j].Bp5)+','+IntToSTR(blocUSB[j].Fbp5)+','+IntToSTR(blocUSB[j].Fnp5)+','+IntToSTR(blocUSB[j].Tbp5)+
|
||||||
',B'+intToSTR(blocUSB[j].Bp6)+','+IntToSTR(blocUSB[j].Fbp6)+','+IntToSTR(blocUSB[j].Fnp6)+
|
',B'+intToSTR(blocUSB[j].Bp6)+','+IntToSTR(blocUSB[j].Fbp6)+','+IntToSTR(blocUSB[j].Fnp6)+','+IntToSTR(blocUSB[j].Tbp6)+
|
||||||
',B'+intToSTR(blocUSB[j].Bp7)+','+IntToSTR(blocUSB[j].Fbp7)+','+IntToSTR(blocUSB[j].Fnp7)+
|
',B'+intToSTR(blocUSB[j].Bp7)+','+IntToSTR(blocUSB[j].Fbp7)+','+IntToSTR(blocUSB[j].Fnp7)+','+IntToSTR(blocUSB[j].Tbp7)+
|
||||||
',B'+intToSTR(blocUSB[j].Bp8)+','+IntToSTR(blocUSB[j].Fbp8)+','+IntToSTR(blocUSB[j].Fnp8)+
|
',B'+intToSTR(blocUSB[j].Bp8)+','+IntToSTR(blocUSB[j].Fbp8)+','+IntToSTR(blocUSB[j].Fnp8)+','+IntToSTR(blocUSB[j].Tbp8)+
|
||||||
',B'+intToSTR(blocUSB[j].Bp9)+','+IntToSTR(blocUSB[j].Fbp9)+','+IntToSTR(blocUSB[j].Fnp9)+
|
',B'+intToSTR(blocUSB[j].Bp9)+','+IntToSTR(blocUSB[j].Fbp9)+','+IntToSTR(blocUSB[j].Fnp9)+','+IntToSTR(blocUSB[j].Tbp9)+
|
||||||
',B'+intToSTR(blocUSB[j].Bp10)+','+IntToSTR(blocUSB[j].Fbp10)+','+IntToSTR(blocUSB[j].Fnp10);
|
',B'+intToSTR(blocUSB[j].Bp10)+','+IntToSTR(blocUSB[j].Fbp10)+','+IntToSTR(blocUSB[j].Fnp10)+','+IntToSTR(blocUSB[j].Tbp10);
|
||||||
Writeln(fichierN,s);
|
Writeln(fichierN,s);
|
||||||
end;
|
end;
|
||||||
writeln(fichierN,'0');
|
writeln(fichierN,'0');
|
||||||
@@ -3019,7 +3023,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
if typ=EtatDet then
|
if typ=EtatDet then
|
||||||
begin
|
begin
|
||||||
s:=s+fonction[fonc,i].train+' '+intToSTR(fonction[fonc,i].adresse)+' '+intToSTR(fonction[fonc,i].etat);
|
s:=s+intToSTR(fonction[fonc,i].adresse)+' '+intToSTR(fonction[fonc,i].etat)+' '+fonction[fonc,i].train;
|
||||||
end;
|
end;
|
||||||
if typ=EtatBoutonTCO then
|
if typ=EtatBoutonTCO then
|
||||||
begin
|
begin
|
||||||
@@ -3044,7 +3048,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
if typ=EtatZone then
|
if typ=EtatZone then
|
||||||
begin
|
begin
|
||||||
s:=s+fonction[fonc,i].train+' '+intToSTR(fonction[fonc,i].adresse)+' '+intToSTR(fonction[fonc,i].adresse2)+' '+intToSTR(fonction[fonc,i].etat);
|
s:=s+intToSTR(fonction[fonc,i].adresse)+' '+intToSTR(fonction[fonc,i].adresse2)+' '+intToSTR(fonction[fonc,i].etat)+' '+fonction[fonc,i].train;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
result:=s;
|
result:=s;
|
||||||
@@ -5019,7 +5023,7 @@ const LessThanValue=-1;
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure compile_blocsUSB;
|
procedure compile_blocsUSB;
|
||||||
var n,id,i : integer;
|
var n,id,i,nv : integer;
|
||||||
ss : string;
|
ss : string;
|
||||||
begin
|
begin
|
||||||
n:=0;
|
n:=0;
|
||||||
@@ -5028,6 +5032,7 @@ const LessThanValue=-1;
|
|||||||
if s<>'0' then
|
if s<>'0' then
|
||||||
begin
|
begin
|
||||||
s:=sOrigine;
|
s:=sOrigine;
|
||||||
|
nv:=Nbre_virgules(s);
|
||||||
delete(s,1,1);
|
delete(s,1,1);
|
||||||
val(s,i,erreur); // i=numéro de bloc usb de 1 à 10
|
val(s,i,erreur); // i=numéro de bloc usb de 1 à 10
|
||||||
if i>10 then i:=10;
|
if i>10 then i:=10;
|
||||||
@@ -5050,11 +5055,16 @@ const LessThanValue=-1;
|
|||||||
|
|
||||||
delete(s,1,1); // supprime B
|
delete(s,1,1); // supprime B
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
blocUsb[i].Bp1:=j;
|
blocUsb[i].Bp1:=j; // Bouton1 pour fonction F
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
blocUsb[i].Fbp1:=j;
|
blocUsb[i].Fbp1:=j; // Fonction F
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
blocUsb[i].Fnp1:=j;
|
blocUsb[i].Fnp1:=j;
|
||||||
|
if nv>35 then
|
||||||
|
begin
|
||||||
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
|
blocUsb[i].tbp1:=j; // valeur de tempo
|
||||||
|
end;
|
||||||
|
|
||||||
delete(s,1,1); // supprime B
|
delete(s,1,1); // supprime B
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
@@ -5063,6 +5073,12 @@ const LessThanValue=-1;
|
|||||||
blocUsb[i].Fbp2:=j;
|
blocUsb[i].Fbp2:=j;
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
blocUsb[i].Fnp2:=j;
|
blocUsb[i].Fnp2:=j;
|
||||||
|
if nv>35 then
|
||||||
|
begin
|
||||||
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
|
blocUsb[i].tbp2:=j; // valeur de tempo
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
delete(s,1,1); // supprime B
|
delete(s,1,1); // supprime B
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
@@ -5071,6 +5087,12 @@ const LessThanValue=-1;
|
|||||||
blocUsb[i].Fbp3:=j;
|
blocUsb[i].Fbp3:=j;
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
blocUsb[i].Fnp3:=j;
|
blocUsb[i].Fnp3:=j;
|
||||||
|
if nv>35 then
|
||||||
|
begin
|
||||||
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
|
blocUsb[i].tbp3:=j; // valeur de tempo
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
delete(s,1,1); // supprime B
|
delete(s,1,1); // supprime B
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
@@ -5079,6 +5101,11 @@ const LessThanValue=-1;
|
|||||||
blocUsb[i].Fbp4:=j;
|
blocUsb[i].Fbp4:=j;
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
blocUsb[i].Fnp4:=j;
|
blocUsb[i].Fnp4:=j;
|
||||||
|
if nv>35 then
|
||||||
|
begin
|
||||||
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
|
blocUsb[i].tbp4:=j; // valeur de tempo
|
||||||
|
end;
|
||||||
|
|
||||||
delete(s,1,1); // supprime B
|
delete(s,1,1); // supprime B
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
@@ -5087,6 +5114,12 @@ const LessThanValue=-1;
|
|||||||
blocUsb[i].Fbp5:=j;
|
blocUsb[i].Fbp5:=j;
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
blocUsb[i].Fnp5:=j;
|
blocUsb[i].Fnp5:=j;
|
||||||
|
if nv>35 then
|
||||||
|
begin
|
||||||
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
|
blocUsb[i].tbp5:=j; // valeur de tempo
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
delete(s,1,1); // supprime B
|
delete(s,1,1); // supprime B
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
@@ -5095,6 +5128,11 @@ const LessThanValue=-1;
|
|||||||
blocUsb[i].Fbp6:=j;
|
blocUsb[i].Fbp6:=j;
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
blocUsb[i].Fnp6:=j;
|
blocUsb[i].Fnp6:=j;
|
||||||
|
if nv>35 then
|
||||||
|
begin
|
||||||
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
|
blocUsb[i].tbp6:=j; // valeur de tempo
|
||||||
|
end;
|
||||||
|
|
||||||
delete(s,1,1); // supprime B
|
delete(s,1,1); // supprime B
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
@@ -5103,6 +5141,11 @@ const LessThanValue=-1;
|
|||||||
blocUsb[i].Fbp7:=j;
|
blocUsb[i].Fbp7:=j;
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
blocUsb[i].Fnp7:=j;
|
blocUsb[i].Fnp7:=j;
|
||||||
|
if nv>35 then
|
||||||
|
begin
|
||||||
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
|
blocUsb[i].tbp7:=j; // valeur de tempo
|
||||||
|
end;
|
||||||
|
|
||||||
delete(s,1,1); // supprime B
|
delete(s,1,1); // supprime B
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
@@ -5111,6 +5154,11 @@ const LessThanValue=-1;
|
|||||||
blocUsb[i].Fbp8:=j;
|
blocUsb[i].Fbp8:=j;
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
blocUsb[i].Fnp8:=j;
|
blocUsb[i].Fnp8:=j;
|
||||||
|
if nv>35 then
|
||||||
|
begin
|
||||||
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
|
blocUsb[i].tbp8:=j; // valeur de tempo
|
||||||
|
end;
|
||||||
|
|
||||||
delete(s,1,1); // supprime B
|
delete(s,1,1); // supprime B
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
@@ -5119,6 +5167,11 @@ const LessThanValue=-1;
|
|||||||
blocUsb[i].Fbp9:=j;
|
blocUsb[i].Fbp9:=j;
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
blocUsb[i].Fnp9:=j;
|
blocUsb[i].Fnp9:=j;
|
||||||
|
if nv>35 then
|
||||||
|
begin
|
||||||
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
|
blocUsb[i].tbp9:=j; // valeur de tempo
|
||||||
|
end;
|
||||||
|
|
||||||
delete(s,1,1); // supprime B
|
delete(s,1,1); // supprime B
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
@@ -5127,6 +5180,11 @@ const LessThanValue=-1;
|
|||||||
blocUsb[i].Fbp10:=j;
|
blocUsb[i].Fbp10:=j;
|
||||||
val(s,j,erreur);delete(s,1,erreur);
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
blocUsb[i].Fnp10:=j;
|
blocUsb[i].Fnp10:=j;
|
||||||
|
if nv>35 then
|
||||||
|
begin
|
||||||
|
val(s,j,erreur);delete(s,1,erreur);
|
||||||
|
blocUsb[i].tbp10:=j; // valeur de tempo
|
||||||
|
end;
|
||||||
|
|
||||||
inc(n);
|
inc(n);
|
||||||
end;
|
end;
|
||||||
@@ -7498,13 +7556,26 @@ begin
|
|||||||
|
|
||||||
editAdrIPCDM.Hint:='Adresse IP du PC sur lequel CDM rail s''exécute'+#13+'ou 127.0.0.1 pour indiquer ce pc';
|
editAdrIPCDM.Hint:='Adresse IP du PC sur lequel CDM rail s''exécute'+#13+'ou 127.0.0.1 pour indiquer ce pc';
|
||||||
ValueListEditor.Visible:=true;
|
ValueListEditor.Visible:=true;
|
||||||
|
ImageAffiche.stretch:=true;
|
||||||
|
ImageAffiche.Transparent:=true;
|
||||||
|
ImageAffiche.Picture.Bitmap.TransparentMode:=tmAuto;
|
||||||
|
ImageAffiche.Picture.Bitmap.TransparentColor:=clblue;
|
||||||
|
LabeledEditT.Hint:='Temporisation de retomnée de la fonction F'+#13+
|
||||||
|
'en x100 ms'+#13+
|
||||||
|
'Si 0 : pas de retombée';
|
||||||
|
|
||||||
|
ButtonAjOpEnfant.Hint:='Ajoute un opérateur'+#13+'-> ET'+#13+
|
||||||
|
'-> OU'+#13+
|
||||||
|
'-> NON_ET'+#13+
|
||||||
|
'-> NON_OU';
|
||||||
|
ButtonAjouteVar.Hint:='Ajoute une variable'+#13+'->'+NomFonc[5]+#13+'->'+NomFonc[6]+#13+'->'+NomFonc[7]+#13+'->'+NomFonc[8]+#13+'->'+NomFonc[9];
|
||||||
|
ButtonAjouteVar.ShowHint:=true;
|
||||||
|
|
||||||
// liste des paramètres du mode expert de la ValueListEditor
|
// liste des paramètres du mode expert de la ValueListEditor
|
||||||
// syntaxe des masques:
|
// syntaxe des masques:
|
||||||
// 0 : chiffre 9 : chiffre ou espace # : chiffre ou signe L : lettre ? : lettre ou espace
|
// 0 : chiffre 9 : chiffre ou espace # : chiffre ou signe L : lettre ? : lettre ou espace
|
||||||
// A : lettre ou chiffre a : lettre, chiffre ou espace & : tout caractère
|
// A : lettre ou chiffre a : lettre, chiffre ou espace & : tout caractère
|
||||||
|
|
||||||
|
|
||||||
with Liste[1] do
|
with Liste[1] do
|
||||||
begin
|
begin
|
||||||
Nom:='1. Seuil du nombre de détecteurs trop distants' ;
|
Nom:='1. Seuil du nombre de détecteurs trop distants' ;
|
||||||
@@ -8969,9 +9040,7 @@ begin
|
|||||||
croi:=pos('CROI',s)<>0 ;
|
croi:=pos('CROI',s)<>0 ;
|
||||||
with formconfig do
|
with formconfig do
|
||||||
begin
|
begin
|
||||||
ImageAffiche.Picture.Bitmap.TransparentMode:=tmAuto;
|
|
||||||
ImageAffiche.Picture.Bitmap.TransparentColor:=clblue;
|
|
||||||
ImageAffiche.Transparent:=true;
|
|
||||||
GroupBoxEtatTJD.Visible:=false;
|
GroupBoxEtatTJD.Visible:=false;
|
||||||
GroupBox21.Visible:=true;
|
GroupBox21.Visible:=true;
|
||||||
GroupBox10.Visible:=true;
|
GroupBox10.Visible:=true;
|
||||||
@@ -9020,6 +9089,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
ImageAffiche.Picture.BitMap:=Imagetjd.Picture.Bitmap;
|
ImageAffiche.Picture.BitMap:=Imagetjd.Picture.Bitmap;
|
||||||
|
ImageAffiche.Picture.BitMap.Canvas.Draw(0,0,ImageTJD.Picture.Bitmap);
|
||||||
|
|
||||||
labelBG.Caption:='S';
|
labelBG.Caption:='S';
|
||||||
Edit_HG.Visible:=true;
|
Edit_HG.Visible:=true;
|
||||||
EditAigTriple.Visible:=false;
|
EditAigTriple.Visible:=false;
|
||||||
@@ -9121,7 +9192,8 @@ begin
|
|||||||
ComboBoxAig.ItemIndex:=0;
|
ComboBoxAig.ItemIndex:=0;
|
||||||
if not(tri) then
|
if not(tri) then
|
||||||
begin
|
begin
|
||||||
ImageAffiche.Picture.BitMap:=Imageaig.Picture.Bitmap;
|
ImageAffiche.Picture.BitMap:=Imagetjd.Picture.Bitmap;
|
||||||
|
ImageAffiche.Picture.BitMap.Canvas.Draw(0,0,Imageaig.Picture.Bitmap);
|
||||||
EditDevieS2.Visible:=false;
|
EditDevieS2.Visible:=false;
|
||||||
EditAigTriple.Visible:=false;
|
EditAigTriple.Visible:=false;
|
||||||
end;
|
end;
|
||||||
@@ -9167,7 +9239,10 @@ begin
|
|||||||
LabelTJD2.Visible:=false;
|
LabelTJD2.Visible:=false;
|
||||||
EditPointe_BG.ReadOnly:=false;
|
EditPointe_BG.ReadOnly:=false;
|
||||||
labelBG.Caption:='P';
|
labelBG.Caption:='P';
|
||||||
|
|
||||||
ImageAffiche.Picture.BitMap:=ImageTri.Picture.Bitmap;
|
ImageAffiche.Picture.BitMap:=ImageTri.Picture.Bitmap;
|
||||||
|
ImageAffiche.Picture.BitMap.Canvas.Draw(0,0,ImageTri.Picture.Bitmap);
|
||||||
|
|
||||||
EditDevieS2.Visible:=true;
|
EditDevieS2.Visible:=true;
|
||||||
Label18.Visible:=true;
|
Label18.Visible:=true;
|
||||||
adr2:=aiguillage[index].AdrTriple;
|
adr2:=aiguillage[index].AdrTriple;
|
||||||
@@ -19333,6 +19408,7 @@ begin
|
|||||||
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp1);
|
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp1);
|
||||||
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp1);
|
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp1);
|
||||||
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp1);
|
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp1);
|
||||||
|
LabeledEditT.Text:=intToSTR(blocUSB[NumBlocUSB].Tbp1);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfig.ShapeB2MouseDown(Sender: TObject;
|
procedure TFormConfig.ShapeB2MouseDown(Sender: TObject;
|
||||||
@@ -19344,6 +19420,7 @@ begin
|
|||||||
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp2);
|
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp2);
|
||||||
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp2);
|
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp2);
|
||||||
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp2);
|
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp2);
|
||||||
|
LabeledEditT.Text:=intToSTR(blocUSB[NumBlocUSB].Tbp2);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfig.ShapeB3MouseDown(Sender: TObject;
|
procedure TFormConfig.ShapeB3MouseDown(Sender: TObject;
|
||||||
@@ -19355,6 +19432,7 @@ begin
|
|||||||
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp3);
|
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp3);
|
||||||
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp3);
|
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp3);
|
||||||
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp3);
|
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp3);
|
||||||
|
LabeledEditT.Text:=intToSTR(blocUSB[NumBlocUSB].Tbp3);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfig.ShapeB4MouseDown(Sender: TObject;
|
procedure TFormConfig.ShapeB4MouseDown(Sender: TObject;
|
||||||
@@ -19366,6 +19444,7 @@ begin
|
|||||||
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp4);
|
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp4);
|
||||||
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp4);
|
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp4);
|
||||||
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp4);
|
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp4);
|
||||||
|
LabeledEditT.Text:=intToSTR(blocUSB[NumBlocUSB].Tbp4);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfig.ShapeB5MousDown(Sender: TObject;
|
procedure TFormConfig.ShapeB5MousDown(Sender: TObject;
|
||||||
@@ -19377,6 +19456,7 @@ begin
|
|||||||
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp5);
|
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp5);
|
||||||
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp5);
|
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp5);
|
||||||
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp5);
|
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp5);
|
||||||
|
LabeledEditT.Text:=intToSTR(blocUSB[NumBlocUSB].Tbp5);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfig.ShapeB6MouseDown(Sender: TObject;
|
procedure TFormConfig.ShapeB6MouseDown(Sender: TObject;
|
||||||
@@ -19388,6 +19468,7 @@ begin
|
|||||||
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp6);
|
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp6);
|
||||||
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp6);
|
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp6);
|
||||||
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp6);
|
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp6);
|
||||||
|
LabeledEditT.Text:=intToSTR(blocUSB[NumBlocUSB].Tbp6);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfig.ShapeB7MouseDown(Sender: TObject;
|
procedure TFormConfig.ShapeB7MouseDown(Sender: TObject;
|
||||||
@@ -19399,6 +19480,7 @@ begin
|
|||||||
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp7);
|
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp7);
|
||||||
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp7);
|
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp7);
|
||||||
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp7);
|
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp7);
|
||||||
|
LabeledEditT.Text:=intToSTR(blocUSB[NumBlocUSB].Tbp7);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfig.ShapeB8MouseDown(Sender: TObject;
|
procedure TFormConfig.ShapeB8MouseDown(Sender: TObject;
|
||||||
@@ -19410,6 +19492,7 @@ begin
|
|||||||
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp8);
|
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp8);
|
||||||
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp8);
|
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp8);
|
||||||
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp8);
|
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp8);
|
||||||
|
LabeledEditT.Text:=intToSTR(blocUSB[NumBlocUSB].Tbp8);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfig.LabeledEditCTChange(Sender: TObject);
|
procedure TFormConfig.LabeledEditCTChange(Sender: TObject);
|
||||||
@@ -19493,6 +19576,8 @@ begin
|
|||||||
LabeledEditClic.Text:='';
|
LabeledEditClic.Text:='';
|
||||||
LabeledEditF.Text:='';
|
LabeledEditF.Text:='';
|
||||||
LabeledEditFn.Text:='';
|
LabeledEditFn.Text:='';
|
||||||
|
LabeledEditT.Text:='';
|
||||||
|
|
||||||
ShapeBR.Brush.Color:=clGray;
|
ShapeBR.Brush.Color:=clGray;
|
||||||
shapeB1.Brush.Color:=clGray;
|
shapeB1.Brush.Color:=clGray;
|
||||||
shapeB2.Brush.Color:=clGray;
|
shapeB2.Brush.Color:=clGray;
|
||||||
@@ -19506,6 +19591,32 @@ begin
|
|||||||
clic_BRM;
|
clic_BRM;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TFormConfig.LabeledEditTChange(Sender: TObject);
|
||||||
|
var i,erreur : integer;
|
||||||
|
begin
|
||||||
|
val(LabeledEditT.Text,i,erreur);
|
||||||
|
if (erreur<>0) or (i<0) or (i>30) then
|
||||||
|
begin
|
||||||
|
labelInfo.Caption:='Erreur : valeur de 0 à 30';
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
labelInfo.Caption:='';
|
||||||
|
case boutonbloc of
|
||||||
|
1 : blocUSB[NumBlocUSB].Tbp1:=i;
|
||||||
|
2 : blocUSB[NumBlocUSB].Tbp2:=i;
|
||||||
|
3 : blocUSB[NumBlocUSB].Tbp3:=i;
|
||||||
|
4 : blocUSB[NumBlocUSB].Tbp4:=i;
|
||||||
|
5 : blocUSB[NumBlocUSB].Tbp5:=i;
|
||||||
|
6 : blocUSB[NumBlocUSB].Tbp6:=i;
|
||||||
|
7 : blocUSB[NumBlocUSB].Tbp7:=i;
|
||||||
|
8 : blocUSB[NumBlocUSB].Tbp8:=i;
|
||||||
|
9 : blocUSB[NumBlocUSB].Tbp9:=i;
|
||||||
|
10 : blocUSB[NumBlocUSB].Tbp10:=i;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure TFormConfig.LabeledEditFChange(Sender: TObject);
|
procedure TFormConfig.LabeledEditFChange(Sender: TObject);
|
||||||
var i,erreur : integer;
|
var i,erreur : integer;
|
||||||
begin
|
begin
|
||||||
@@ -19831,6 +19942,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ object FormPrinc: TFormPrinc
|
|||||||
Menu = MainMenu1
|
Menu = MainMenu1
|
||||||
OldCreateOrder = False
|
OldCreateOrder = False
|
||||||
Position = poDefault
|
Position = poDefault
|
||||||
Scaled = False
|
|
||||||
Visible = True
|
Visible = True
|
||||||
OnClose = FormClose
|
OnClose = FormClose
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
|
|||||||
+134
-69
@@ -1,5 +1,5 @@
|
|||||||
unit Unitprinc;
|
unit Unitprinc;
|
||||||
// 11/06/2025
|
// 21/11/2025
|
||||||
(********************************************
|
(********************************************
|
||||||
Programme signaux complexes Graphique Lenz
|
Programme signaux complexes Graphique Lenz
|
||||||
Composants ClientSocket et ServeurSocket pour les connexions réseau socket
|
Composants ClientSocket et ServeurSocket pour les connexions réseau socket
|
||||||
@@ -1174,6 +1174,8 @@ var
|
|||||||
Bp1,bp2,bp3,bp4,bp5,bp6,bp7,bp8,bp9,bp10 : integer;
|
Bp1,bp2,bp3,bp4,bp5,bp6,bp7,bp8,bp9,bp10 : integer;
|
||||||
Fbp1,fbp2,fbp3,Fbp4,fbp5,fbp6,Fbp7,fbp8,fbp9,Fbp10 : integer; // fonctions F des BP
|
Fbp1,fbp2,fbp3,Fbp4,fbp5,fbp6,Fbp7,fbp8,fbp9,Fbp10 : integer; // fonctions F des BP
|
||||||
Fnp1,fnp2,fnp3,Fnp4,fnp5,fnp6,Fnp7,fnp8,fnp9,Fnp10 : integer; // état F des BP
|
Fnp1,fnp2,fnp3,Fnp4,fnp5,fnp6,Fnp7,fnp8,fnp9,Fnp10 : integer; // état F des BP
|
||||||
|
Tbp1,Tbp2,Tbp3,Tbp4,Tbp5,Tbp6,Tbp7,Tbp8,Tbp9,Tbp10 : integer; // temps de retombée de la fonction F
|
||||||
|
Tcp : array[1..10] of integer; // valeur courante de la tempo de retombée
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Memoire : array[0..MaxMemoires] of integer;
|
Memoire : array[0..MaxMemoires] of integer;
|
||||||
@@ -4995,6 +4997,21 @@ begin
|
|||||||
if Signaux[result].adresse<>adresse then result:=0;
|
if Signaux[result].adresse<>adresse then result:=0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// trouve l'index du signal de l'adresse d'un signal qui n'est pas sa première adresse
|
||||||
|
function index_signal_quelc(adresse : integer) : integer;
|
||||||
|
var i,adr : integer;
|
||||||
|
trouve : boolean;
|
||||||
|
begin
|
||||||
|
trouve:=false;
|
||||||
|
adr:=signaux[NbreSignaux].adresse; // adresse du dernier signal
|
||||||
|
i:=index_signal(adr);
|
||||||
|
repeat
|
||||||
|
trouve:=adresse>=signaux[i].Adresse ;
|
||||||
|
dec(i);
|
||||||
|
until trouve or (i>NbreSignaux);
|
||||||
|
if trouve then result:=i+1 else result:=0;
|
||||||
|
end;
|
||||||
|
|
||||||
// renvoie l'index de l'aiguillage dans le tableau aiguillages[] en fonction de son adresse
|
// renvoie l'index de l'aiguillage dans le tableau aiguillages[] en fonction de son adresse
|
||||||
// si pas trouvé renvoie 0
|
// si pas trouvé renvoie 0
|
||||||
function Index_Aig_V1(adresse : integer) : integer;
|
function Index_Aig_V1(adresse : integer) : integer;
|
||||||
@@ -5203,6 +5220,7 @@ begin
|
|||||||
font.Style:=[fsBold];
|
font.Style:=[fsBold];
|
||||||
Parent:=Formprinc.ScrollBoxSig;
|
Parent:=Formprinc.ScrollBoxSig;
|
||||||
font.color:=clBlack;
|
font.color:=clBlack;
|
||||||
|
font.size:=round(RedFonte*10);
|
||||||
width:=100;height:=20;
|
width:=100;height:=20;
|
||||||
Top:=HtImg+((HtImg+EspY+20)*((rang-1) div NbreImagePLigne));
|
Top:=HtImg+((HtImg+EspY+20)*((rang-1) div NbreImagePLigne));
|
||||||
Left:=10+ (LargImg+5)*((rang-1) mod (NbreImagePLigne));
|
Left:=10+ (LargImg+5)*((rang-1) mod (NbreImagePLigne));
|
||||||
@@ -5793,8 +5811,9 @@ begin
|
|||||||
chaine_CDM_Acc:=so+s;
|
chaine_CDM_Acc:=so+s;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// ajoute une tache en tableau taches[] pour le timer
|
// ajoute une tache dans le tableau taches[]
|
||||||
// ttache=1 : pilote accessoire...
|
// pour pilotage dans le timer. On pilotera une tache par tick timer (1/10ème de s)
|
||||||
|
// ttache=ttacheAcc (pilote acc), ttacheVit (vitesse train) , ttacheFF (fonctionF) , ttacheTempo (temporisation)
|
||||||
// temporisation pour le timer avant action
|
// temporisation pour le timer avant action
|
||||||
// destinataire (1=CDM 2=XpressNet 3=Dccpp)
|
// destinataire (1=CDM 2=XpressNet 3=Dccpp)
|
||||||
// commande : chaine de pilotage pour le destinataire
|
// commande : chaine de pilotage pour le destinataire
|
||||||
@@ -5824,7 +5843,7 @@ end;
|
|||||||
|
|
||||||
// envoie une fonction F à une loco via CDM ou socket ou usb
|
// envoie une fonction F à une loco via CDM ou socket ou usb
|
||||||
// si c'est une fonction F>12 elle peut être envoyée en XpressNet
|
// si c'est une fonction F>12 elle peut être envoyée en XpressNet
|
||||||
procedure envoie_fonction(fonction,etat : integer;train : string);
|
procedure envoie_fonction(fonction,etat : integer;train : string);
|
||||||
var loco : integer;
|
var loco : integer;
|
||||||
s : string;
|
s : string;
|
||||||
begin
|
begin
|
||||||
@@ -5943,7 +5962,7 @@ end;
|
|||||||
|
|
||||||
// appellé par le hooker clavier
|
// appellé par le hooker clavier
|
||||||
function traite_code_blocUSB(code: integer) : integer;
|
function traite_code_blocUSB(code: integer) : integer;
|
||||||
var vitesse,f,n,i : integer;
|
var vitesse,f,n,i,t : integer;
|
||||||
condValide,EtatValide,BlocSelec : boolean;
|
condValide,EtatValide,BlocSelec : boolean;
|
||||||
s : string;
|
s : string;
|
||||||
begin
|
begin
|
||||||
@@ -6060,8 +6079,9 @@ begin
|
|||||||
result:=255;
|
result:=255;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
f:=blocUSB[1].Fbp1; // numéro de fonction F
|
f:=blocUSB[i].Fbp1; // numéro de fonction F
|
||||||
n:=blocUSB[1].Fnp1;
|
n:=blocUSB[i].Fnp1;
|
||||||
|
blocUSB[i].Tcp[1]:=blocUSB[1].Tbp1; // affecter la tempo de retombée à la valeur courante
|
||||||
s:=trains[IdTrainUSB].nom_train;
|
s:=trains[IdTrainUSB].nom_train;
|
||||||
Affiche('B1 Fonction F'+intToSTR(f)+' à '+intToSTR(n)+' train '+s,clWhite);
|
Affiche('B1 Fonction F'+intToSTR(f)+' à '+intToSTR(n)+' train '+s,clWhite);
|
||||||
envoie_fonction(f,n,s);
|
envoie_fonction(f,n,s);
|
||||||
@@ -6076,8 +6096,9 @@ begin
|
|||||||
result:=255;
|
result:=255;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
f:=blocUSB[1].Fbp2; // numéro de fonction F
|
f:=blocUSB[i].Fbp2; // numéro de fonction F
|
||||||
n:=blocUSB[1].Fnp2;
|
n:=blocUSB[i].Fnp2;
|
||||||
|
blocUSB[i].Tcp[i]:=blocUSB[1].Tbp2;
|
||||||
s:=trains[IdTrainUSB].nom_train;
|
s:=trains[IdTrainUSB].nom_train;
|
||||||
Affiche('B2 Fonction F'+intToSTR(f)+' à '+intToSTR(n)+' train '+s,clWhite);
|
Affiche('B2 Fonction F'+intToSTR(f)+' à '+intToSTR(n)+' train '+s,clWhite);
|
||||||
envoie_fonction(f,n,s);
|
envoie_fonction(f,n,s);
|
||||||
@@ -6092,8 +6113,9 @@ begin
|
|||||||
result:=255;
|
result:=255;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
f:=blocUSB[1].Fbp3; // numéro de fonction F
|
f:=blocUSB[i].Fbp3; // numéro de fonction F
|
||||||
n:=blocUSB[1].Fnp3;
|
n:=blocUSB[i].Fnp3;
|
||||||
|
blocUSB[i].Tcp[3]:=blocUSB[i].Tbp3;
|
||||||
s:=trains[IdTrainUSB].nom_train;
|
s:=trains[IdTrainUSB].nom_train;
|
||||||
Affiche('B3 Fonction F'+intToSTR(f)+' à '+intToSTR(n)+' train '+s,clWhite);
|
Affiche('B3 Fonction F'+intToSTR(f)+' à '+intToSTR(n)+' train '+s,clWhite);
|
||||||
envoie_fonction(f,n,s);
|
envoie_fonction(f,n,s);
|
||||||
@@ -6108,8 +6130,9 @@ begin
|
|||||||
result:=255;
|
result:=255;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
f:=blocUSB[1].Fbp4; // numéro de fonction F
|
f:=blocUSB[i].Fbp4; // numéro de fonction F
|
||||||
n:=blocUSB[1].Fnp4;
|
n:=blocUSB[i].Fnp4;
|
||||||
|
blocUSB[i].Tcp[4]:=blocUSB[4].Tbp4;
|
||||||
s:=trains[IdTrainUSB].nom_train;
|
s:=trains[IdTrainUSB].nom_train;
|
||||||
Affiche('B4 Fonction F'+intToSTR(f)+' à '+intToSTR(n)+' train '+s,clWhite);
|
Affiche('B4 Fonction F'+intToSTR(f)+' à '+intToSTR(n)+' train '+s,clWhite);
|
||||||
envoie_fonction(f,n,s);
|
envoie_fonction(f,n,s);
|
||||||
@@ -6124,8 +6147,9 @@ begin
|
|||||||
result:=255;
|
result:=255;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
f:=blocUSB[1].Fbp5; // numéro de fonction F
|
f:=blocUSB[i].Fbp5; // numéro de fonction F
|
||||||
n:=blocUSB[1].Fnp5;
|
n:=blocUSB[i].Fnp5;
|
||||||
|
blocUSB[i].Tcp[5]:=blocUSB[i].Tbp5;
|
||||||
s:=trains[IdTrainUSB].nom_train;
|
s:=trains[IdTrainUSB].nom_train;
|
||||||
Affiche('B4Fonction F'+intToSTR(f)+' à '+intToSTR(n)+' train '+s,clWhite);
|
Affiche('B4Fonction F'+intToSTR(f)+' à '+intToSTR(n)+' train '+s,clWhite);
|
||||||
envoie_fonction(f,n,s);
|
envoie_fonction(f,n,s);
|
||||||
@@ -6140,8 +6164,9 @@ begin
|
|||||||
result:=255;
|
result:=255;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
f:=blocUSB[1].Fbp6; // numéro de fonction F
|
f:=blocUSB[i].Fbp6; // numéro de fonction F
|
||||||
n:=blocUSB[1].Fnp6;
|
n:=blocUSB[i].Fnp6;
|
||||||
|
blocUSB[i].Tcp[6]:=blocUSB[i].Tbp6;
|
||||||
s:=trains[IdTrainUSB].nom_train;
|
s:=trains[IdTrainUSB].nom_train;
|
||||||
Affiche('B6 Fonction F'+intToSTR(f)+' à '+intToSTR(n)+' train '+s,clWhite);
|
Affiche('B6 Fonction F'+intToSTR(f)+' à '+intToSTR(n)+' train '+s,clWhite);
|
||||||
envoie_fonction(f,n,s);
|
envoie_fonction(f,n,s);
|
||||||
@@ -6156,8 +6181,9 @@ begin
|
|||||||
result:=255;
|
result:=255;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
f:=blocUSB[1].Fbp7; // numéro de fonction F
|
f:=blocUSB[i].Fbp7; // numéro de fonction F
|
||||||
n:=blocUSB[1].Fnp7;
|
n:=blocUSB[i].Fnp7;
|
||||||
|
blocUSB[i].Tcp[7]:=blocUSB[i].Tbp7;
|
||||||
s:=trains[IdTrainUSB].nom_train;
|
s:=trains[IdTrainUSB].nom_train;
|
||||||
Affiche('B7 Fonction F'+intToSTR(f)+' à '+intToSTR(n)+' train '+s,clWhite);
|
Affiche('B7 Fonction F'+intToSTR(f)+' à '+intToSTR(n)+' train '+s,clWhite);
|
||||||
envoie_fonction(f,n,s);
|
envoie_fonction(f,n,s);
|
||||||
@@ -6172,8 +6198,9 @@ begin
|
|||||||
result:=255;
|
result:=255;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
f:=blocUSB[1].Fbp8; // numéro de fonction F
|
f:=blocUSB[i].Fbp8; // numéro de fonction F
|
||||||
n:=blocUSB[1].Fnp8;
|
n:=blocUSB[i].Fnp8;
|
||||||
|
blocUSB[i].Tcp[8]:=blocUSB[1].Tbp8;
|
||||||
s:=trains[IdTrainUSB].nom_train;
|
s:=trains[IdTrainUSB].nom_train;
|
||||||
Affiche('B8 Fonction F'+intToSTR(f)+' à '+intToSTR(n)+' train '+s,clWhite);
|
Affiche('B8 Fonction F'+intToSTR(f)+' à '+intToSTR(n)+' train '+s,clWhite);
|
||||||
envoie_fonction(f,n,s);
|
envoie_fonction(f,n,s);
|
||||||
@@ -7165,8 +7192,8 @@ var index,mode,code,aspect,cible,combine,offset,sortie : integer;
|
|||||||
if (testBit(selection,i)) then begin octet:=1;end
|
if (testBit(selection,i)) then begin octet:=1;end
|
||||||
else begin octet:=2 ;end;
|
else begin octet:=2 ;end;
|
||||||
Pilote_acc(adresse+i,octet,signal);
|
Pilote_acc(adresse+i,octet,signal);
|
||||||
if (Cdm_connecte or portCommOuvert or parSocketLenz) then
|
if (Cdm_connecte or portCommOuvert or parSocketLenz) then
|
||||||
begin
|
begin
|
||||||
if not modetache then
|
if not modetache then
|
||||||
begin
|
begin
|
||||||
Sleep(Tempo_Signal);
|
Sleep(Tempo_Signal);
|
||||||
@@ -17076,16 +17103,17 @@ begin
|
|||||||
if af=2 then envoi_socket_periph_act(i,ida); // numéro d'actionneur
|
if af=2 then envoi_socket_periph_act(i,ida); // numéro d'actionneur
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// 12 actionneur pour fonction train
|
// 12 action pour fonction train
|
||||||
if (op=ActionFonctionF) then
|
if (op=ActionFonctionF) then
|
||||||
begin
|
begin
|
||||||
trainDest:=Tablo_Action[i].tabloOp[ida].train;
|
trainDest:=Tablo_Action[i].tabloOp[ida].train ;
|
||||||
// exécution de la fonction F vers CDM
|
|
||||||
etat:=Tablo_Action[i].tabloop[ida].etat;
|
etat:=Tablo_Action[i].tabloop[ida].etat;
|
||||||
|
t:=Tablo_Action[i].tabloop[ida].TempoF;
|
||||||
tr:=Tablo_Action[i].tabloop[ida].TempoF/10;
|
tr:=Tablo_Action[i].tabloop[ida].TempoF; // pour affichage uniquement
|
||||||
Affiche(st+' TrainDest='+trainDest+' F'+IntToSTR(Tablo_Action[i].tabloOp[ida].fonctionF)+':'+intToSTR(etat)+' t='+Format('%.1f', [tr])+'s',clyellow);
|
Affiche(st+' TrainDest='+trainDest+' F'+IntToSTR(Tablo_Action[i].tabloOp[ida].fonctionF)+':'+intToSTR(etat)+' t='+Format('%.1f', [tr])+'s',clyellow);
|
||||||
|
|
||||||
envoie_fonction(Tablo_Action[i].TabloOp[ida].fonctionF,etat,trainDest);
|
envoie_fonction(Tablo_Action[i].TabloOp[ida].fonctionF,etat,trainDest);
|
||||||
|
// Tempo de retombée de la fonction F
|
||||||
Tablo_Action[i].tabloOp[ida].TrainCourant:=trainDest; // pour mémoriser le train pour la retombée de la fonction
|
Tablo_Action[i].tabloOp[ida].TrainCourant:=trainDest; // pour mémoriser le train pour la retombée de la fonction
|
||||||
Tablo_Action[i].TabloOp[ida].TempoCourante:=Tablo_Action[i].tabloop[ida].TempoF;
|
Tablo_Action[i].TabloOp[ida].TempoCourante:=Tablo_Action[i].tabloop[ida].TempoF;
|
||||||
end;
|
end;
|
||||||
@@ -18018,35 +18046,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// pilote une sortie à 0 à l'interface dont l'adresse est à 1 ou 2 (octet)
|
|
||||||
procedure Pilote_acc0_X(adresse : integer;octet : byte);
|
|
||||||
var groupe : integer ;
|
|
||||||
fonction : byte;
|
|
||||||
s : string;
|
|
||||||
begin
|
|
||||||
if (portCommOuvert or parSocketLenz) then
|
|
||||||
begin
|
|
||||||
if debug_dec_sig then AfficheDebug('Tick='+IntToSTR(Tick)+' signal '+intToSTR(adresse)+' '+intToSTR(octet)+' à 0',clorange);
|
|
||||||
if protocole=1 then
|
|
||||||
begin
|
|
||||||
groupe:=(adresse-1) div 4;
|
|
||||||
fonction:=((adresse-1) mod 4)*2 + (octet-1);
|
|
||||||
s:=#$52+Char(groupe)+char(fonction or $80); // désactiver la sortie
|
|
||||||
s:=checksum(s);
|
|
||||||
if avecAck then envoi(s) else envoi_ss_ack(s);
|
|
||||||
end;
|
|
||||||
if protocole=2 then
|
|
||||||
begin
|
|
||||||
//la RAZ d'une sortie n'existe pas en DCC+!
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
if cdm_connecte then
|
|
||||||
begin
|
|
||||||
// remise à 0
|
|
||||||
s:=chaine_CDM_Acc(adresse,0);
|
|
||||||
envoi_CDM(s);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
// envoi d'une chaîne Com_IPC à CDM par socket, puis attend l'ack ou le nack
|
// envoi d'une chaîne Com_IPC à CDM par socket, puis attend l'ack ou le nack
|
||||||
function envoi_CDM(s : string) : boolean;
|
function envoi_CDM(s : string) : boolean;
|
||||||
@@ -18122,10 +18122,9 @@ begin
|
|||||||
|
|
||||||
s:=chaine_CDM_Acc(adresse,pilotageCDM);
|
s:=chaine_CDM_Acc(adresse,pilotageCDM);
|
||||||
// pilotage actif de l'accessoire----------------
|
// pilotage actif de l'accessoire----------------
|
||||||
//if acc<>signal then
|
if acc<>signal then tache(ttacheAcc,0,ttDestCDM,s) // TypeTache,tempo,destinataire,chaine
|
||||||
tache(ttacheAcc,0,ttDestCDM,s);
|
else tache(ttacheAcc,signaux[index_signal_quelc(adresse)].Tempo,ttDestCDM,s);
|
||||||
// TypeTache,tempo,destinataire,chaine
|
|
||||||
// else tache(ttacheAcc,signaux[index].Tempo,ttDestCDM,s);
|
|
||||||
// si l'accessoire est un signal et sans raz des signaux, sortir
|
// si l'accessoire est un signal et sans raz des signaux, sortir
|
||||||
if (acc=signal) and not(Raz_Acc_signaux) then exit;
|
if (acc=signal) and not(Raz_Acc_signaux) then exit;
|
||||||
if Acc=AigP then
|
if Acc=AigP then
|
||||||
@@ -18147,7 +18146,7 @@ begin
|
|||||||
|
|
||||||
// pilotage par USB ou par éthernet de la centrale ------------
|
// pilotage par USB ou par éthernet de la centrale ------------
|
||||||
if (portCommOuvert or parSocketLenz) and not CDM_connecte then
|
if (portCommOuvert or parSocketLenz) and not CDM_connecte then
|
||||||
begin
|
begin
|
||||||
if hors_tension then
|
if hors_tension then
|
||||||
begin
|
begin
|
||||||
Affiche('Voie hors tension, pas de pilotage d''accessoires',clRose);
|
Affiche('Voie hors tension, pas de pilotage d''accessoires',clRose);
|
||||||
@@ -18165,9 +18164,9 @@ begin
|
|||||||
if debug_dec_sig and (acc=signal) then AfficheDebug('Tick='+IntToSTR(Tick)+' signal '+intToSTR(adresse)+' '+intToSTR(pilotage),clorange);
|
if debug_dec_sig and (acc=signal) then AfficheDebug('Tick='+IntToSTR(Tick)+' signal '+intToSTR(adresse)+' '+intToSTR(pilotage),clorange);
|
||||||
//if avecAck then envoi(s) else envoi_ss_ack(s); // envoi de la trame avec/sans attente Ack
|
//if avecAck then envoi(s) else envoi_ss_ack(s); // envoi de la trame avec/sans attente Ack
|
||||||
|
|
||||||
|
if acc<>signal then tache(ttacheAcc,0,ttDestXpressNet,s)
|
||||||
//if acc<>signal then tache(ttacheAcc,0,ttDestXpressNet,s) else tache(ttacheAcc,signaux[index].Tempo,ttDestCDM,s);
|
else tache(ttacheAcc,signaux[index_signal_quelc(adresse)].Tempo,ttDestXpressNet,s);
|
||||||
tache(ttacheAcc,0,ttDestXpressNet,s);
|
//tache(ttacheAcc,0,ttDestXpressNet,s);
|
||||||
|
|
||||||
// si l'accessoire est un signal et sans raz des signaux, sortir
|
// si l'accessoire est un signal et sans raz des signaux, sortir
|
||||||
if (acc=signal) and not(Raz_Acc_signaux) then exit;
|
if (acc=signal) and not(Raz_Acc_signaux) then exit;
|
||||||
@@ -18218,6 +18217,43 @@ begin
|
|||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
// pilote une sortie à 0 à l'interface dont l'adresse est à 1 ou 2 (octet)
|
||||||
|
procedure Pilote_acc0_X(adresse : integer;octet : byte);
|
||||||
|
var groupe : integer ;
|
||||||
|
fonction : byte;
|
||||||
|
s : string;
|
||||||
|
begin
|
||||||
|
if (portCommOuvert or parSocketLenz) then
|
||||||
|
begin
|
||||||
|
if debug_dec_sig then AfficheDebug('Tick='+IntToSTR(Tick)+' signal '+intToSTR(adresse)+' '+intToSTR(octet)+' à 0',clorange);
|
||||||
|
if protocole=1 then
|
||||||
|
begin
|
||||||
|
groupe:=(adresse-1) div 4;
|
||||||
|
fonction:=((adresse-1) mod 4)*2 + (octet-1);
|
||||||
|
s:=#$52+Char(groupe)+char(fonction or $80); // désactiver la sortie
|
||||||
|
s:=checksum(s);
|
||||||
|
|
||||||
|
if ModeTache then tache(ttacheAcc,0,ttDestXpressNet,s)
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
if avecAck then envoi(s) else envoi_ss_ack(s);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
if protocole=2 then
|
||||||
|
begin
|
||||||
|
//la RAZ d'une sortie n'existe pas en DCC+!
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
if cdm_connecte then
|
||||||
|
begin
|
||||||
|
// remise à 0
|
||||||
|
s:=chaine_CDM_Acc(adresse,0);
|
||||||
|
if ModeTache then tache(ttacheAcc,0,ttDestCDM,s)
|
||||||
|
else envoi_CDM(s);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
// pilote aiguillage sous condition (accessoire) avec condition : l'aiguillage doit être réservé par AdrTrain (adrTrain<>0) ou sans condition (adrTrain=0)
|
// pilote aiguillage sous condition (accessoire) avec condition : l'aiguillage doit être réservé par AdrTrain (adrTrain<>0) ou sans condition (adrTrain=0)
|
||||||
// acc : AigP (aiguillage) ou signal
|
// acc : AigP (aiguillage) ou signal
|
||||||
function pilote_acc_sc(adresse : integer;octet : byte;Acc : TAccessoire;adrTrain : integer) : boolean;
|
function pilote_acc_sc(adresse : integer;octet : byte;Acc : TAccessoire;adrTrain : integer) : boolean;
|
||||||
@@ -20972,14 +21008,18 @@ begin
|
|||||||
|
|
||||||
{$IF CompilerVersion >= 28.0}
|
{$IF CompilerVersion >= 28.0}
|
||||||
RedFonte:=Screen.DefaultPixelsPerInch/Screen.PixelsPerInch; // pour la réduction des fontes : windows mise à l'échelle du texte
|
RedFonte:=Screen.DefaultPixelsPerInch/Screen.PixelsPerInch; // pour la réduction des fontes : windows mise à l'échelle du texte
|
||||||
|
FormatSettings:=tFormatSettings.Create;
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
RedFonte:=100/Screen.PixelsPerInch; // pour la réduction des fontes : windows mise à l'échelle du texte
|
RedFonte:=100/Screen.PixelsPerInch; // pour la réduction des fontes : windows mise à l'échelle du texte
|
||||||
{$IFEND}
|
|
||||||
|
|
||||||
ButtonEssai.Visible:=not(diffusion);
|
|
||||||
GetLocaleFormatSettings(0,FormatSettings);
|
GetLocaleFormatSettings(0,FormatSettings);
|
||||||
|
{$IFEND}
|
||||||
|
|
||||||
FormatSettings.DecimalSeparator:='.';
|
FormatSettings.DecimalSeparator:='.';
|
||||||
|
|
||||||
|
ButtonEssai.Visible:=not(diffusion);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
FenRich.MaxLength:=$7FFFFFF0;
|
FenRich.MaxLength:=$7FFFFFF0;
|
||||||
NbDecodeur:=12;
|
NbDecodeur:=12;
|
||||||
NbDecodeurdeBase:=NbDecodeur;
|
NbDecodeurdeBase:=NbDecodeur;
|
||||||
@@ -21539,7 +21579,7 @@ end;
|
|||||||
|
|
||||||
|
|
||||||
{$IF CompilerVersion >= 28.0}
|
{$IF CompilerVersion >= 28.0}
|
||||||
// évènement réception d'une trame sur le port COM USB centrale Xpressnet
|
// évènement réception d'une trame sur le port COM USB centrale Xpressnet avec Asyncpro
|
||||||
procedure TFormPrinc.RecuInterface(Sender: TObject;Count : word);
|
procedure TFormPrinc.RecuInterface(Sender: TObject;Count : word);
|
||||||
var i,tev,l : integer;
|
var i,tev,l : integer;
|
||||||
s : string;
|
s : string;
|
||||||
@@ -22175,6 +22215,31 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// tempo retombée fonction F bloc USB
|
||||||
|
for i:=1 to 10 do
|
||||||
|
begin
|
||||||
|
for j:=1 to 10 do
|
||||||
|
begin
|
||||||
|
a:=blocUSB[i].tcp[j]; // tempo courante du bouton j du bloc i
|
||||||
|
if a<>0 then
|
||||||
|
begin
|
||||||
|
dec(a);
|
||||||
|
blocUSB[i].tcp[j]:=a;
|
||||||
|
if a=0 then
|
||||||
|
begin
|
||||||
|
s:=lowercase(blocUSB[i].AffTrain);
|
||||||
|
// si bloc usb pas affecté à un train
|
||||||
|
if (s='') or (pos('pas d',s)<>0) then
|
||||||
|
begin
|
||||||
|
s:=trains[idTrainClic].nom_train; // nom du train cliqué
|
||||||
|
end;
|
||||||
|
envoie_fonction(blocUSB[i].Fbp1,0,s);
|
||||||
|
Affiche('B='+intToSTR(i)+' Fonction F'+inttoSTR(blocUSB[i].Fbp1)+' à 0 Train '+s,clyellow);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
// tempo retombée actionneur
|
// tempo retombée actionneur
|
||||||
for i:=1 to maxTablo_act do
|
for i:=1 to maxTablo_act do
|
||||||
begin
|
begin
|
||||||
|
|||||||
+1
-1
@@ -26,7 +26,7 @@ var
|
|||||||
f : textFile;
|
f : textFile;
|
||||||
|
|
||||||
Const
|
Const
|
||||||
VersionSC = '10.77'; // sert à la comparaison de la version publiée
|
VersionSC = '10.78'; // 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;
|
||||||
|
|||||||
@@ -354,6 +354,11 @@ version 10.76 : Ajout du copier/coller des routes de trains.
|
|||||||
Correction du bug de la 10.74 sur le pilotage des signaux.
|
Correction du bug de la 10.74 sur le pilotage des signaux.
|
||||||
version 10.77 : Amélioration diverses.
|
version 10.77 : Amélioration diverses.
|
||||||
Correction du non affichage de la position des aiguillages dans le TCO.
|
Correction du non affichage de la position des aiguillages dans le TCO.
|
||||||
|
version 10.78 : Correction affichage aiguillages dans l'écran de config des versions D13.
|
||||||
|
Correction pilotage des décodeurs LEB en mode binaire.
|
||||||
|
Ajout temps de retombée fonction F trains dans les blocs claviers USB.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user