V10.82
This commit is contained in:
BIN
Binary file not shown.
@@ -1,6 +1,6 @@
|
|||||||
object FormAnalyseCDM: TFormAnalyseCDM
|
object FormAnalyseCDM: TFormAnalyseCDM
|
||||||
Left = 206
|
Left = 210
|
||||||
Top = 145
|
Top = 94
|
||||||
AutoScroll = False
|
AutoScroll = False
|
||||||
Caption = 'Fen'#234'tre r'#233'seau CDM'
|
Caption = 'Fen'#234'tre r'#233'seau CDM'
|
||||||
ClientHeight = 596
|
ClientHeight = 596
|
||||||
@@ -62,7 +62,7 @@ object FormAnalyseCDM: TFormAnalyseCDM
|
|||||||
object Label5: TLabel
|
object Label5: TLabel
|
||||||
Left = 1005
|
Left = 1005
|
||||||
Top = 528
|
Top = 528
|
||||||
Width = 24
|
Width = 12
|
||||||
Height = 13
|
Height = 13
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
Caption = '+ -'
|
Caption = '+ -'
|
||||||
|
|||||||
+36
-17
@@ -73,7 +73,6 @@ type
|
|||||||
procedure ImageCDMMouseMove(Sender: TObject; Shift: TShiftState; X,
|
procedure ImageCDMMouseMove(Sender: TObject; Shift: TShiftState; X,
|
||||||
Y: Integer);
|
Y: Integer);
|
||||||
procedure ButtonAnimeClick(Sender: TObject);
|
procedure ButtonAnimeClick(Sender: TObject);
|
||||||
procedure Button1Click(Sender: TObject);
|
|
||||||
procedure ImageCDMMouseDown(Sender: TObject; Button: TMouseButton;
|
procedure ImageCDMMouseDown(Sender: TObject; Button: TMouseButton;
|
||||||
Shift: TShiftState; X, Y: Integer);
|
Shift: TShiftState; X, Y: Integer);
|
||||||
procedure ImageCDMMouseUp(Sender: TObject; Button: TMouseButton;
|
procedure ImageCDMMouseUp(Sender: TObject; Button: TMouseButton;
|
||||||
@@ -220,6 +219,8 @@ function isole_valeur(var s : string; chercher : string;afficheErr : boolean) :
|
|||||||
var i : integer;
|
var i : integer;
|
||||||
serr : string;
|
serr : string;
|
||||||
begin
|
begin
|
||||||
|
chercher:=lowercase(chercher);
|
||||||
|
s:=lowercase(s);
|
||||||
i:=pos(chercher,s);
|
i:=pos(chercher,s);
|
||||||
if i=0 then
|
if i=0 then
|
||||||
begin
|
begin
|
||||||
@@ -235,8 +236,8 @@ begin
|
|||||||
delete(s,1,i+length(chercher)-1);
|
delete(s,1,i+length(chercher)-1);
|
||||||
|
|
||||||
repeat
|
repeat
|
||||||
if s[1]=' ' then delete(s,1,1);
|
if (s[1]=' ') or (s[1]='=') then delete(s,1,1);
|
||||||
until (s[1]<>' ') or (length(s)=0);
|
until ((s[1]<>' ') and (s[1]<>'=')) or (length(s)=0);
|
||||||
|
|
||||||
i:=pos(' ',s);
|
i:=pos(' ',s);
|
||||||
if i<>0 then isole_valeur:=copy(s,1,i-1) else isole_valeur:=s;
|
if i<>0 then isole_valeur:=copy(s,1,i-1) else isole_valeur:=s;
|
||||||
@@ -301,7 +302,28 @@ begin
|
|||||||
Segment[nSeg-1].periph[nperiph-1].location:=i;
|
Segment[nSeg-1].periph[nperiph-1].location:=i;
|
||||||
|
|
||||||
s:=AnsiLowerCase(lignes[nligne]);
|
s:=AnsiLowerCase(lignes[nligne]);
|
||||||
// ne pas faire inc(nligne) car on va regarder la ligne suivante en indiçant en +1
|
inc(nligne);
|
||||||
|
|
||||||
|
{non utilisé mais doit être pris en compte
|
||||||
|
Actionneurs Tickets horaire ou gestionnaire de voie unique,
|
||||||
|
tickets = le type de l'actionneur, soit :
|
||||||
|
0 = ACT_STD, Actionneur standard.
|
||||||
|
1 = ACT_MANO, Actionneur manuel, non actionné par les trains mais par un clic souris.
|
||||||
|
2 = ACT_VUH Actionneur Voie Unique ou Tickets Horaire, actionné dans les deux sens par les trains. Ils vont toujours par paire.
|
||||||
|
Twined = RefIndex de l'actionneur associé en cas d'un ACT_VUH.
|
||||||
|
}
|
||||||
|
s2:=isole_valeur(s,'tckets',false); // nouveau
|
||||||
|
if s2<>'' then
|
||||||
|
begin
|
||||||
|
s:=AnsiLowerCase(lignes[nligne]);
|
||||||
|
inc(nLigne);
|
||||||
|
end;
|
||||||
|
s2:=isole_valeur(s,'tickets',false); // nouveau Tickets = 0 Twined = 0
|
||||||
|
if s2<>'' then
|
||||||
|
begin
|
||||||
|
s:=AnsiLowerCase(lignes[nligne]);
|
||||||
|
inc(nLigne);
|
||||||
|
end;
|
||||||
|
|
||||||
s2:=isole_valeur(s,'address',true);
|
s2:=isole_valeur(s,'address',true);
|
||||||
val(s2,i,erreur);
|
val(s2,i,erreur);
|
||||||
@@ -325,7 +347,7 @@ begin
|
|||||||
val(s2,i,erreur);
|
val(s2,i,erreur);
|
||||||
Segment[nSeg-1].periph[nperiph-1].status:=i;
|
Segment[nSeg-1].periph[nperiph-1].status:=i;
|
||||||
|
|
||||||
// peut être suivi de 'On device port' si une adresse de détecteur ou d'actionneur se trouve sur l'appareil de voie
|
// peut être suivi de 'on device port' si une adresse de détecteur ou d'actionneur se trouve sur l'appareil de voie
|
||||||
Segment[nSeg-1].periph[nperiph-1].OnDevicePort:=-1; // marqueur d'invalidité
|
Segment[nSeg-1].periph[nperiph-1].OnDevicePort:=-1; // marqueur d'invalidité
|
||||||
s:=AnsiLowerCase(lignes[nligne+1]);
|
s:=AnsiLowerCase(lignes[nligne+1]);
|
||||||
if pos('on device port',s)<>0 then
|
if pos('on device port',s)<>0 then
|
||||||
@@ -343,6 +365,7 @@ begin
|
|||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure compile_inter;
|
procedure compile_inter;
|
||||||
var i,erreur : integer;
|
var i,erreur : integer;
|
||||||
s,s2: string;
|
s,s2: string;
|
||||||
@@ -370,6 +393,7 @@ begin
|
|||||||
s2:=isole_valeur(s,'type:',true);
|
s2:=isole_valeur(s,'type:',true);
|
||||||
Segment[nSeg-1].inter[nInter-1].typ:=s2;
|
Segment[nSeg-1].inter[nInter-1].typ:=s2;
|
||||||
|
|
||||||
|
// nouvelle ligne: Mirror: Z= 1416
|
||||||
s:=AnsiLowerCase(lignes[nligne]);
|
s:=AnsiLowerCase(lignes[nligne]);
|
||||||
inc(nLigne);
|
inc(nLigne);
|
||||||
s2:=isole_valeur(s,'z=',true);
|
s2:=isole_valeur(s,'z=',true);
|
||||||
@@ -4328,7 +4352,7 @@ begin
|
|||||||
s:=lowercase(Formprinc.fenRich.Lines[0]);
|
s:=lowercase(Formprinc.fenRich.Lines[0]);
|
||||||
if pos('module',s)=0 then
|
if pos('module',s)=0 then
|
||||||
begin
|
begin
|
||||||
Affiche('Pas de module CDM détecté',clred);
|
Affiche('Pas de module CDM détecté - Abandon',clred);
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
@@ -4387,7 +4411,12 @@ begin
|
|||||||
end;
|
end;
|
||||||
inc(nligne);
|
inc(nligne);
|
||||||
until (nligne>nombre);
|
until (nligne>nombre);
|
||||||
Affiche('Fin de la compilation des segments',cllime);
|
if nseg<>0 then Affiche('Fin de la compilation des segments',cllime)
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Affiche('Aucun segment trouvé - Abandon',clred);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
// balayer les segments pour transformer les bjd en créant 1 croisement et 4 aiguillages dans les segments, puis on supprime la bjd des segments
|
// balayer les segments pour transformer les bjd en créant 1 croisement et 4 aiguillages dans les segments, puis on supprime la bjd des segments
|
||||||
i:=0;
|
i:=0;
|
||||||
@@ -5555,19 +5584,9 @@ begin
|
|||||||
sleep(40);
|
sleep(40);
|
||||||
Application.processMessages;
|
Application.processMessages;
|
||||||
until x>800;
|
until x>800;
|
||||||
|
|
||||||
//until x>500;
|
|
||||||
|
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
procedure TFormAnalyseCDM.Button1Click(Sender: TObject);
|
|
||||||
begin
|
|
||||||
dessine_det(523);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TFormAnalyseCDM.ImageCDMMouseDown(Sender: TObject;
|
procedure TFormAnalyseCDM.ImageCDMMouseDown(Sender: TObject;
|
||||||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||||
begin
|
begin
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@ object FormClock: TFormClock
|
|||||||
OnResize = FormResize
|
OnResize = FormResize
|
||||||
DesignSize = (
|
DesignSize = (
|
||||||
234
|
234
|
||||||
212)
|
211)
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
object BitBtnMarHor: TBitBtn
|
object BitBtnMarHor: TBitBtn
|
||||||
|
|||||||
+35
-17
@@ -1,6 +1,6 @@
|
|||||||
object FormConfig: TFormConfig
|
object FormConfig: TFormConfig
|
||||||
Left = 265
|
Left = 404
|
||||||
Top = 106
|
Top = 164
|
||||||
Hint = 'Modifie la configuration selon les s'#233'lections choisies'
|
Hint = 'Modifie la configuration selon les s'#233'lections choisies'
|
||||||
BorderStyle = bsDialog
|
BorderStyle = bsDialog
|
||||||
Caption = 'Configuration g'#233'n'#233'rale'
|
Caption = 'Configuration g'#233'n'#233'rale'
|
||||||
@@ -1573,7 +1573,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 8
|
Top = 8
|
||||||
Width = 633
|
Width = 633
|
||||||
Height = 505
|
Height = 505
|
||||||
ActivePage = TabSheetCDM
|
ActivePage = TabSheetSig
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clBlack
|
Font.Color = clBlack
|
||||||
Font.Height = -11
|
Font.Height = -11
|
||||||
@@ -1668,6 +1668,17 @@ object FormConfig: TFormConfig
|
|||||||
Height = 13
|
Height = 13
|
||||||
Caption = 'Nom du fichier LAY '#224' utiliser au d'#233'marrage de CDM'
|
Caption = 'Nom du fichier LAY '#224' utiliser au d'#233'marrage de CDM'
|
||||||
end
|
end
|
||||||
|
object SpeedButtonLay: TSpeedButton
|
||||||
|
Left = 232
|
||||||
|
Top = 192
|
||||||
|
Width = 23
|
||||||
|
Height = 22
|
||||||
|
Hint = 'Choix du fichier LAY'
|
||||||
|
Caption = '...'
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
|
OnClick = SpeedButtonLayClick
|
||||||
|
end
|
||||||
object CheckVerifVersion: TCheckBox
|
object CheckVerifVersion: TCheckBox
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 56
|
Top = 56
|
||||||
@@ -1729,7 +1740,7 @@ object FormConfig: TFormConfig
|
|||||||
object EditLAY: TEdit
|
object EditLAY: TEdit
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 192
|
Top = 192
|
||||||
Width = 249
|
Width = 217
|
||||||
Height = 21
|
Height = 21
|
||||||
Hint = 'Nom du LAY avec .lay'
|
Hint = 'Nom du LAY avec .lay'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
@@ -2031,7 +2042,7 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object CheckBoxVerifXpressNet: TCheckBox
|
object CheckBoxVerifXpressNet: TCheckBox
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 90
|
Top = 88
|
||||||
Width = 233
|
Width = 233
|
||||||
Height = 17
|
Height = 17
|
||||||
Hint =
|
Hint =
|
||||||
@@ -2097,7 +2108,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 = 13
|
ItemHeight = 0
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
@@ -2146,7 +2157,7 @@ object FormConfig: TFormConfig
|
|||||||
object Label4: TLabel
|
object Label4: TLabel
|
||||||
Left = 16
|
Left = 16
|
||||||
Top = 45
|
Top = 45
|
||||||
Width = 135
|
Width = 196
|
||||||
Height = 26
|
Height = 26
|
||||||
Caption = '2. Temporisation d'#39'envoi des octets de la trame (ms)'
|
Caption = '2. Temporisation d'#39'envoi des octets de la trame (ms)'
|
||||||
WordWrap = True
|
WordWrap = True
|
||||||
@@ -2154,7 +2165,7 @@ object FormConfig: TFormConfig
|
|||||||
object Label5: TLabel
|
object Label5: TLabel
|
||||||
Left = 16
|
Left = 16
|
||||||
Top = 75
|
Top = 75
|
||||||
Width = 148
|
Width = 192
|
||||||
Height = 26
|
Height = 26
|
||||||
Caption =
|
Caption =
|
||||||
'3. Temporisation d'#39'attente de la r'#233'ponse de l'#39'interface (x 50 ms' +
|
'3. Temporisation d'#39'attente de la r'#233'ponse de l'#39'interface (x 50 ms' +
|
||||||
@@ -2419,8 +2430,11 @@ object FormConfig: TFormConfig
|
|||||||
Top = 24
|
Top = 24
|
||||||
Width = 145
|
Width = 145
|
||||||
Height = 21
|
Height = 21
|
||||||
|
Hint = 'Echelle'
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 13
|
ItemHeight = 13
|
||||||
|
ParentShowHint = False
|
||||||
|
ShowHint = True
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
OnChange = ComboBoxEchelleChange
|
OnChange = ComboBoxEchelleChange
|
||||||
Items.Strings = (
|
Items.Strings = (
|
||||||
@@ -3779,7 +3793,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 56
|
Top = 56
|
||||||
Width = 193
|
Width = 193
|
||||||
Height = 21
|
Height = 21
|
||||||
ItemHeight = 13
|
ItemHeight = 0
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
OnChange = ComboBoxDecodeurPersoChange
|
OnChange = ComboBoxDecodeurPersoChange
|
||||||
end
|
end
|
||||||
@@ -3798,7 +3812,7 @@ object FormConfig: TFormConfig
|
|||||||
Width = 145
|
Width = 145
|
||||||
Height = 21
|
Height = 21
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 13
|
ItemHeight = 0
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
OnChange = ComboBoxNationChange
|
OnChange = ComboBoxNationChange
|
||||||
end
|
end
|
||||||
@@ -3844,7 +3858,7 @@ object FormConfig: TFormConfig
|
|||||||
Width = 193
|
Width = 193
|
||||||
Height = 21
|
Height = 21
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 13
|
ItemHeight = 0
|
||||||
TabOrder = 6
|
TabOrder = 6
|
||||||
OnChange = ComboBoxDecCdeChange
|
OnChange = ComboBoxDecCdeChange
|
||||||
end
|
end
|
||||||
@@ -4057,7 +4071,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 96
|
Top = 96
|
||||||
Width = 137
|
Width = 137
|
||||||
Height = 21
|
Height = 21
|
||||||
ItemHeight = 13
|
ItemHeight = 0
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
OnChange = ComboBoxOperateurChange
|
OnChange = ComboBoxOperateurChange
|
||||||
OnDrawItem = ComboBoxOperateurDrawItem
|
OnDrawItem = ComboBoxOperateurDrawItem
|
||||||
@@ -4077,7 +4091,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 96
|
Top = 96
|
||||||
Width = 161
|
Width = 161
|
||||||
Height = 21
|
Height = 21
|
||||||
ItemHeight = 13
|
ItemHeight = 0
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
@@ -4189,7 +4203,7 @@ object FormConfig: TFormConfig
|
|||||||
Width = 145
|
Width = 145
|
||||||
Height = 21
|
Height = 21
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 13
|
ItemHeight = 0
|
||||||
TabOrder = 7
|
TabOrder = 7
|
||||||
OnChange = ComboBoxFLChange
|
OnChange = ComboBoxFLChange
|
||||||
end
|
end
|
||||||
@@ -4725,7 +4739,7 @@ object FormConfig: TFormConfig
|
|||||||
Hint = 'action par accessoire DCC ou commande COM/USB'
|
Hint = 'action par accessoire DCC ou commande COM/USB'
|
||||||
Caption = 'Type d'#39'action'
|
Caption = 'Type d'#39'action'
|
||||||
Items.Strings = (
|
Items.Strings = (
|
||||||
'Accessoire'
|
'Accessoire DCC'
|
||||||
'Commande COM/USB ou Socket')
|
'Commande COM/USB ou Socket')
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
@@ -4739,7 +4753,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 = 13
|
ItemHeight = 0
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 10
|
TabOrder = 10
|
||||||
@@ -6499,7 +6513,7 @@ object FormConfig: TFormConfig
|
|||||||
Width = 153
|
Width = 153
|
||||||
Height = 21
|
Height = 21
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 13
|
ItemHeight = 0
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
OnChange = ComboBoxUSBTrChange
|
OnChange = ComboBoxUSBTrChange
|
||||||
end
|
end
|
||||||
@@ -6633,6 +6647,10 @@ object FormConfig: TFormConfig
|
|||||||
Hint = 'Copie tout le contenu en tant que texte dans le presse-papier'
|
Hint = 'Copie tout le contenu en tant que texte dans le presse-papier'
|
||||||
OnClick = outcopierentatquetexte1Click
|
OnClick = outcopierentatquetexte1Click
|
||||||
end
|
end
|
||||||
|
object MenuListesCopier2: TMenuItem
|
||||||
|
Caption = 'Coller'
|
||||||
|
OnClick = MenuListesCopier2Click
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object ColorDialogFond: TColorDialog
|
object ColorDialogFond: TColorDialog
|
||||||
OnShow = ColorDialogFondShow
|
OnShow = ColorDialogFondShow
|
||||||
|
|||||||
+186
-66
@@ -514,6 +514,8 @@ type
|
|||||||
Label15: TLabel;
|
Label15: TLabel;
|
||||||
LabeledEditCr: TLabeledEdit;
|
LabeledEditCr: TLabeledEdit;
|
||||||
LabeledEditT: TLabeledEdit;
|
LabeledEditT: TLabeledEdit;
|
||||||
|
SpeedButtonLay: TSpeedButton;
|
||||||
|
MenuListesCopier2: TMenuItem;
|
||||||
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;
|
||||||
@@ -816,6 +818,8 @@ type
|
|||||||
procedure EditTempoSigChange(Sender: TObject);
|
procedure EditTempoSigChange(Sender: TObject);
|
||||||
procedure LabeledEditCrChange(Sender: TObject);
|
procedure LabeledEditCrChange(Sender: TObject);
|
||||||
procedure LabeledEditTChange(Sender: TObject);
|
procedure LabeledEditTChange(Sender: TObject);
|
||||||
|
procedure SpeedButtonLayClick(Sender: TObject);
|
||||||
|
procedure MenuListesCopier2Click(Sender: TObject);
|
||||||
|
|
||||||
private
|
private
|
||||||
{ Déclarations privées }
|
{ Déclarations privées }
|
||||||
@@ -931,6 +935,7 @@ Affcompteur_ch='AffCompteur';
|
|||||||
LargCompteur_ch='LargCompteur';
|
LargCompteur_ch='LargCompteur';
|
||||||
LargComptC_ch='LargCompteurC';
|
LargComptC_ch='LargCompteurC';
|
||||||
HautComptC_ch='HautCompteurC';
|
HautComptC_ch='HautCompteurC';
|
||||||
|
ZoomSignaux_ch='ZoomSignaux';
|
||||||
VerrouCompteur_ch='VerrouCompteur';
|
VerrouCompteur_ch='VerrouCompteur';
|
||||||
Echelle_ch='Echelle';
|
Echelle_ch='Echelle';
|
||||||
AffIconeTrCompteur_ch='AffIconeTrCompteur';
|
AffIconeTrCompteur_ch='AffIconeTrCompteur';
|
||||||
@@ -1238,7 +1243,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
// vérifie si la config de la com série/usb est ok
|
// vérifie si la config de la com série/usb est ok
|
||||||
// COM7:9600,n,8,1
|
// exemple s='COM7:9600,n,8,1'
|
||||||
function config_com(s : string) : boolean;
|
function config_com(s : string) : boolean;
|
||||||
var sa : string;
|
var sa : string;
|
||||||
i,erreur,vitesse : integer;
|
i,erreur,vitesse : integer;
|
||||||
@@ -1467,7 +1472,7 @@ begin
|
|||||||
result:='';
|
result:='';
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
if affevt then Affiche('Encode_sig_feux('+IntToSTR(i)+') : adresse='+IntToSTR(adresse),clyellow);
|
if affevt then Affiche('Encode_signal('+IntToSTR(i)+') : adresse='+IntToSTR(adresse),clyellow);
|
||||||
|
|
||||||
s:=IntToSTR(adresse)+',';
|
s:=IntToSTR(adresse)+',';
|
||||||
// forme - D=directionnel ajouter 10
|
// forme - D=directionnel ajouter 10
|
||||||
@@ -2048,7 +2053,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
// transforme l'action en chaine
|
// encode l'action en chaine
|
||||||
function encode_actions(i : integer) : string;
|
function encode_actions(i : integer) : string;
|
||||||
var s : string;
|
var s : string;
|
||||||
decl,action,Nb,j: integer;
|
decl,action,Nb,j: integer;
|
||||||
@@ -2121,7 +2126,6 @@ begin
|
|||||||
ActionAffecteMemoire : s:=s+','+intToSTR(Tablo_Action[i].tabloOP[j].adresse)+','+intToSTR(Tablo_Action[i].tabloOP[j].etat);
|
ActionAffecteMemoire : s:=s+','+intToSTR(Tablo_Action[i].tabloOP[j].adresse)+','+intToSTR(Tablo_Action[i].tabloOP[j].etat);
|
||||||
ActionIncMemoire: s:=s+','+intToSTR(Tablo_Action[i].tabloOP[j].adresse);
|
ActionIncMemoire: s:=s+','+intToSTR(Tablo_Action[i].tabloOP[j].adresse);
|
||||||
ActionDecMemoire: s:=s+','+intToSTR(Tablo_Action[i].tabloOP[j].adresse);
|
ActionDecMemoire: s:=s+','+intToSTR(Tablo_Action[i].tabloOP[j].adresse);
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if j<nb then s:=s+',';
|
if j<nb then s:=s+',';
|
||||||
@@ -2223,7 +2227,7 @@ var s: string;
|
|||||||
fichierN : text;
|
fichierN : text;
|
||||||
i,j,n,k : integer;
|
i,j,n,k : integer;
|
||||||
begin
|
begin
|
||||||
assignFile(fichierN,NomConfig);
|
assignFile(fichierN,repertoire_SC+'\'+NomConfig);
|
||||||
rewrite(fichierN);
|
rewrite(fichierN);
|
||||||
|
|
||||||
// entête
|
// entête
|
||||||
@@ -2321,6 +2325,8 @@ begin
|
|||||||
writeln(fichierN,LargComptC_ch+'=',IntToSTR(LargComptC));
|
writeln(fichierN,LargComptC_ch+'=',IntToSTR(LargComptC));
|
||||||
writeln(fichierN,HautComptC_ch+'=',IntToSTR(HautComptC));
|
writeln(fichierN,HautComptC_ch+'=',IntToSTR(HautComptC));
|
||||||
|
|
||||||
|
writeln(fichierN,ZoomSignaux_ch+'=',FloatToSTRF(RedAffSig,ffFixed,5,1,FormatSettings));
|
||||||
|
|
||||||
if VerrouilleCompteur then s:='1' else s:='0';
|
if VerrouilleCompteur then s:='1' else s:='0';
|
||||||
writeln(fichierN,VerrouCompteur_ch+'=',s);
|
writeln(fichierN,VerrouCompteur_ch+'=',s);
|
||||||
|
|
||||||
@@ -2727,7 +2733,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// trier les détecteurs
|
// trier les détecteurs et affecte le tableau detecteur[]
|
||||||
procedure trier_detecteurs;
|
procedure trier_detecteurs;
|
||||||
var i,j,temp : integer;
|
var i,j,temp : integer;
|
||||||
begin
|
begin
|
||||||
@@ -3128,6 +3134,29 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// extrait les détecteurs des branches
|
||||||
|
procedure compile_detecteurs_des_branches;
|
||||||
|
var i,j,id : integer;
|
||||||
|
begin
|
||||||
|
id:=0;
|
||||||
|
for i:=1 to NbreBranches do
|
||||||
|
begin
|
||||||
|
j:=1;
|
||||||
|
while not(brancheN[i,j].Adresse=0) do
|
||||||
|
begin
|
||||||
|
if brancheN[i,j].BType=det then
|
||||||
|
begin
|
||||||
|
inc(id);
|
||||||
|
// Affiche('Détecteur '+intToSTR(brancheN[i,j].adresse),clWhite);
|
||||||
|
Adresse_detecteur[id]:=brancheN[i,j].adresse;
|
||||||
|
end;
|
||||||
|
inc(j);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
NDetecteurs:=id;
|
||||||
|
trier_detecteurs; // et affecte le tableau detecteurs[]
|
||||||
|
end;
|
||||||
|
|
||||||
// génère les informations calculées
|
// génère les informations calculées
|
||||||
procedure genere_informations_BD;
|
procedure genere_informations_BD;
|
||||||
begin
|
begin
|
||||||
@@ -3137,6 +3166,7 @@ begin
|
|||||||
trier_cantons;
|
trier_cantons;
|
||||||
trier_signaux;
|
trier_signaux;
|
||||||
compile_id_routes;
|
compile_id_routes;
|
||||||
|
compile_detecteurs_des_branches;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure lit_config;
|
procedure lit_config;
|
||||||
@@ -4472,7 +4502,7 @@ const LessThanValue=-1;
|
|||||||
while s[1]=' ' do
|
while s[1]=' ' do
|
||||||
begin
|
begin
|
||||||
delete(s,1,1);
|
delete(s,1,1);
|
||||||
end;
|
end;
|
||||||
if ((s[1]='-') or (s[1]='}')) and not bug then begin routePref[j][i].typ:=det;routePref[j][i].pos:=0;end
|
if ((s[1]='-') or (s[1]='}')) and not bug then begin routePref[j][i].typ:=det;routePref[j][i].pos:=0;end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
@@ -5884,6 +5914,16 @@ const LessThanValue=-1;
|
|||||||
val(s,HautComptC,erreur);
|
val(s,HautComptC,erreur);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
sa:=uppercase(ZoomSignaux_ch)+'=';
|
||||||
|
i:=pos(sa,s);
|
||||||
|
if i=1 then
|
||||||
|
begin
|
||||||
|
inc(nv);
|
||||||
|
delete(s,i,length(sa));
|
||||||
|
val(s,RedAffSig,erreur);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
sa:=uppercase(AffCompteur_ch)+'=';
|
sa:=uppercase(AffCompteur_ch)+'=';
|
||||||
i:=pos(sa,s);
|
i:=pos(sa,s);
|
||||||
if i=1 then
|
if i=1 then
|
||||||
@@ -6069,8 +6109,8 @@ const LessThanValue=-1;
|
|||||||
begin
|
begin
|
||||||
inc(nv);
|
inc(nv);
|
||||||
trouve_lay:=true;
|
trouve_lay:=true;
|
||||||
delete(s,i,length(sa));
|
delete(sOrigine,i,length(sa));
|
||||||
lay:=s;
|
lay:=sOrigine;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
sa:=uppercase(NomModuleCDM_ch)+'=';
|
sa:=uppercase(NomModuleCDM_ch)+'=';
|
||||||
@@ -6396,6 +6436,7 @@ begin
|
|||||||
Aiguillage[i].EtatTJD:=4;
|
Aiguillage[i].EtatTJD:=4;
|
||||||
Aiguillage[i].vitesse:=0;
|
Aiguillage[i].vitesse:=0;
|
||||||
end;
|
end;
|
||||||
|
// initialisation des détecteurs
|
||||||
for i:=1 to NbMaxDet do
|
for i:=1 to NbMaxDet do
|
||||||
begin
|
begin
|
||||||
Detecteur[i].etat:=false;
|
Detecteur[i].etat:=false;
|
||||||
@@ -6403,12 +6444,16 @@ begin
|
|||||||
Detecteur[i].AdrTrain:=0;
|
Detecteur[i].AdrTrain:=0;
|
||||||
Detecteur[i].tempo0:=0;
|
Detecteur[i].tempo0:=0;
|
||||||
Detecteur[i].IndexTrainRoulant:=0;
|
Detecteur[i].IndexTrainRoulant:=0;
|
||||||
|
Detecteur[i].AdrTrainRes:=0;
|
||||||
|
Detecteur[i].longueur:=0;
|
||||||
|
Detecteur[i].distArret:=0;
|
||||||
|
Detecteur[i].ModeArret:=0;
|
||||||
|
Adresse_detecteur[i]:=0;
|
||||||
Ancien_detecteur[i]:=false;
|
Ancien_detecteur[i]:=false;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
GetDir(0,s);
|
|
||||||
Affiche('Lecture du fichier de configuration du répertoire',clYellow);
|
Affiche('Lecture du fichier de configuration du répertoire',clYellow);
|
||||||
Affiche(s,clyellow);
|
Affiche(repertoire_SC,clyellow);
|
||||||
|
|
||||||
try
|
try
|
||||||
assignFile(fichier,NomConfig);
|
assignFile(fichier,NomConfig);
|
||||||
@@ -7431,16 +7476,16 @@ begin
|
|||||||
LabelValeur.caption:='';
|
LabelValeur.caption:='';
|
||||||
LabelVcms.Caption:='';
|
LabelVcms.Caption:='';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// index = index du train
|
||||||
procedure clicListeTrains(index : integer);
|
procedure clicListeTrains(index : integer);
|
||||||
var s : string;
|
var s : string;
|
||||||
i,t : integer;
|
i,t : integer;
|
||||||
r : single;
|
r : single;
|
||||||
begin
|
begin
|
||||||
if affevt then Affiche('clicListeTrains '+intToSTR(index),clyellow);
|
if affevt then Affiche('clicListeTrains '+intToSTR(index),clyellow);
|
||||||
if index<1 then exit;
|
if index<0 then exit;
|
||||||
if Trains[index].nom_train='' then exit;
|
if Trains[index].nom_train='' then exit;
|
||||||
clicListe:=true;
|
clicListe:=true;
|
||||||
|
|
||||||
@@ -7456,9 +7501,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
ButtonRdt.Caption:=s;
|
ButtonRdt.Caption:=s;
|
||||||
|
|
||||||
ListBoxTrains.ItemIndex:=index-1;
|
|
||||||
ListBoxTrains.selected[index-1]:=true;
|
|
||||||
|
|
||||||
editNomTrain.text:=Trains[index].nom_train;
|
editNomTrain.text:=Trains[index].nom_train;
|
||||||
LabelTitreTrain.Caption:=Trains[index].nom_train;
|
LabelTitreTrain.Caption:=Trains[index].nom_train;
|
||||||
editAdresseTrain.Text:=intToSTR(trains[index].adresse);
|
editAdresseTrain.Text:=intToSTR(trains[index].adresse);
|
||||||
@@ -7559,6 +7601,7 @@ begin
|
|||||||
|
|
||||||
{$IF CompilerVersion >= 28.0}
|
{$IF CompilerVersion >= 28.0}
|
||||||
// composants à repasser en style de base car on change la couleur de fond
|
// composants à repasser en style de base car on change la couleur de fond
|
||||||
|
|
||||||
EditP1.StyleName:='Windows';
|
EditP1.StyleName:='Windows';
|
||||||
EditP2.StyleName:='Windows';
|
EditP2.StyleName:='Windows';
|
||||||
EditP3.StyleName:='Windows';
|
EditP3.StyleName:='Windows';
|
||||||
@@ -7584,6 +7627,10 @@ begin
|
|||||||
end;
|
end;
|
||||||
{$IFEND}
|
{$IFEND}
|
||||||
|
|
||||||
|
MenuListesCopier2.Visible:=false; // coller liste dans la listbox des signaux est neutralisé, crée des problemes pour les structures de signaux
|
||||||
|
ComboBoxEchelle.hint:='L''échelle est utilisée pour le calcul des vitesses des trains'+#13+
|
||||||
|
'ainsi que pour les distances d''arrêt';
|
||||||
|
|
||||||
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.stretch:=true;
|
||||||
@@ -8760,6 +8807,7 @@ begin
|
|||||||
|
|
||||||
if clicproprietesSig then clicListeSignal(IndexSignalClic);
|
if clicproprietesSig then clicListeSignal(IndexSignalClic);
|
||||||
clicproprietesSig:=false;
|
clicproprietesSig:=false;
|
||||||
|
|
||||||
if clicproprietesTrains then clicListeTrains(ligneclicTrain+1);
|
if clicproprietesTrains then clicListeTrains(ligneclicTrain+1);
|
||||||
clicproprietesTrains:=false;
|
clicproprietesTrains:=false;
|
||||||
|
|
||||||
@@ -9328,10 +9376,9 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// mise à jour des champs du signal d'après le tableau signaux
|
// mise à jour des champs du signal d'après le tableau signaux
|
||||||
Procedure aff_champs_signaux(index : integer);
|
Procedure aff_champs_signaux(index : integer);
|
||||||
var j,l,d,p,k,nc,decodeur : integer;
|
var j,l,d,p,k,nc,decodeur,lIcone,hIcone : integer;
|
||||||
s : string;
|
s : string;
|
||||||
begin
|
begin
|
||||||
if Affevt then affiche('Aff_champs_sig_feux('+intToSTR(index)+')',clyellow);
|
if Affevt then affiche('Aff_champs_sig_feux('+intToSTR(index)+')',clyellow);
|
||||||
@@ -9344,7 +9391,7 @@ begin
|
|||||||
Picture.Bitmap.TransparentMode:=tmAuto;
|
Picture.Bitmap.TransparentMode:=tmAuto;
|
||||||
Picture.Bitmap.TransparentColor:=clblue;
|
Picture.Bitmap.TransparentColor:=clblue;
|
||||||
Transparent:=true;
|
Transparent:=true;
|
||||||
picture.Bitmap:=Select_dessin_Signal(Signaux[index].aspect);
|
picture.Bitmap:=Select_dessin_Signal(Signaux[index].aspect,lIcone,hIcone);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if Signaux[index].contrevoie then inverse_image(formConfig.ImageSignal,Formprinc.ImageSignal20);
|
if Signaux[index].contrevoie then inverse_image(formConfig.ImageSignal,Formprinc.ImageSignal20);
|
||||||
@@ -9434,26 +9481,26 @@ begin
|
|||||||
// affiche ou non les checkbox en fonction de l'aspect
|
// affiche ou non les checkbox en fonction de l'aspect
|
||||||
if (((d=2) or (d>=5)) and (d<10)) or (d=20) then
|
if (((d=2) or (d>=5)) and (d<10)) or (d=20) then
|
||||||
begin
|
begin
|
||||||
checkBoxFB.Visible:=true;
|
checkBoxFB.Visible:=true; // ne pas afficher checkbox feu blanc
|
||||||
Label69.Visible:=true;
|
Label69.Visible:=true;
|
||||||
MemoBlanc.Visible:=true;
|
MemoBlanc.Visible:=true;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
checkBoxFB.Visible:=false;
|
checkBoxFB.Visible:=false; // ne pas afficher checkbox feu blanc
|
||||||
Label69.Visible:=false;
|
Label69.Visible:=false;
|
||||||
MemoBlanc.Visible:=false;
|
MemoBlanc.Visible:=false;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if d>2 then
|
if d>2 then
|
||||||
begin
|
begin
|
||||||
checkFVC.Visible:=true;
|
checkFVC.Visible:=true; // afficher checkbox feu vert clignotant
|
||||||
checkFRC.Visible:=true;
|
checkFRC.Visible:=true; // afficher checkbox feu rouge clignotant
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
checkFVC.Visible:=false;
|
checkFVC.Visible:=false; // ne pas afficher checkbox feu vert clignotant
|
||||||
checkFRC.Visible:=false;
|
checkFRC.Visible:=false; // na pas afficher checkbox feu rouge clignotant
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if ((d>3) and (d<10)) or (d=20) then CheckVerrouCarre.Visible:=true else CheckVerrouCarre.Visible:=false;
|
if ((d>3) and (d<10)) or (d=20) then CheckVerrouCarre.Visible:=true else CheckVerrouCarre.Visible:=false;
|
||||||
@@ -10112,6 +10159,7 @@ begin
|
|||||||
formconfig.ListBoxAig.selected[ligneclicAig]:=true;
|
formconfig.ListBoxAig.selected[ligneclicAig]:=true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// vitesse spécifique franchissement aiguillage en position déviée
|
||||||
procedure vitesse_spec;
|
procedure vitesse_spec;
|
||||||
var s : string;
|
var s : string;
|
||||||
AdrAig,erreur,index,v : integer;
|
AdrAig,erreur,index,v : integer;
|
||||||
@@ -10167,6 +10215,7 @@ begin
|
|||||||
formconfig.ListBoxAig.selected[ligneclicAig]:=true;
|
formconfig.ListBoxAig.selected[ligneclicAig]:=true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// vérifie la cohérence entre le décodeur et la cible de signal (aspect)
|
||||||
function verif_dec_sig(aff : boolean) : boolean;
|
function verif_dec_sig(aff : boolean) : boolean;
|
||||||
var Adr,i,dec,aspect,indexAspect : integer;
|
var Adr,i,dec,aspect,indexAspect : integer;
|
||||||
begin
|
begin
|
||||||
@@ -10660,7 +10709,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfig.ComboBoxAspChange(Sender: TObject);
|
procedure TFormConfig.ComboBoxAspChange(Sender: TObject);
|
||||||
var indexTCO,x,y,i,index,aspect,adresseFeu : integer;
|
var indexTCO,x,y,i,index,aspect,adresseSig,lIcone,hIcone : integer;
|
||||||
s : string;
|
s : string;
|
||||||
bm :tbitmap;
|
bm :tbitmap;
|
||||||
begin
|
begin
|
||||||
@@ -10680,7 +10729,7 @@ begin
|
|||||||
11 : aspect:=20;
|
11 : aspect:=20;
|
||||||
else aspect:=i+6;
|
else aspect:=i+6;
|
||||||
end;
|
end;
|
||||||
index:=ligneClicSig+1; // index du feu
|
index:=ligneClicSig+1; // index du signal
|
||||||
if index<1 then
|
if index<1 then
|
||||||
begin
|
begin
|
||||||
ComboBoxAsp.ItemIndex:=-1;
|
ComboBoxAsp.ItemIndex:=-1;
|
||||||
@@ -10702,8 +10751,8 @@ begin
|
|||||||
|
|
||||||
ListBoxSig.Selected[ligneClicSig]:=true;
|
ListBoxSig.Selected[ligneClicSig]:=true;
|
||||||
|
|
||||||
// change l'image du feu dans la feuille graphique principale
|
// change l'image du signal dans la feuille graphique principale
|
||||||
bm:=Select_dessin_Signal(Signaux[index].aspect);
|
bm:=Select_dessin_Signal(Signaux[index].aspect,lIcone,hicone);
|
||||||
if bm=nil then exit;
|
if bm=nil then exit;
|
||||||
Signaux[index].Img.picture.Bitmap:=bm;
|
Signaux[index].Img.picture.Bitmap:=bm;
|
||||||
dessine_signal_mx(Signaux[index].Img.Canvas,0,0,1,1,Signaux[index].adresse,1); // dessine les feux du signal
|
dessine_signal_mx(Signaux[index].Img.Canvas,0,0,1,1,Signaux[index].adresse,1); // dessine les feux du signal
|
||||||
@@ -10718,8 +10767,8 @@ begin
|
|||||||
begin
|
begin
|
||||||
if TCO[indexTCO,x,y].BImage=Id_Signal then
|
if TCO[indexTCO,x,y].BImage=Id_Signal then
|
||||||
begin
|
begin
|
||||||
AdresseFeu:=Signaux[index].adresse;
|
AdresseSig:=Signaux[index].adresse;
|
||||||
if tco[IndexTCO,x,y].Adresse=AdresseFeu then affiche_tco(indexTCO);
|
if tco[IndexTCO,x,y].Adresse=AdresseSig then affiche_tco(indexTCO);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@@ -10767,7 +10816,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfig.ButtonrestaureClick(Sender: TObject);
|
procedure TFormConfig.ButtonrestaureClick(Sender: TObject);
|
||||||
var index : integer;
|
var index,lIcone,hIcone : integer;
|
||||||
begin
|
begin
|
||||||
if (Signal_sauve.adresse<>0) and (ligneClicSig>=0) then
|
if (Signal_sauve.adresse<>0) and (ligneClicSig>=0) then
|
||||||
begin
|
begin
|
||||||
@@ -10778,9 +10827,9 @@ begin
|
|||||||
ListBoxSig.selected[ligneClicSig]:=true;
|
ListBoxSig.selected[ligneClicSig]:=true;
|
||||||
aff_champs_signaux(index); // réaffiche les champs
|
aff_champs_signaux(index); // réaffiche les champs
|
||||||
Maj_Hint_Signal(index);
|
Maj_Hint_Signal(index);
|
||||||
// change l'image du feu dans la feuille graphique principale
|
// change l'image du signal dans la feuille graphique principale
|
||||||
Signaux[index].Img.picture.Bitmap:=Select_dessin_Signal(Signaux[index].aspect);
|
Signaux[index].Img.picture.Bitmap:=Select_dessin_Signal(Signaux[index].aspect,lIcone,hIcone);
|
||||||
dessine_signal_mx(Signaux[index].Img.Canvas,0,0,1,1,Signaux[index].adresse,1); // dessine les feux du signal
|
dessine_signal_mx(Signaux[index].Img.Canvas,0,0,1,1,Signaux[index].adresse,1); // dessine les feux du signal, échelle 1
|
||||||
clicListe:=false;
|
clicListe:=false;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@@ -10888,7 +10937,7 @@ begin
|
|||||||
if affevt then affiche('Evt bouton nouveau acc',clyellow);
|
if affevt then affiche('Evt bouton nouveau acc',clyellow);
|
||||||
if maxtablo_act>=Max_action then
|
if maxtablo_act>=Max_action then
|
||||||
begin
|
begin
|
||||||
Affiche('Nombre maximal d''actionneurs atteint',clred);
|
Affiche('Nombre maximal d''actions atteint',clred);
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
clicliste:=true;
|
clicliste:=true;
|
||||||
@@ -11157,7 +11206,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
if ss='' then exit;
|
if ss='' then exit;
|
||||||
|
|
||||||
s:='Voulez vous supprimer ';
|
s:='Voulez vous supprimer';
|
||||||
if n=1 then s:=s+' l''action ' else s:=s+' les actions ';
|
if n=1 then s:=s+' l''action ' else s:=s+' les actions ';
|
||||||
s:=s+ss+' ?';
|
s:=s+ss+' ?';
|
||||||
|
|
||||||
@@ -11171,6 +11220,7 @@ begin
|
|||||||
repeat
|
repeat
|
||||||
if formconfig.ListBoxActions.selected[i-1] then
|
if formconfig.ListBoxActions.selected[i-1] then
|
||||||
begin
|
begin
|
||||||
|
Affiche('Suppression action '+tablo_action[i].NomAction,clOrange);
|
||||||
for j:=i to maxTablo_act-1 do
|
for j:=i to maxTablo_act-1 do
|
||||||
begin
|
begin
|
||||||
formconfig.ListBoxActions.selected[j-1]:=formconfig.ListBoxActions.selected[j];
|
formconfig.ListBoxActions.selected[j-1]:=formconfig.ListBoxActions.selected[j];
|
||||||
@@ -11404,7 +11454,7 @@ begin
|
|||||||
perform(WM_VSCROLL,SB_BOTTOM,0);
|
perform(WM_VSCROLL,SB_BOTTOM,0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
formCOnfig.LabelInfo.caption:='';
|
formConfig.LabelInfo.caption:='';
|
||||||
ligneClicSig:=i-1;
|
ligneClicSig:=i-1;
|
||||||
AncligneClicSig:=ligneClicSig;
|
AncligneClicSig:=ligneClicSig;
|
||||||
aff_champs_signaux(i);
|
aff_champs_signaux(i);
|
||||||
@@ -11467,15 +11517,14 @@ begin
|
|||||||
Signaux[i].Lbl.free; // supprime le label
|
Signaux[i].Lbl.free; // supprime le label
|
||||||
Signaux[i].Lbl:=nil;
|
Signaux[i].Lbl:=nil;
|
||||||
Tablo_Index_Signal[Signaux[i].adresse]:=0;
|
Tablo_Index_Signal[Signaux[i].adresse]:=0;
|
||||||
if Signaux[i].checkFB<>nil then
|
if Signaux[i].checkFB<>nil then Signaux[i].checkFB.Free; // supprime le check du feu blanc s'il existait
|
||||||
begin
|
Signaux[i].CheckFB:=nil;
|
||||||
Signaux[i].checkFB.Free;
|
Signaux[i].FeuBlanc:=false;
|
||||||
Signaux[i].CheckFB:=nil;
|
|
||||||
end; // supprime le check du feu blanc s'il existait
|
|
||||||
|
|
||||||
for j:=i to NbreSignaux-1 do
|
for j:=i to NbreSignaux-1 do
|
||||||
begin
|
begin
|
||||||
Signaux[j]:=Signaux[j+1];
|
Signaux[j]:=Signaux[j+1];
|
||||||
|
//Affiche('Signal '+intToSTR(j)+' affecté',clred);
|
||||||
tablo_index_signal[signaux[j].adresse]:=j;
|
tablo_index_signal[signaux[j].adresse]:=j;
|
||||||
if Signaux[j].img=nil then affiche('erreur',clred)
|
if Signaux[j].img=nil then affiche('erreur',clred)
|
||||||
else
|
else
|
||||||
@@ -11504,7 +11553,20 @@ begin
|
|||||||
Left:=10+ (LargImg+5)*((j-1) mod (NbreImagePLigne));
|
Left:=10+ (LargImg+5)*((j-1) mod (NbreImagePLigne));
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{
|
||||||
|
Affiche('Efface signal'+intToSTR(NbreSignaux),clred);
|
||||||
|
Signaux[NbreSignaux].Img.free; // supprime l'image, ce qui efface le signal du tableau graphique
|
||||||
|
Signaux[NbreSignaux].Img:=nil;
|
||||||
|
Signaux[NbreSignaux].Lbl.free; // supprime le label
|
||||||
|
Signaux[NbreSignaux].Lbl:=nil;
|
||||||
|
Tablo_Index_Signal[Signaux[NbreSignaux].adresse]:=0;
|
||||||
|
if Signaux[NbreSignaux].checkFB<>nil then Signaux[NbreSignaux].checkFB.Free; // supprime le check du feu blanc s'il existait
|
||||||
|
Signaux[NbreSignaux].CheckFB:=nil;
|
||||||
|
Signaux[NbreSignaux].FeuBlanc:=false;
|
||||||
|
}
|
||||||
dec(NbreSignaux);
|
dec(NbreSignaux);
|
||||||
|
|
||||||
i:=0;
|
i:=0;
|
||||||
end;
|
end;
|
||||||
inc(i);
|
inc(i);
|
||||||
@@ -12739,8 +12801,8 @@ begin
|
|||||||
if not(oksignal) then
|
if not(oksignal) then
|
||||||
begin
|
begin
|
||||||
Affiche('Erreur 14: le signal '+IntToSTR(adresse)+' '+decodeur[dec]+' occupe '+intToSTR(nc)+' adresses de '+intToSTR(adresse)+
|
Affiche('Erreur 14: le signal '+IntToSTR(adresse)+' '+decodeur[dec]+' occupe '+intToSTR(nc)+' adresses de '+intToSTR(adresse)+
|
||||||
' à '+intToSTR(adresse+nc-1)+' et chevauche le(s) détecteur(s) ',clred);
|
' à '+intToSTR(adresse+nc-1)+' et chevauche le(s) détecteur(s) suivant(s)',clred);
|
||||||
affiche(s,clred);
|
Affiche(s,clred);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -12989,7 +13051,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
if ss='' then exit;
|
if ss='' then exit;
|
||||||
|
|
||||||
s:='Voulez vous supprimer ';
|
s:='Voulez vous supprimer';
|
||||||
if n=1 then s:=s+' l''aiguillage ' else s:=s+' les aiguillages ';
|
if n=1 then s:=s+' l''aiguillage ' else s:=s+' les aiguillages ';
|
||||||
s:=s+ss+' ?';
|
s:=s+ss+' ?';
|
||||||
|
|
||||||
@@ -13556,11 +13618,20 @@ end;
|
|||||||
|
|
||||||
procedure valide_branches;
|
procedure valide_branches;
|
||||||
var s: string;
|
var s: string;
|
||||||
ligne,esp : integer;
|
ligne,esp,i : integer;
|
||||||
ok : boolean;
|
ok : boolean;
|
||||||
begin
|
begin
|
||||||
ligne:=1;
|
ligne:=1;
|
||||||
ok:=true;
|
ok:=true;
|
||||||
|
|
||||||
|
// vider les tableaux des détecteurs
|
||||||
|
for i:=1 to NbMaxDet do
|
||||||
|
begin
|
||||||
|
Adresse_detecteur[i]:=0;
|
||||||
|
detecteur[i].index:=0;
|
||||||
|
end;
|
||||||
|
NDetecteurs:=0;
|
||||||
|
|
||||||
repeat
|
repeat
|
||||||
s:=AnsiUpperCase(formConfig.RichBranche.Lines[ligne-1]);
|
s:=AnsiUpperCase(formConfig.RichBranche.Lines[ligne-1]);
|
||||||
if s<>'' then
|
if s<>'' then
|
||||||
@@ -13609,6 +13680,7 @@ begin
|
|||||||
modif_branches:=false;
|
modif_branches:=false;
|
||||||
end
|
end
|
||||||
else FormConfig.labelResult.Caption:='Erreur de syntaxe';
|
else FormConfig.labelResult.Caption:='Erreur de syntaxe';
|
||||||
|
trier_detecteurs;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfig.ButtonValLigneClick(Sender: TObject);
|
procedure TFormConfig.ButtonValLigneClick(Sender: TObject);
|
||||||
@@ -13642,6 +13714,7 @@ begin
|
|||||||
if j=0 then result:=0 else result:=j+1;
|
if j=0 then result:=0 else result:=j+1;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
// compile une branche de réseau sous forme de texte, et la stocke dans le tableau des branches
|
// compile une branche de réseau sous forme de texte, et la stocke dans le tableau des branches
|
||||||
// crée les index dans la structure détecteurs et des aiguillages
|
// crée les index dans la structure détecteurs et des aiguillages
|
||||||
// i = index de la branche à stocker
|
// i = index de la branche à stocker
|
||||||
@@ -13756,7 +13829,7 @@ begin
|
|||||||
until ((bd=NDetecteurs+1) or trouve) or (bd>NbMaxDet) ;
|
until ((bd=NDetecteurs+1) or trouve) or (bd>NbMaxDet) ;
|
||||||
if not(trouve) then
|
if not(trouve) then
|
||||||
begin
|
begin
|
||||||
Adresse_detecteur[bd]:=detect;
|
Adresse_detecteur[bd]:=detect; // stocke le détecteur de la branche dans la liste des détecteurs
|
||||||
NDetecteurs:=bd;
|
NDetecteurs:=bd;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@@ -14428,9 +14501,17 @@ begin
|
|||||||
end;
|
end;
|
||||||
l:=Trains[index].Icone.width;
|
l:=Trains[index].Icone.width;
|
||||||
h:=Trains[index].Icone.Height;
|
h:=Trains[index].Icone.Height;
|
||||||
if h=0 then
|
if h=0 then // si pas d'icone de train dessiner un rectangle
|
||||||
begin
|
begin
|
||||||
result:=0;
|
result:=0;
|
||||||
|
l:=image_train[index].Width;
|
||||||
|
h:=image_train[index].Height;
|
||||||
|
with Iimage.Canvas do
|
||||||
|
begin
|
||||||
|
brush.Color:=coulfond;
|
||||||
|
pen.Color:=coulfond;
|
||||||
|
rectangle(0,0,l,h);
|
||||||
|
end;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
rd:=l/h;
|
rd:=l/h;
|
||||||
@@ -14473,12 +14554,6 @@ begin
|
|||||||
|
|
||||||
ligneclicTrain:=ListBoxTrains.ItemIndex;
|
ligneclicTrain:=ListBoxTrains.ItemIndex;
|
||||||
|
|
||||||
//Affiche(intToSTR(lc),clyellow);
|
|
||||||
|
|
||||||
if ligneclicTrain+1>ntrains then
|
|
||||||
begin
|
|
||||||
ligneclicTrain:=ntrains-1;
|
|
||||||
end;
|
|
||||||
if ligneclicTrain<0 then exit;
|
if ligneclicTrain<0 then exit;
|
||||||
s:=ListBoxTrains.items[ligneclicTrain];
|
s:=ListBoxTrains.items[ligneclicTrain];
|
||||||
if s='' then exit;
|
if s='' then exit;
|
||||||
@@ -14665,7 +14740,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
if ss='' then exit;
|
if ss='' then exit;
|
||||||
|
|
||||||
s:='Voulez vous supprimer ';
|
s:='Voulez vous supprimer';
|
||||||
if n=1 then s:=s+' le train ' else s:=s+' les trains ';
|
if n=1 then s:=s+' le train ' else s:=s+' les trains ';
|
||||||
s:=s+ss+' ?';
|
s:=s+ss+' ?';
|
||||||
|
|
||||||
@@ -15443,7 +15518,7 @@ begin
|
|||||||
ListBoxSig.Items.Clear;
|
ListBoxSig.Items.Clear;
|
||||||
for i:=1 to NbreSignaux do
|
for i:=1 to NbreSignaux do
|
||||||
begin
|
begin
|
||||||
s:=encode_signal(i); // encode la ligne depuis le tableau feux
|
s:=encode_signal(i); // encode la ligne depuis le tableau signaux
|
||||||
if s<>'' then
|
if s<>'' then
|
||||||
begin
|
begin
|
||||||
ListBoxSig.Items.Add(s);
|
ListBoxSig.Items.Add(s);
|
||||||
@@ -16610,7 +16685,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfig.FormActivate(Sender: TObject);
|
procedure TFormConfig.FormActivate(Sender: TObject);
|
||||||
var i : integer;
|
var i : integer;
|
||||||
s : string;
|
s : string;
|
||||||
begin
|
begin
|
||||||
if affevt or (debug=1) then affiche('FormConfig activate',clLime);
|
if affevt or (debug=1) then affiche('FormConfig activate',clLime);
|
||||||
@@ -16835,7 +16910,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfig.ListBoxOperationsDrawItem(Control: TWinControl;
|
procedure TFormConfig.ListBoxOperationsDrawItem(Control: TWinControl;
|
||||||
Index: Integer; Rect: TRect; State: TOwnerDrawState);var
|
Index: Integer; Rect: TRect; State: TOwnerDrawState);
|
||||||
|
var
|
||||||
i,erreur: Integer;
|
i,erreur: Integer;
|
||||||
ItemText: string;
|
ItemText: string;
|
||||||
begin
|
begin
|
||||||
@@ -16851,7 +16927,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfig.ListBoxOperationsMouseDown(Sender: TObject;
|
procedure TFormConfig.ListBoxOperationsMouseDown(Sender: TObject;
|
||||||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin
|
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||||
|
begin
|
||||||
ClicAction:=ListBoxOperations.ItemIndex;
|
ClicAction:=ListBoxOperations.ItemIndex;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -16916,7 +16993,6 @@ end;
|
|||||||
procedure TFormConfig.ListBoxOperationsDblClick(Sender: TObject);
|
procedure TFormConfig.ListBoxOperationsDblClick(Sender: TObject);
|
||||||
var s : string;
|
var s : string;
|
||||||
op,i : integer;
|
op,i : integer;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if (clicAction<0) or (ligneclicAct<0) or clicliste then exit;
|
if (clicAction<0) or (ligneclicAct<0) or clicliste then exit;
|
||||||
Tablo_Action[ligneclicAct+1].tabloOp[clicaction+1].valide:=not(Tablo_Action[ligneclicAct+1].tabloOp[clicaction+1].valide);
|
Tablo_Action[ligneclicAct+1].tabloOp[clicaction+1].valide:=not(Tablo_Action[ligneclicAct+1].tabloOp[clicaction+1].valide);
|
||||||
@@ -16935,7 +17011,10 @@ end;
|
|||||||
|
|
||||||
|
|
||||||
procedure TFormConfig.SpeedButtonOuvreClick(Sender: TObject);
|
procedure TFormConfig.SpeedButtonOuvreClick(Sender: TObject);
|
||||||
var s,repini :string; i : integer;begin if ligneclicTrain<0 then exit;
|
var s,repini :string;
|
||||||
|
i : integer;
|
||||||
|
begin
|
||||||
|
if ligneclicTrain<0 then exit;
|
||||||
i:=ligneclicTrain+1;
|
i:=ligneclicTrain+1;
|
||||||
s:=rep_icones;
|
s:=rep_icones;
|
||||||
repIni:=GetCurrentDir; // si le repertoire icones n'existe pas, il passe au supérieur
|
repIni:=GetCurrentDir; // si le repertoire icones n'existe pas, il passe au supérieur
|
||||||
@@ -16960,7 +17039,8 @@ var s,repini :string; i : integer;begin if ligneclicTrain<0 then exit;
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfig.EditIconeChange(Sender: TObject);
|
procedure TFormConfig.EditIconeChange(Sender: TObject);
|
||||||
var s,Nom,repIni : string;begin
|
var s,Nom,repIni : string;
|
||||||
|
begin
|
||||||
if ligneclicTrain<0 then exit;
|
if ligneclicTrain<0 then exit;
|
||||||
if clicliste then exit;
|
if clicliste then exit;
|
||||||
repIni:=GetCurrentDir;
|
repIni:=GetCurrentDir;
|
||||||
@@ -16977,7 +17057,8 @@ var s,Nom,repIni : string;begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfig.LabeledEditTempoDChange(Sender: TObject);
|
procedure TFormConfig.LabeledEditTempoDChange(Sender: TObject);
|
||||||
var erreur,i :integer;begin
|
var erreur,i :integer;
|
||||||
|
begin
|
||||||
if clicliste then exit;
|
if clicliste then exit;
|
||||||
if affevt then affiche('Evt change temps démarre train',clyellow);
|
if affevt then affiche('Evt change temps démarre train',clyellow);
|
||||||
if (ligneclicTrain<0) or (ligneclicTrain>=ntrains) or (ntrains<1) then exit;
|
if (ligneclicTrain<0) or (ligneclicTrain>=ntrains) or (ntrains<1) then exit;
|
||||||
@@ -16989,7 +17070,8 @@ var erreur,i :integer;begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormConfig.CheckBoxSensClick(Sender: TObject);
|
procedure TFormConfig.CheckBoxSensClick(Sender: TObject);
|
||||||
begin if clicliste then exit;
|
begin
|
||||||
|
if clicliste then exit;
|
||||||
if affevt then affiche('Evt inverse train',clyellow);
|
if affevt then affiche('Evt inverse train',clyellow);
|
||||||
if (ligneclicTrain<0) or (ligneclicTrain>=ntrains) or (ntrains<1) then exit;
|
if (ligneclicTrain<0) or (ligneclicTrain>=ntrains) or (ntrains<1) then exit;
|
||||||
|
|
||||||
@@ -17000,7 +17082,8 @@ end;
|
|||||||
|
|
||||||
|
|
||||||
procedure TFormConfig.ButtonImRCDMClick(Sender: TObject);
|
procedure TFormConfig.ButtonImRCDMClick(Sender: TObject);
|
||||||
var nPeriph,ia,i,j,adr : integer; ctyp : string;
|
var nPeriph,ia,i,j,adr : integer;
|
||||||
|
ctyp : string;
|
||||||
begin
|
begin
|
||||||
if nSeg=0 then begin LabelInfo.caption:='Pas de structure réseau CDM trouvée';exit;end
|
if nSeg=0 then begin LabelInfo.caption:='Pas de structure réseau CDM trouvée';exit;end
|
||||||
else LabelInfo.caption:='';
|
else LabelInfo.caption:='';
|
||||||
@@ -19979,6 +20062,43 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TFormConfig.SpeedButtonLayClick(Sender: TObject);
|
||||||
|
var i : integer;
|
||||||
|
s : string;
|
||||||
|
begin
|
||||||
|
if ligneclicTrain<0 then exit;
|
||||||
|
i:=ligneclicTrain+1;
|
||||||
|
s:=rep_icones;
|
||||||
|
OpenDialogSon.InitialDir:='';
|
||||||
|
OpenDialogSon.DefaultExt:='bmp';
|
||||||
|
OpenDialogSon.Title:='Choix du fichier LAY de CDM';
|
||||||
|
OpenDialogSon.Filter:='Fichiers LAY (*.LAY)|*.lay|Tous fichiers (*.*)|*.*';
|
||||||
|
if openDialogSon.execute then
|
||||||
|
begin
|
||||||
|
s:=openDialogSon.filename;
|
||||||
|
EditLAY.Text:=ExtractFileName(s); // ne pas mettre le chemin pour l'ouverture du LAY avec CDM
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TFormConfig.MenuListesCopier2Click(Sender: TObject);
|
||||||
|
var tl: TListBox;
|
||||||
|
i : integer;
|
||||||
|
s : string;
|
||||||
|
begin
|
||||||
|
tl:=(Tpopupmenu(Tmenuitem(sender).GetParentMenu).PopupComponent) as TlistBox ;
|
||||||
|
//ClipBoard.SetTextBuf(tl.Items.GetText);
|
||||||
|
if not Clipboard.HasFormat(CF_TEXT) then Exit;
|
||||||
|
tl.Items.Text := Clipboard.AsText;
|
||||||
|
|
||||||
|
for i:=1 to tl.items.count do
|
||||||
|
begin
|
||||||
|
s:=tl.Items[i-1];
|
||||||
|
if not(decode_ligne_signal(s,i)) then // décode la chaine et stocke en tableau signal
|
||||||
|
Affiche('Erreur 59 : définition inccorecte du signal '+intToSTR(i),clred);
|
||||||
|
end;
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -271,7 +271,7 @@ begin
|
|||||||
//YclicCell[indexTCO]:=YclicC;
|
//YclicCell[indexTCO]:=YclicC;
|
||||||
|
|
||||||
xc:=xClicC;yc:=yClicC;
|
xc:=xClicC;yc:=yClicC;
|
||||||
origine_canton(xc,yc);
|
origine_canton(indexTCO,xc,yc);
|
||||||
|
|
||||||
idCanton:=index_canton(indexTCO,xC,yC);
|
idCanton:=index_canton(indexTCO,xC,yC);
|
||||||
|
|
||||||
@@ -671,7 +671,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
FormConfCellTCO.LabelNumC.caption:='Elément de canton';
|
FormConfCellTCO.LabelNumC.caption:='Elément de canton';
|
||||||
x:=xClicC;y:=yClicC;
|
x:=xClicC;y:=yClicC;
|
||||||
origine_canton(x,y);
|
origine_canton(indexTCO,x,y);
|
||||||
i:=tco[indexTCO,x,y].NumCanton;
|
i:=tco[indexTCO,x,y].NumCanton;
|
||||||
if i>0 then FormConfCellTCO.EditCanton.text:=intToSTR(i);
|
if i>0 then FormConfCellTCO.EditCanton.text:=intToSTR(i);
|
||||||
end;
|
end;
|
||||||
|
|||||||
+2
-2
@@ -384,9 +384,9 @@ object FormConfigTCO: TFormConfigTCO
|
|||||||
Caption = '(10 maximum)'
|
Caption = '(10 maximum)'
|
||||||
end
|
end
|
||||||
object Label17: TLabel
|
object Label17: TLabel
|
||||||
Left = 146
|
Left = 144
|
||||||
Top = 202
|
Top = 202
|
||||||
Width = 49
|
Width = 51
|
||||||
Height = 26
|
Height = 26
|
||||||
Alignment = taRightJustify
|
Alignment = taRightJustify
|
||||||
Caption = 'Epaisseur des voies'
|
Caption = 'Epaisseur des voies'
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
unit UnitInfo;
|
unit UnitInfo;
|
||||||
|
|
||||||
// afiche une info dans le TCO
|
// affiche une info dans le TCO
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
@@ -40,7 +40,7 @@ end;
|
|||||||
|
|
||||||
procedure TFormInfo.FormActivate(Sender: TObject);
|
procedure TFormInfo.FormActivate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
TickInfo:=5;
|
TickInfo:=5; // temps de fermeture de la fenetre pour le timer
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormInfo.FormCreate(Sender: TObject);
|
procedure TFormInfo.FormCreate(Sender: TObject);
|
||||||
|
|||||||
+7
-4
@@ -16,10 +16,13 @@ object FormMesure: TFormMesure
|
|||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
Left = 56
|
Left = 56
|
||||||
Top = 16
|
Top = 0
|
||||||
Width = 272
|
Width = 289
|
||||||
Height = 13
|
Height = 29
|
||||||
Caption = 'S'#233'lection d'#39'un train plac'#233' sur le TCO pour son '#233'talonnage'
|
Caption =
|
||||||
|
'S'#233'lection d'#39'un train plac'#233' sur le TCO pour son '#233'talonnage. Le pa' +
|
||||||
|
'rcours doit '#234'tre boucl'#233'.'
|
||||||
|
WordWrap = True
|
||||||
end
|
end
|
||||||
object LabelEtat: TLabel
|
object LabelEtat: TLabel
|
||||||
Left = 24
|
Left = 24
|
||||||
|
|||||||
+13
-13
@@ -1,6 +1,6 @@
|
|||||||
unit UnitMesure;
|
unit UnitMesure;
|
||||||
|
|
||||||
// mesure de la vitesse des trains
|
// mesure de la vitesse des trains pour l'étalonnage
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
@@ -112,19 +112,19 @@ begin
|
|||||||
cv.brush.color:=clWindow;
|
cv.brush.color:=clWindow;
|
||||||
cv.fillrect(rect);
|
cv.fillrect(rect);
|
||||||
end;
|
end;
|
||||||
// Affichage du texte
|
// Affichage du texte
|
||||||
cv.font.style:=canvas.font.style+[fsbold];
|
cv.font.style:=canvas.font.style+[fsbold];
|
||||||
cv.textout(rect.left+largDest+5,rect.top,ComboBoxTrains.items[index]);
|
cv.textout(rect.left+largDest+5,rect.top,ComboBoxTrains.items[index]);
|
||||||
if (odSelected in state) then
|
if (odSelected in state) then
|
||||||
begin
|
begin
|
||||||
cv.brush.color:=clWindowFrame;
|
cv.brush.color:=clWindowFrame;
|
||||||
cv.fillrect(rect);
|
cv.fillrect(rect);
|
||||||
//cv.font.color:=clblue;
|
//cv.font.color:=clblue;
|
||||||
cv.textout(rect.left+largDest+5,rect.top,ComboBoxTrains.items[index]);
|
cv.textout(rect.left+largDest+5,rect.top,ComboBoxTrains.items[index]);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TransparentBlt(cv.Handle,rect.Left+2,rect.Top,largDest,hautDest,
|
TransparentBlt(cv.Handle,rect.Left+2,rect.Top,largDest,hautDest,
|
||||||
Trains[index+1].Icone.canvas.Handle,0,0,l,h,clWhite);
|
Trains[index+1].Icone.canvas.Handle,0,0,l,h,clWhite);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormMesure.ComboBoxTrainsChange(Sender: TObject);
|
procedure TFormMesure.ComboBoxTrainsChange(Sender: TObject);
|
||||||
|
|||||||
+1
-1
@@ -49,7 +49,7 @@ begin
|
|||||||
|
|
||||||
NewRule.Applicationname:=fichier;
|
NewRule.Applicationname:=fichier;
|
||||||
NewRule.Protocol:=NET_FW_IP_PROTOCOL_TCP;
|
NewRule.Protocol:=NET_FW_IP_PROTOCOL_TCP;
|
||||||
NewRule.LocalPorts :=''; // sans spécif=tous ports
|
NewRule.LocalPorts:=''; // sans spécif=tous ports
|
||||||
//NewRule.LocalPorts := '9999'; // '80,443,4520-4533'
|
//NewRule.LocalPorts := '9999'; // '80,443,4520-4533'
|
||||||
NewRule.Direction:=net_fw_rule_dir_in;
|
NewRule.Direction:=net_fw_rule_dir_in;
|
||||||
NewRule.Enabled:=True;
|
NewRule.Enabled:=True;
|
||||||
|
|||||||
+10
-6
@@ -132,7 +132,7 @@ var
|
|||||||
EtatSignalPilote : word;
|
EtatSignalPilote : word;
|
||||||
AdrPilote : integer;
|
AdrPilote : integer;
|
||||||
tableLEB : array[1..41,1..19] of
|
tableLEB : array[1..41,1..19] of
|
||||||
record
|
record // pour le décodeur LEB :
|
||||||
offset, // offset en mode linéaire
|
offset, // offset en mode linéaire
|
||||||
sortie, // numéro de sortie en mode linéaire
|
sortie, // numéro de sortie en mode linéaire
|
||||||
code // code de pilotage en mode binaire
|
code // code de pilotage en mode binaire
|
||||||
@@ -153,13 +153,11 @@ begin
|
|||||||
i:=Index_Signal(AdrPilote); // adresse du signal d'origine
|
i:=Index_Signal(AdrPilote); // adresse du signal d'origine
|
||||||
if i<>0 then
|
if i<>0 then
|
||||||
|
|
||||||
//ImagePilote.Picture.Bitmap:=FormPilote.ImagePilote.picture.bitmap;
|
|
||||||
EtatSignalPilote:=Signaux[0].EtatSignal;
|
EtatSignalPilote:=Signaux[0].EtatSignal;
|
||||||
AncienEtat:=Signaux[0].ancienEtat;
|
AncienEtat:=Signaux[0].ancienEtat;
|
||||||
Vcanvas:=FormPilote.ImagePilote.picture.bitmap.Canvas;
|
Vcanvas:=FormPilote.ImagePilote.picture.bitmap.Canvas;
|
||||||
|
|
||||||
case Signaux[i].aspect of
|
case Signaux[i].aspect of
|
||||||
// feux de signalisation
|
|
||||||
2 : dessine_signal2(Vcanvas,0,0,1,1,EtatSignalPilote,1,i);
|
2 : dessine_signal2(Vcanvas,0,0,1,1,EtatSignalPilote,1,i);
|
||||||
3 : dessine_signal3(Vcanvas,0,0,1,1,EtatSignalPilote,1,i);
|
3 : dessine_signal3(Vcanvas,0,0,1,1,EtatSignalPilote,1,i);
|
||||||
4 : dessine_signal4(VCanvas,0,0,1,1,EtatSignalPilote,1,i);
|
4 : dessine_signal4(VCanvas,0,0,1,1,EtatSignalPilote,1,i);
|
||||||
@@ -426,7 +424,8 @@ if ord(Key) = VK_RETURN then
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormPilote.FormActivate(Sender: TObject);
|
procedure TFormPilote.FormActivate(Sender: TObject);
|
||||||
var n,i,d : integer;
|
var n,i,d,l,h : integer;
|
||||||
|
b : tBitmap;
|
||||||
begin
|
begin
|
||||||
if fermeSC then exit;
|
if fermeSC then exit;
|
||||||
// mise à jour du champ décodeur
|
// mise à jour du champ décodeur
|
||||||
@@ -497,12 +496,16 @@ begin
|
|||||||
Picture.Bitmap.TransparentMode:=tmAuto;
|
Picture.Bitmap.TransparentMode:=tmAuto;
|
||||||
Picture.Bitmap.TransparentColor:=clblue;
|
Picture.Bitmap.TransparentColor:=clblue;
|
||||||
Transparent:=true;
|
Transparent:=true;
|
||||||
Picture.BitMap:=Signaux[i].Img.Picture.Bitmap;
|
picture.Bitmap.canvas.Brush.Color:=clBtnFace;
|
||||||
//left:=groupBox1.width+50;
|
picture.Bitmap.Canvas.Rectangle(0,0,width,height);
|
||||||
|
|
||||||
|
b:=Select_dessin_Signal(n,l,h);
|
||||||
|
Picture.BitMap:=b;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
LabelTitrePilote.Caption:='Pilotage du signal '+intToSTR(AdrPilote);
|
LabelTitrePilote.Caption:='Pilotage du signal '+intToSTR(AdrPilote);
|
||||||
Signaux[0].EtatSignal:=Signaux[i].EtatSignal;
|
Signaux[0].EtatSignal:=Signaux[i].EtatSignal;
|
||||||
|
dessine_signal_pilote;
|
||||||
|
|
||||||
if isDirectionnel(i) then
|
if isDirectionnel(i) then
|
||||||
begin
|
begin
|
||||||
@@ -578,6 +581,7 @@ end;
|
|||||||
|
|
||||||
// initialisation de l'unité
|
// initialisation de l'unité
|
||||||
begin
|
begin
|
||||||
|
// tableau de pilotage du décodeur LEB
|
||||||
// les offsets sont incrémentés tous les 2, on alterne les sorties entre droit et dévié ;
|
// les offsets sont incrémentés tous les 2, on alterne les sorties entre droit et dévié ;
|
||||||
// offset et sortie sont pour le mode linéaire ; code est pour le mode binaire
|
// offset et sortie sont pour le mode linéaire ; code est pour le mode binaire
|
||||||
// cible 1 vert rouge
|
// cible 1 vert rouge
|
||||||
|
|||||||
+417
-46
@@ -1,11 +1,11 @@
|
|||||||
object FormPrinc: TFormPrinc
|
object FormPrinc: TFormPrinc
|
||||||
Left = 134
|
Left = 104
|
||||||
Top = 277
|
Top = 192
|
||||||
Anchors = [akLeft, akTop, akRight]
|
Anchors = [akLeft, akTop, akRight]
|
||||||
BorderStyle = bsNone
|
BorderStyle = bsNone
|
||||||
Caption = 'Signaux complexes'
|
Caption = 'Signaux complexes'
|
||||||
ClientHeight = 513
|
ClientHeight = 513
|
||||||
ClientWidth = 847
|
ClientWidth = 1019
|
||||||
Color = clBtnFace
|
Color = clBtnFace
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clWindowText
|
Font.Color = clWindowText
|
||||||
@@ -22,7 +22,7 @@ object FormPrinc: TFormPrinc
|
|||||||
OnKeyDown = FormKeyDown
|
OnKeyDown = FormKeyDown
|
||||||
OnResize = FormResize
|
OnResize = FormResize
|
||||||
DesignSize = (
|
DesignSize = (
|
||||||
847
|
1019
|
||||||
513)
|
513)
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
@@ -40,8 +40,8 @@ object FormPrinc: TFormPrinc
|
|||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object Image9feux: TImage
|
object Image9feux: TImage
|
||||||
Left = 1072
|
Left = 848
|
||||||
Top = 32
|
Top = 16
|
||||||
Width = 57
|
Width = 57
|
||||||
Height = 105
|
Height = 105
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -230,8 +230,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image7feux: TImage
|
object Image7feux: TImage
|
||||||
Left = 440
|
Left = 72
|
||||||
Top = 8
|
Top = 32
|
||||||
Width = 57
|
Width = 57
|
||||||
Height = 105
|
Height = 105
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -398,7 +398,7 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image5feux: TImage
|
object Image5feux: TImage
|
||||||
Left = 696
|
Left = 416
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 89
|
Height = 89
|
||||||
@@ -498,8 +498,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image4feux: TImage
|
object Image4feux: TImage
|
||||||
Left = 664
|
Left = 384
|
||||||
Top = 8
|
Top = 0
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 97
|
Height = 97
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -590,7 +590,7 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image3feux: TImage
|
object Image3feux: TImage
|
||||||
Left = 200
|
Left = 256
|
||||||
Top = 8
|
Top = 8
|
||||||
Width = 33
|
Width = 33
|
||||||
Height = 57
|
Height = 57
|
||||||
@@ -671,10 +671,10 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image2feux: TImage
|
object Image2feux: TImage
|
||||||
Left = 1072
|
Left = 288
|
||||||
Top = 144
|
Top = 16
|
||||||
Width = 33
|
Width = 25
|
||||||
Height = 57
|
Height = 41
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
07544269746D617026080000424D260800000000000036040000280000001A00
|
07544269746D617026080000424D260800000000000036040000280000001A00
|
||||||
0000240000000100080000000000F0030000C40E0000C40E0000000100000001
|
0000240000000100080000000000F0030000C40E0000C40E0000000100000001
|
||||||
@@ -745,8 +745,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image2Dir: TImage
|
object Image2Dir: TImage
|
||||||
Left = 624
|
Left = 296
|
||||||
Top = 8
|
Top = 0
|
||||||
Width = 41
|
Width = 41
|
||||||
Height = 25
|
Height = 25
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -820,8 +820,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image3Dir: TImage
|
object Image3Dir: TImage
|
||||||
Left = 808
|
Left = 104
|
||||||
Top = 32
|
Top = 24
|
||||||
Width = 49
|
Width = 49
|
||||||
Height = 25
|
Height = 25
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -898,8 +898,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image4Dir: TImage
|
object Image4Dir: TImage
|
||||||
Left = 744
|
Left = 24
|
||||||
Top = 32
|
Top = 24
|
||||||
Width = 57
|
Width = 57
|
||||||
Height = 25
|
Height = 25
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -986,8 +986,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image5Dir: TImage
|
object Image5Dir: TImage
|
||||||
Left = 856
|
Left = 160
|
||||||
Top = 32
|
Top = 24
|
||||||
Width = 65
|
Width = 65
|
||||||
Height = 25
|
Height = 25
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -1084,8 +1084,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Image6Dir: TImage
|
object Image6Dir: TImage
|
||||||
Left = 920
|
Left = 744
|
||||||
Top = 32
|
Top = 8
|
||||||
Width = 81
|
Width = 81
|
||||||
Height = 25
|
Height = 25
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -1192,8 +1192,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object ImageSignal20: TImage
|
object ImageSignal20: TImage
|
||||||
Left = 1048
|
Left = 984
|
||||||
Top = 424
|
Top = 64
|
||||||
Width = 57
|
Width = 57
|
||||||
Height = 105
|
Height = 105
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -1431,7 +1431,7 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object LabelClock: TLabel
|
object LabelClock: TLabel
|
||||||
Left = 755
|
Left = 927
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 85
|
Width = 85
|
||||||
Height = 22
|
Height = 22
|
||||||
@@ -5040,8 +5040,8 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object ImageTachro: TImage
|
object ImageTachro: TImage
|
||||||
Left = 976
|
Left = 904
|
||||||
Top = 112
|
Top = 24
|
||||||
Width = 106
|
Width = 106
|
||||||
Height = 37
|
Height = 37
|
||||||
Picture.Data = {
|
Picture.Data = {
|
||||||
@@ -5421,7 +5421,7 @@ object FormPrinc: TFormPrinc
|
|||||||
Visible = False
|
Visible = False
|
||||||
end
|
end
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
Left = 545
|
Left = 717
|
||||||
Top = 4
|
Top = 4
|
||||||
Width = 89
|
Width = 89
|
||||||
Height = 13
|
Height = 13
|
||||||
@@ -5429,7 +5429,7 @@ object FormPrinc: TFormPrinc
|
|||||||
Caption = 'Nombre de trains : '
|
Caption = 'Nombre de trains : '
|
||||||
end
|
end
|
||||||
object LabelNbTrains: TLabel
|
object LabelNbTrains: TLabel
|
||||||
Left = 641
|
Left = 813
|
||||||
Top = 2
|
Top = 2
|
||||||
Width = 9
|
Width = 9
|
||||||
Height = 19
|
Height = 19
|
||||||
@@ -5442,10 +5442,356 @@ object FormPrinc: TFormPrinc
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
|
object Image3feux2x: TImage
|
||||||
|
Left = 552
|
||||||
|
Top = 0
|
||||||
|
Width = 52
|
||||||
|
Height = 88
|
||||||
|
Picture.Data = {
|
||||||
|
07544269746D617016160000424D161600000000000036040000280000003400
|
||||||
|
0000580000000100080000000000E0110000C40E0000C40E0000000100000001
|
||||||
|
000000000000000080000080000000808000800000008000800080800000C0C0
|
||||||
|
C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
|
||||||
|
E00000400000004020000040400000406000004080000040A0000040C0000040
|
||||||
|
E00000600000006020000060400000606000006080000060A0000060C0000060
|
||||||
|
E00000800000008020000080400000806000008080000080A0000080C0000080
|
||||||
|
E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
|
||||||
|
E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
|
||||||
|
E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
|
||||||
|
E00040000000400020004000400040006000400080004000A0004000C0004000
|
||||||
|
E00040200000402020004020400040206000402080004020A0004020C0004020
|
||||||
|
E00040400000404020004040400040406000404080004040A0004040C0004040
|
||||||
|
E00040600000406020004060400040606000406080004060A0004060C0004060
|
||||||
|
E00040800000408020004080400040806000408080004080A0004080C0004080
|
||||||
|
E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
|
||||||
|
E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
|
||||||
|
E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
|
||||||
|
E00080000000800020008000400080006000800080008000A0008000C0008000
|
||||||
|
E00080200000802020008020400080206000802080008020A0008020C0008020
|
||||||
|
E00080400000804020008040400080406000804080008040A0008040C0008040
|
||||||
|
E00080600000806020008060400080606000806080008060A0008060C0008060
|
||||||
|
E00080800000808020008080400080806000808080008080A0008080C0008080
|
||||||
|
E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
|
||||||
|
E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
|
||||||
|
E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
|
||||||
|
E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
|
||||||
|
E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
|
||||||
|
E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
|
||||||
|
E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
|
||||||
|
E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
|
||||||
|
E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
|
||||||
|
E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
|
||||||
|
A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
|
||||||
|
FF00FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC000000000000000000000000
|
||||||
|
00000000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFC00000000000000000000000000000000FCFCFCFCFCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC0000000000000000
|
||||||
|
00000000000000000000000000000000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFCFCFCFCFC0000000000000000000000000000000000000000
|
||||||
|
00000000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC00000000
|
||||||
|
000000000000FFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC00000000000000000000FFFFFFFFFFFF
|
||||||
|
FFFFFFFFFFFF00000000000000000000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
|
||||||
|
FCFC0000000000000000FFFFFFFF000000000000000000000000FFFFFFFF0000
|
||||||
|
000000000000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC0000000000000000FFFF
|
||||||
|
FFFF000000000000000000000000FFFFFFFF0000000000000000FCFCFCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFC000000000000FFFFFFFF0000000000000000000000000000
|
||||||
|
000000000000FFFFFFFF000000000000FCFCFCFCFCFCFCFCFCFCFCFC00000000
|
||||||
|
0000FFFFFFFF0000000000000000000000000000000000000000FFFFFFFF0000
|
||||||
|
00000000FCFCFCFCFCFCFCFCFCFC000000000000FFFF00000000000000000000
|
||||||
|
000000000000000000000000000000000000FFFF000000000000FCFCFCFCFCFC
|
||||||
|
FCFC000000000000FFFF00000000000000000000000000000000000000000000
|
||||||
|
000000000000FFFF000000000000FCFCFCFCFCFC000000000000FFFF00000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000FFFF0000
|
||||||
|
00000000FCFCFCFC000000000000FFFF00000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000FFFF000000000000FCFCFCFC00000000
|
||||||
|
FFFF000000000000000000000000000052525252525252520000000000000000
|
||||||
|
000000000000FFFF00000000FCFCFCFC00000000FFFF00000000000000000000
|
||||||
|
0000000052525252525252520000000000000000000000000000FFFF00000000
|
||||||
|
FCFC000000000000FFFF00000000000000000000000052525252525252525252
|
||||||
|
5252000000000000000000000000FFFF000000000000000000000000FFFF0000
|
||||||
|
0000000000000000000052525252525252525252525200000000000000000000
|
||||||
|
0000FFFF00000000000000000000FFFF00000000000000000000000052525252
|
||||||
|
525252525252525252525252000000000000000000000000FFFF000000000000
|
||||||
|
0000FFFF00000000000000000000000052525252525252525252525252525252
|
||||||
|
000000000000000000000000FFFF0000000000000000FFFF0000000000000000
|
||||||
|
0000000052525252525252525252525252525252000000000000000000000000
|
||||||
|
FFFF0000000000000000FFFF0000000000000000000000005252525252525252
|
||||||
|
5252525252525252000000000000000000000000FFFF0000000000000000FFFF
|
||||||
|
0000000000000000000000005252525252525252525252525252525200000000
|
||||||
|
0000000000000000FFFF0000000000000000FFFF000000000000000000000000
|
||||||
|
52525252525252525252525252525252000000000000000000000000FFFF0000
|
||||||
|
000000000000FFFF000000000000000000000000525252525252525252525252
|
||||||
|
52525252000000000000000000000000FFFF0000000000000000FFFF00000000
|
||||||
|
0000000000000000525252525252525252525252525252520000000000000000
|
||||||
|
00000000FFFF0000000000000000FFFF00000000000000000000000000005252
|
||||||
|
525252525252525252520000000000000000000000000000FFFF000000000000
|
||||||
|
0000FFFF00000000000000000000000000005252525252525252525252520000
|
||||||
|
000000000000000000000000FFFF0000000000000000FFFF0000000000000000
|
||||||
|
0000000000000000525252525252525200000000000000000000000000000000
|
||||||
|
FFFF0000000000000000FFFF0000000000000000000000000000000052525252
|
||||||
|
5252525200000000000000000000000000000000FFFF0000000000000000FFFF
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000FFFF0000000000000000FFFF000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000FFFF0000
|
||||||
|
000000000000FFFF000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000FFFF0000000000000000FFFF00000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000FFFF0000000000000000FFFF00000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000000000000000FFFF000000000000
|
||||||
|
0000FFFF00000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000FFFF0000000000000000FFFF0000000000000000
|
||||||
|
0000000000000000525252525252525200000000000000000000000000000000
|
||||||
|
FFFF0000000000000000FFFF0000000000000000000000000000000052525252
|
||||||
|
5252525200000000000000000000000000000000FFFF0000000000000000FFFF
|
||||||
|
0000000000000000000000000000525252525252525252525252000000000000
|
||||||
|
0000000000000000FFFF0000000000000000FFFF000000000000000000000000
|
||||||
|
00005252525252525252525252520000000000000000000000000000FFFF0000
|
||||||
|
000000000000FFFF000000000000000000000000525252525252525252525252
|
||||||
|
52525252000000000000000000000000FFFF0000000000000000FFFF00000000
|
||||||
|
0000000000000000525252525252525252525252525252520000000000000000
|
||||||
|
00000000FFFF0000000000000000FFFF00000000000000000000000052525252
|
||||||
|
525252525252525252525252000000000000000000000000FFFF000000000000
|
||||||
|
0000FFFF00000000000000000000000052525252525252525252525252525252
|
||||||
|
000000000000000000000000FFFF0000000000000000FFFF0000000000000000
|
||||||
|
0000000052525252525252525252525252525252000000000000000000000000
|
||||||
|
FFFF0000000000000000FFFF0000000000000000000000005252525252525252
|
||||||
|
5252525252525252000000000000000000000000FFFF0000000000000000FFFF
|
||||||
|
0000000000000000000000005252525252525252525252525252525200000000
|
||||||
|
0000000000000000FFFF0000000000000000FFFF000000000000000000000000
|
||||||
|
52525252525252525252525252525252000000000000000000000000FFFF0000
|
||||||
|
000000000000FFFF000000000000000000000000000052525252525252525252
|
||||||
|
52520000000000000000000000000000FFFF0000000000000000FFFF00000000
|
||||||
|
0000000000000000000052525252525252525252525200000000000000000000
|
||||||
|
00000000FFFF0000000000000000FFFF00000000000000000000000000000000
|
||||||
|
525252525252525200000000000000000000000000000000FFFF000000000000
|
||||||
|
0000FFFF00000000000000000000000000000000525252525252525200000000
|
||||||
|
000000000000000000000000FFFF0000000000000000FFFF0000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
FFFF0000000000000000FFFF0000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000FFFF0000000000000000FFFF
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000FFFF0000000000000000FFFF000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000FFFF0000
|
||||||
|
000000000000FFFF000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000FFFF0000000000000000FFFF00000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000FFFF0000000000000000FFFF00000000000000000000000000000000
|
||||||
|
525252525252525200000000000000000000000000000000FFFF000000000000
|
||||||
|
0000FFFF00000000000000000000000000000000525252525252525200000000
|
||||||
|
000000000000000000000000FFFF0000000000000000FFFF0000000000000000
|
||||||
|
0000000000005252525252525252525252520000000000000000000000000000
|
||||||
|
FFFF0000000000000000FFFF0000000000000000000000000000525252525252
|
||||||
|
5252525252520000000000000000000000000000FFFF0000000000000000FFFF
|
||||||
|
0000000000000000000000005252525252525252525252525252525200000000
|
||||||
|
0000000000000000FFFF0000000000000000FFFF000000000000000000000000
|
||||||
|
52525252525252525252525252525252000000000000000000000000FFFF0000
|
||||||
|
000000000000FFFF000000000000000000000000525252525252525252525252
|
||||||
|
52525252000000000000000000000000FFFF0000000000000000FFFF00000000
|
||||||
|
0000000000000000525252525252525252525252525252520000000000000000
|
||||||
|
00000000FFFF0000000000000000FFFF00000000000000000000000052525252
|
||||||
|
525252525252525252525252000000000000000000000000FFFF000000000000
|
||||||
|
0000FFFF00000000000000000000000052525252525252525252525252525252
|
||||||
|
000000000000000000000000FFFF0000000000000000FFFF0000000000000000
|
||||||
|
0000000052525252525252525252525252525252000000000000000000000000
|
||||||
|
FFFF0000000000000000FFFF0000000000000000000000005252525252525252
|
||||||
|
5252525252525252000000000000000000000000FFFF00000000000000000000
|
||||||
|
FFFF000000000000000000000000525252525252525252525252000000000000
|
||||||
|
000000000000FFFF000000000000000000000000FFFF00000000000000000000
|
||||||
|
0000525252525252525252525252000000000000000000000000FFFF00000000
|
||||||
|
0000FCFC00000000FFFF00000000000000000000000000005252525252525252
|
||||||
|
0000000000000000000000000000FFFF00000000FCFCFCFC00000000FFFF0000
|
||||||
|
0000000000000000000000005252525252525252000000000000000000000000
|
||||||
|
0000FFFF00000000FCFCFCFC000000000000F6F6000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000FFFF000000000000FCFCFCFC
|
||||||
|
000000000000F6F6000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000FFFF000000000000FCFCFCFCFCFC000000000000FFFF0000
|
||||||
|
0000000000000000000000000000000000000000000000000000FFFF00000000
|
||||||
|
0000FCFCFCFCFCFCFCFC000000000000FFFF0000000000000000000000000000
|
||||||
|
0000000000000000000000000000FFFF000000000000FCFCFCFCFCFCFCFCFCFC
|
||||||
|
000000000000FFFFFFFF0000000000000000000000000000000000000000FFFF
|
||||||
|
FFFF000000000000FCFCFCFCFCFCFCFCFCFCFCFC000000000000FFFFFFFF0000
|
||||||
|
000000000000000000000000000000000000FFFFFFFF000000000000FCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFCFCFC0000000000000000FFFFFFFF00000000000000000000
|
||||||
|
0000FFFFFFFF0000000000000000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC0000
|
||||||
|
000000000000FFFFFFFF000000000000000000000000FFFFFFFF000000000000
|
||||||
|
0000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC00000000000000000000FFFF
|
||||||
|
FFFFFFFFFFFFFFFFFFFF00000000000000000000FCFCFCFCFCFCFCFCFCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFC00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF0000
|
||||||
|
0000000000000000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
|
||||||
|
000000000000000000000000000000000000000000000000FCFCFCFCFCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC000000000000000000000000
|
||||||
|
000000000000000000000000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFCFCFCFCFC00000000000000000000000000000000FCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
|
||||||
|
00000000000000000000000000000000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
|
||||||
|
FCFC}
|
||||||
|
Visible = False
|
||||||
|
end
|
||||||
|
object Image2feux2x: TImage
|
||||||
|
Left = 608
|
||||||
|
Top = 0
|
||||||
|
Width = 52
|
||||||
|
Height = 72
|
||||||
|
Picture.Data = {
|
||||||
|
07544269746D6170D6120000424DD61200000000000036040000280000003400
|
||||||
|
0000480000000100080000000000A00E0000C40E0000C40E0000000100000001
|
||||||
|
000000000000000080000080000000808000800000008000800080800000C0C0
|
||||||
|
C000C0DCC000F0CAA6000020400000206000002080000020A0000020C0000020
|
||||||
|
E00000400000004020000040400000406000004080000040A0000040C0000040
|
||||||
|
E00000600000006020000060400000606000006080000060A0000060C0000060
|
||||||
|
E00000800000008020000080400000806000008080000080A0000080C0000080
|
||||||
|
E00000A0000000A0200000A0400000A0600000A0800000A0A00000A0C00000A0
|
||||||
|
E00000C0000000C0200000C0400000C0600000C0800000C0A00000C0C00000C0
|
||||||
|
E00000E0000000E0200000E0400000E0600000E0800000E0A00000E0C00000E0
|
||||||
|
E00040000000400020004000400040006000400080004000A0004000C0004000
|
||||||
|
E00040200000402020004020400040206000402080004020A0004020C0004020
|
||||||
|
E00040400000404020004040400040406000404080004040A0004040C0004040
|
||||||
|
E00040600000406020004060400040606000406080004060A0004060C0004060
|
||||||
|
E00040800000408020004080400040806000408080004080A0004080C0004080
|
||||||
|
E00040A0000040A0200040A0400040A0600040A0800040A0A00040A0C00040A0
|
||||||
|
E00040C0000040C0200040C0400040C0600040C0800040C0A00040C0C00040C0
|
||||||
|
E00040E0000040E0200040E0400040E0600040E0800040E0A00040E0C00040E0
|
||||||
|
E00080000000800020008000400080006000800080008000A0008000C0008000
|
||||||
|
E00080200000802020008020400080206000802080008020A0008020C0008020
|
||||||
|
E00080400000804020008040400080406000804080008040A0008040C0008040
|
||||||
|
E00080600000806020008060400080606000806080008060A0008060C0008060
|
||||||
|
E00080800000808020008080400080806000808080008080A0008080C0008080
|
||||||
|
E00080A0000080A0200080A0400080A0600080A0800080A0A00080A0C00080A0
|
||||||
|
E00080C0000080C0200080C0400080C0600080C0800080C0A00080C0C00080C0
|
||||||
|
E00080E0000080E0200080E0400080E0600080E0800080E0A00080E0C00080E0
|
||||||
|
E000C0000000C0002000C0004000C0006000C0008000C000A000C000C000C000
|
||||||
|
E000C0200000C0202000C0204000C0206000C0208000C020A000C020C000C020
|
||||||
|
E000C0400000C0402000C0404000C0406000C0408000C040A000C040C000C040
|
||||||
|
E000C0600000C0602000C0604000C0606000C0608000C060A000C060C000C060
|
||||||
|
E000C0800000C0802000C0804000C0806000C0808000C080A000C080C000C080
|
||||||
|
E000C0A00000C0A02000C0A04000C0A06000C0A08000C0A0A000C0A0C000C0A0
|
||||||
|
E000C0C00000C0C02000C0C04000C0C06000C0C08000C0C0A000F0FBFF00A4A0
|
||||||
|
A000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
|
||||||
|
FF00FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC000000000000000000000000
|
||||||
|
00000000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFC00000000000000000000000000000000FCFCFCFCFCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC0000000000000000
|
||||||
|
00000000000000000000000000000000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFCFCFCFCFC0000000000000000000000000000000000000000
|
||||||
|
00000000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC00000000
|
||||||
|
000000000000FFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC00000000000000000000FFFFFFFFFFFF
|
||||||
|
FFFFFFFFFFFF00000000000000000000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
|
||||||
|
FCFC0000000000000000FFFFFFFF000000000000000000000000FFFFFFFF0000
|
||||||
|
000000000000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC0000000000000000FFFF
|
||||||
|
FFFF000000000000000000000000FFFFFFFF0000000000000000FCFCFCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFC000000000000FFFFFFFF0000000000000000000000000000
|
||||||
|
000000000000FFFFFFFF000000000000FCFCFCFCFCFCFCFCFCFCFCFC00000000
|
||||||
|
0000FFFFFFFF0000000000000000000000000000000000000000FFFFFFFF0000
|
||||||
|
00000000FCFCFCFCFCFCFCFCFCFC000000000000FFFF00000000000000000000
|
||||||
|
000000000000000000000000000000000000FFFF000000000000FCFCFCFCFCFC
|
||||||
|
FCFC000000000000FFFF00000000000000000000000000000000000000000000
|
||||||
|
000000000000FFFF000000000000FCFCFCFCFCFC000000000000FFFF00000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000FFFF0000
|
||||||
|
00000000FCFCFCFC000000000000FFFF00000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000FFFF000000000000FCFCFCFC00000000
|
||||||
|
FFFF000000000000000000000000000052525252525252520000000000000000
|
||||||
|
000000000000FFFF00000000FCFCFCFC00000000FFFF00000000000000000000
|
||||||
|
0000000052525252525252520000000000000000000000000000FFFF00000000
|
||||||
|
FCFC000000000000FFFF00000000000000000000000052525252525252525252
|
||||||
|
5252000000000000000000000000FFFF000000000000000000000000FFFF0000
|
||||||
|
0000000000000000000052525252525252525252525200000000000000000000
|
||||||
|
0000FFFF00000000000000000000FFFF00000000000000000000000052525252
|
||||||
|
525252525252525252525252000000000000000000000000FFFF000000000000
|
||||||
|
0000FFFF00000000000000000000000052525252525252525252525252525252
|
||||||
|
000000000000000000000000FFFF0000000000000000FFFF0000000000000000
|
||||||
|
0000000052525252525252525252525252525252000000000000000000000000
|
||||||
|
FFFF0000000000000000FFFF0000000000000000000000005252525252525252
|
||||||
|
5252525252525252000000000000000000000000FFFF0000000000000000FFFF
|
||||||
|
0000000000000000000000005252525252525252525252525252525200000000
|
||||||
|
0000000000000000FFFF0000000000000000FFFF000000000000000000000000
|
||||||
|
52525252525252525252525252525252000000000000000000000000FFFF0000
|
||||||
|
000000000000FFFF000000000000000000000000525252525252525252525252
|
||||||
|
52525252000000000000000000000000FFFF0000000000000000FFFF00000000
|
||||||
|
0000000000000000525252525252525252525252525252520000000000000000
|
||||||
|
00000000FFFF0000000000000000FFFF00000000000000000000000000005252
|
||||||
|
525252525252525252520000000000000000000000000000FFFF000000000000
|
||||||
|
0000FFFF00000000000000000000000000005252525252525252525252520000
|
||||||
|
000000000000000000000000FFFF0000000000000000FFFF0000000000000000
|
||||||
|
0000000000000000525252525252525200000000000000000000000000000000
|
||||||
|
FFFF0000000000000000FFFF0000000000000000000000000000000052525252
|
||||||
|
5252525200000000000000000000000000000000FFFF0000000000000000FFFF
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000FFFF0000000000000000FFFF000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000FFFF0000
|
||||||
|
000000000000FFFF000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000FFFF0000000000000000FFFF00000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000FFFF0000000000000000FFFF00000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000000000000000FFFF000000000000
|
||||||
|
0000FFFF00000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000FFFF0000000000000000FFFF0000000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
FFFF0000000000000000FFFF0000000000000000000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000FFFF0000000000000000FFFF
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000FFFF0000000000000000FFFF000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000FFFF0000
|
||||||
|
000000000000FFFF000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000FFFF0000000000000000FFFF00000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000FFFF0000000000000000FFFF00000000000000000000000000000000
|
||||||
|
525252525252525200000000000000000000000000000000FFFF000000000000
|
||||||
|
0000FFFF00000000000000000000000000000000525252525252525200000000
|
||||||
|
000000000000000000000000FFFF0000000000000000FFFF0000000000000000
|
||||||
|
0000000000005252525252525252525252520000000000000000000000000000
|
||||||
|
FFFF0000000000000000FFFF0000000000000000000000000000525252525252
|
||||||
|
5252525252520000000000000000000000000000FFFF0000000000000000FFFF
|
||||||
|
0000000000000000000000005252525252525252525252525252525200000000
|
||||||
|
0000000000000000FFFF0000000000000000FFFF000000000000000000000000
|
||||||
|
52525252525252525252525252525252000000000000000000000000FFFF0000
|
||||||
|
000000000000FFFF000000000000000000000000525252525252525252525252
|
||||||
|
52525252000000000000000000000000FFFF0000000000000000FFFF00000000
|
||||||
|
0000000000000000525252525252525252525252525252520000000000000000
|
||||||
|
00000000FFFF0000000000000000FFFF00000000000000000000000052525252
|
||||||
|
525252525252525252525252000000000000000000000000FFFF000000000000
|
||||||
|
0000FFFF00000000000000000000000052525252525252525252525252525252
|
||||||
|
000000000000000000000000FFFF0000000000000000FFFF0000000000000000
|
||||||
|
0000000052525252525252525252525252525252000000000000000000000000
|
||||||
|
FFFF0000000000000000FFFF0000000000000000000000005252525252525252
|
||||||
|
5252525252525252000000000000000000000000FFFF00000000000000000000
|
||||||
|
FFFF000000000000000000000000525252525252525252525252000000000000
|
||||||
|
000000000000FFFF000000000000000000000000FFFF00000000000000000000
|
||||||
|
0000525252525252525252525252000000000000000000000000FFFF00000000
|
||||||
|
0000FCFC00000000FFFF00000000000000000000000000005252525252525252
|
||||||
|
0000000000000000000000000000FFFF00000000FCFCFCFC00000000FFFF0000
|
||||||
|
0000000000000000000000005252525252525252000000000000000000000000
|
||||||
|
0000FFFF00000000FCFCFCFC000000000000FFFF000000000000000000000000
|
||||||
|
0000000000000000000000000000000000000000FFFF000000000000FCFCFCFC
|
||||||
|
000000000000FFFF000000000000000000000000000000000000000000000000
|
||||||
|
0000000000000000FFFF000000000000FCFCFCFCFCFC000000000000FFFF0000
|
||||||
|
0000000000000000000000000000000000000000000000000000FFFF00000000
|
||||||
|
0000FCFCFCFCFCFCFCFC000000000000FFFF0000000000000000000000000000
|
||||||
|
0000000000000000000000000000FFFF000000000000FCFCFCFCFCFCFCFCFCFC
|
||||||
|
000000000000FFFFFFFF0000000000000000000000000000000000000000FFFF
|
||||||
|
FFFF000000000000FCFCFCFCFCFCFCFCFCFCFCFC000000000000FFFFFFFF0000
|
||||||
|
000000000000000000000000000000000000FFFFFFFF000000000000FCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFCFCFC0000000000000000FFFFFFFF00000000000000000000
|
||||||
|
0000FFFFFFFF0000000000000000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC0000
|
||||||
|
000000000000FFFFFFFF000000000000000000000000FFFFFFFF000000000000
|
||||||
|
0000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC00000000000000000000FFFF
|
||||||
|
FFFFFFFFFFFFF6F6FFFF00000000000000000000FCFCFCFCFCFCFCFCFCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFC00000000000000000000FFFFFFFFFFFFFFFFF6F6FFFF0000
|
||||||
|
0000000000000000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
|
||||||
|
000000000000000000000000000000000000000000000000FCFCFCFCFCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC000000000000000000000000
|
||||||
|
000000000000000000000000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFCFCFCFCFC00000000000000000000000000000000FCFCFCFC
|
||||||
|
FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
|
||||||
|
00000000000000000000000000000000FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
|
||||||
|
FCFC}
|
||||||
|
Visible = False
|
||||||
|
end
|
||||||
object StatusBar1: TStatusBar
|
object StatusBar1: TStatusBar
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 491
|
Top = 491
|
||||||
Width = 847
|
Width = 1019
|
||||||
Height = 22
|
Height = 22
|
||||||
Panels = <
|
Panels = <
|
||||||
item
|
item
|
||||||
@@ -5896,8 +6242,8 @@ object FormPrinc: TFormPrinc
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
object GroupBoxCV: TGroupBox
|
object GroupBoxCV: TGroupBox
|
||||||
Left = 617
|
Left = 577
|
||||||
Top = 128
|
Top = 144
|
||||||
Width = 265
|
Width = 265
|
||||||
Height = 81
|
Height = 81
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
@@ -5964,7 +6310,7 @@ object FormPrinc: TFormPrinc
|
|||||||
Top = 200
|
Top = 200
|
||||||
Width = 393
|
Width = 393
|
||||||
Height = 265
|
Height = 265
|
||||||
ActivePage = TabSheetComp
|
ActivePage = TabSheetSig
|
||||||
Anchors = []
|
Anchors = []
|
||||||
TabOrder = 5
|
TabOrder = 5
|
||||||
OnChange = PageControlChange
|
OnChange = PageControlChange
|
||||||
@@ -5987,6 +6333,24 @@ object FormPrinc: TFormPrinc
|
|||||||
ParentColor = False
|
ParentColor = False
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
end
|
end
|
||||||
|
object TrackBarSig: TTrackBar
|
||||||
|
Left = 352
|
||||||
|
Top = 0
|
||||||
|
Width = 37
|
||||||
|
Height = 217
|
||||||
|
Hint = 'Zoom signaux'
|
||||||
|
Anchors = [akTop, akRight, akBottom]
|
||||||
|
Orientation = trVertical
|
||||||
|
ParentShowHint = False
|
||||||
|
Frequency = 20
|
||||||
|
Position = 10
|
||||||
|
ShowHint = True
|
||||||
|
TabOrder = 1
|
||||||
|
ThumbLength = 15
|
||||||
|
TickMarks = tmTopLeft
|
||||||
|
TickStyle = tsManual
|
||||||
|
OnChange = TrackBarSigChange
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object TabSheetTrains: TTabSheet
|
object TabSheetTrains: TTabSheet
|
||||||
Caption = 'Trains'
|
Caption = 'Trains'
|
||||||
@@ -6060,7 +6424,7 @@ object FormPrinc: TFormPrinc
|
|||||||
Top = 8
|
Top = 8
|
||||||
end
|
end
|
||||||
object MainMenu1: TMainMenu
|
object MainMenu1: TMainMenu
|
||||||
Left = 536
|
Left = 464
|
||||||
object Afficher1: TMenuItem
|
object Afficher1: TMenuItem
|
||||||
Caption = 'Afficher'
|
Caption = 'Afficher'
|
||||||
object Affichagenormal1: TMenuItem
|
object Affichagenormal1: TMenuItem
|
||||||
@@ -6461,15 +6825,16 @@ object FormPrinc: TFormPrinc
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
object OpenDialog: TOpenDialog
|
object OpenDialog: TOpenDialog
|
||||||
Left = 584
|
Left = 616
|
||||||
Top = 16
|
Top = 32
|
||||||
end
|
end
|
||||||
object SaveDialog: TSaveDialog
|
object SaveDialog: TSaveDialog
|
||||||
Left = 744
|
Left = 464
|
||||||
|
Top = 32
|
||||||
end
|
end
|
||||||
object PopupMenuFenRich: TPopupMenu
|
object PopupMenuFenRich: TPopupMenu
|
||||||
Left = 192
|
Left = 528
|
||||||
Top = 8
|
Top = 32
|
||||||
object outslectionner1: TMenuItem
|
object outslectionner1: TMenuItem
|
||||||
Caption = 'Tout s'#233'lectionner'
|
Caption = 'Tout s'#233'lectionner'
|
||||||
OnClick = Toutslectionner1Click
|
OnClick = Toutslectionner1Click
|
||||||
@@ -6488,7 +6853,7 @@ object FormPrinc: TFormPrinc
|
|||||||
end
|
end
|
||||||
object PopupMenuSignal: TPopupMenu
|
object PopupMenuSignal: TPopupMenu
|
||||||
OnPopup = PopupMenuSignalPopup
|
OnPopup = PopupMenuSignalPopup
|
||||||
Left = 504
|
Left = 496
|
||||||
Top = 32
|
Top = 32
|
||||||
object Proprits1: TMenuItem
|
object Proprits1: TMenuItem
|
||||||
Caption = 'Propri'#233't'#233's du signal'
|
Caption = 'Propri'#233't'#233's du signal'
|
||||||
@@ -6501,7 +6866,7 @@ object FormPrinc: TFormPrinc
|
|||||||
end
|
end
|
||||||
object PopupMenuTrains: TPopupMenu
|
object PopupMenuTrains: TPopupMenu
|
||||||
OnPopup = PopupMenuTrainsPopup
|
OnPopup = PopupMenuTrainsPopup
|
||||||
Left = 480
|
Left = 528
|
||||||
object Propritsdutrain1: TMenuItem
|
object Propritsdutrain1: TMenuItem
|
||||||
Caption = 'Propri'#233't'#233's du train'
|
Caption = 'Propri'#233't'#233's du train'
|
||||||
OnClick = Propritsdutrain1Click
|
OnClick = Propritsdutrain1Click
|
||||||
@@ -6516,7 +6881,7 @@ object FormPrinc: TFormPrinc
|
|||||||
end
|
end
|
||||||
object PopupMenuCompteurs: TPopupMenu
|
object PopupMenuCompteurs: TPopupMenu
|
||||||
OnPopup = PopupMenuCompteursPopup
|
OnPopup = PopupMenuCompteursPopup
|
||||||
Left = 512
|
Left = 496
|
||||||
object Propritsdescompteurs1: TMenuItem
|
object Propritsdescompteurs1: TMenuItem
|
||||||
Caption = 'Propri'#233't'#233's des compteurs'
|
Caption = 'Propri'#233't'#233's des compteurs'
|
||||||
OnClick = Propritsdescompteurs1Click
|
OnClick = Propritsdescompteurs1Click
|
||||||
@@ -6526,4 +6891,10 @@ object FormPrinc: TFormPrinc
|
|||||||
OnClick = Dtacherlecompteur1Click
|
OnClick = Dtacherlecompteur1Click
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
object Timer2: TTimer
|
||||||
|
Interval = 50
|
||||||
|
OnTimer = Timer2Timer
|
||||||
|
Left = 688
|
||||||
|
Top = 16
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
+394
-210
File diff suppressed because it is too large
Load Diff
+1
-3
@@ -97,7 +97,6 @@ implementation
|
|||||||
// renvoie l'adresse du signal du train sur détecteur
|
// renvoie l'adresse du signal du train sur détecteur
|
||||||
function Adresse_signal_det_train(detect,IndexTrain : integer) : integer;
|
function Adresse_signal_det_train(detect,IndexTrain : integer) : integer;
|
||||||
var voie1,voie2,indexSig1,IndexSig2,AdrSig1,AdrSig2,IndexSig,AdrSig : integer;
|
var voie1,voie2,indexSig1,IndexSig2,AdrSig1,AdrSig2,IndexSig,AdrSig : integer;
|
||||||
s : string;
|
|
||||||
begin
|
begin
|
||||||
if detect=0 then
|
if detect=0 then
|
||||||
begin
|
begin
|
||||||
@@ -160,9 +159,8 @@ end;
|
|||||||
// démarre un train si le signal n'est pas au rouge
|
// démarre un train si le signal n'est pas au rouge
|
||||||
// appelé par gestion des horaires dans le timer ou bouton rouler 1 train ou rouler tous les trains
|
// appelé par gestion des horaires dans le timer ou bouton rouler 1 train ou rouler tous les trains
|
||||||
function demarre_index_train(indexTrain : integer) : boolean;
|
function demarre_index_train(indexTrain : integer) : boolean;
|
||||||
var i,n,det1,el2,vitesse,AdrTrain,idcanton,voie1,voie2,indexSig1,indexSig2,AdrSig1,AdrSig2,AdrSig,
|
var i,vitesse,AdrTrain,idcanton,
|
||||||
detect,indexSig,etsign : integer;
|
detect,indexSig,etsign : integer;
|
||||||
tel2 : tequipement;
|
|
||||||
trouve : boolean;
|
trouve : boolean;
|
||||||
Train,s : string;
|
Train,s : string;
|
||||||
|
|
||||||
|
|||||||
+25
-28
@@ -718,7 +718,7 @@ procedure Affiche_temps_arret(IdTrain,tps : integer);
|
|||||||
procedure titre_fenetre(indexTCO : integer);
|
procedure titre_fenetre(indexTCO : integer);
|
||||||
function IsVoieDroite(i : integer) : boolean;
|
function IsVoieDroite(i : integer) : boolean;
|
||||||
function trouve_canton(el1 : integer;tel1 : tequipement;el2 : integer;tel2 : tequipement) : integer;
|
function trouve_canton(el1 : integer;tel1 : tequipement;el2 : integer;tel2 : tequipement) : integer;
|
||||||
procedure origine_canton(var x,y : integer);
|
procedure origine_canton(idt : integer;var x,y : integer);
|
||||||
procedure Supprimer_TCO(TcoS : integer);
|
procedure Supprimer_TCO(TcoS : integer);
|
||||||
procedure toggle_bandeau(indexTCO : integer);
|
procedure toggle_bandeau(indexTCO : integer);
|
||||||
function sens_train_canton(AdrTrain,Idcanton : integer) : integer;
|
function sens_train_canton(AdrTrain,Idcanton : integer) : integer;
|
||||||
@@ -828,8 +828,6 @@ begin
|
|||||||
else result:=0;
|
else result:=0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// renvoie l'index de canton encadré par les 2 éléments el1 et el2
|
// renvoie l'index de canton encadré par les 2 éléments el1 et el2
|
||||||
// il faudrait faire par détecteur.
|
// il faudrait faire par détecteur.
|
||||||
// ex (526,det,513,det)= 1
|
// ex (526,det,513,det)= 1
|
||||||
@@ -10277,7 +10275,8 @@ begin
|
|||||||
s:=canton[i].nom;
|
s:=canton[i].nom;
|
||||||
if s<>'' then
|
if s<>'' then
|
||||||
begin
|
begin
|
||||||
font.Size:=round(RedFonte*((Larg*10) div 30)+1); //((LargCell*5) div 29);
|
font.Size:=round(RedFonte*((Larg*10) div 30)+1); //((LargCell*5) div 29);
|
||||||
|
|
||||||
Brush.Color:=coul;
|
Brush.Color:=coul;
|
||||||
dy:=TextWidth(s) div 2;
|
dy:=TextWidth(s) div 2;
|
||||||
dx:=TextHeight(s) div 2;
|
dx:=TextHeight(s) div 2;
|
||||||
@@ -10336,11 +10335,12 @@ begin
|
|||||||
s:=canton[i].NomTrain;
|
s:=canton[i].NomTrain;
|
||||||
l:=TextWidth(s);
|
l:=TextWidth(s);
|
||||||
Brush.Color:=coul;
|
Brush.Color:=coul;
|
||||||
if l<dy-yt then
|
//if l<dy-yt then
|
||||||
|
if yt+l<yf then
|
||||||
{$IF CompilerVersion >= 28.0}
|
{$IF CompilerVersion >= 28.0}
|
||||||
begin
|
begin
|
||||||
font.orientation:=900;
|
font.orientation:=-900;
|
||||||
Textout(xi,yi,s);
|
Textout(xt,yt,s);
|
||||||
end;
|
end;
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
AffTexteIncliBordeTexture(PCanvasTCO[indexTCO],xt,yt,
|
AffTexteIncliBordeTexture(PCanvasTCO[indexTCO],xt,yt,
|
||||||
@@ -10454,6 +10454,7 @@ end;
|
|||||||
procedure dessin_canton(indexTCO : integer;Canvas : Tcanvas;x,y,mode : integer); overload;
|
procedure dessin_canton(indexTCO : integer;Canvas : Tcanvas;x,y,mode : integer); overload;
|
||||||
begin
|
begin
|
||||||
if PcanvasTCO[indexTCO]=nil then exit;
|
if PcanvasTCO[indexTCO]=nil then exit;
|
||||||
|
origine_canton(indexTCO,x,y); // revenir au point d'origine du canton
|
||||||
if isCantonV(indexTCO,x,y) then
|
if isCantonV(indexTCO,x,y) then
|
||||||
begin
|
begin
|
||||||
dessin_cantonV(indexTCO,Canvas,x,y,mode);
|
dessin_cantonV(indexTCO,Canvas,x,y,mode);
|
||||||
@@ -11363,10 +11364,11 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure origine_canton(var x,y : integer);
|
// renvoie les coordonnées X Y d'origine du canton de la cellule x,y du TCO idt du canton
|
||||||
|
procedure origine_canton(idt : integer;var x,y : integer);
|
||||||
var Bimage : integer;
|
var Bimage : integer;
|
||||||
begin
|
begin
|
||||||
Bimage:=tco[indexTCOCourant,x,y].BImage;
|
Bimage:=tco[idt,x,y].BImage;
|
||||||
if isCantonH(Bimage) then
|
if isCantonH(Bimage) then
|
||||||
begin
|
begin
|
||||||
x:=x-(Bimage-Id_cantonH); // revenir à la coordonnée X du début du canton
|
x:=x-(Bimage-Id_cantonH); // revenir à la coordonnée X du début du canton
|
||||||
@@ -11419,8 +11421,7 @@ begin
|
|||||||
// affiche d'abord l'icone de la cellule et colore la voie si zone ou détecteur actionnée selon valeur mode
|
// affiche d'abord l'icone de la cellule et colore la voie si zone ou détecteur actionnée selon valeur mode
|
||||||
dessine_icone(indexTCO,PCanvasTCO[indexTCO],Bimage,X,Y,mode);
|
dessine_icone(indexTCO,PCanvasTCO[indexTCO],Bimage,X,Y,mode);
|
||||||
// dessin du train sur le canton
|
// dessin du train sur le canton
|
||||||
if (Bimage=Id_CantonH) or (Bimage=Id_CantonV) then dessin_canton(indexTCO,PCanvasTCO[indexTCO],x,y,0);
|
if (Bimage=Id_CantonH) or (Bimage=Id_CantonV) then dessin_canton(indexTCO,PCanvasTCO[indexTCO],x,y,0);
|
||||||
|
|
||||||
|
|
||||||
if LargCell>24 then
|
if LargCell>24 then
|
||||||
begin
|
begin
|
||||||
@@ -12275,7 +12276,7 @@ end;
|
|||||||
// sinon mode = couleur du train
|
// sinon mode = couleur du train
|
||||||
procedure affiche_trajet(indexTCO,train,AdrTrain,ir,mode : integer);
|
procedure affiche_trajet(indexTCO,train,AdrTrain,ir,mode : integer);
|
||||||
var i,sx,sy,x,y,ax,ay,Bimage,adresse,IdCanton,IdTrain,AncTrain,elPrec,
|
var i,sx,sy,x,y,ax,ay,Bimage,adresse,IdCanton,IdTrain,AncTrain,elPrec,
|
||||||
DernierDet,sens : integer;
|
DernierDet : integer;
|
||||||
TypePrec: tEquipement;
|
TypePrec: tEquipement;
|
||||||
cant : boolean;
|
cant : boolean;
|
||||||
begin
|
begin
|
||||||
@@ -14616,7 +14617,7 @@ begin
|
|||||||
if isCantonH(tco[indexTCO,colonne,y].BImage) then
|
if isCantonH(tco[indexTCO,colonne,y].BImage) then
|
||||||
begin
|
begin
|
||||||
yc:=y;xc:=colonne;
|
yc:=y;xc:=colonne;
|
||||||
origine_canton(xc,yc);
|
origine_canton(indexTCO,xc,yc);
|
||||||
n:=tco[indexTCO,xc,yc].NumCanton;
|
n:=tco[indexTCO,xc,yc].NumCanton;
|
||||||
if n<>0 then
|
if n<>0 then
|
||||||
begin
|
begin
|
||||||
@@ -14714,7 +14715,7 @@ begin
|
|||||||
if isCantonV(tco[indexTCO,x,ligne].BImage) then
|
if isCantonV(tco[indexTCO,x,ligne].BImage) then
|
||||||
begin
|
begin
|
||||||
xc:=x;yc:=ligne;
|
xc:=x;yc:=ligne;
|
||||||
origine_canton(xc,yc);
|
origine_canton(indexTCO,xc,yc);
|
||||||
n:=tco[indexTCO,xc,yc].NumCanton;
|
n:=tco[indexTCO,xc,yc].NumCanton;
|
||||||
if n<>0 then
|
if n<>0 then
|
||||||
begin
|
begin
|
||||||
@@ -14845,7 +14846,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
//Affiche('xy='+IntToSTR(x)+','+intToSTR(y)+' Bimage='+intToSTR(Bimage),clYellow);
|
//Affiche('xy='+IntToSTR(x)+','+intToSTR(y)+' Bimage='+intToSTR(Bimage),clYellow);
|
||||||
Xcanton:=x;Ycanton:=y;
|
Xcanton:=x;Ycanton:=y;
|
||||||
origine_canton(Xcanton,Ycanton);
|
origine_canton(indexTCO,Xcanton,Ycanton);
|
||||||
if xcanton=0 then // cas d'un canton supprimé
|
if xcanton=0 then // cas d'un canton supprimé
|
||||||
begin
|
begin
|
||||||
// reconstituer le canton
|
// reconstituer le canton
|
||||||
@@ -15504,7 +15505,7 @@ end;
|
|||||||
|
|
||||||
procedure end_Drag(icone,x,y : integer;Sender, Target: TObject);
|
procedure end_Drag(icone,x,y : integer;Sender, Target: TObject);
|
||||||
var s : string;
|
var s : string;
|
||||||
indexTCO,i,xclic,Yclic,bim,nc,maxi,libre : integer;
|
indexTCO,i,xclic,Yclic,bim : integer;
|
||||||
begin
|
begin
|
||||||
if not(Target is TImage) then exit;
|
if not(Target is TImage) then exit;
|
||||||
s:=(Target as TImage).Name;
|
s:=(Target as TImage).Name;
|
||||||
@@ -18030,17 +18031,16 @@ begin
|
|||||||
AdrPilote:=adresse;
|
AdrPilote:=adresse;
|
||||||
i:=Index_Signal(adresse);
|
i:=Index_Signal(adresse);
|
||||||
if i=0 then begin doubleclic:=false;exit;end;
|
if i=0 then begin doubleclic:=false;exit;end;
|
||||||
|
Signaux[0].EtatSignal:=Signaux[i].EtatSignal;
|
||||||
|
|
||||||
with formPilote do
|
with formPilote do
|
||||||
begin
|
begin
|
||||||
show;
|
|
||||||
ImagePilote.Parent:=FormPilote;
|
ImagePilote.Parent:=FormPilote;
|
||||||
ImagePilote.Picture.Bitmap.TransparentMode:=tmAuto;
|
ImagePilote.Picture.Bitmap.TransparentMode:=tmAuto;
|
||||||
ImagePilote.Picture.Bitmap.TransparentColor:=clblue;
|
ImagePilote.Picture.Bitmap.TransparentColor:=clblue;
|
||||||
ImagePilote.Transparent:=true;
|
ImagePilote.Transparent:=true;
|
||||||
|
|
||||||
ImagePilote.Picture.BitMap:=Signaux[i].Img.Picture.Bitmap;
|
|
||||||
LabelTitrePilote.Caption:='Pilotage du signal '+intToSTR(Adresse);
|
LabelTitrePilote.Caption:='Pilotage du signal '+intToSTR(Adresse);
|
||||||
Signaux[0].EtatSignal:=Signaux[i].EtatSignal;
|
|
||||||
|
|
||||||
LabelNbFeux.Visible:=False;
|
LabelNbFeux.Visible:=False;
|
||||||
EditNbreFeux.Visible:=false;
|
EditNbreFeux.Visible:=false;
|
||||||
@@ -18064,6 +18064,7 @@ begin
|
|||||||
GroupBox1.Visible:=true;
|
GroupBox1.Visible:=true;
|
||||||
if (Signaux[i].aspect<20) then GroupBox2.Visible:=true else GroupBox2.Visible:=false;
|
if (Signaux[i].aspect<20) then GroupBox2.Visible:=true else GroupBox2.Visible:=false;
|
||||||
end;
|
end;
|
||||||
|
show;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
//clicsouris:=false;
|
//clicsouris:=false;
|
||||||
@@ -18308,7 +18309,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
FontDialog1.Font.Name:=tco[indextco,XclicCell[indexTCO],YclicCell[indexTCO]].Fonte;
|
FontDialog1.Font.Name:=tco[indextco,XclicCell[indexTCO],YclicCell[indexTCO]].Fonte;
|
||||||
FontDialog1.Font.Color:=tco[indextco,XclicCell[indexTCO],YclicCell[indexTCO]].CoulFonte;
|
FontDialog1.Font.Color:=tco[indextco,XclicCell[indexTCO],YclicCell[indexTCO]].CoulFonte;
|
||||||
FontDialog1.Font.Size:=round(RedFonte*tco[indextco,XclicCell[indexTCO],YclicCell[indexTCO]].taillefonte);
|
FontDialog1.Font.Size:=round(tco[indextco,XclicCell[indexTCO],YclicCell[indexTCO]].taillefonte);
|
||||||
|
|
||||||
fs:=[];
|
fs:=[];
|
||||||
s:=tco[indextco,XclicCell[indexTCO],YclicCell[indexTCO]].FontStyle;
|
s:=tco[indextco,XclicCell[indexTCO],YclicCell[indexTCO]].FontStyle;
|
||||||
@@ -18659,7 +18660,7 @@ begin
|
|||||||
if isCantonV(tco[indexTCO,x,ligne_supprime].BImage) then
|
if isCantonV(tco[indexTCO,x,ligne_supprime].BImage) then
|
||||||
begin
|
begin
|
||||||
xc:=x;yc:=ligne_Supprime;
|
xc:=x;yc:=ligne_Supprime;
|
||||||
origine_canton(xc,yc);
|
origine_canton(indexTCO,xc,yc);
|
||||||
n:=tco[indexTCO,xc,yc].NumCanton;
|
n:=tco[indexTCO,xc,yc].NumCanton;
|
||||||
if n<>0 then
|
if n<>0 then
|
||||||
begin
|
begin
|
||||||
@@ -18780,7 +18781,7 @@ begin
|
|||||||
if isCantonH(tco[indexTCO,colonne_supprime,y].BImage) then
|
if isCantonH(tco[indexTCO,colonne_supprime,y].BImage) then
|
||||||
begin
|
begin
|
||||||
yc:=y;xc:=colonne_Supprime;
|
yc:=y;xc:=colonne_Supprime;
|
||||||
origine_canton(xc,yc);
|
origine_canton(indexTCO,xc,yc);
|
||||||
n:=tco[indexTCO,xc,yc].NumCanton;
|
n:=tco[indexTCO,xc,yc].NumCanton;
|
||||||
if n<>0 then
|
if n<>0 then
|
||||||
begin
|
begin
|
||||||
@@ -19654,7 +19655,7 @@ begin
|
|||||||
y:=YClicCell[indexTCOCourant];
|
y:=YClicCell[indexTCOCourant];
|
||||||
if isCanton(TCO[indexTcoCourant,x,y].BImage) then
|
if isCanton(TCO[indexTcoCourant,x,y].BImage) then
|
||||||
begin
|
begin
|
||||||
origine_canton(x,y);
|
origine_canton(indexTCOcourant,x,y);
|
||||||
if (x<>0) and (y<>0) then
|
if (x<>0) and (y<>0) then
|
||||||
begin
|
begin
|
||||||
idc:=Index_Canton_numero(tco[indexTCOcourant,x,y].NumCanton); //index canton
|
idc:=Index_Canton_numero(tco[indexTCOcourant,x,y].NumCanton); //index canton
|
||||||
@@ -19666,10 +19667,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormTCO.Optiondesroutes1Click(Sender: TObject);
|
procedure TFormTCO.Optiondesroutes1Click(Sender: TObject);
|
||||||
var GMode,l2,h2 : integer;
|
|
||||||
XFormScale,XFormRot,XFormOld,XFormXLat,xform : TXForm;
|
|
||||||
angle,Zoom : single;
|
|
||||||
recta : trect;
|
|
||||||
begin
|
begin
|
||||||
formRoute.Show;
|
formRoute.Show;
|
||||||
{ angle:=5;
|
{ angle:=5;
|
||||||
@@ -19810,7 +19807,7 @@ begin
|
|||||||
|
|
||||||
Affiche('Suppression du TCO '+intToSTR(Tcos),clOrange);
|
Affiche('Suppression du TCO '+intToSTR(Tcos),clOrange);
|
||||||
|
|
||||||
// supprimer les cantons
|
// supprimer les cantons du TCO avant de supprimer le TCO
|
||||||
for y:=1 to NbreCellY[tcos] do
|
for y:=1 to NbreCellY[tcos] do
|
||||||
for x:=1 to NbreCellX[tcos] do
|
for x:=1 to NbreCellX[tcos] do
|
||||||
begin
|
begin
|
||||||
|
|||||||
+5
-4
@@ -15,7 +15,7 @@
|
|||||||
// The Original Code is Vcl.Styles.Ext.pas.
|
// The Original Code is Vcl.Styles.Ext.pas.
|
||||||
//
|
//
|
||||||
// The Initial Developer of the Original Code is Rodrigo Ruz V.
|
// The Initial Developer of the Original Code is Rodrigo Ruz V.
|
||||||
// Portions created by Rodrigo Ruz V. are Copyright (C) 2012-2023 Rodrigo Ruz V.
|
// Portions created by Rodrigo Ruz V. are Copyright (C) 2012-2025 Rodrigo Ruz V.
|
||||||
// All Rights Reserved.
|
// All Rights Reserved.
|
||||||
//
|
//
|
||||||
// **************************************************************************************************
|
// **************************************************************************************************
|
||||||
@@ -97,11 +97,12 @@ type
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
{$REGION 'Documentation'}
|
{$REGION 'Documentation'}
|
||||||
/// <summary>Helper class for the TStyleManager
|
/// <summary>
|
||||||
|
/// Helper class for the TStyleManager
|
||||||
|
/// Vcl.Themes.TStyleManagerHelper in RAD Studio 11 prevents activate this class helper.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
TStyleManagerHelper = class Helper for TStyleManager
|
||||||
TStyleManagerHelper = Class Helper for TStyleManager
|
|
||||||
strict private
|
strict private
|
||||||
class function GetStyleSourceInfo(const StyleName: string): TSourceInfo; static;
|
class function GetStyleSourceInfo(const StyleName: string): TSourceInfo; static;
|
||||||
class function GetStyles: TList<TCustomStyleServices>;
|
class function GetStyles: TList<TCustomStyleServices>;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
// The Original Code is Vcl.Styles.Utils.Graphics.pas.
|
// The Original Code is Vcl.Styles.Utils.Graphics.pas.
|
||||||
//
|
//
|
||||||
// The Initial Developer of the Original Code is Rodrigo Ruz V.
|
// The Initial Developer of the Original Code is Rodrigo Ruz V.
|
||||||
// Portions created by Rodrigo Ruz V. are Copyright (C) 2012-2023 Rodrigo Ruz V.
|
// Portions created by Rodrigo Ruz V. are Copyright (C) 2012-2025 Rodrigo Ruz V.
|
||||||
// All Rights Reserved.
|
// All Rights Reserved.
|
||||||
//
|
//
|
||||||
// **************************************************************************************************
|
// **************************************************************************************************
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
//
|
//
|
||||||
// The Original Code is Vcl.Styles.Utils.Misc.pas.
|
// The Original Code is Vcl.Styles.Utils.Misc.pas.
|
||||||
//
|
//
|
||||||
// Portions created by Rodrigo Ruz V. are Copyright (C) 2013-2023 Rodrigo Ruz V.
|
// Portions created by Rodrigo Ruz V. are Copyright (C) 2013-2025 Rodrigo Ruz V.
|
||||||
// All Rights Reserved.
|
// All Rights Reserved.
|
||||||
//
|
//
|
||||||
// **************************************************************************************************
|
// **************************************************************************************************
|
||||||
|
|||||||
+8
-2
@@ -590,6 +590,7 @@ begin
|
|||||||
if IdCantonSelect=0 then IdCantonSelect:=AncienIdCantonSelect;
|
if IdCantonSelect=0 then IdCantonSelect:=AncienIdCantonSelect;
|
||||||
if affevt then Affiche('FormSelTrain.StringGridTrainsSelectCell col='+intToSTR(ACol)+' lig='+intToSTR(ARow),clYellow);
|
if affevt then Affiche('FormSelTrain.StringGridTrainsSelectCell col='+intToSTR(ACol)+' lig='+intToSTR(ARow),clYellow);
|
||||||
if (Arow>nTrains) or (IdCantonSelect<1) then exit;
|
if (Arow>nTrains) or (IdCantonSelect<1) then exit;
|
||||||
|
|
||||||
faire:=false;
|
faire:=false;
|
||||||
//------------change la sélection du train
|
//------------change la sélection du train
|
||||||
if (Arow>=1) and (ACol<=5) then
|
if (Arow>=1) and (ACol<=5) then
|
||||||
@@ -607,7 +608,9 @@ begin
|
|||||||
idAutrecanton:=index_canton_numero(autreCanton);
|
idAutrecanton:=index_canton_numero(autreCanton);
|
||||||
if (IdAutrecanton<>0) and (IdAutreCanton<>IdCantonSelect) then
|
if (IdAutrecanton<>0) and (IdAutreCanton<>IdCantonSelect) then
|
||||||
begin
|
begin
|
||||||
LabelInfo.caption:='Le train '+intToSTR(IndexTrainClic)+' '+trains[IndexTrainClic].nom_train+' est affecté au canton '+intToSTR(AutreCanton);
|
s:='Le train '+intToSTR(IndexTrainClic)+' '+trains[IndexTrainClic].nom_train+' est affecté au canton '+intToSTR(AutreCanton);
|
||||||
|
LabelInfo.caption:=s;
|
||||||
|
StringGridTrains.hint:='Affectation impossible,'+#13+s;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -622,6 +625,7 @@ begin
|
|||||||
|
|
||||||
supprime_route_train(indextrainclic);
|
supprime_route_train(indextrainclic);
|
||||||
StringGridTrains.cells[7,ARow]:='';
|
StringGridTrains.cells[7,ARow]:='';
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if faire then
|
if faire then
|
||||||
@@ -657,7 +661,9 @@ begin
|
|||||||
if (canton[IdCantonSelect].sensCirc<>0) then sensLoco:=canton[IdCantonSelect].sensCirc ;
|
if (canton[IdCantonSelect].sensCirc<>0) then sensLoco:=canton[IdCantonSelect].sensCirc ;
|
||||||
|
|
||||||
affecte_Train_canton(trains[indexTrainClic].adresse,IdCantonSelect,sensLoco); // le train affecté contient la route du train razé
|
affecte_Train_canton(trains[indexTrainClic].adresse,IdCantonSelect,sensLoco); // le train affecté contient la route du train razé
|
||||||
LabelInfo.caption:='Affectation du train '+intToSTR(IndexTrainClic)+' '+trains[indexTrainClic].nom_train+' au canton '+intToSTR(canton[idcantonSelect].numero);
|
s:='Affectation du train '+intToSTR(IndexTrainClic)+' '+trains[indexTrainClic].nom_train+' au canton '+intToSTR(canton[idcantonSelect].numero);
|
||||||
|
LabelInfo.caption:=s;
|
||||||
|
StringGridTrains.hint:=s;
|
||||||
maj_signaux(false);
|
maj_signaux(false);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|||||||
+2
-2
@@ -26,7 +26,7 @@ var
|
|||||||
f : textFile;
|
f : textFile;
|
||||||
|
|
||||||
Const
|
Const
|
||||||
VersionSC = '10.8'; // sert à la comparaison de la version publiée
|
VersionSC = '10.82'; // 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;
|
||||||
@@ -559,7 +559,7 @@ begin
|
|||||||
formprinc.FenRich.SelStart:=length(formprinc.FenRich.Text);
|
formprinc.FenRich.SelStart:=length(formprinc.FenRich.Text);
|
||||||
formprinc.FenRich.SelAttributes.Style:=[fsUnderline];
|
formprinc.FenRich.SelAttributes.Style:=[fsUnderline];
|
||||||
Affiche('https://github.com/f1iwq2/Signaux_complexes_GL/releases',clAqua);
|
Affiche('https://github.com/f1iwq2/Signaux_complexes_GL/releases',clAqua);
|
||||||
Affiche('ne comprend aucune version diffusée.',clOrange);
|
Affiche('ne comprend actuellement aucune version diffusée.',clOrange);
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
|||||||
+5
-1
@@ -360,7 +360,11 @@ version 10.78 : Correction affichage aiguillages dans l'
|
|||||||
version 10.79 : Prise en compte du facteur réduction affichage windows pour les compteurs.
|
version 10.79 : Prise en compte du facteur réduction affichage windows pour les compteurs.
|
||||||
version 10.8 : Amélioration de la création des compteurs de vitesse en mode CDM rail
|
version 10.8 : Amélioration de la création des compteurs de vitesse en mode CDM rail
|
||||||
et de l'affectation des trains dans les cantons.
|
et de l'affectation des trains dans les cantons.
|
||||||
Corrections diverses.
|
version 10.81 : Prise en compte des nouveaux champs d'exportation de CDM pour l'importation du réseau.
|
||||||
|
version 10.82 : Ajout d'une barre de zoom pour la fenetre des signaux.
|
||||||
|
Ajout commande fonctions F trains pour la télécommande par serveur
|
||||||
|
Corrections diverses
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user