This commit is contained in:
f1iwq2
2025-09-14 14:15:59 +02:00
parent 659c39512c
commit c1fe725ab3
10 changed files with 209 additions and 92 deletions
+37 -26
View File
@@ -1573,7 +1573,7 @@ object FormConfig: TFormConfig
Top = 8
Width = 633
Height = 505
ActivePage = TabSheetAutonome
ActivePage = TabSheetActions
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
@@ -2098,7 +2098,7 @@ object FormConfig: TFormConfig
'S'#233'lection du style d'#39#39'affichage - Le style sera chang'#233' '#224' la ferm' +
'eture de la fen'#234'tre'#39
Style = csDropDownList
ItemHeight = 13
ItemHeight = 0
ParentShowHint = False
ShowHint = True
TabOrder = 0
@@ -3340,7 +3340,7 @@ object FormConfig: TFormConfig
Width = 137
Height = 21
Style = csDropDownList
ItemHeight = 13
ItemHeight = 0
TabOrder = 1
OnChange = ComboBoxDecChange
end
@@ -3471,7 +3471,7 @@ object FormConfig: TFormConfig
Width = 137
Height = 21
Style = csDropDownList
ItemHeight = 13
ItemHeight = 0
TabOrder = 2
OnChange = ComboBoxAspChange
end
@@ -3779,7 +3779,7 @@ object FormConfig: TFormConfig
Top = 56
Width = 193
Height = 21
ItemHeight = 13
ItemHeight = 0
TabOrder = 0
OnChange = ComboBoxDecodeurPersoChange
end
@@ -3798,7 +3798,7 @@ object FormConfig: TFormConfig
Width = 145
Height = 21
Style = csDropDownList
ItemHeight = 13
ItemHeight = 0
TabOrder = 2
OnChange = ComboBoxNationChange
end
@@ -3844,7 +3844,7 @@ object FormConfig: TFormConfig
Width = 193
Height = 21
Style = csDropDownList
ItemHeight = 13
ItemHeight = 0
TabOrder = 6
OnChange = ComboBoxDecCdeChange
end
@@ -4057,7 +4057,7 @@ object FormConfig: TFormConfig
Top = 96
Width = 137
Height = 21
ItemHeight = 13
ItemHeight = 0
TabOrder = 2
OnChange = ComboBoxOperateurChange
OnDrawItem = ComboBoxOperateurDrawItem
@@ -4077,7 +4077,7 @@ object FormConfig: TFormConfig
Top = 96
Width = 161
Height = 21
ItemHeight = 13
ItemHeight = 0
ParentShowHint = False
ShowHint = True
TabOrder = 4
@@ -4147,8 +4147,8 @@ object FormConfig: TFormConfig
OnChange = LabeledEditTrainChange
end
object RadioGroupOP: TRadioGroup
Left = 48
Top = 32
Left = 72
Top = 24
Width = 89
Height = 57
Caption = 'Op'#233'rateur'
@@ -4159,6 +4159,17 @@ object FormConfig: TFormConfig
TabOrder = 4
OnClick = RadioGroupOPClick
end
object LabeledEditZone: TLabeledEdit
Left = 16
Top = 44
Width = 41
Height = 21
EditLabel.Width = 25
EditLabel.Height = 13
EditLabel.Caption = 'Zone'
TabOrder = 5
OnChange = LabeledEditZoneChange
end
end
object ButtonSupLog: TButton
Left = 288
@@ -4178,7 +4189,7 @@ object FormConfig: TFormConfig
Width = 145
Height = 21
Style = csDropDownList
ItemHeight = 13
ItemHeight = 0
TabOrder = 7
OnChange = ComboBoxFLChange
end
@@ -4728,7 +4739,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
@@ -6455,7 +6466,7 @@ object FormConfig: TFormConfig
Width = 153
Height = 21
Style = csDropDownList
ItemHeight = 13
ItemHeight = 0
TabOrder = 0
OnChange = ComboBoxUSBTrChange
end
@@ -6635,7 +6646,7 @@ object FormConfig: TFormConfig
Left = 664
Top = 72
Bitmap = {
494C010109000E00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
494C01010A000E00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000004000000001002000000000000040
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -6791,17 +6802,17 @@ object FormConfig: TFormConfig
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000FF000000
FF000000FF000000FF000000FF0000000000000000000000FF000000FF000000
FF000000FF000000FF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000FF000000
FF000000FF000000FF000000FF0000000000000000000000FF000000FF000000
FF000000FF000000FF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -7155,11 +7166,11 @@ object FormConfig: TFormConfig
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000FFFF000000000000742E000000000000
75EE000000000000546A00000000000025E4000000000000742E000000000000
FFFF000000000000FFFF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000FFFF000000000000FB4700000000
00000000000000000000000000000000FFFFFFFF00000000742EFFFF00000000
75EEFFFF00000000546AC1830000000025E4C18300000000742EFFFF00000000
FFFFFFFF00000000FFFFB6DB0000000000000000000000000000B6DB00000000
00000000000000000000B6DB000000000000FFFF000000000000FFFF00000000
0000FFFF000000000000FFFF000000000000FFFF000000000000FB4700000000
0000F56F000000000000F56F000000000000F54F000000000000FB6F00000000
0000FFFF00000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
+113 -22
View File
@@ -510,6 +510,7 @@ type
Label83: TLabel;
Label84: TLabel;
LabelTitreTrain: TLabel;
LabeledEditZone: TLabeledEdit;
procedure ButtonAppliquerEtFermerClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ListBoxAigMouseDown(Sender: TObject; Button: TMouseButton;
@@ -808,6 +809,7 @@ type
procedure LabeledEditVit1Change(Sender: TObject);
procedure LabeledEditVit2Change(Sender: TObject);
procedure LabeledEditVit3Change(Sender: TObject);
procedure LabeledEditZoneChange(Sender: TObject);
private
{ Déclarations privées }
@@ -964,6 +966,7 @@ EtatDCC=5;
EtatDet=6;
EtatBoutonTCO=7;
EtatMemoire=8;
EtatZone=9;
NomVAR='Fonction logique';
NomOpET='Opérateur ET';
NomOpOU='Opérateur OU';
@@ -973,7 +976,8 @@ NomEtatDCC='Etat DCC';
NomEtatDet='Etat détect./actionn.';
NomEtatBoutonTCO='Bouton TCO';
NomEtatMemoire='Mémoire';
NomFonc : array[0..8] of string[25]=(NomVar,NomOpET,NomOpOu,NomOpNonET,NomOpNonOU,NomEtatDCC,NomEtatDet,NomEtatBoutonTCO,NomEtatMemoire);
NomEtatZone='Zone';
NomFonc : array[0..9] of string[25]=(NomVar,NomOpET,NomOpOu,NomOpNonET,NomOpNonOU,NomEtatDCC,NomEtatDet,NomEtatBoutonTCO,NomEtatMemoire,NomEtatZone);
var
@@ -2632,7 +2636,9 @@ begin
s:=intToSTR(i)+','+nomfonc[fonction[j,i].typ]+',';
s:=s+'N'+intToSTR(fonction[j,i].niveau)+',';
s:=s+'T'+intToSTR(fonction[j,i].typ)+',';
s:=s+'A'+intToSTR(fonction[j,i].adresse)+',';
s:=s+'A'+intToSTR(fonction[j,i].adresse);
if fonction[j,i].typ=EtatZone then s:=s+'-'+intToSTR(fonction[j,i].adresse2);
s:=s+',';
s:=s+'E'+intToSTR(fonction[j,i].etat)+',';
s:=s+'V'+','+fonction[j,i].train+',';
s:=s+'O'+intToSTR(fonction[j,i].OpMemoire)+',';
@@ -2954,14 +2960,16 @@ begin
result:=c;
end;
// renvoie vrai si typ est un opérateur
function isOperateur(typ : integer): boolean;
begin
result:=(typ>=OpET) and (typ<=OpNonOu);
end;
// renvoie vrai si typ est une variable
function isVariable(typ : integer): boolean;
begin
result:=(typ>=EtatDCC) and (typ<=EtatMemoire);
result:=(typ>=EtatDCC) and (typ<=EtatZone);
end;
// donne le texte à mettre dans le tree view en fonction de l'index de fonction[]
@@ -3015,6 +3023,10 @@ begin
end;
s:=s+intToSTR(fonction[fonc,i].etat);
end;
if typ=EtatZone then
begin
s:=s+fonction[fonc,i].train+' '+intToSTR(fonction[fonc,i].adresse)+' '+intToSTR(fonction[fonc,i].adresse2)+' '+intToSTR(fonction[fonc,i].etat);
end;
end;
result:=s;
end;
@@ -3042,10 +3054,14 @@ begin
else s:=s+' inconnu ';
end;
end;
if typ=EtatDet then
if (typ=EtatDet) then
begin
s:=s+intToSTR(fonction[fonc,i].adresse)+' '+intToSTR(fonction[fonc,i].etat);
end;
if (typ=EtatZone) then
begin
s:=s+intToSTR(fonction[fonc,i].adresse)+' '+intToSTR(fonction[fonc,i].adresse2)+' '+intToSTR(fonction[fonc,i].etat);
end;
if typ=EtatBoutonTCO then
begin
s:=s+'Bt'+intToSTR(fonction[fonc,i].adresse)+' '+intToSTR(fonction[fonc,i].etat);
@@ -4913,24 +4929,33 @@ const LessThanValue=-1;
Fonction[NbreFL+1,i].niveau:=v;
Delete(s,1,erreur);
Delete(s,1,1); // supprime T
Delete(s,1,1); // supprime T (type)
val(s,v,erreur);
delete(s,1,erreur);
erreur:=CompareValue(versR,9.7,0.01);
if (erreur=LessThanValue) or (erreur=EqualsValue) then
begin
if (v>=4) then inc(v);
end;
Fonction[NbreFL+1,i].typ:=v;
//erreur:=CompareValue(versR,9.7,0.01);
//if (erreur=LessThanValue) or (erreur=EqualsValue) then
//begin
// if (v>=4) then inc(v);
//end;
Fonction[NbreFL+1,i].typ:=v; // type
inc(idOperateur);
ArbreFonc[idOperateur,0]:=i;
Delete(s,1,1); // supprime A
Delete(s,1,1); // supprime A (adresse)
val(s,v,erreur);
delete(s,1,erreur);
Fonction[NbreFL+1,i].adresse:=v;
Delete(s,1,1); // supprime E
Fonction[NbreFL+1,i].adresse:=v;
delete(s,1,erreur-1);
if s[1]='-' then // si adresse 2 pour mémoire de zone
begin
delete(s,1,1);
val(s,v,erreur);
Fonction[NbreFL+1,i].adresse2:=v;
delete(s,1,erreur-1);
end;
delete(s,1,1); // supprime ,
Delete(s,1,1); // supprime E (état)
val(s,v,erreur);
delete(s,1,erreur);
Fonction[NbreFL+1,i].etat:=v;
@@ -8552,10 +8577,9 @@ begin
items.add(NomEtatDet);
items.add(NomEtatBoutonTCO);
items.add(NomEtatMemoire);
items.Add(NomEtatZone);
end;
// actionneurs PN
ListBoxPN.Clear;
longestLength:=0;
@@ -16576,6 +16600,7 @@ var i,io,j,decl :integer;
s : string;
begin
// remplir la listbox en fonction des opérations de l'action cliquée
//Affiche('Affiche_action',clYellow);
with FormConfig.ListBoxOperations do
begin
clear;
@@ -16590,11 +16615,14 @@ begin
else
begin
io:=Tablo_Action[ligneclicAct+1].tabloOp[i].numoperation;
affecte_operation(io,formConfig.ListBoxOperations);
s:=affecte_operation(io);
if ligneclicAct>0 then if not(Tablo_Action[ligneclicact+1].tabloOp[i].valide) then s:=s+sd;
formConfig.ListBoxOperations.Items.Add(s);
end;
itemHeight:=16;
end;
end;
Application.ProcessMessages;
formConfig.RichEditInfo.clear;
decl:=Tablo_Action[ligneclicAct+1].declencheur;
@@ -17897,7 +17925,7 @@ begin
exit;
end;
end;
if (ComboBoxVar.ItemIndex=EtatMemoire-EtatDCC) then
if (ComboBoxVar.ItemIndex=EtatZone-EtatDCC) then
begin
end;
labelInfo.Caption:='';
@@ -17931,6 +17959,31 @@ begin
node.Text:=s;
end;
procedure TFormConfig.LabeledEditZoneChange(Sender: TObject);
var node : tTreenode;
i,v,erreur : integer;
s : string;
begin
if clicTree then exit;
node:=TreeViewL.Selected;
if node=nil then exit;
i:=node.AbsoluteIndex;
config_modifie:=true;
val(LabeledEditZone.text,v,erreur);
if v<1 then
begin
labelInfo.Caption:='Erreur';
exit;
end;
labelInfo.Caption:='';
fonction[foncCourante,i].adresse2:=v;
s:=texte_tv(foncCourante,i);
node.Text:=s;
end;
procedure TformConfig.outdployer1Click(Sender: TObject);
begin
@@ -17959,6 +18012,7 @@ begin
LabelEtat.Visible:=true;
SpinEditEtat.Visible:=true;
RadioGroupOP.Visible:=false;
LabeledEditZone.Visible:=false;
LabeledEditEtatACC.Visible:=false;
LabeledEditTrain.visible:=false;
PanelAcc.Visible:=true;
@@ -17968,12 +18022,13 @@ begin
LabeledEditDCC.text:=intToSTR(fonction[foncCourante,iNode].adresse);
end;
if i=EtatDet then // actionneur détecteur
if (i=EtatDet) then // actionneur détecteur
begin
RadioGroupOP.Visible:=false;
LabelEtat.Visible:=false;
LabeledEditTrain.visible:=true;
SpinEditEtat.Visible:=false;
LabeledEditZone.Visible:=false;
LabeledEditEtatACC.Visible:=true;
LabeledEditDcc.EditLabel.Caption:='Adresse';
LabeledEditTrain.Text:=fonction[foncCourante,iNode].train;
@@ -17981,6 +18036,21 @@ begin
LabeledEditDCC.text:=intToSTR(fonction[foncCourante,iNode].adresse);
end;
if (i=EtatZone) then // zone
begin
RadioGroupOP.Visible:=false;
LabelEtat.Visible:=false;
LabeledEditTrain.visible:=true;
SpinEditEtat.Visible:=false;
LabeledEditZone.Visible:=true;
LabeledEditEtatACC.Visible:=true;
LabeledEditDcc.EditLabel.Caption:='Adresse';
LabeledEditTrain.Text:=fonction[foncCourante,iNode].train;
LabeledEditEtatAcc.Text:=intToSTR(fonction[foncCourante,iNode].etat);
LabeledEditDCC.text:=intToSTR(fonction[foncCourante,iNode].adresse);
LabeledEditZone.text:=intToSTR(fonction[foncCourante,iNode].adresse2);
end;
if i=EtatBoutonTCO then
begin
RadioGroupOP.Visible:=false;
@@ -17989,6 +18059,7 @@ begin
LabeledEditEtatACC.Visible:=true;
LabeledEditTrain.visible:=false;
PanelAcc.Visible:=true;
LabeledEditZone.Visible:=false;
LabeledEditDCC.Visible:=true;
LabeledEditDcc.EditLabel.Caption:='Numéro de bouton';
LabeledEditDCC.Text:=intToSTR(fonction[foncCourante,iNode].adresse);
@@ -18004,6 +18075,7 @@ begin
top:=8;
end;
LabeledEditDCC.Visible:=true;
LabeledEditZone.Visible:=false;
LabeledEditDcc.EditLabel.Caption:='Numéro de mémoire';
LabeledEditTrain.visible:=false;
LabeledEditEtatACC.Visible:=true;
@@ -18545,7 +18617,7 @@ begin
end;
Function Etat_variable(k,i : integer): boolean ;
var pos,j,typ,adr : integer;
var pos,j,typ,adr,adr2 : integer;
resultat : boolean;
train : string;
begin
@@ -18560,6 +18632,7 @@ begin
exit;
end;
if typ=EtatDet then // si état détecteur / actionneur
begin
resultat:=detecteur[adr].Etat=(fonction[k,i].etat=1);
@@ -18591,6 +18664,22 @@ begin
end;
exit;
end;
if typ=EtatZone then // si Zone
begin
adr2:=fonction[k,i].adresse2;
resultat:=MemZone[adr,adr2].Etat=(fonction[k,i].etat=1);
// ajouter ici si on teste un train sur détecteur
train:=fonction[k,i].train;
if train<>'' then
begin
//Affiche('Eval45 '+intToSTR(adr)+' '+Train,clwhite);
if detecteur[adr].Train<>train then resultat:=false;
end;
result:=resultat;
exit;
end;
end;
// donne le suivant de même niveau de même index précédent
@@ -18992,7 +19081,7 @@ begin
config_modifie:=true;
if (ComboBoxVar.ItemIndex=EtatMemoire-EtatDCC) then
if (ComboBoxVar.ItemIndex=EtatZone-EtatDCC) then
begin
fonction[foncCourante,i].opMemoire:=RadioGroupOP.ItemIndex;
s:=texte_tv(foncCourante,i);
@@ -19651,6 +19740,8 @@ end;
end.
+11 -10
View File
@@ -4,7 +4,7 @@ object FormMemZone: TFormMemZone
BorderStyle = bsDialog
Caption = 'Activer / d'#233'sactiver des m'#233'moires de zone'
ClientHeight = 173
ClientWidth = 370
ClientWidth = 405
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@@ -19,15 +19,16 @@ object FormMemZone: TFormMemZone
TextHeight = 13
object Label1: TLabel
Left = 24
Top = 8
Top = 0
Width = 329
Height = 33
Height = 39
Caption =
'Les m'#233'moires de zone sont constitu'#233'es de deux d'#233'tecteurs contigu' +
's'
's. Si les deux d'#233'tecteurs sont s'#233'par'#233's par un ou des aiguillage(' +
's), il doit '#234'tre correctement positionn'#233
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
@@ -40,28 +41,28 @@ object FormMemZone: TFormMemZone
Height = 13
end
object Shape1: TShape
Left = 216
Left = 240
Top = 88
Width = 137
Height = 9
Brush.Color = clBlue
end
object Shape2: TShape
Left = 232
Left = 256
Top = 83
Width = 25
Height = 20
Brush.Color = clRed
end
object Shape3: TShape
Left = 312
Left = 336
Top = 83
Width = 25
Height = 20
Brush.Color = clRed
end
object Label2: TLabel
Left = 225
Left = 249
Top = 56
Width = 35
Height = 19
@@ -74,7 +75,7 @@ object FormMemZone: TFormMemZone
ParentFont = False
end
object Label3: TLabel
Left = 304
Left = 328
Top = 56
Width = 35
Height = 19
+7 -7
View File
@@ -78,7 +78,6 @@ end;
function valide_det : boolean;
var erreur : integer;
elsuiv : tEquipement;
begin
result:=false;
val(FormMemZone.labeledEditDet1.text,det1Z,erreur);
@@ -93,15 +92,16 @@ begin
end;
val(FormMemZone.labeledEditDet2.text,det2Z,erreur);
det_contigu(det1Z,det2Z,suivant,ElSuiv);
if suivant=0 then
Det_Adj(det1Z); // renvoie les adresses des détecteurs adjacents au détecteur "det1Zrésultat dans adj1 et adj2
if (adj1=det2Z) or (adj2=det2Z) then
begin
FormMemZone.LabelInfo.Caption:='Les détecteurs '+intToSTR(det1Z)+' / '+intToSTR(det2Z)+' ne sont pas contigus';
result:=true;
FormMemZone.LabelInfo.caption:='';
exit;
end;
FormMemZone.LabelInfo.caption:='';
result:=true;
FormMemZone.LabelInfo.Caption:='Les détecteurs '+intToSTR(det1Z)+' / '+intToSTR(det2Z)+' ne sont pas contigus';
result:=false;
end;
procedure TFormMemZone.ButtonActClick(Sender: TObject);
+3 -3
View File
@@ -1,6 +1,6 @@
object FormModifAction: TFormModifAction
Left = 395
Top = 166
Left = 542
Top = 189
BorderStyle = bsDialog
Caption = 'Modifier une action'
ClientHeight = 443
@@ -60,7 +60,7 @@ object FormModifAction: TFormModifAction
Top = 64
Width = 729
Height = 337
ActivePage = TabSheetDecl
ActivePage = TabSheetOp
MultiLine = True
TabOrder = 1
object TabSheetDecl: TTabSheet
+30 -19
View File
@@ -154,7 +154,7 @@ var
ClicDeclenche,ClicAction,ClicCond,DeclencheurAffiche,OperationAffiche : integer;
function Info_action(i : integer) : string;
procedure affecte_operation(i : integer;t: TListBox);
function affecte_operation(i : integer) : string;
implementation
@@ -219,21 +219,25 @@ begin
end;
// ajoute à la listbox t une ligne avec son icone opérations[]
// i numéro d'opération
procedure affecte_operation(i : integer;t : tListBox);
// i numéro d'opération dans le ytableau operations
function affecte_operation(i : integer) : string;
var s : string;
io : integer;
begin
s:=operations[i].nom;
if ligneclicAct>0 then if not(Tablo_Action[ligneclicact+1].tabloOp[i].valide) then s:=s+sd;
if i<ActionBoutonTCO then t.Items.Add(Format('%d%s', [i-1, s])); // valeur d'index de l'icone dans la ImagelistIcones
if i=ActionBoutonTCO then t.Items.Add(Format('%d%s', [IconeBouton, s])); // valeur d'index de l'icone dans la ImagelistIcones
if i=ActionAffecteMemoire then t.Items.Add(Format('%d%s', [IconeActionAffecteMemoire, s])); // valeur d'index de l'icone dans la ImagelistIcones
if i=ActionIncMemoire then t.Items.Add(Format('%d%s', [IconeActionIncMemoire, s])); // valeur d'index de l'icone dans la ImagelistIcones
if i=ActionDecMemoire then t.Items.Add(Format('%d%s', [IconeActionDecMemoire, s])); // valeur d'index de l'icone dans la ImagelistIcones
//if ligneClicAct>=0 then io:=Tablo_Action[ligneclicAct+1].tabloOp[i].numoperation else io:=0;
s:='';
if i<ActionBoutonTCO then s:=(Format('%d%s', [i-1, s])); // valeur d'index de l'icone dans la ImagelistIcones
if i=ActionBoutonTCO then s:=(Format('%d%s', [IconeBouton, s])); // valeur d'index de l'icone dans la ImagelistIcones
if i=ActionAffecteMemoire then s:=(Format('%d%s', [IconeActionAffecteMemoire, s])); // valeur d'index de l'icone dans la ImagelistIcones
if i=ActionIncMemoire then s:=(Format('%d%s', [IconeActionIncMemoire, s])); // valeur d'index de l'icone dans la ImagelistIcones
if i=ActionDecMemoire then s:=(Format('%d%s', [IconeActionDecMemoire, s])); // valeur d'index de l'icone dans la ImagelistIcones
s:=s+operations[i].nom;
result:=s;
end;
procedure TFormModifAction.FormCreate(Sender: TObject);
var i,icone : integer;
s : string;
begin
ListBoxOper.Style:=lbOwnerDrawVariable; // pour afficher des icones
ListBoxDeclench.Style:=lbOwnerDrawVariable;
@@ -262,7 +266,8 @@ begin
for i:=1 to NbreOperations do
begin
affecte_operation(i,formModifAction.ListBoxOper);
s:=affecte_operation(i);
formModifAction.ListBoxOper.Items.add(s);
ListBoxOper.itemHeight:=16; // 16 mini taille des éléments pour l'icone
end;
@@ -376,8 +381,9 @@ begin
begin
if (operations[i].famille=famille) or (famille=0) then
begin
s:=operations[i].nom;
affecte_operation(i,formModifAction.ListBoxOper);
//s:=operations[i].nom;
s:=affecte_operation(i);
formModifAction.ListBoxOper.items.Add(s);
end;
end;
end;
@@ -718,7 +724,7 @@ begin
if not(Tablo_Action[index].tabloOp[i].valide) then s:=s+' [dévalidé]';
if act<1 then icone:=0 else icone:=act-1;
// listbox de la formmodifAction
// listboxOperations de la formmodifAction
if act<=ActionTempo then items.Add(Format('%d%s', [icone, s])); // valeur d'index de l'icone dans la ImagelistIcones
if act=ActionBoutonTCO then items.Add(Format('%d%s', [iconeBouton, s]));
if act=ActionAffecteMemoire then items.Add(Format('%d%s', [iconeActionAffecteMemoire, s]));
@@ -728,6 +734,9 @@ begin
// listboxOperations de la formConfig
if act<=ActionTempo then formConfig.ListBoxOperations.Items.add(Format('%d%s', [act-1, s]));
if act=ActionBoutonTCO then formConfig.ListBoxOperations.items.Add(Format('%d%s', [IconeBouton, s]));
if act=ActionAffecteMemoire then formConfig.ListBoxOperations.items.Add(Format('%d%s', [iconeActionAffecteMemoire, s]));
if act=ActionIncMemoire then formConfig.ListBoxOperations.items.Add(Format('%d%s', [iconeActionIncMemoire, s]));
if act=ActionDecMemoire then formConfig.ListBoxOperations.items.Add(Format('%d%s', [iconeActionDecMemoire, s]));
itemHeight:=16;
end;
@@ -1083,16 +1092,17 @@ procedure TFormModifAction.FormActivate(Sender: TObject);
var i : integer;
s : string;
begin
ComboBoxActions.Clear;
for i:=1 to maxTablo_act do
begin
s:=encode_actions(i);
if s<>'' then ComboBoxActions.Items.Add(s);
end;
//ligneclicACt:=0;
ComboBoxActions.ItemIndex:=ligneclicAct;
LabelDecl.Caption:='Déclencheur de l''action n°'+intToSTR(ComboBoxactions.ItemIndex+1);
Aff_champs(ligneclicAct+1,ClicCond+1,ClicAction+1);
if OperationAffiche<>0 then
@@ -1226,8 +1236,8 @@ begin
for i:=1 to Tablo_Action[idBD].NbOperations do
begin
no:=Tablo_Action[idBD].tabloOp[i].numoperation;
//items.Add(Format('%d%s', [no-1, operations[no].nom])); // valeur d'index de l'icone dans la ImagelistIcones
affecte_operation(no,ListBoxOperations);
s:=affecte_operation(no);
ListBoxOperations.Items.add(s);
itemHeight:=16;
end;
ItemIndex:=indexSrc-1;
@@ -1264,7 +1274,8 @@ begin
for i:=1 to Tablo_Action[idBD].NbOperations do
begin
no:=Tablo_Action[idBD].tabloOp[i].numoperation;
affecte_operation(no,ListBoxOperations);
s:=affecte_operation(no);
ListBoxOperations.Items.Add(s);
itemHeight:=16;
end;
@@ -1536,7 +1547,7 @@ begin
if not(Tablo_Action[ligneclicact+1].tabloOp[clicaction+1].valide) then s:=s+sd;
listBoxOperations.Items[clicaction]:=s;
formconfig.ListBoxOperations.items[clicaction]:=s; //encode_actions(ligneclicAct+1);
if formconfig.ListBoxOperations.Count>=clicaction then formconfig.ListBoxOperations.items[clicaction]:=s; //encode_actions(ligneclicAct+1);
maj_combocactions(ligneclicAct);
end;
+4 -4
View File
@@ -778,7 +778,7 @@ Tfonction =
record
typ : integer; // opOU, EtatDCC, EtatDet ... etc
Indexprec : integer ; // index du niveau précédent d'origine (parent)
adresse,etat : integer; // adresse : l'indice 0 contient le nombre d'éléments
adresse,adresse2,etat : integer; // adresse : l'indice 0 contient le nombre d'éléments
OpMemoire : integer; // opérateur "mémoire" : 0=égal 1=> 2=<
niveau : integer; // niveau : l'indice 0 contient le numéro de fonction modifiable
traite : boolean;
@@ -21552,7 +21552,7 @@ begin
procetape('Lecture de la configuration');
lit_config;
clientInfo.Open; // se connecte au serveur SC et envoie les infos
clientInfo.Open; // &&& se connecte au serveur SC et envoie les infos
{$IF CompilerVersion >= 28.0}
//https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Compiler_Versions
@@ -28149,8 +28149,8 @@ end;
procedure TFormPrinc.ButtonEssaiClick(Sender: TObject);
var i : integer;
begin
maj_route(515);
// aiguillage[5].AdrTrain:=3;
i:=Tablo_Action[1].tabloOp[10].numoperation;
Affiche(intToSTR(i),clYellow);
end;
procedure TFormPrinc.TrackBarZCChange(Sender: TObject);
+1 -1
View File
@@ -26,7 +26,7 @@ var
f : textFile;
Const
VersionSC = '10.7'; // sert à la comparaison de la version publiée
VersionSC = '10.71'; // sert à la comparaison de la version publiée
SousVersion=' '; // A B C ... en cas d'absence de sous version mettre un espace
// pour unzip
SHCONTCH_NOPROGRESSBOX=4;
+3
View File
@@ -341,6 +341,9 @@ version 10.6 : Modification pour l'affichage de la barre de zoom du TCO pour les
version 10.7 : Affichage du compteur de train depuis le menu contextuel des cantons du tco.
En roulage ou RUN CDM, suppression d'un train non suivi de la liste des trains en roulage.
Correction désaffectation trains sur cantons.
version 10.71 : Ajout dans les variables des fonctions les mémoires de zone.
Correction bug activation mémoires de zone dans le menu du TCO.
Correction bug affichage des opérations dans les actions.