This commit is contained in:
f1iwq2
2023-09-09 16:09:49 +02:00
parent 79e9771a3e
commit 4d427e81ff
21 changed files with 5694 additions and 3747 deletions
+22 -28
View File
@@ -1,11 +1,11 @@
/ Fichier de configuration de signaux_complexes_GL version 7.1 / Fichier de configuration de signaux_complexes_GL version 8.0
AvecVerifIconesTCO=1 AvecVerifIconesTCO=1
Algo_localisation=1 Algo_localisation=1
Avec_roulage=1 Avec_roulage=0
Debug=0 Debug=0
Filtrage_det=0 Filtrage_det=3
AntiTimeoutEthLenz=0 AntiTimeoutEthLenz=0
Fonte=12 Fonte=11
Protocole=1 Protocole=1
Verif_AdrXpressNet=1 Verif_AdrXpressNet=1
IpV4_PC=127.0.0.1:9999 IpV4_PC=127.0.0.1:9999
@@ -23,13 +23,24 @@ Init_demUSBCOM=0
Init_demETH=0 Init_demETH=0
Fenetre=0 Fenetre=0
nb_det_dist=3 nb_det_dist=3
verif_version=0 verif_version=1
notif_version=0 notif_version=0
TCO=0 TCO=1
NbreTCO=1
Nom_fichier_TCO1=tco.cfg
Nom_fichier_TCO2=tco2.cfg
Nom_fichier_TCO3=tco3.cfg
Nom_fichier_TCO4=tco4.cfg
Nom_fichier_TCO5=tco5.cfg
Nom_fichier_TCO6=tco6.cfg
Nom_fichier_TCO7=tco7.cfg
Nom_fichier_TCO8=tco8.cfg
Nom_fichier_TCO9=tco9.cfg
Nom_fichier_TCO10=tco10.cfg
MasqueBandeauTCO=0 MasqueBandeauTCO=0
CDM=0 CDM=0
Lay=RESEAU_GILY_SIGNAL_AJOUTE.LAY Lay=RESEAU_GILY_SIGNAL_AJOUTE.LAY
NomModuleCDM=RESEAU_GILY_SIGNAL_AJOUTE.cdm NomModuleCDM=reseau_gily_signal_ajoute_top.cdm
Serveur_interface=1 Serveur_interface=1
retro=1 retro=1
RazSignaux=0 RazSignaux=0
@@ -38,12 +49,12 @@ Nb_cantons_Sig=3
Alg_Unisemaf=1 Alg_Unisemaf=1
/------------ /------------
[section_aig] [section_aig]
1,P518,D100D,S3P,V30,I0,INIT(1,2) 1,P518,D100D,S3P,V30,I0,INIT(2,2)
2,P12S,D519,S100S,V0,I0,INIT(1,2) 2,P12S,D519,S100S,V0,I0,INIT(1,2)
3,P1S,D4P,S5D,V0,I0,INIT(2,2) 3,P1S,D4P,S5D,V0,I0,INIT(2,2)
4,P3D,D6S,S514,V0,I0,INIT(2,2) 4,P3D,D6S,S514,V0,I0,INIT(2,2)
5,P515,D3S,S100S,V0,I0,INIT(1,2) 5,P515,D3S,S100S,V0,I0,INIT(1,2)
6,P516,D0,S4D,V0,I0,INIT(1,2) 6,P516,D0,S4D,V0,I0,INIT(2,2)
7,P527,D519,S520,V0,I0,INIT(2,2) 7,P527,D519,S520,V0,I0,INIT(2,2)
8,P527,D521,S103S,V0,I0,INIT(1,2) 8,P527,D521,S103S,V0,I0,INIT(1,2)
9,P526,D103D,S515,V60,I0,INIT(1,2) 9,P526,D103D,S515,V60,I0,INIT(1,2)
@@ -91,23 +102,6 @@ A31,A34,0
0 0
/------------ /------------
[section_decodeurs] [section_decodeurs]
Nom_dec_pers=Personnalisé 1
NombreAdresses=4
Nation=1
1,2,0,1,2
3,4,1,1,2
5,9,2,1,2
10,11,3,1,2
Nom_dec_pers=grand
NombreAdresses=7
Nation=1
1,2,0,1,2
3,4,1,0,0
5,6,2,0,0
7,8,3,0,0
9,10,4,0,0
11,12,5,0,0
13,14,6,0,0
0 0
/------------ /------------
[section_sig] [section_sig]
@@ -115,7 +109,7 @@ Nation=1
190,7,0,1,(523,526),0,FVC0,FRC0 190,7,0,1,(523,526),0,FVC0,FRC0
204,9,0,1,(527,A7),1,FVC0,FRC0 204,9,0,1,(527,A7),1,FVC0,FRC0
218,7,0,1,(525,A17),0,FVC0,FRC0 218,7,0,1,(525,A17),0,FVC0,FRC0
232,2,1,1,(516,A6),0,FVC0,FRC0,CFB(A6D) 232,2,1,1,(516,A6),0,FVC0,FRC0
274,3,0,1,(524,521),0,FVC0,FRC0 274,3,0,1,(524,521),0,FVC0,FRC0
288,7,0,1,(522,A103),1,FVC0,FRC0 288,7,0,1,(522,A103),1,FVC0,FRC0
302,9,0,1,(526,A9),1,FVC0,FRC0 302,9,0,1,(526,A9),1,FVC0,FRC0
@@ -132,7 +126,7 @@ Nation=1
462,9,0,1,(513,A29),1,FVC0,FRC0 462,9,0,1,(513,A29),1,FVC0,FRC0
476,9,0,1,(538,A23),1,FVC0,FRC0 476,9,0,1,(538,A23),1,FVC0,FRC0
497,9,0,4,(531,A19),1,FVC0,FRC0 497,9,0,4,(531,A19),1,FVC0,FRC0
520,9,1,1,(518,A1),0,FVC0,FRC0,(A1S,A3S,A5S),CFB(A1S,A3D,A4D,A6S) 520,9,1,1,(518,A1),1,FVC0,FRC0
600,7,0,0,(521,A8),1,FVC0,FRC0 600,7,0,0,(521,A8),1,FVC0,FRC0
0 0
/------------ /------------
+42
View File
@@ -0,0 +1,42 @@
program Signaux_complexes_GL;
uses
Forms,
UnitPrinc in 'UnitPrinc.pas' {FormPrinc},
UnitDebug in 'UnitDebug.pas' {FormDebug},
verif_version in 'verif_version.pas' {FormVersion},
UnitPilote in 'UnitPilote.pas' {FormPilote},
UnitSimule in 'UnitSimule.pas' {FormSimulation},
UnitTCO in 'UnitTCO.pas' {FormTCO},
UnitConfig in 'UnitConfig.pas' {FormConfig},
UnitConfigTCO in 'UnitConfigTCO.pas' {FormConfigTCO},
UnitSR in 'UnitSR.pas' {FormSR},
Unit_Pilote_aig in 'Unit_Pilote_aig.pas' {FormAig},
UnitConfigCellTCO in 'UnitConfigCellTCO.pas' {FormConfCellTCO},
UnitCDF in 'UnitCDF.pas' {FormCDF},
Unitplace in 'Unitplace.pas' {FormPlace},
UnitPareFeu in 'UnitPareFeu.pas',
UnitAnalyseSegCDM in 'UnitAnalyseSegCDM.pas' {FormAnalyseCDM},
Importation in 'Importation.pas' {FormImportation};
{$R *.res}
begin
// la form TCO ne doit pas etre créée ici!!
Application.Initialize;
Application.CreateForm(TFormPrinc, FormPrinc);
Application.CreateForm(TFormVersion, FormVersion);
Application.CreateForm(TFormPilote, FormPilote);
Application.CreateForm(TFormSimulation, FormSimulation);
Application.CreateForm(TFormConfig, FormConfig);
Application.CreateForm(TFormConfigTCO, FormConfigTCO);
Application.CreateForm(TFormSR, FormSR);
Application.CreateForm(TFormAig, FormAig);
Application.CreateForm(TFormConfCellTCO, FormConfCellTCO);
Application.CreateForm(TFormCDF, FormCDF);
Application.CreateForm(TFormPlace, FormPlace);
Application.CreateForm(TFormDebug, FormDebug);
Application.CreateForm(TFormAnalyseCDM, FormAnalyseCDM);
Application.CreateForm(TFormImportation, FormImportation);
Application.Run;
end.
+3 -2
View File
@@ -173,20 +173,21 @@ begin
end; end;
procedure dessine_feu_CDF; procedure dessine_feu_CDF;
var i : integer; var i,ancienEtat : integer;
Vcanvas : Tcanvas; Vcanvas : Tcanvas;
begin begin
i:=0; i:=0;
//ImagePilote.Picture.Bitmap:=FormPilote.ImagePilote.picture.bitmap; //ImagePilote.Picture.Bitmap:=FormPilote.ImagePilote.picture.bitmap;
EtatFeuPilote:=feux[i].EtatSignal; EtatFeuPilote:=feux[i].EtatSignal;
AncienEtat:=feux[i].AncienEtat;
dessineCDF:=true; // demande dessin CDF pour les clignotements dessineCDF:=true; // demande dessin CDF pour les clignotements
Vcanvas:=FormCDF.ImageDigi.picture.bitmap.Canvas; Vcanvas:=FormCDF.ImageDigi.picture.bitmap.Canvas;
case feux[i].aspect of case feux[i].aspect of
// feux de signalisation // feux de signalisation
2 : dessine_feu2(Vcanvas,0,0,1,1,EtatFeupilote,1); 2 : dessine_feu2(Vcanvas,0,0,1,1,EtatFeupilote,1);
3 : dessine_feu3(Vcanvas,0,0,1,1,EtatFeupilote,1); 3 : dessine_feu3(Vcanvas,0,0,1,1,EtatFeupilote,AncienEtat,1);
4 : dessine_feu4(VCanvas,0,0,1,1,EtatFeupilote,1); 4 : dessine_feu4(VCanvas,0,0,1,1,EtatFeupilote,1);
5 : dessine_feu5(VCanvas,0,0,1,1,EtatFeupilote,1); 5 : dessine_feu5(VCanvas,0,0,1,1,EtatFeupilote,1);
7 : dessine_feu7(VCanvas,0,0,1,1,EtatFeupilote,1); 7 : dessine_feu7(VCanvas,0,0,1,1,EtatFeupilote,1);
+20 -20
View File
@@ -1571,7 +1571,7 @@ object FormConfig: TFormConfig
Top = 8 Top = 8
Width = 633 Width = 633
Height = 497 Height = 497
ActivePage = TabSheetAig ActivePage = TabSheetCDM
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack Font.Color = clBlack
Font.Height = -11 Font.Height = -11
@@ -1650,12 +1650,12 @@ object FormConfig: TFormConfig
Left = 16 Left = 16
Top = 128 Top = 128
Width = 273 Width = 273
Height = 193 Height = 209
Caption = 'Au d'#233'marrage de Signaux_Complexes ' Caption = 'Au d'#233'marrage de Signaux_Complexes '
TabOrder = 1 TabOrder = 1
object Label13: TLabel object Label13: TLabel
Left = 8 Left = 8
Top = 144 Top = 160
Width = 242 Width = 242
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'
@@ -1678,7 +1678,7 @@ object FormConfig: TFormConfig
end end
object CheckLanceCDM: TCheckBox object CheckLanceCDM: TCheckBox
Left = 8 Left = 8
Top = 120 Top = 128
Width = 241 Width = 241
Height = 25 Height = 25
Caption = 'Lancer et connecter CDM Rail au d'#233'marrage' Caption = 'Lancer et connecter CDM Rail au d'#233'marrage'
@@ -1687,8 +1687,8 @@ object FormConfig: TFormConfig
end end
object CheckAvecTCO: TCheckBox object CheckAvecTCO: TCheckBox
Left = 8 Left = 8
Top = 80 Top = 88
Width = 89 Width = 73
Height = 17 Height = 17
Hint = 'Affiche le TCO au d'#233'marrage' Hint = 'Affiche le TCO au d'#233'marrage'
Caption = 'Avec TCO' Caption = 'Avec TCO'
@@ -1709,7 +1709,7 @@ object FormConfig: TFormConfig
end end
object CheckBandeauTCO: TCheckBox object CheckBandeauTCO: TCheckBox
Left = 8 Left = 8
Top = 96 Top = 104
Width = 129 Width = 129
Height = 17 Height = 17
Hint = 'Masque le bandeau de param'#233'trage du TCO au d'#233'marrage' Hint = 'Masque le bandeau de param'#233'trage du TCO au d'#233'marrage'
@@ -1720,7 +1720,7 @@ object FormConfig: TFormConfig
end end
object EditLAY: TEdit object EditLAY: TEdit
Left = 8 Left = 8
Top = 160 Top = 176
Width = 249 Width = 249
Height = 21 Height = 21
Hint = 'Nom du LAY avec .lay' Hint = 'Nom du LAY avec .lay'
@@ -1870,21 +1870,21 @@ object FormConfig: TFormConfig
end end
object GroupBox8: TGroupBox object GroupBox8: TGroupBox
Left = 16 Left = 16
Top = 328 Top = 344
Width = 273 Width = 273
Height = 113 Height = 97
Caption = 'Services CommIP CDM Rail' Caption = 'Services CommIP CDM Rail'
TabOrder = 4 TabOrder = 4
object Label6: TLabel object Label6: TLabel
Left = 8 Left = 8
Top = 26 Top = 18
Width = 215 Width = 215
Height = 13 Height = 13
Caption = 'Liste des '#233'v'#232'nements demand'#233's '#224' CDM Rail:' Caption = 'Liste des '#233'v'#232'nements demand'#233's '#224' CDM Rail:'
end end
object CheckBoxServAig: TCheckBox object CheckBoxServAig: TCheckBox
Left = 8 Left = 8
Top = 48 Top = 40
Width = 113 Width = 113
Height = 17 Height = 17
Caption = 'Aiguillages' Caption = 'Aiguillages'
@@ -1892,7 +1892,7 @@ object FormConfig: TFormConfig
end end
object CheckBoxServDet: TCheckBox object CheckBoxServDet: TCheckBox
Left = 8 Left = 8
Top = 64 Top = 56
Width = 89 Width = 89
Height = 17 Height = 17
Caption = 'D'#233'tecteurs' Caption = 'D'#233'tecteurs'
@@ -1900,7 +1900,7 @@ object FormConfig: TFormConfig
end end
object CheckBoxServAct: TCheckBox object CheckBoxServAct: TCheckBox
Left = 8 Left = 8
Top = 80 Top = 72
Width = 81 Width = 81
Height = 17 Height = 17
Caption = 'Actionneurs' Caption = 'Actionneurs'
@@ -1908,7 +1908,7 @@ object FormConfig: TFormConfig
end end
object CheckServPosTrains: TCheckBox object CheckServPosTrains: TCheckBox
Left = 120 Left = 120
Top = 48 Top = 40
Width = 145 Width = 145
Height = 17 Height = 17
Hint = Hint =
@@ -1921,7 +1921,7 @@ object FormConfig: TFormConfig
end end
object CheckBoxSrvSig: TCheckBox object CheckBoxSrvSig: TCheckBox
Left = 120 Left = 120
Top = 64 Top = 56
Width = 113 Width = 113
Height = 17 Height = 17
Caption = 'Signaux (non utilis'#233')' Caption = 'Signaux (non utilis'#233')'
@@ -3182,7 +3182,7 @@ object FormConfig: TFormConfig
Width = 129 Width = 129
Height = 21 Height = 21
Style = csDropDownList Style = csDropDownList
ItemHeight = 0 ItemHeight = 13
TabOrder = 1 TabOrder = 1
OnChange = ComboBoxDecChange OnChange = ComboBoxDecChange
end end
@@ -3286,7 +3286,7 @@ object FormConfig: TFormConfig
Width = 129 Width = 129
Height = 21 Height = 21
Style = csDropDownList Style = csDropDownList
ItemHeight = 0 ItemHeight = 13
TabOrder = 2 TabOrder = 2
OnChange = ComboBoxAspChange OnChange = ComboBoxAspChange
end end
@@ -4487,7 +4487,7 @@ object FormConfig: TFormConfig
Top = 24 Top = 24
Width = 65 Width = 65
Height = 17 Height = 17
Hint = 'Supprime l'#39'actionneur cliqu'#233' (en jaune)' Hint = 'Supprime l'#39'actionneur(s) s'#233'lectionn'#233'(s)'
Caption = 'Supprime' Caption = 'Supprime'
ParentShowHint = False ParentShowHint = False
ShowHint = True ShowHint = True
@@ -4535,7 +4535,7 @@ object FormConfig: TFormConfig
Top = 24 Top = 24
Width = 65 Width = 65
Height = 17 Height = 17
Hint = 'Supprime l'#39'actionneur cliqu'#233' (en jaune)' Hint = 'Supprime l'#39'actionneur(s) s'#233'lectionn'#233'(s)'
Caption = 'Supprime' Caption = 'Supprime'
ParentShowHint = False ParentShowHint = False
ShowHint = True ShowHint = True
+125 -58
View File
@@ -5,7 +5,8 @@ interface
uses uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls , jpeg, ComCtrls ,StrUtils, Unitprinc, Dialogs, ExtCtrls, StdCtrls , jpeg, ComCtrls ,StrUtils, Unitprinc,
MMSystem, Buttons , UnitPareFeu, verif_version, Menus, ClipBrd ; MMSystem, Buttons , UnitPareFeu, verif_version, Menus, ClipBrd,
Grids ;
type type
TFormConfig = class(TForm) TFormConfig = class(TForm)
@@ -582,6 +583,7 @@ INTER_CAR_ch='Inter_car';
Tempo_maxi_ch='Tempo_maxi'; Tempo_maxi_ch='Tempo_maxi';
Entete_ch='Entete'; Entete_ch='Entete';
TCO_ch='TCO'; TCO_ch='TCO';
Nb_TCO_ch='NbreTCO';
MasqueBandeauTCO_ch='MasqueBandeauTCO'; MasqueBandeauTCO_ch='MasqueBandeauTCO';
CDM_ch='CDM'; CDM_ch='CDM';
Serveur_interface_ch='Serveur_interface'; Serveur_interface_ch='Serveur_interface';
@@ -602,6 +604,7 @@ NomModuleCDM_ch='NomModuleCDM';
Nba_ch='NombreAdresses'; Nba_ch='NombreAdresses';
nation_ch='Nation'; nation_ch='Nation';
nom_dec_pers_ch='Nom_dec_pers'; nom_dec_pers_ch='Nom_dec_pers';
Nom_fich_TCO_ch='Nom_fichier_TCO';
// sections de config // sections de config
section_aig_ch='[section_aig]'; section_aig_ch='[section_aig]';
@@ -1720,6 +1723,16 @@ begin
if AvecTCO then s:='1' else s:='0'; if AvecTCO then s:='1' else s:='0';
writeln(fichierN,TCO_ch+'=',s); writeln(fichierN,TCO_ch+'=',s);
// nombre de TCO
writeln(fichierN,Nb_TCO_ch+'=',NbreTCO);
for i:=1 to 10 do
begin
s:=NomFichierTCO[i];
if s='' then s:='TCO'+intToSTR(i);
writeln(fichierN,Nom_fich_TCO_ch+intToSTR(i)+'=',s);
end;
if MasqueBandeauTCO then s:='1' else s:='0'; if MasqueBandeauTCO then s:='1' else s:='0';
writeln(fichierN,MasqueBandeauTCO_ch+'=',s); writeln(fichierN,MasqueBandeauTCO_ch+'=',s);
@@ -1905,8 +1918,8 @@ var s,sa,SOrigine: string;
if debug=1 then affiche(s,clLime); if debug=1 then affiche(s,clLime);
end; end;
procedure compile_signaux; procedure compile_signaux;
begin begin
//Affiche('Définition des signaux',clyellow); //Affiche('Définition des signaux',clyellow);
i:=1;Nligne:=1; i:=1;Nligne:=1;
NbreFeux:=0; NbreFeux:=0;
@@ -1929,11 +1942,11 @@ begin
Affiche('Erreur 9 : signal '+s+' en doublon a été ignoré',clred); Affiche('Erreur 9 : signal '+s+' en doublon a été ignoré',clred);
end; end;
end; end;
until (s='0') or eof(fichier); until (s='0') or eof(fichier);
end; end;
procedure compile_branches; procedure compile_branches;
begin begin
// branches // branches
NDetecteurs:=0; NDetecteurs:=0;
Nligne:=1; Nligne:=1;
@@ -1954,11 +1967,11 @@ begin
until (s='0') or eof(fichier) or (i>=MaxBranches); until (s='0') or eof(fichier) or (i>=MaxBranches);
if i>MaxBranches then Affiche('Nombre maximal de branches atteint',clRed); if i>MaxBranches then Affiche('Nombre maximal de branches atteint',clRed);
NbreBranches:=i-1; NbreBranches:=i-1;
end; end;
procedure compile_actionneurs; procedure compile_actionneurs;
var i : integer; var i : integer;
begin begin
// raz des actionneurs // raz des actionneurs
for i:=1 to Max_actionneurs do for i:=1 to Max_actionneurs do
begin begin
@@ -2240,10 +2253,10 @@ begin
end; end;
until (s='0') or eof(fichier) ; until (s='0') or eof(fichier) ;
dec(maxTablo_act); dec(maxTablo_act);
end; end;
procedure compile_aiguillages; procedure compile_aiguillages;
begin begin
//Affiche('Définition des aiguillages',clyellow); //Affiche('Définition des aiguillages',clyellow);
maxaiguillage:=0; maxaiguillage:=0;
Nligne:=1; Nligne:=1;
@@ -2489,13 +2502,13 @@ begin
until (enregistrement='') or (itl>3); until (enregistrement='') or (itl>3);
if itl>4 then begin Affiche('Erreur 400 ligne '+sOrigine,clred);exit;end; if itl>4 then begin Affiche('Erreur 400 ligne '+sOrigine,clred);exit;end;
end; end;
until (sOrigine='0'); until (sOrigine='0');
end; end;
// compile les décodeurs personnalisés // compile les décodeurs personnalisés
procedure compile_dec_pers; procedure compile_dec_pers;
var nv,j,k,l,adr : integer; var nv,j,k,l,adr : integer;
begin begin
Nligne:=1; Nligne:=1;
repeat // boucle de décodeurs repeat // boucle de décodeurs
nv:=0; // compteur nombre de variables nv:=0; // compteur nombre de variables
@@ -2573,12 +2586,12 @@ begin
end end
else Affiche('Section décodeurs - Nombre de descriptions du décodeur "'+decodeur_pers[NbreDecPers].nom+'" différents du nombre des adresses déclarées',clred); else Affiche('Section décodeurs - Nombre de descriptions du décodeur "'+decodeur_pers[NbreDecPers].nom+'" différents du nombre des adresses déclarées',clred);
until (adr>j) or (s='0'); until (adr>j) or (s='0');
until eof(fichier) or (s='0'); until eof(fichier) or (s='0');
end; end;
procedure compile_dccpp; procedure compile_dccpp;
var nv,i : integer; var nv,i : integer;
begin begin
Nligne:=1; Nligne:=1;
nv:=0; nv:=0;
repeat repeat
@@ -2619,12 +2632,12 @@ begin
until eof(fichier) or (s='') or (s='0') or (nLigne>MaxCdeDccpp); until eof(fichier) or (s='') or (s='0') or (nLigne>MaxCdeDccpp);
end; end;
until eof(fichier) or (s='0'); until eof(fichier) or (s='0');
end; end;
procedure compile_trains; procedure compile_trains;
var i,erreur : integer; var i,erreur : integer;
begin begin
ntrains:=0; ntrains:=0;
repeat repeat
lit_ligne; lit_ligne;
@@ -2688,11 +2701,11 @@ begin
end; end;
// trie les signaux // trie les signaux
procedure trier_sig; procedure trier_sig;
var i,j : integer; var i,j : integer;
temp : TSignal; temp : TSignal;
begin begin
for i:=1 to NbreFeux do for i:=1 to NbreFeux do
begin begin
for j:=i+1 to NbreFeux do for j:=i+1 to NbreFeux do
@@ -2705,14 +2718,13 @@ begin
end; end;
end; end;
end; end;
end; end;
procedure lit_flux; procedure lit_flux;
label ici1,ici2,ici3,ici4 ; label ici1,ici2,ici3,ici4 ;
var i : integer; var i : integer;
// début de la procédure lit_config begin
begin
// valeurs par défaut // valeurs par défaut
Nb_cantons_Sig:=3; Nb_cantons_Sig:=3;
nv:=0; it:=0; nv:=0; it:=0;
@@ -2736,6 +2748,17 @@ begin
val(s,Verif_AdrXpressNet,erreur); val(s,Verif_AdrXpressNet,erreur);
end; end;
sa:=uppercase(Nom_fich_TCO_ch);
i:=pos(sa,s);
if i=1 then
begin
delete(s,1,length(sa));
i:=extract_int(s);
j:=pos('=',s);
delete(s,1,j);
if (i>0) and (i<11) then NomfichierTCO[i]:=s;
end;
sa:=uppercase(Filtrage_det_ch)+'='; sa:=uppercase(Filtrage_det_ch)+'=';
i:=pos(sa,s); i:=pos(sa,s);
if i=1 then if i=1 then
@@ -3065,6 +3088,18 @@ begin
AvecTCO:=i=1; AvecTCO:=i=1;
end; end;
sa:=uppercase(Nb_TCO_ch)+'=';
i:=pos(sa,s);
if i=1 then
begin
inc(nv);
delete(s,i,length(sa));
val(s,i,erreur);
if (i<1) or (i>10) then i:=1;
NbreTCO:=i;
end;
sa:=uppercase(MasqueBandeauTCO_ch)+'='; sa:=uppercase(MasqueBandeauTCO_ch)+'=';
i:=pos(sa,s); i:=pos(sa,s);
if i=1 then if i=1 then
@@ -3252,8 +3287,9 @@ begin
until (eof(fichier)); until (eof(fichier));
end; end; // fin de lit_flux
// procédure lit_config
// début de la procédure lit_config
begin begin
debugConfig:=false; debugConfig:=false;
trouve_NbDetDist:=false; trouve_NbDetDist:=false;
@@ -3285,6 +3321,11 @@ begin
trouve_Algo_Uni:=false; trouve_Algo_Uni:=false;
trouve_Nb_cantons_Sig:=false; trouve_Nb_cantons_Sig:=false;
AvecVerifIconesTCO:=1; AvecVerifIconesTCO:=1;
NomfichierTCO[1]:='tco.cfg'; // pour compatibilité anciennes versions
for i:=2 to 10 do
begin
NomfichierTCO[i]:='tco'+intToSTR(i)+'.cfg';
end;
//trouve_FVR:=false; //trouve_FVR:=false;
@@ -3605,9 +3646,10 @@ begin
end; end;
end; end;
// affiche les champs du signal lc
// LC=Adresse du signal // LC=Adresse du signal
procedure clicListeSignal(lc : integer); procedure clicListeSignal(lc : integer);
var AncAdresse,index,adresse,erreur : integer; var i,AncAdresse,index,adresse,erreur : integer;
s : string; s : string;
begin begin
index:=index_Signal(lc)-1; index:=index_Signal(lc)-1;
@@ -3618,6 +3660,12 @@ begin
exit; exit;
end; end;
with FormConfig.ListBoxSig do
begin
for i:=0 to Count-1 do Selected[i]:=false;
FormConfig.ListBoxSig.Selected[index]:=true;
end;
Feu_Sauve:=feux[index+1]; // sauvegarde Feu_Sauve:=feux[index+1]; // sauvegarde
AncLigneClicSig:=ligneclicSig; AncLigneClicSig:=ligneclicSig;
@@ -3640,6 +3688,7 @@ end;
procedure TFormConfig.FormActivate(Sender: TObject); procedure TFormConfig.FormActivate(Sender: TObject);
var i : integer;
begin begin
if affevt then affiche('FormConfig activate',clLime); if affevt then affiche('FormConfig activate',clLime);
activ:=true; activ:=true;
@@ -3741,6 +3790,10 @@ begin
//l'onglet affiché est sélectionné à l'appel de la fiche dans l'unité UnitPrinc //l'onglet affiché est sélectionné à l'appel de la fiche dans l'unité UnitPrinc
clicListe:=false; clicListe:=false;
activ:=false; activ:=false;
if clicproprietes then clicListeSignal(Adressefeuclic);
clicproprietes:=false;
end; end;
// met à jour le décodeur courant dans le tableau de config // met à jour le décodeur courant dans le tableau de config
@@ -6520,11 +6573,12 @@ begin
end; end;
procedure TFormConfig.ComboBoxAspChange(Sender: TObject); procedure TFormConfig.ComboBoxAspChange(Sender: TObject);
var x,y,i,index,aspect,adresseFeu : integer; var indexTCO,x,y,i,index,aspect,adresseFeu : integer;
s : string; s : string;
bm :tbitmap; bm :tbitmap;
begin begin
if clicListe then exit; if clicListe then exit;
indexTCO:=index_TCO(sender);
if affevt then Affiche('Evt aspect',clOrange); if affevt then Affiche('Evt aspect',clOrange);
i:=ComboBoxAsp.ItemIndex; i:=ComboBoxAsp.ItemIndex;
//Affiche(IntToSTR(i),clyellow); //Affiche(IntToSTR(i),clyellow);
@@ -6564,15 +6618,15 @@ begin
Feux[index].Img.picture.Bitmap:=bm; Feux[index].Img.picture.Bitmap:=bm;
dessine_feu_mx(Feux[index].Img.Canvas,0,0,1,1,feux[index].adresse,1); // dessine les feux du signal dessine_feu_mx(Feux[index].Img.Canvas,0,0,1,1,feux[index].adresse,1); // dessine les feux du signal
// et dans le TCO // et dans le TCO
if formTCO.Showing then if formTCO[indexTCO].Showing then
begin begin
for y:=1 to NbreCellY do for y:=1 to NbreCellY[indexTCO] do
for x:=1 to NbreCellX do for x:=1 to NbreCellX[indexTCO] do
begin begin
if TCO[x,y].BImage=50 then if TCO[1,x,y].BImage=Id_Signal then // &&& balayer tous les tco
begin begin
AdresseFeu:=feux[index].adresse; AdresseFeu:=feux[index].adresse;
if tco[x,y].Adresse=AdresseFeu then affiche_tco; if tco[1,x,y].Adresse=AdresseFeu then affiche_tco(indexTCO);
end; end;
end; end;
end; end;
@@ -7565,7 +7619,7 @@ end;
function verif_coherence : boolean; function verif_coherence : boolean;
var AncAdr,i,j,k,l,Indexaig,adr,adr2,extr,detect,condcarre,nc,index2,SuivAdr, var AncAdr,i,j,k,l,Indexaig,adr,adr2,extr,detect,condcarre,nc,index2,SuivAdr,indexTCO,
x,y,extr2,adr3,index3,det1Br,det2Br,det1index,det2index,adresse,Adresse2,dec,nc2 : integer; x,y,extr2,adr3,index3,det1Br,det2Br,det1index,det2index,adresse,Adresse2,dec,nc2 : integer;
modAig,AncModel,model,km,SuivModel,model2: TEquipement; modAig,AncModel,model,km,SuivModel,model2: TEquipement;
c : char; c : char;
@@ -8262,23 +8316,34 @@ begin
// 9. vérifier la cohérence TCO // 9. vérifier la cohérence TCO
if avecTCO then if avecTCO then
begin begin
for y:=1 to NbreCellY do indexTCO:=1;
for x:=1 to NbreCellX do for y:=1 to NbreCellY[indexTCO] do
for x:=1 to NbreCellX[indexTCO] do
begin begin
i:=TCO[x,y].BImage; i:=TCO[indexTCO,x,y].BImage;
if i=50 then adr:=TCO[indexTCO,x,y].adresse;
if i=Id_signal then
begin begin
adr:=TCO[x,y].adresse;
if index_Signal(adr)=0 then if index_Signal(adr)=0 then
begin begin
Affiche('Un signal '+IntToSTR(adr)+' est déclaré dans le TCO['+intToSTR(x)+','+intToSTR(y)+'] mais absent de la configuration',clred); Affiche('Un signal '+IntToSTR(adr)+' est déclaré dans le TCO['+intToSTR(x)+','+intToSTR(y)+'] mais absent de la configuration',clred);
ok:=false; ok:=false;
end; end;
end; end;
if (i=2) or (i=3) or (i=4) or (i=5) or (i=12) or (i=13) or (i=14) or (i=15) or (i=21) or (i=22) then if (i=21) or (i=22) or (i=23) or (i=25) then
begin begin
adr:=TCO[x,y].adresse; if (adr<>0) and (tco[indexTCO,x,y].pont<>0) then
if index_aig(adr)=0 then begin
Affiche('Erreur 48 TCO : la cellule '+intToSTR(x)+'/'+intToSTR(y)+' d''adresse '+intToSTR(Adr)+' est décrite comme un croisement ou TJD/S car elle présente une adresse',clred);
Affiche('mais la cellule représente un pont',clred);
ok:=false;
end;
end;
if isAigTCO(i) then
begin
adr:=TCO[indexTCO,x,y].adresse;
if (index_aig(adr)=0) and (adr<>0) then
begin begin
Affiche('Un aiguillage '+IntToSTR(adr)+' est déclaré dans le TCO['+intToSTR(x)+','+intToSTR(y)+'] mais absent de la configuration',clred); Affiche('Un aiguillage '+IntToSTR(adr)+' est déclaré dans le TCO['+intToSTR(x)+','+intToSTR(y)+'] mais absent de la configuration',clred);
ok:=false; ok:=false;
@@ -8286,7 +8351,7 @@ begin
end; end;
if (i=1) or (i=6) or (i=7) or (i=8) or (i=9) or (i=16) or (i=17) or (i=18) or (i=19) or (i=20) or (i=10) or (i=11) then if (i=1) or (i=6) or (i=7) or (i=8) or (i=9) or (i=16) or (i=17) or (i=18) or (i=19) or (i=20) or (i=10) or (i=11) then
begin begin
adr:=TCO[x,y].adresse; adr:=TCO[indexTCO,x,y].adresse;
if adr<>0 then if adr<>0 then
begin begin
j:=1; j:=1;
@@ -8301,11 +8366,13 @@ begin
end; end;
end; end;
end; end;
if not(verif_cellule(x,y,i)) then if not(verif_cellule(indexTCO,x,y,i)) then
begin begin
Affiche('TCO: Erreur de proximité composants incompatibles: cellules TCO['+intToSTR(x)+','+intToSTR(y)+'] ',clred); Affiche('TCO: Erreur de proximité composants incompatibles: cellules TCO['+intToSTR(x)+','+intToSTR(y)+'] ',clred);
ok:=false; ok:=false;
end; end;
end; end;
end; end;
+116 -48
View File
@@ -1,10 +1,10 @@
object FormConfCellTCO: TFormConfCellTCO object FormConfCellTCO: TFormConfCellTCO
Left = 467 Left = 477
Top = 112 Top = 168
BorderStyle = bsDialog BorderStyle = bsDialog
Caption = 'FormConfCellTCO' Caption = 'FormConfCellTCO'
ClientHeight = 402 ClientHeight = 430
ClientWidth = 251 ClientWidth = 282
Color = clBtnFace Color = clBtnFace
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
@@ -15,18 +15,19 @@ object FormConfCellTCO: TFormConfCellTCO
OldCreateOrder = False OldCreateOrder = False
OnActivate = FormActivate OnActivate = FormActivate
OnCreate = FormCreate OnCreate = FormCreate
OnHide = FormHide
OnKeyPress = FormKeyPress OnKeyPress = FormKeyPress
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
object GroupBox1: TGroupBox object GroupBox1: TGroupBox
Left = 8 Left = 8
Top = 264 Top = 304
Width = 233 Width = 265
Height = 97 Height = 97
Caption = 'Texte' Caption = 'Texte'
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
Font.Height = -13 Font.Height = -15
Font.Name = 'MS Sans Serif' Font.Name = 'MS Sans Serif'
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
@@ -34,12 +35,12 @@ object FormConfCellTCO: TFormConfCellTCO
object Label1: TLabel object Label1: TLabel
Left = 8 Left = 8
Top = 41 Top = 41
Width = 79 Width = 93
Height = 16 Height = 20
Caption = 'Position du texte:' Caption = 'Position du texte:'
Font.Charset = ANSI_CHARSET Font.Charset = ANSI_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
Font.Height = -13 Font.Height = -15
Font.Name = 'Arial Narrow' Font.Name = 'Arial Narrow'
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
@@ -57,10 +58,11 @@ object FormConfCellTCO: TFormConfCellTCO
'Sans' 'Sans'
'Centrale' 'Centrale'
'Haut' 'Haut'
'Bas') 'Bas'
'R'#233'parti')
end end
object ButtonFonte: TButton object ButtonFonte: TButton
Left = 112 Left = 160
Top = 56 Top = 56
Width = 81 Width = 81
Height = 25 Height = 25
@@ -71,7 +73,7 @@ object FormConfCellTCO: TFormConfCellTCO
object EditTexteCCTCO: TEdit object EditTexteCCTCO: TEdit
Left = 8 Left = 8
Top = 16 Top = 16
Width = 209 Width = 241
Height = 24 Height = 24
TabOrder = 2 TabOrder = 2
OnChange = EditTexteCCTCOChange OnChange = EditTexteCCTCOChange
@@ -80,12 +82,12 @@ object FormConfCellTCO: TFormConfCellTCO
object GroupBox2: TGroupBox object GroupBox2: TGroupBox
Left = 8 Left = 8
Top = 8 Top = 8
Width = 233 Width = 265
Height = 257 Height = 297
Caption = 'El'#233'ment' Caption = 'El'#233'ment'
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
Font.Height = -13 Font.Height = -15
Font.Name = 'MS Sans Serif' Font.Name = 'MS Sans Serif'
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
@@ -93,39 +95,39 @@ object FormConfCellTCO: TFormConfCellTCO
object Label15: TLabel object Label15: TLabel
Left = 8 Left = 8
Top = 22 Top = 22
Width = 93 Width = 111
Height = 16 Height = 20
Caption = 'Image de l'#39#233'l'#233'ment: ' Caption = 'Image de l'#39#233'l'#233'ment: '
Font.Charset = ANSI_CHARSET Font.Charset = ANSI_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
Font.Height = -13 Font.Height = -15
Font.Name = 'Arial Narrow' Font.Name = 'Arial Narrow'
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
end end
object Label2: TLabel object Label2: TLabel
Left = 168 Left = 192
Top = 14 Top = 14
Width = 48 Width = 53
Height = 16 Height = 20
Caption = 'Adresse : ' Caption = 'Adresse : '
Font.Charset = ANSI_CHARSET Font.Charset = ANSI_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
Font.Height = -13 Font.Height = -15
Font.Name = 'Arial Narrow' Font.Name = 'Arial Narrow'
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
end end
object ImagePaletteCC: TImage object ImagePaletteCC: TImage
Left = 112 Left = 128
Top = 24 Top = 24
Width = 49 Width = 41
Height = 49 Height = 41
OnMouseDown = ImagePaletteCCMouseDown OnMouseDown = ImagePaletteCCMouseDown
end end
object EditTypeImage: TEdit object EditTypeImage: TEdit
Left = 32 Left = 40
Top = 40 Top = 48
Width = 33 Width = 33
Height = 21 Height = 21
Hint = 'Num'#233'ro d'#39'image de l'#39#233'l'#233'ment' Hint = 'Num'#233'ro d'#39'image de l'#39#233'l'#233'ment'
@@ -140,15 +142,15 @@ object FormConfCellTCO: TFormConfCellTCO
TabOrder = 0 TabOrder = 0
OnChange = EditTypeImageChange OnChange = EditTypeImageChange
end end
object GroupBox3: TGroupBox object GroupBoxOrientation: TGroupBox
Left = 8 Left = 8
Top = 112 Top = 152
Width = 209 Width = 249
Height = 73 Height = 73
Caption = 'Orientation du signal' Caption = 'Orientation du signal'
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
Font.Height = -11 Font.Height = -12
Font.Name = 'MS Sans Serif' Font.Name = 'MS Sans Serif'
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
@@ -161,7 +163,7 @@ object FormConfCellTCO: TFormConfCellTCO
Caption = 'Horizontal gauche' Caption = 'Horizontal gauche'
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
Font.Height = -11 Font.Height = -12
Font.Name = 'MS Sans Serif' Font.Name = 'MS Sans Serif'
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
@@ -176,7 +178,7 @@ object FormConfCellTCO: TFormConfCellTCO
Caption = 'Vertical' Caption = 'Vertical'
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
Font.Height = -11 Font.Height = -12
Font.Name = 'MS Sans Serif' Font.Name = 'MS Sans Serif'
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
@@ -191,7 +193,7 @@ object FormConfCellTCO: TFormConfCellTCO
Caption = 'Horizontal droit' Caption = 'Horizontal droit'
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
Font.Height = -11 Font.Height = -12
Font.Name = 'MS Sans Serif' Font.Name = 'MS Sans Serif'
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
@@ -199,15 +201,15 @@ object FormConfCellTCO: TFormConfCellTCO
OnClick = RadioButtonHDClick OnClick = RadioButtonHDClick
end end
end end
object GroupBox4: TGroupBox object GroupBoxImplantation: TGroupBox
Left = 8 Left = 8
Top = 192 Top = 232
Width = 209 Width = 249
Height = 57 Height = 57
Caption = 'Implantation du signal' Caption = 'Implantation du signal'
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
Font.Height = -11 Font.Height = -12
Font.Name = 'MS Sans Serif' Font.Name = 'MS Sans Serif'
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
@@ -220,7 +222,7 @@ object FormConfCellTCO: TFormConfCellTCO
Caption = #224' gauche de la voie' Caption = #224' gauche de la voie'
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
Font.Height = -11 Font.Height = -12
Font.Name = 'MS Sans Serif' Font.Name = 'MS Sans Serif'
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
@@ -235,7 +237,7 @@ object FormConfCellTCO: TFormConfCellTCO
Caption = #224' droite de la voie' Caption = #224' droite de la voie'
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
Font.Height = -11 Font.Height = -12
Font.Name = 'MS Sans Serif' Font.Name = 'MS Sans Serif'
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
@@ -244,7 +246,7 @@ object FormConfCellTCO: TFormConfCellTCO
end end
end end
object EditAdrElement: TEdit object EditAdrElement: TEdit
Left = 176 Left = 200
Top = 40 Top = 40
Width = 33 Width = 33
Height = 24 Height = 24
@@ -255,9 +257,9 @@ object FormConfCellTCO: TFormConfCellTCO
OnChange = EditAdrElementChange OnChange = EditAdrElementChange
end end
object ButtonFond: TButton object ButtonFond: TButton
Left = 16 Left = 8
Top = 72 Top = 104
Width = 97 Width = 89
Height = 33 Height = 33
Caption = 'Couleur de fond de la cellule' Caption = 'Couleur de fond de la cellule'
Font.Charset = ANSI_CHARSET Font.Charset = ANSI_CHARSET
@@ -270,10 +272,76 @@ object FormConfCellTCO: TFormConfCellTCO
WordWrap = True WordWrap = True
OnClick = ButtonFondClick OnClick = ButtonFondClick
end end
object RadioGroupSel: TRadioGroup
Left = 104
Top = 88
Width = 153
Height = 57
Caption = 'S'#233'lection clic ic'#244'ne ci-dessus'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = []
Items.Strings = (
'Epaisseurs de voie'
'Pont')
ParentFont = False
TabOrder = 5
end
object GroupBoxAction: TGroupBox
Left = 56
Top = 176
Width = 249
Height = 105
Caption = 'Action'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 6
object RadioButtonAffTCO: TRadioButton
Left = 8
Top = 24
Width = 97
Height = 17
Caption = 'Afficher TCO n'#176
TabOrder = 0
OnClick = RadioButtonAffTCOClick
end
object EditNumTCO: TEdit
Left = 104
Top = 20
Width = 33
Height = 21
TabOrder = 1
OnChange = EditNumTCOChange
end
object RadioButtonSC: TRadioButton
Left = 8
Top = 40
Width = 169
Height = 17
Caption = 'Afficher Signaux complexes'
TabOrder = 2
OnClick = RadioButtonSCClick
end
object RadioButtonCDM: TRadioButton
Left = 8
Top = 56
Width = 113
Height = 17
Caption = 'Afficher CDM rail'
TabOrder = 3
OnClick = RadioButtonCDMClick
end
end
end end
object CheckPinv: TCheckBox object CheckPinv: TCheckBox
Left = 8 Left = 8
Top = 368 Top = 408
Width = 129 Width = 129
Height = 17 Height = 17
Hint = 'Cocher si l'#39'aiguillage est repr'#233'sent'#233' invers'#233 Hint = 'Cocher si l'#39'aiguillage est repr'#233'sent'#233' invers'#233
@@ -290,8 +358,8 @@ object FormConfCellTCO: TFormConfCellTCO
OnClick = CheckPinvClick OnClick = CheckPinvClick
end end
object BitBtnOk: TBitBtn object BitBtnOk: TBitBtn
Left = 152 Left = 168
Top = 368 Top = 400
Width = 75 Width = 75
Height = 25 Height = 25
TabOrder = 3 TabOrder = 3
+387 -143
View File
@@ -4,7 +4,7 @@ interface
uses uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, UnitTCO, ExtCtrls, Dialogs, StdCtrls, ExtCtrls,
Buttons; Buttons;
type type
@@ -19,17 +19,23 @@ type
EditTypeImage: TEdit; EditTypeImage: TEdit;
CheckPinv: TCheckBox; CheckPinv: TCheckBox;
Label2: TLabel; Label2: TLabel;
GroupBox3: TGroupBox; GroupBoxOrientation: TGroupBox;
RadioButtonHG: TRadioButton; RadioButtonHG: TRadioButton;
RadioButtonV: TRadioButton; RadioButtonV: TRadioButton;
RadioButtonHD: TRadioButton; RadioButtonHD: TRadioButton;
GroupBox4: TGroupBox; GroupBoxImplantation: TGroupBox;
RadioButtonG: TRadioButton; RadioButtonG: TRadioButton;
RadioButtonD: TRadioButton; RadioButtonD: TRadioButton;
EditAdrElement: TEdit; EditAdrElement: TEdit;
ButtonFond: TButton; ButtonFond: TButton;
BitBtnOk: TBitBtn; BitBtnOk: TBitBtn;
ImagePaletteCC: TImage; ImagePaletteCC: TImage;
RadioGroupSel: TRadioGroup;
GroupBoxAction: TGroupBox;
RadioButtonAffTCO: TRadioButton;
EditNumTCO: TEdit;
RadioButtonSC: TRadioButton;
RadioButtonCDM: TRadioButton;
procedure EditAdrElementChange(Sender: TObject); procedure EditAdrElementChange(Sender: TObject);
procedure EditTexteCCTCOChange(Sender: TObject); procedure EditTexteCCTCOChange(Sender: TObject);
procedure ButtonFonteClick(Sender: TObject); procedure ButtonFonteClick(Sender: TObject);
@@ -48,6 +54,11 @@ type
procedure EditTypeImageChange(Sender: TObject); procedure EditTypeImageChange(Sender: TObject);
procedure ImagePaletteCCMouseDown(Sender: TObject; procedure ImagePaletteCCMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer); Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure RadioButtonAffTCOClick(Sender: TObject);
procedure EditNumTCOChange(Sender: TObject);
procedure FormHide(Sender: TObject);
procedure RadioButtonSCClick(Sender: TObject);
procedure RadioButtonCDMClick(Sender: TObject);
private private
{ Déclarations privées } { Déclarations privées }
public public
@@ -56,49 +67,129 @@ type
var var
FormConfCellTCO: TFormConfCellTCO; FormConfCellTCO: TFormConfCellTCO;
actualize : boolean; actualize,ConfCellTCO : boolean;
IconeX,IconeY : integer; IconeX,IconeY : integer;
procedure actualise; procedure actualise(indexTCO : integer);
implementation implementation
uses UnitPrinc,UnitAnalyseSegCDM, uses UnitPrinc,UnitAnalyseSegCDM,UnitConfigTCO,UnitTCO;
UnitConfigTCO;
{$R *.dfm} {$R *.dfm}
// actualise le contenu de la fenetre et de la zone tco // actualise le contenu de la fenetre et de la zone tco
procedure actualise; procedure actualise(indexTCO : integer);
var Bimage,oriente,piedFeu : integer; var Bimage,oriente,piedFeu,xclic,yclic : integer;
s : string; s : string;
ip : Timage; ip : Timage;
Bm : Tbitmap; Bm : Tbitmap;
r : trect; r : trect;
begin begin
Bm:=formConfCellTCO.imagepalettecc.Picture.Bitmap; if (indexTCO=0) or (formConfCellTCO=nil) then exit;
Bimage:=tco[XClicCell,YClicCell].Bimage; if affevt then affiche('FormConfigCellTCO actualise',clyellow);
if formConfCellTCOAff then xclic:=XclicCell[indexTCO];
yclic:=YclicCell[indexTCO];
Bm:=formConfCellTCO.imagepalettecc.Picture.Bitmap;
//with FormConfCellTCO.ImagePaletteCC.Picture.Bitmap do
with FormConfCellTCO.ImagePaletteCC do
begin
// efface l'icone
Picture.Bitmap.width:=iconeX;
Picture.bitmap.height:=iconeY;
// effacer l'icone
r:=Rect(0,0,iconeX,iconeY);
//with FormConfCellTCO.ImagePaletteCC.canvas do
with Picture.Bitmap.Canvas do
// with Picture.Bitmap.Canvas do
begin
Pen.Mode:=pmCopy;
Pen.Width:=1;
Pen.color:=tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].CouleurFond;
Brush.Color:=tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].couleurFond;
Brush.style:=bsSolid;
fillRect(r);
end;
end;
FormConfCellTCO.ImagePaletteCC.Repaint;
Bimage:=tco[indexTCO,XClicCell[indexTCO],YClicCell[indexTCO]].Bimage;
if Bimage=Id_Action then
begin
with formConfCellTCO do
begin
GroupBoxOrientation.visible:=false;
GroupBoxImplantation.visible:=false;
with GroupBoxAction do
begin
visible:=true;
top:=152;
left:=8;
width:=249;
RadioButtonAffTCO.Checked:=tco[indexTCO,Xclic,Yclic].PiedFeu=1;
RadioButtonSC.Checked:=tco[indexTCO,Xclic,Yclic].PiedFeu=2;
RadioButtonCDM.Checked:=tco[indexTCO,Xclic,Yclic].PiedFeu=3;
editNumTCO.Text:=intToSTR(tco[indexTCO,Xclic,Yclic].FeuOriente);
end;
end;
end
else
begin
with formConfCellTCO do
begin
with GroupBoxOrientation do
begin
visible:=true;
left:=8;
top:=152;
end;
GroupBoxImplantation.visible:=true;
GroupBoxAction.visible:=false;
end;
end;
if (Bimage=1) or (Bimage=10) or (Bimage=11) or (Bimage=20) then
begin
if tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].buttoir<>0 then
begin
formConfCellTCO.EditAdrElement.enabled:=false;
formTCO[indexTCO].EditAdrElement.enabled:=false;
tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].Adresse:=0;
end
else
begin
formConfCellTCO.EditAdrElement.enabled:=true;
formTCO[indexTCO].EditAdrElement.enabled:=true;
end;
end
else
begin
formConfCellTCO.EditAdrElement.enabled:=true;
formTCO[indexTCO].EditAdrElement.enabled:=true;
end;
if ConfCellTCO then // si la form confcelltco est affichée
begin begin
// si aiguillage, mettre à jour l'option de pilotage inverse // si aiguillage, mettre à jour l'option de pilotage inverse
if (bimage=2) or (bimage=3) or (bimage=4) or (bimage=5) or (bimage=12) or (bimage=13) if (bimage=2) or (bimage=3) or (bimage=4) or (bimage=5) or (bimage=12) or (bimage=13) or
or (bimage=14) or (bimage=15) or (bimage=24) then (bimage=14) or (bimage=15) or (bimage=24) then
begin begin
// aiguillage inversé // aiguillage inversé
with FormConfCellTCO.CheckPinv do with FormConfCellTCO.CheckPinv do
begin begin
enabled:=true; enabled:=true;
checked:=TCO[XClicCell,YClicCell].inverse; checked:=TCO[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].inverse;
end; end;
FormTCO.CheckPinv.checked:=TCO[XClicCell,YClicCell].inverse; FormTCO[indexTCO].CheckPinv.checked:=TCO[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].inverse;
FormTCO.CheckPinv.enabled:=true ; FormTCO[indexTCO].CheckPinv.enabled:=true ;
end end
else else
begin begin
FormTCO.CheckPinv.enabled:=false; FormTCO[indexTCO].CheckPinv.enabled:=false;
FormConfCellTCO.checkPinv.enabled:=false; FormConfCellTCO.checkPinv.enabled:=false;
end; end;
end; end;
@@ -106,8 +197,8 @@ begin
// si voie ou rien ou signal ou quai // si voie ou rien ou signal ou quai
if (Bimage=1) or (Bimage=0) or (Bimage=Id_signal) or (Bimage=51) then if (Bimage=1) or (Bimage=0) or (Bimage=Id_signal) or (Bimage=51) then
begin begin
s:=Tco[XClicCell,YClicCell].Texte; s:=Tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].Texte;
with formTCO do with formTCO[indexTCO] do
begin begin
EditTexte.Text:=s; EditTexte.Text:=s;
EditTexte.Visible:=true; EditTexte.Visible:=true;
@@ -116,29 +207,28 @@ begin
end end
else else
begin begin
formTCO.EditTexte.Visible:=false; formTCO[indexTCO].EditTexte.Visible:=false;
formTCO.comboRepr.Enabled:=false; formTCO[indexTCO].comboRepr.Enabled:=false;
end; end;
s:=IntToSTR(XclicCell)+','+IntToSTR(YclicCell); s:=IntToSTR(Xclic)+','+intToSTR(yClic);
FormTCO.LabelCoord.caption:=s; FormTCO[indexTCO].GroupBox1.Caption:='Configuration cellule '+s;
FormTCO.GroupBox1.Caption:='Configuration cellule '+s; XclicCellInserer:=XclicCell[indexTCO];
XclicCellInserer:=XClicCell; YclicCellInserer:=YclicCell[indexTCO];
YclicCellInserer:=YClicCell; FormTCO[indexTCO].EditAdrElement.Text:=IntToSTR(tco[indexTCO,XclicCellInserer,YclicCellInserer].Adresse);
FormTCO.EditAdrElement.Text:=IntToSTR(tco[XClicCellInserer,YClicCellInserer].Adresse); FormTCO[indexTCO].EdittypeImage.Text:=IntToSTR(BImage);
FormTCO.EdittypeImage.Text:=IntToSTR(BImage); FormTCO[indexTCO].ComboRepr.ItemIndex:=tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].repr;
FormTCO.ComboRepr.ItemIndex:=tco[XClicCell,yClicCell].repr; FormTCO[indexTCO].ShapeCoulFond.Brush.Color:=tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].CouleurFond;
FormTCO.ShapeCoulFond.Brush.Color:=tco[XClicCell,yClicCell].CouleurFond;
s:='El='+intToSTR(tco[XClicCell,YClicCell].BImage); s:='El='+intToSTR(tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].BImage);
if tco[XClicCell,YClicCell].adresse<>0 then s:=s+' Adr='+intToSTR(tco[XClicCell,YClicCell].adresse); if tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].adresse<>0 then s:=s+' Adr='+intToSTR(tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].adresse);
//hint:=s; //hint:=s;
if not(formConfCellTCOAff) then exit; if not(ConfCellTCO) then exit;
actualize:=true; // évite les évènements parasites actualize:=true; // évite les évènements parasites
FormConfCellTCO.caption:='Propriétés de la cellule '+IntToSTR(XClicCell)+','+intToSTR(YClicCell); FormConfCellTCO.caption:='Propriétés de la cellule '+IntToSTR(XclicCell[indexTCO])+','+intToSTR(YclicCell[indexTCO])+' TCO '+intToSTR(IndexTCO);
Bimage:=TCO[XClicCell,YClicCell].Bimage; Bimage:=tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].Bimage;
formConfCellTCO.EditTypeImage.Text:=intToSTR(Bimage); formConfCellTCO.EditTypeImage.Text:=intToSTR(Bimage);
// si signal // si signal
@@ -146,7 +236,7 @@ begin
With formConfCellTCO.ImagePaletteCC do With formConfCellTCO.ImagePaletteCC do
begin begin
//Height:=FormTCO.ImagePalette1.Picture.Height; //Height:=FormTCO.ImagePalette1.Picture.Height;
//ziziWidth:=FormTCO.ImagePalette1.Picture.Width; //Width:=FormTCO.ImagePalette1.Picture.Width;
Transparent:=false; Transparent:=false;
end; end;
@@ -165,21 +255,6 @@ begin
// mettre l'image de la cellule cliquée dans l'icone de la fenetre de config cellule // mettre l'image de la cellule cliquée dans l'icone de la fenetre de config cellule
if Bimage=0 then if Bimage=0 then
begin begin
with FormConfCellTCO.ImagePaletteCC do
begin
r:=Rect(0,0,width,height);
with canvas do
begin
// effacer l'icone
Pen.Mode:=pmCopy;
Pen.Width:=1;
Pen.color:=tco[XClicCell,YClicCell].CouleurFond;
Brush.Color:=tco[XClicCell,YClicCell].CouleurFond;
Brush.style:=bsSolid;
fillRect(r);
end;
end;
with formConfCellTCO do with formConfCellTCO do
begin begin
RadioButtonV.Enabled:=false; RadioButtonV.Enabled:=false;
@@ -194,7 +269,7 @@ begin
// Bimage non nulle // Bimage non nulle
begin begin
ip:=formTCO.findComponent('ImagePalette'+intToSTR(Bimage)) as Timage; ip:=formTCO[indexTCO].findComponent('ImagePalette'+intToSTR(Bimage)) as Timage;
if ip=nil then exit; if ip=nil then exit;
// affiche l'icone cliquée dans la fenetre ----------------------------------------------- // affiche l'icone cliquée dans la fenetre -----------------------------------------------
@@ -205,11 +280,9 @@ begin
Height:=iconeY; Height:=iconeY;
end; end;
ip:=formTCO.findComponent('ImagePalette'+intToSTR(Bimage)) as Timage; // image source StretchBlt(FormConfCellTCO.ImagePaletteCC.canvas.Handle,0,0,iconeX,iconeY, // destination
formTCO[indexTCO].ImageTCO.Canvas.Handle,(XclicCell[indexTCO]-1)*largeurCell[indexTCO] ,(YclicCell[indexTCO]-1)*Hauteurcell[indexTCO],largeurCell[indexTCO],Hauteurcell[indexTCO],srccopy); // source }
// destination masque avec mise à l'échelle
StretchBlt(FormConfCellTCO.ImagePaletteCC.canvas.Handle,0,0,iconeX,iconeY,
ip.Canvas.Handle,0,0,ip.Width,ip.Height,srccopy);
FormConfCellTCO.ImagePaletteCC.repaint; // obligatoire sinon il ne s'affiche pas FormConfCellTCO.ImagePaletteCC.repaint; // obligatoire sinon il ne s'affiche pas
//----------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------
@@ -231,7 +304,7 @@ begin
RadioButtonHD.Enabled:=true; RadioButtonHD.Enabled:=true;
RadioButtonG.Enabled:=true; RadioButtonG.Enabled:=true;
RadioButtonD.Enabled:=true; RadioButtonD.Enabled:=true;
oriente:=tco[XClicCell,YClicCell].Feuoriente; oriente:=tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].Feuoriente;
if oriente=1 then if oriente=1 then
begin begin
RadioButtonV.checked:=true; RadioButtonV.checked:=true;
@@ -240,9 +313,9 @@ begin
end; end;
if oriente=2 then if oriente=2 then
begin begin
RadioButtonV.checked:=false; RadioButtonV.checked:=false;
RadioButtonHG.checked:=true; RadioButtonHG.checked:=true;
RadioButtonHD.checked:=false; RadioButtonHD.checked:=false;
end; end;
if oriente=3 then if oriente=3 then
begin begin
@@ -251,7 +324,7 @@ begin
RadioButtonHD.checked:=true; RadioButtonHD.checked:=true;
end; end;
PiedFeu:=tco[XClicCell,YClicCell].PiedFeu; PiedFeu:=tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].PiedFeu;
if PiedFeu=1 then if PiedFeu=1 then
begin begin
RadioButtonG.checked:=true; RadioButtonG.checked:=true;
@@ -274,66 +347,94 @@ begin
with formConfCellTCO do with formConfCellTCO do
begin begin
EditTexteCCTCO.Text:=Tco[XClicCell,YClicCell].Texte; EditTexteCCTCO.Text:=tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].Texte;
EditAdrElement.Text:=IntToSTR(tco[XClicCellInserer,YClicCellInserer].Adresse); EditAdrElement.Text:=IntToSTR(tco[indexTCO,XclicCellInserer,YclicCellInserer].Adresse);
ComboRepr.ItemIndex:=tco[XClicCell,yClicCell].repr; ComboRepr.ItemIndex:=tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].repr;
end; end;
// Epaisseur ou pont
FormConfCellTCO.RadioGroupSel.visible:=false;
if (Bimage=21) or (Bimage=22) or (Bimage=23) or (Bimage=25) then
begin
FormConfCellTCO.RadioGroupSel.visible:=true;
FormConfCellTCO.RadioGroupSel.Items[1]:='Pont';
end ;
// voie pouvant avoir un buttoir
if (Bimage=1) or (Bimage=10) or (Bimage=11) or (Bimage=20) then
begin
FormConfCellTCO.RadioGroupSel.visible:=true;
FormConfCellTCO.RadioGroupSel.Items[1]:='Buttoir';
end;
actualize:=false; actualize:=false;
end; end;
procedure TFormConfCellTCO.EditAdrElementChange(Sender: TObject); procedure TFormConfCellTCO.EditAdrElementChange(Sender: TObject);
var Adr,erreur,index : integer; var Adr,erreur,index,Bimage : integer;
begin begin
if clicTCO or not(formConfCellTCOAff) or actualize then exit; if clicTCO or not(ConfCellTCO) or actualize then exit;
if affevt then Affiche('TFormConfCellTCO.EditAdrElementChange',clyellow); if affevt then Affiche('TFormConfCellTCO.EditAdrElementChange',clyellow);
clicTCO:=true;
Bimage:=tco[indexTCOcourant,XclicCell[indexTCOcourant],YclicCell[indexTCOcourant]].BImage;
if (Bimage=1) or (Bimage=10) or (Bimage=11) or (Bimage=20) then
begin
if tco[indexTCOcourant,XclicCell[indexTCOcourant],YclicCell[indexTCOcourant]].buttoir<>0 then
begin
EditAdrElement.Text:='';
clicTCO:=false;
exit;
end;
end;
Val(EditAdrElement.Text,Adr,erreur); Val(EditAdrElement.Text,Adr,erreur);
if (erreur<>0) or (Adr<0) or (Adr>2048) then Adr:=0; if (erreur<>0) or (Adr<0) or (Adr>2048) then Adr:=0;
if Adr=0 then tco[XClicCell,YClicCell].repr:=2; if Adr=0 then tco[indexTCOcourant,XclicCell[indexTCOcourant],YclicCell[indexTCOcourant]].repr:=2;
tco[XClicCell,YClicCell].Adresse:=Adr; tco[indexTCOcourant,XclicCell[indexTCOcourant],YclicCell[indexTCOcourant]].Adresse:=Adr;
formTCO.EditAdrElement.Text:=intToSTR(adr); formTCO[indexTCOcourant].EditAdrElement.Text:=intToSTR(adr);
clicTCO:=false;
if tco[XClicCell,YClicCell].BImage=Id_signal then if tco[indexTCOcourant,XclicCell[indexTCOcourant],YclicCell[indexTCOcourant]].BImage=Id_signal then
begin begin
index:=Index_Signal(adr); index:=Index_Signal(adr);
if index=0 then exit if index=0 then exit
else else
begin begin
//Affiche('Feu '+intToSTR(Adr),clyellow); //Affiche('Feu '+intToSTR(Adr),clyellow);
affiche_tco; affiche_tco(indexTCOcourant);
end; end;
end; end;
if not(selectionaffichee) then efface_entoure; if not(selectionaffichee[indexTCOcourant]) then efface_entoure(indexTCOcourant);
Affiche_cellule(XclicCell,YclicCell); Affiche_cellule(indexTCOcourant,XclicCell[indexTCOcourant],YclicCell[indexTCOcourant]);
if not(selectionaffichee) then _entoure_cell_clic; if not(selectionaffichee[indexTCOcourant]) then _entoure_cell_clic(indexTCOcourant);
end; end;
procedure TFormConfCellTCO.EditTexteCCTCOChange(Sender: TObject); procedure TFormConfCellTCO.EditTexteCCTCOChange(Sender: TObject);
begin begin
if clicTCO or not(formConfCellTCOAff) or actualize then exit; if clicTCO or not(ConfCellTCO) or actualize then exit;
PCanvasTCO.Brush.Color:=clfond; PCanvasTCO[indexTCOCourant].Brush.Color:=clfond;
if Tco[XClicCell,YClicCell].texte='' then if tco[indexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].texte='' then
begin begin
Tco[XClicCell,YClicCell].CoulFonte:=clTexte; tco[indexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].CoulFonte:=clTexte;
Tco[XClicCell,YClicCell].TailleFonte:=8; tco[indexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].TailleFonte:=8;
end; end;
Tco[XClicCell,YClicCell].Texte:=EditTexteCCTCO.Text; tco[indexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].Texte:=EditTexteCCTCO.Text;
if not(clicTCO) then TCO_modifie:=true; if not(clicTCO) then TCO_modifie:=true;
if not(selectionaffichee) then efface_entoure; if not(selectionaffichee[indexTCOcourant]) then efface_entoure(indexTCOCourant);
affiche_texte(XClicCell,YClicCell); affiche_texte(indexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]);
formTCO.EditTexte.Text:=EditTexteCCTCO.text; formTCO[indexTCOCourant].EditTexte.Text:=EditTexteCCTCO.text;
if not(selectionaffichee) then _entoure_cell_clic; if not(selectionaffichee[indexTCOcourant]) then _entoure_cell_clic(indexTCOCourant);
end; end;
procedure TFormConfCellTCO.ButtonFonteClick(Sender: TObject); procedure TFormConfCellTCO.ButtonFonteClick(Sender: TObject);
begin begin
change_fonte; change_fonte(indexTCOcourant);
end; end;
procedure TFormConfCellTCO.FormCreate(Sender: TObject); procedure TFormConfCellTCO.FormCreate(Sender: TObject);
@@ -341,11 +442,12 @@ begin
// fenetre toujours dessus // fenetre toujours dessus
if affevt then Affiche('FormConfCellTCO create',clyellow); if affevt then Affiche('FormConfCellTCO create',clyellow);
actualize:=false; actualize:=false;
formConfCellTCOAff:=true;
SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NoMove or SWP_NoSize); SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NoMove or SWP_NoSize);
iconeX:=50; // taille de l'icone iconeX:=50; // taille de l'icone
iconeY:=50; iconeY:=50;
ImagePaletteCC.Width:=iconeX;
ImagePaletteCC.Height:=iconeY;
RadioGroupSel.itemIndex:=0;
// dessine les composants - non utilisé // dessine les composants - non utilisé
{ {
i:=1; i:=1;
@@ -382,64 +484,66 @@ end;
procedure TFormConfCellTCO.ComboReprChange(Sender: TObject); procedure TFormConfCellTCO.ComboReprChange(Sender: TObject);
begin begin
if clicTCO or not(formConfCellTCOAff) or actualize then exit; if clicTCO or not(ConfCellTCO) or actualize then exit;
tco[XClicCell,YClicCell].Repr:=comborepr.ItemIndex; tco[indexTCOcourant,XclicCell[indexTCOcourant],YclicCell[indexTCOcourant]].Repr:=comborepr.ItemIndex;
efface_entoure;SelectionAffichee:=false; efface_entoure(indexTCOcourant);
FormTCO.ComboRepr.ItemIndex:=ComboRepr.ItemIndex; SelectionAffichee[indexTCOcourant]:=false;
//affiche_cellule(XClicCell,yClicCell); FormTCO[indexTCOcourant].ComboRepr.ItemIndex:=ComboRepr.ItemIndex;
affiche_tco; //affiche_cellule(XclicCell[indexTCO],YclicCell[indexTCO]);
affiche_tco(indexTCOcourant);
end; end;
procedure TFormConfCellTCO.CheckPinvClick(Sender: TObject); procedure TFormConfCellTCO.CheckPinvClick(Sender: TObject);
var Bimage : integer; var Bimage : integer;
begin begin
if (xClicCell=0) or (xClicCell>NbreCellX) or (yClicCell=0) or (yClicCell>NbreCelly) then exit; if (XclicCell[indexTCOcourant]=0) or (XclicCell[indexTCOcourant]>NbreCellX[indexTCOcourant]) or (YclicCell[indexTCOcourant]=0) or (YclicCell[indexTCOcourant]>NbreCelly[indexTCOcourant]) then exit;
Bimage:=Tco[xClicCell,yClicCell].Bimage; Bimage:=tco[indexTCOcourant,XclicCell[indexTCOcourant],YclicCell[indexTCOcourant]].Bimage;
if (bimage=2) or (bimage=3) or (bimage=4) or (bimage=5) or (bimage=12) or (bimage=13) or if (bimage=2) or (bimage=3) or (bimage=4) or (bimage=5) or (bimage=12) or (bimage=13) or
(bimage=14) or (bimage=15) or (bimage=24) (bimage=14) or (bimage=15) or (bimage=24)
then then
begin begin
TCO[xClicCell,yClicCell].inverse:=CheckPinv.checked; tco[indexTCOcourant,XclicCell[indexTCOcourant],YclicCell[indexTCOcourant]].inverse:=CheckPinv.checked;
formTCO.CheckPinv.checked:=CheckPinv.checked; formTCO[indexTCOcourant].CheckPinv.checked:=CheckPinv.checked;
TCO_modifie:=true; TCO_modifie:=true;
end; end;
end; end;
procedure TFormConfCellTCO.RadioButtonVClick(Sender: TObject); procedure TFormConfCellTCO.RadioButtonVClick(Sender: TObject);
begin begin
Vertical; Vertical(indexTCOcourant);
end; end;
procedure TFormConfCellTCO.RadioButtonHGClick(Sender: TObject); procedure TFormConfCellTCO.RadioButtonHGClick(Sender: TObject);
begin begin
tourne90G; tourne90G(indexTCOcourant);
end; end;
procedure TFormConfCellTCO.RadioButtonHDClick(Sender: TObject); procedure TFormConfCellTCO.RadioButtonHDClick(Sender: TObject);
begin begin
tourne90D; tourne90D(indexTCOcourant);
end; end;
procedure TFormConfCellTCO.RadioButtonGClick(Sender: TObject); procedure TFormConfCellTCO.RadioButtonGClick(Sender: TObject);
begin begin
signalG; signalG(indexTCOcourant);
end; end;
procedure TFormConfCellTCO.RadioButtonDClick(Sender: TObject); procedure TFormConfCellTCO.RadioButtonDClick(Sender: TObject);
begin begin
signalD; signalD(indexTCOcourant);
end; end;
procedure TFormConfCellTCO.ButtonFondClick(Sender: TObject); procedure TFormConfCellTCO.ButtonFondClick(Sender: TObject);
begin begin
change_couleur_fond; change_couleur_fond(indexTCOcourant);
end; end;
procedure TFormConfCellTCO.FormActivate(Sender: TObject); procedure TFormConfCellTCO.FormActivate(Sender: TObject);
begin begin
if affevt then Affiche('FormConfCellTCO activate',clyellow); if affevt then Affiche('FormConfCellTCO activate',clyellow);
if selectionaffichee then ButtonFond.caption:='Couleur de fond de la sélection' if selectionaffichee[indexTCOcourant] then ButtonFond.caption:='Couleur de fond de la sélection'
else ButtonFond.caption:='Couleur de fond de la cellule'; else ButtonFond.caption:='Couleur de fond de la cellule';
ConfCellTCO:=true;
end; end;
procedure TFormConfCellTCO.FormKeyPress(Sender: TObject; var Key: Char); procedure TFormConfCellTCO.FormKeyPress(Sender: TObject; var Key: Char);
@@ -449,10 +553,16 @@ end;
procedure TFormConfCellTCO.BitBtnOkClick(Sender: TObject); procedure TFormConfCellTCO.BitBtnOkClick(Sender: TObject);
begin begin
close if affevt then Affiche('BitBtnOk',clyellow);
ConfCellTCO:=false;
close;
end; end;
// extraire les points de connexion de l'icone (de 0 à 7) // extraire les 4 points de connexion de l'icone (de 0 à 7)
// il y a au maximum 4 points de connexion de la voie sur une TJD/S ou un croisement.
// Un aiguillage a 3 points de connexion
// un élément de voie a 2 points de connexion.
// Si un élément de connexion n'existe pas, il a la valeur -1.
procedure extrait_connect(numero : integer;var connect1,connect2,connect3,connect4 : integer); procedure extrait_connect(numero : integer;var connect1,connect2,connect3,connect4 : integer);
var i,j : integer; var i,j : integer;
begin begin
@@ -476,24 +586,21 @@ end;
procedure TFormConfCellTCO.EditTypeImageChange(Sender: TObject); procedure TFormConfCellTCO.EditTypeImageChange(Sender: TObject);
var Bimage,erreur : integer; var Bimage,erreur : integer;
begin begin
if clicTCO or not(formConfCellTCOAff) or actualize then exit; if clicTCO or not(ConfCellTCO) or actualize then exit;
if affevt then Affiche('TCO evt editTypeImageKeyPress',clorange); if affevt then Affiche('TCO evt editTypeImageKeyPress',clorange);
Val(EditTypeImage.Text,Bimage,erreur); Val(EditTypeImage.Text,Bimage,erreur);
if (erreur<>0) or not(Bimage in[0..29,32..34,50,51]) then if (erreur<>0) or not(Bimage in[0..29,32..34,50,51]) then exit;
begin
exit;
end;
TCO_modifie:=true; TCO_modifie:=true;
tco[XClicCell,YClicCell].Bimage:=Bimage; tco[IndexTCOCourant,XclicCell[IndexTCOCourant],YclicCell[IndexTCOCourant]].Bimage:=Bimage;
FormTCO.EditTypeImage.text:=intToSTR(BImage); FormTCO[IndexTCOCourant].EditTypeImage.text:=intToSTR(BImage);
actualise; // pour mise à jour de l'image de la fenetre FormConfCellTCO actualise(IndexTCOCourant); // pour mise à jour de l'image de la fenetre FormConfCellTCO
efface_entoure; efface_entoure(IndexTCOCourant);
Efface_Cellule(FormTCO.ImageTCO.Canvas,XClicCell,yClicCell,pmCopy); Efface_Cellule(IndexTCOCourant,FormTCO[IndexTCOCourant].ImageTCO.Canvas,XclicCell[IndexTCOCourant],YclicCell[IndexTCOCourant],pmCopy);
affiche_cellule(XClicCell,YClicCell); affiche_cellule(IndexTCOCourant,XclicCell[IndexTCOCourant],YclicCell[IndexTCOCourant]);
end; end;
procedure copie_cellule; procedure copie_cellule(index : integer);
begin begin
// affiche l'icone cliquée dans la fenetre ----------------------------------------------- // affiche l'icone cliquée dans la fenetre -----------------------------------------------
// pour que le stretchBlt soit visible, il faut mettre à jour la taille du bitmap // pour que le stretchBlt soit visible, il faut mettre à jour la taille du bitmap
@@ -505,13 +612,15 @@ begin
// destination masque avec mise à l'échelle // destination masque avec mise à l'échelle
StretchBlt(FormConfCellTCO.ImagePaletteCC.canvas.Handle,0,0,iconeX,iconeY, StretchBlt(FormConfCellTCO.ImagePaletteCC.canvas.Handle,0,0,iconeX,iconeY,
PcanvasTCO.Handle,(xClicCell-1)*largeurCell,(yClicCell-1)*hauteurCell,largeurCell,hauteurCell,srccopy); PcanvasTCO[index].Handle,(XclicCell[index]-1)*largeurCell[index],(YclicCell[index]-1)*hauteurCell[index],largeurCell[index],hauteurCell[index],srccopy);
FormConfCellTCO.ImagePaletteCC.repaint; // obligatoire sinon il ne s'affiche pas FormConfCellTCO.ImagePaletteCC.repaint; // obligatoire sinon il ne s'affiche pas
end; end;
procedure TFormConfCellTCO.ImagePaletteCCMouseDown(Sender: TObject; procedure TFormConfCellTCO.ImagePaletteCCMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer); Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var c,x0,y0,xc,yc,xf,yf,element,i,erreur,x1,y1,c1,c2,c3,c4 : integer; var c,x0,y0,xc,yc,xf,yf,element,i,j,erreur,x1,y1,c1,c2,c3,c4,
Xclic,Yclic : integer;
crois,IconeBut : boolean;
begin begin
x0:=0; // x origine x0:=0; // x origine
y0:=0; // y origine y0:=0; // y origine
@@ -519,10 +628,14 @@ begin
xc:=x0+(iconeX div 2); // x centre xc:=x0+(iconeX div 2); // x centre
xf:=x0+iconeX; // x fin xf:=x0+iconeX; // x fin
yf:=y0+iconeY; // y fin yf:=y0+iconeY; // y fin
Xclic:=XclicCell[indexTCOCourant];
Yclic:=YclicCell[indexTCOCourant];
//Affiche(IntToSTR(x)+' '+IntToSTR(y),clyellow); //Affiche(IntToSTR(x)+' '+IntToSTR(y),clyellow);
val(editTypeImage.text,element,erreur); val(editTypeImage.text,element,erreur);
if erreur<>0 then exit; if erreur<>0 then exit;
extrait_connect(element,c1,c2,c3,c4); extrait_connect(element,c1,c2,c3,c4);
@@ -551,35 +664,166 @@ begin
// x1,y1 désigne le permier point du segment // x1,y1 désigne le permier point du segment
if point_Sur_Segment(x,y,x1,y1,xc,yc) then if point_Sur_Segment(x,y,x1,y1,xc,yc) then
begin begin
if not(testbit(tco[xClicCell,yClicCell].epaisseurs,c)) then iconeBut:=(Element=1) or (Element=10) or (Element=11) or (Element=20); // icones pouvant afficher un buttoir
with ImagePaletteCC.Picture.Bitmap.Canvas do crois:=(element=21) or (element=22) or (element=23) or (element=25) ;
begin
efface_entoure;
tco[xClicCell,yClicCell].epaisseurs:=setbit(tco[xClicCell,yClicCell].epaisseurs,c);
efface_cellule(PCanvasTCO,xClicCell,yClicCell,PmCopy);
dessine_icone(PCanvasTCO,element,xClicCell,yClicCell,0);
copie_cellule;
end
else
with ImagePaletteCC.Picture.Bitmap.Canvas do
begin
efface_entoure;
tco[xClicCell,yClicCell].epaisseurs:=Razbit(tco[xClicCell,yClicCell].epaisseurs,c);
efface_cellule(PCanvasTCO,xClicCell,yClicCell,PmCopy);
dessine_icone(PCanvasTCO,element,xClicCell,yClicCell,0);
copie_cellule;
end
end;
// traitement des épaisseurs : mode épaisseur
if (not(iconeBut) and not(crois) or (IconeBut and (FormConfCellTCO.RadioGroupSel.Itemindex=0)) ) or
(crois and (FormConfCellTCO.RadioGroupSel.Itemindex=0))
then
begin
efface_entoure(IndexTCOCourant);
if not(testbit(tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].epaisseurs,c)) then
// mise à 1 du bit si pas croisement et sélection sur épaisseurs
begin
// si élément à 2 connexions, allumer les deux bits
case Element of
1 : tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].epaisseurs:=$88;
6 : tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].epaisseurs:=$09;
7 : tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].epaisseurs:=$84;
8 : tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].epaisseurs:=$90;
9 : tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].epaisseurs:=$48;
10 : tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].epaisseurs:=$44;
11 : tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].epaisseurs:=$11;
16 : tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].epaisseurs:=$21;
17 : tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].epaisseurs:=$24;
18 : tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].epaisseurs:=$42;
19 : tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].epaisseurs:=$14;
20 : tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].epaisseurs:=$22;
else
tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].epaisseurs:=setbit(tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].epaisseurs,c);
end;
end
else
begin
// si élément à 2 connexions, razer les deux bits
if (Element=1) or (Element=6) or (Element=7) or (Element=8) or (Element=9) or (Element=10) or
(Element=11) or (Element=16) or (Element=17) or (Element=18) or (Element=19) or (Element=20) then
tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].epaisseurs:=0
else
tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].epaisseurs:=Razbit(tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].epaisseurs,c);
end;
end;
// traitement des buttoirs : mode buttoir supporté par les éléments 1 10 11 20
if ((element=1) or (element=10) or (element=11) or (element=20)) and (FormConfCellTCO.RadioGroupSel.Itemindex=1) then
begin
efface_entoure(IndexTCOCourant);
if not(testbit(tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].buttoir,c)) then
begin
// mise à 1 du bit si pas buttoir et sélection sur buttoir
tco[IndexTCOCourant,Xclic,Yclic].buttoir:=0;
tco[IndexTCOCourant,Xclic,Yclic].buttoir:=setbit(tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].buttoir,c)
end
else
begin
tco[IndexTCOCourant,Xclic,Yclic].buttoir:=0;
end;
end;
// traitement des ponts : croisement et mode croisement
if crois and (FormConfCellTCO.RadioGroupSel.Itemindex=1) then
begin
efface_entoure(IndexTCOCourant);
// si pas croisement et sélection sur épaisseurs
if not(testbit(tco[IndexTCOCourant,Xclic,Yclic].pont,c)) then
begin
tco[IndexTCOCourant,Xclic,Yclic].pont:=0; // raz de tous les autres
tco[IndexTCOCourant,Xclic,Yclic].pont:=setbit(tco[IndexTCOCourant,Xclic,Yclic].pont,c);
end
else
begin
// la raz du bit c doit mettre à 0 le bit opposé aussi
tco[IndexTCOCourant,Xclic,Yclic].pont:=Razbit(tco[IndexTCOCourant,Xclic,Yclic].pont,c);
case c of
0 : j:=4;
1 : j:=5;
2 : j:=6;
3 : j:=7;
4 : j:=0;
5 : j:=1;
6 : j:=2;
7 : j:=3;
end;
tco[IndexTCOCourant,Xclic,Yclic].pont:=Razbit(tco[IndexTCOCourant,Xclic,Yclic].pont,j);
end;
end;
efface_cellule(IndexTCOCourant,PCanvasTCO[IndexTCOCourant],Xclic,Yclic,PmCopy);
dessine_icone(IndexTCOCourant,PCanvasTCO[IndexTCOCourant],element,Xclic,Yclic,0);
copie_cellule(IndexTCOCourant);
end;
end; end;
end; end;
end;
procedure TFormConfCellTCO.RadioButtonAffTCOClick(Sender: TObject);
var x,y : integer;
begin
if clicTCO or actualize then exit;
if RadioButtonAffTCO.Checked then
begin
x:=XClicCell[IndexTCOCourant];
y:=yClicCell[IndexTCOCourant];
tco[IndexTCOCourant,X,Y].PiedFeu:=1;
efface_cellule(indexTCOCourant,PCanvasTCO[indexTCOcourant],x,y,pmcopy);
affiche_cellule(IndexTCOCourant,x,Y);
actualise(indexTCOCourant);
end;
end;
procedure TFormConfCellTCO.RadioButtonSCClick(Sender: TObject);
var x,y : integer;
begin
if clicTCO or actualize then exit;
if RadioButtonSC.Checked then
begin
x:=XClicCell[IndexTCOCourant];
y:=yClicCell[IndexTCOCourant];
tco[IndexTCOCourant,X,Y].PiedFeu:=2;
efface_cellule(indexTCOCourant,PCanvasTCO[indexTCOcourant],x,y,pmcopy);
affiche_cellule(IndexTCOCourant,x,Y);
actualise(indexTCOCourant);
end;
end;
procedure TFormConfCellTCO.EditNumTCOChange(Sender: TObject);
var i,erreur : integer;
begin
if clicTCO then exit;
val(EditNumTCO.Text,i,erreur);
if erreur<>0 then exit;
if i>NbreTCO then
begin
EditNumTCO.Text:=intToSTR(NbreTCO);
i:=NbreTCO;
end;
tco[IndexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].FeuOriente:=i;
end; end;
procedure TFormConfCellTCO.FormHide(Sender: TObject);
begin
if affevt then Affiche('FormFoncCellTCO hide',clyellow);
ConfCellTCO:=false;
end;
procedure TFormConfCellTCO.RadioButtonCDMClick(Sender: TObject);
var x,y : integer;
begin
if clicTCO or actualize then exit;
if RadioButtonCDM.Checked then
begin
x:=XClicCell[IndexTCOCourant];
y:=yClicCell[IndexTCOCourant];
tco[IndexTCOCourant,X,Y].PiedFeu:=3;
efface_cellule(indexTCOCourant,PCanvasTCO[indexTCOcourant],x,y,pmcopy);
affiche_cellule(IndexTCOCourant,x,Y);
actualise(indexTCOCourant);
end;
end;
begin begin
end. end.
+198 -124
View File
@@ -1,9 +1,9 @@
object FormConfigTCO: TFormConfigTCO object FormConfigTCO: TFormConfigTCO
Left = 311 Left = 294
Top = 218 Top = 201
BorderStyle = bsDialog BorderStyle = bsDialog
Caption = 'Configuration du TCO' Caption = 'Configuration du TCO'
ClientHeight = 293 ClientHeight = 400
ClientWidth = 665 ClientWidth = 665
Color = clBtnFace Color = clBtnFace
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
@@ -13,99 +13,31 @@ object FormConfigTCO: TFormConfigTCO
Font.Style = [] Font.Style = []
OldCreateOrder = False OldCreateOrder = False
OnActivate = FormActivate OnActivate = FormActivate
OnCreate = FormCreate
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
object Label3: TLabel
Left = 16
Top = 44
Width = 156
Height = 13
Caption = 'Nombre de cellules en horizontal:'
end
object Label4: TLabel
Left = 16
Top = 68
Width = 145
Height = 13
Caption = 'Nombre de cellules en vertical:'
end
object LabelErreur: TLabel object LabelErreur: TLabel
Left = 16 Left = 16
Top = 216 Top = 216
Width = 3 Width = 3
Height = 13 Height = 13
end end
object LabelMaxX: TLabel
Left = 235
Top = 44
Width = 53
Height = 13
Caption = 'LabelMaxX'
end
object LabelMaxY: TLabel
Left = 235
Top = 68
Width = 53
Height = 13
Caption = 'LabelMaxY'
end
object Ratio: TLabel
Left = 16
Top = 16
Width = 25
Height = 13
Caption = 'Ratio'
end
object Label14: TLabel
Left = 80
Top = 16
Width = 17
Height = 13
Caption = '/10'
end
object ButtonDessine: TButton object ButtonDessine: TButton
Left = 16 Left = 8
Top = 256 Top = 368
Width = 75 Width = 75
Height = 25 Height = 25
Caption = 'Redessine' Caption = 'Redessine'
TabOrder = 0 TabOrder = 0
OnClick = ButtonDessineClick OnClick = ButtonDessineClick
end end
object CheckDessineGrille: TCheckBox
Left = 160
Top = 16
Width = 97
Height = 17
Caption = 'dessine grille'
TabOrder = 1
OnClick = CheckDessineGrilleClick
end
object EditNbCellX: TEdit
Left = 184
Top = 40
Width = 49
Height = 21
TabOrder = 2
Text = 'EditNbCellX'
OnChange = EditNbCellXChange
end
object EditNbCellY: TEdit
Left = 184
Top = 64
Width = 49
Height = 21
TabOrder = 3
Text = 'EditNbCellY'
OnChange = EditNbCellYChange
end
object GroupBox1: TGroupBox object GroupBox1: TGroupBox
Left = 304 Left = 304
Top = 8 Top = 8
Width = 353 Width = 353
Height = 273 Height = 265
Caption = 'Couleurs ' Caption = 'Couleurs '
TabOrder = 4 TabOrder = 1
object Label5: TLabel object Label5: TLabel
Left = 21 Left = 21
Top = 32 Top = 32
@@ -179,8 +111,8 @@ object FormConfigTCO: TFormConfigTCO
OnClick = ImagecantonClick OnClick = ImagecantonClick
end end
object Label10: TLabel object Label10: TLabel
Left = 48 Left = 56
Top = 248 Top = 240
Width = 258 Width = 258
Height = 13 Height = 13
Caption = 'Cliquez sur l'#39'ic'#244'ne pour changer la couleur de l'#39#233'l'#233'ment' Caption = 'Cliquez sur l'#39'ic'#244'ne pour changer la couleur de l'#39#233'l'#233'ment'
@@ -237,8 +169,8 @@ object FormConfigTCO: TFormConfigTCO
OnClick = ImagePiedFeuClick OnClick = ImagePiedFeuClick
end end
object CheckCouleur: TCheckBox object CheckCouleur: TCheckBox
Left = 56 Left = 64
Top = 208 Top = 216
Width = 281 Width = 281
Height = 17 Height = 17
Caption = 'Couleur du canton activ'#233' par la couleur du train' Caption = 'Couleur du canton activ'#233' par la couleur du train'
@@ -247,82 +179,224 @@ object FormConfigTCO: TFormConfigTCO
end end
end end
object Memo1: TMemo object Memo1: TMemo
Left = 16 Left = 304
Top = 184 Top = 344
Width = 273 Width = 353
Height = 65 Height = 49
BevelInner = bvLowered BevelInner = bvLowered
BevelKind = bkFlat BevelKind = bkFlat
BorderStyle = bsNone BorderStyle = bsNone
Lines.Strings = ( Lines.Strings = (
'Si vous d'#233'finissez un nombre de cellules en '
'horizontal ou en vertical plus petit(s) que l'#39'actuel(s), ' 'Si vous d'#233'finissez un nombre de cellules en horizontal ou en ver' +
'alors le TCO sera tronqu'#233', et les '#233'l'#233'ments tronqu'#233's ' 'tical plus '
'petit(s) que l'#39'actuel(s), alors le TCO sera tronqu'#233', et les '#233'l'#233'm' +
'ents tronqu'#233's '
'seront perdus '#224' la prochaine sauvegarde.') 'seront perdus '#224' la prochaine sauvegarde.')
ReadOnly = True ReadOnly = True
TabOrder = 5 TabOrder = 2
end
object EditRatio: TEdit
Left = 48
Top = 13
Width = 25
Height = 21
Hint = 'Rapport X/Y d'#39'affichage des cellules'
ParentShowHint = False
ShowHint = True
TabOrder = 6
Text = 'EditRatio'
end end
object BitBtnOk: TBitBtn object BitBtnOk: TBitBtn
Left = 216 Left = 208
Top = 256 Top = 368
Width = 75 Width = 75
Height = 25 Height = 25
TabOrder = 7 TabOrder = 3
OnClick = BitBtnOkClick OnClick = BitBtnOkClick
Kind = bkOK Kind = bkOK
end end
object RadioGroup1: TRadioGroup object RadioGroup1: TRadioGroup
Left = 16 Left = 304
Top = 120 Top = 280
Width = 273 Width = 353
Height = 57 Height = 57
Caption = 'Graphisme' Caption = 'Graphisme'
TabOrder = 8 TabOrder = 4
end end
object RadioButtonLignes: TRadioButton object RadioButtonLignes: TRadioButton
Left = 40 Left = 352
Top = 136 Top = 296
Width = 113 Width = 113
Height = 17 Height = 17
Caption = 'Lignes bris'#233'es' Caption = 'Lignes bris'#233'es'
TabOrder = 9 TabOrder = 5
OnClick = RadioButtonLignesClick OnClick = RadioButtonLignesClick
end end
object RadioButtonCourbes: TRadioButton object RadioButtonCourbes: TRadioButton
Left = 40 Left = 352
Top = 152 Top = 312
Width = 113 Width = 113
Height = 17 Height = 17
Caption = 'Lignes courbes' Caption = 'Lignes courbes'
TabOrder = 10 TabOrder = 6
OnClick = RadioButtonCourbesClick OnClick = RadioButtonCourbesClick
end end
object CheckBoxCreerEvt: TCheckBox object GroupBox3: TGroupBox
Left = 16 Left = 8
Top = 96 Top = 8
Width = 281 Width = 289
Height = 17 Height = 89
Hint = 'Pour simuler l'#39'action d'#39'une locomotive sur un d'#233'tecteur' Caption = 'Configuration du TCO '
Caption = 'Cr'#233'er '#233'v'#232'nement d'#233'tecteur sur double clic d'#233'tecteur' TabOrder = 7
ParentShowHint = False object Label3: TLabel
ShowHint = True Left = 16
TabOrder = 11 Top = 20
OnClick = CheckBoxCreerEvtClick Width = 156
Height = 13
Caption = 'Nombre de cellules en horizontal:'
end
object Label4: TLabel
Left = 16
Top = 44
Width = 145
Height = 13
Caption = 'Nombre de cellules en vertical:'
end
object labelMaxX: TLabel
Left = 224
Top = 20
Width = 49
Height = 13
Caption = 'labelMaxX'
end
object labelMaxY: TLabel
Left = 224
Top = 44
Width = 49
Height = 13
Caption = 'labelMaxY'
end
object Label16: TLabel
Left = 152
Top = 66
Width = 75
Height = 13
Caption = 'Ouvrir sur '#233'cran'
end
object EditNbCellX: TEdit
Left = 176
Top = 16
Width = 41
Height = 21
TabOrder = 0
Text = 'EditNbCellX'
end
object EditNbCellY: TEdit
Left = 176
Top = 40
Width = 41
Height = 21
TabOrder = 1
Text = 'EditNbCellY'
end
object CheckDessineGrille: TCheckBox
Left = 16
Top = 64
Width = 97
Height = 17
Caption = 'dessine grille'
TabOrder = 2
OnClick = CheckDessineGrilleClick
end
object EditEcran: TEdit
Left = 240
Top = 64
Width = 25
Height = 21
Hint = 'Num'#233'ro de l'#39#233'cran sur lequel le TCO s'#39'ouvrira'
ParentShowHint = False
ShowHint = True
TabOrder = 3
Text = 'EditEcran'
end
end
object GroupBox2: TGroupBox
Left = 8
Top = 104
Width = 289
Height = 257
Caption = 'Configuration de tous les TCO'
TabOrder = 8
object Ratio: TLabel
Left = 8
Top = 208
Width = 25
Height = 13
Caption = 'Ratio'
end
object Label14: TLabel
Left = 72
Top = 208
Width = 17
Height = 13
Caption = '/10'
end
object Label15: TLabel
Left = 8
Top = 184
Width = 86
Height = 13
Caption = 'Nombre de TCO : '
end
object Label2: TLabel
Left = 144
Top = 184
Width = 64
Height = 13
Caption = '(10 maximum)'
end
object StringGridTCO: TStringGrid
Left = 8
Top = 16
Width = 273
Height = 161
ColCount = 3
RowCount = 11
TabOrder = 0
ColWidths = (
64
64
64)
RowHeights = (
24
24
24
24
24
24
24
24
24
24
24)
end
object EditRatio: TEdit
Left = 40
Top = 205
Width = 25
Height = 21
Hint = 'Rapport X/Y d'#39'affichage des cellules'
ParentShowHint = False
ShowHint = True
TabOrder = 1
Text = 'EditRatio'
end
object CheckBoxCreerEvt: TCheckBox
Left = 8
Top = 232
Width = 273
Height = 17
Hint = 'Pour simuler l'#39'action d'#39'une locomotive sur un d'#233'tecteur'
Caption = 'Cr'#233'er '#233'v'#232'nement d'#233'tecteur sur double clic d'#233'tecteur'
ParentShowHint = False
ShowHint = True
TabOrder = 2
OnClick = CheckBoxCreerEvtClick
end
end end
object ColorDialog1: TColorDialog object ColorDialog1: TColorDialog
OnShow = ColorDialog1Show OnShow = ColorDialog1Show
Left = 272 Left = 272
Top = 8
end end
end end
+131 -74
View File
@@ -5,16 +5,11 @@ interface
uses uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls , UnitTCO, ExtCtrls, Menus, Dialogs, StdCtrls , UnitTCO, ExtCtrls, Menus,
Buttons; Buttons, Grids;
type type
TFormConfigTCO = class(TForm) TFormConfigTCO = class(TForm)
Label3: TLabel;
Label4: TLabel;
ButtonDessine: TButton; ButtonDessine: TButton;
CheckDessineGrille: TCheckBox;
EditNbCellX: TEdit;
EditNbCellY: TEdit;
LabelErreur: TLabel; LabelErreur: TLabel;
ColorDialog1: TColorDialog; ColorDialog1: TColorDialog;
GroupBox1: TGroupBox; GroupBox1: TGroupBox;
@@ -33,13 +28,8 @@ type
ImageTexte: TImage; ImageTexte: TImage;
Label11: TLabel; Label11: TLabel;
Label12: TLabel; Label12: TLabel;
LabelMaxX: TLabel;
LabelMaxY: TLabel;
ImageQuai: TImage; ImageQuai: TImage;
Label13: TLabel; Label13: TLabel;
EditRatio: TEdit;
Ratio: TLabel;
Label14: TLabel;
CheckCouleur: TCheckBox; CheckCouleur: TCheckBox;
Label1: TLabel; Label1: TLabel;
ImagePiedFeu: TImage; ImagePiedFeu: TImage;
@@ -47,7 +37,24 @@ type
RadioGroup1: TRadioGroup; RadioGroup1: TRadioGroup;
RadioButtonLignes: TRadioButton; RadioButtonLignes: TRadioButton;
RadioButtonCourbes: TRadioButton; RadioButtonCourbes: TRadioButton;
GroupBox3: TGroupBox;
Label3: TLabel;
Label4: TLabel;
GroupBox2: TGroupBox;
StringGridTCO: TStringGrid;
EditNbCellX: TEdit;
EditNbCellY: TEdit;
labelMaxX: TLabel;
labelMaxY: TLabel;
Ratio: TLabel;
EditRatio: TEdit;
Label14: TLabel;
CheckBoxCreerEvt: TCheckBox; CheckBoxCreerEvt: TCheckBox;
Label15: TLabel;
Label2: TLabel;
CheckDessineGrille: TCheckBox;
EditEcran: TEdit;
Label16: TLabel;
procedure ButtonDessineClick(Sender: TObject); procedure ButtonDessineClick(Sender: TObject);
procedure FormActivate(Sender: TObject); procedure FormActivate(Sender: TObject);
procedure ImageAigClick(Sender: TObject); procedure ImageAigClick(Sender: TObject);
@@ -67,6 +74,7 @@ type
procedure CheckCouleurClick(Sender: TObject); procedure CheckCouleurClick(Sender: TObject);
procedure RadioButtonLignesClick(Sender: TObject); procedure RadioButtonLignesClick(Sender: TObject);
procedure RadioButtonCourbesClick(Sender: TObject); procedure RadioButtonCourbesClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private private
{ Déclarations privées } { Déclarations privées }
public public
@@ -74,13 +82,13 @@ type
end; end;
var FormConfigTCO: TFormConfigTCO; var FormConfigTCO: TFormConfigTCO;
AvecGrille : boolean; clicConf : boolean;
titre_couleur : string; titre_couleur : string;
graphisme : integer; graphisme : integer;
implementation implementation
uses UnitPrinc ; uses UnitPrinc,unitconfig ;
{$R *.dfm} {$R *.dfm}
@@ -109,7 +117,7 @@ begin
end; end;
end; end;
procedure dessine_icones_config; procedure dessine_icones_config(indexTCO : integer);
var r : Trect; var r : Trect;
x1,y1,x2,y2,jy1,jy2,larg,haut : integer; x1,y1,x2,y2,jy1,jy2,larg,haut : integer;
begin begin
@@ -189,8 +197,8 @@ begin
canvas.pen.color:=clQuai; canvas.pen.color:=clQuai;
x1:=0; x1:=0;
x2:=x1+width; x2:=x1+width;
jy1:=(Haut div 2)-round(12*frYGlob); // pos Y de la bande sup jy1:=(Haut div 2)-round(12*fryGlob[indexTCO]); // pos Y de la bande sup
jy2:=(Haut div 2)+round(12*frYGlob); // pos Y de la bande inf jy2:=(Haut div 2)+round(12*fryGlob[indexTCO]); // pos Y de la bande inf
canvas.PolyGon([point(x1,jy1),point(x2,jy1),point(x2,jy2),point(x1,jy2)]); canvas.PolyGon([point(x1,jy1),point(x2,jy1),point(x2,jy2),point(x1,jy2)]);
end; end;
@@ -207,14 +215,14 @@ begin
x1:=Larg div 2; x1:=Larg div 2;
y1:=0; y1:=0;
canvas.moveTo(x1,y1); canvas.moveTo(x1,y1);
y2:=HauteurCell div 2; y2:=HauteurCell[indexTCO] div 2;
canvas.LineTo(x1,y2); canvas.LineTo(x1,y2);
canvas.LineTo(x1-10,y2); canvas.LineTo(x1-10,y2);
end; end;
end; end;
function verif_config_TCO : boolean; // renvoie true si ok function verif_config_TCO(indexTCO : integer) : boolean; // renvoie true si ok
var erreur,mx,my : integer; var erreur,mx,my : integer;
ok : boolean; ok : boolean;
begin begin
@@ -227,7 +235,7 @@ begin
LabelErreur.caption:='Erreur: nombre de cellules X: mini=20 maxi='+IntToSTR(MaxCellX); LabelErreur.caption:='Erreur: nombre de cellules X: mini=20 maxi='+IntToSTR(MaxCellX);
ok:=false; ok:=false;
end end
else NbreCellX:=mx; else NbreCellX[indexTCO]:=mx;
Val(EditNbCellY.Text,my,erreur); Val(EditNbCellY.Text,my,erreur);
if (my<10) or (my>MaxCellY) then if (my<10) or (my>MaxCellY) then
@@ -235,15 +243,15 @@ begin
LabelErreur.caption:='Erreur: nombre de cellules Y: mini=10 maxi='+IntToSTR(MaxCellY); LabelErreur.caption:='Erreur: nombre de cellules Y: mini=10 maxi='+IntToSTR(MaxCellY);
ok:=false; ok:=false;
end end
else NbreCellY:=my; else NbreCellY[indexTCO]:=my;
if LargeurCell*NbreCellX>8192 then if LargeurCell[indexTCO]*NbreCellX[indexTCO]>8192 then
begin begin
LabelErreur.caption:='Erreur: nombre de cellules X'; LabelErreur.caption:='Erreur: nombre de cellules X';
ok:=false; ok:=false;
end; end;
if HauteurCell*NbreCellY>8192 then if HauteurCell[indexTCO]*NbreCellY[indexTCO]>8192 then
begin begin
LabelErreur.caption:='Erreur: nombre de cellules Y'; LabelErreur.caption:='Erreur: nombre de cellules Y';
ok:=false; ok:=false;
@@ -251,46 +259,56 @@ begin
val(EditRatio.text,RatioC,erreur); val(EditRatio.text,RatioC,erreur);
AvecGrille:=checkDessineGrille.Checked; AvecGrille[IndexTCO]:=checkDessineGrille.Checked;
if checkCouleur.checked then ModeCouleurCanton:=1 else ModeCouleurCanton:=0; if checkCouleur.checked then ModeCouleurCanton:=1 else ModeCouleurCanton:=0;
end; end;
verif_config_TCO:=ok; verif_config_TCO:=ok;
NbCellulesTCO:=NbreCellX*NbreCellY; NbCellulesTCO[indexTCO]:=NbreCellX[indexTCO]*NbreCellY[indexTCO];
end; end;
procedure TFormConfigTCO.ButtonDessineClick(Sender: TObject); procedure TFormConfigTCO.ButtonDessineClick(Sender: TObject);
begin begin
if verif_config_TCO then if verif_config_TCO(indexTCOCourant) then
begin begin
with formTCO do with formTCO[indexTCOCourant] do
begin begin
ImageTCO.Width:=LargeurCell*NbreCellX; ImageTCO.Width:=LargeurCell[indexTCOCourant]*NbreCellX[indexTCOCourant];
ImageTCO.Height:=HauteurCell*NbreCellY; ImageTCO.Height:=HauteurCell[indexTCOCourant]*NbreCellY[indexTCOCourant];
end; end;
calcul_cellules; calcul_cellules(indexTCOCourant);
affiche_TCO; affiche_TCO(indexTCOCourant);
end; end;
end; end;
procedure TFormConfigTCO.FormActivate(Sender: TObject); procedure TFormConfigTCO.FormActivate(Sender: TObject);
var s: string; var s: string;
i : integer;
begin begin
EditNbCellX.Text:=IntToSTR(NbreCellX); clicConf:=true;
EditNbCellY.Text:=IntToSTR(NbreCellY); caption:='Configuration du tco '+inttostr(indextcocourant)+' Fichier '+NomFichierTCO[indextcocourant];
groupBox3.caption:='Configuration du tco '+inttostr(indextcocourant);
EditNbCellX.Text:=IntToSTR(NbreCellX[indexTCOcourant]);
EditNbCellY.Text:=IntToSTR(NbreCellY[indexTCOcourant]);
EditRatio.text:=IntToSTR(RatioC); EditRatio.text:=IntToSTR(RatioC);
EditEcran.Text:=intToSTR(EcranTCO[indexTCOcourant]);
RadioButtonCourbes.checked:=graphisme=2; RadioButtonCourbes.checked:=graphisme=2;
RadioButtonLignes.checked:=graphisme=1; RadioButtonLignes.checked:=graphisme=1;
checkDessineGrille.Checked:=AvecGrille; checkDessineGrille.Checked:=AvecGrille[IndexTCOCourant];
checkCouleur.Checked:=ModeCouleurCanton=1; checkCouleur.Checked:=ModeCouleurCanton=1;
labelMaxX.caption:='Max='+intToSTR(MaxCellX); labelMaxX.caption:='Max='+intToSTR(MaxCellX);
labelMaxY.caption:='Max='+intToSTR(MaxCellY); labelMaxY.caption:='Max='+intToSTR(MaxCellY);
Label15.caption:='Nbre de TCOs : '+intToSTR(NbreTCO);
CheckBoxCreerEvt.checked:=EvtClicDet; CheckBoxCreerEvt.checked:=EvtClicDet;
dessine_icones_config; dessine_icones_config(indexTCOCourant);
s:='ColorA='+IntToHex(clfond,6); // ajouter aux couleurs personnalisées s:='ColorA='+IntToHex(clfond,6); // ajouter aux couleurs personnalisées
colorDialog1.CustomColors.Add(s); colorDialog1.CustomColors.Add(s);
for i:=1 to 10 do
stringGridTCO.Cells[1,i]:=NomFichierTCO[i];
// stringGridTCO.canvas.Font.Style:=[fsBOld];
clicConf:=false;
end; end;
@@ -306,7 +324,7 @@ begin
begin begin
clVoies:=ColorDialog1.Color; clVoies:=ColorDialog1.Color;
TCO_modifie:=true; TCO_modifie:=true;
dessine_icones_config; dessine_icones_config(indexTCOCourant);
end; end;
end; end;
@@ -322,7 +340,7 @@ begin
begin begin
clfond:=ColorDialog1.Color; clfond:=ColorDialog1.Color;
TCO_modifie:=true; TCO_modifie:=true;
dessine_icones_config; dessine_icones_config(indexTCOCourant);
end; end;
end; end;
@@ -339,7 +357,7 @@ begin
begin begin
ClGrille:=ColorDialog1.Color; ClGrille:=ColorDialog1.Color;
TCO_modifie:=true; TCO_modifie:=true;
dessine_icones_config; dessine_icones_config(indexTCOCourant);
end; end;
end; end;
@@ -356,7 +374,7 @@ begin
begin begin
ClAllume:=ColorDialog1.Color; ClAllume:=ColorDialog1.Color;
TCO_modifie:=true; TCO_modifie:=true;
dessine_icones_config; dessine_icones_config(indexTCOCourant);
end; end;
end; end;
@@ -368,7 +386,7 @@ begin
if ColorDialog1.execute then if ColorDialog1.execute then
begin begin
ClCanton:=ColorDialog1.Color; ClCanton:=ColorDialog1.Color;
dessine_icones_config; dessine_icones_config(indexTCOCourant);
end; end;
end; end;
@@ -380,7 +398,7 @@ begin
if ColorDialog1.execute then if ColorDialog1.execute then
begin begin
ClTexte:=ColorDialog1.Color; ClTexte:=ColorDialog1.Color;
dessine_icones_config; dessine_icones_config(indexTCOCourant);
end; end;
end; end;
@@ -392,7 +410,7 @@ begin
if ColorDialog1.execute then if ColorDialog1.execute then
begin begin
ClQuai:=ColorDialog1.Color; ClQuai:=ColorDialog1.Color;
dessine_icones_config; dessine_icones_config(indexTCOCourant);
end; end;
end; end;
@@ -404,7 +422,7 @@ begin
if ColorDialog1.execute then if ColorDialog1.execute then
begin begin
clPiedSignal:=ColorDialog1.Color; clPiedSignal:=ColorDialog1.Color;
dessine_icones_config; dessine_icones_config(indexTCOCourant);
end; end;
end; end;
@@ -416,43 +434,39 @@ end;
procedure TFormConfigTCO.BitBtnOkClick(Sender: TObject); procedure TFormConfigTCO.BitBtnOkClick(Sender: TObject);
var ok : boolean; var ok : boolean;
x,y : integer; index,i,x,y,erreur : integer;
s : string;
begin begin
ok:=true; ok:=true;
index:=indexTCOCourant;
if verif_config_TCO then if verif_config_TCO(indexTCOCourant) then
begin begin
with FormTCO.ImageTCO do with FormTCO[index].ImageTCO do
begin begin
Width:=LargeurCell*NbreCellX; Width:=LargeurCell[index]*NbreCellX[index];
Height:=HauteurCell*NbreCellY; Height:=HauteurCell[index]*NbreCellY[index];
end; end;
try try
SetLength(TCO,NbreCellX+1,NbreCellY+1); begin
SetLength(TCO[index],NbreCellX[index]+1,NbreCellY[index]+1);
init_tampon_copiercoller;
end;
except except
LabelErreur.caption:='TCO Mémoire insuffisante'; LabelErreur.caption:='TCO Mémoire insuffisante';
NbreCellX:=20;NbreCellY:=12; NbreCellX[index]:=20;NbreCellY[index]:=12;
SetLength(TCO,NbreCellX+1,NbreCellY+1); SetLength(TCO[index],NbreCellX[index]+1,NbreCellY[index]+1);
init_tampon_copiercoller;
ok:=false; ok:=false;
end; end;
for y:=1 to NbreCellY do for y:=1 to NbreCellY[index] do
for x:=1 to NbreCellX do for x:=1 to NbreCellX[index] do
begin begin
if tco[x,y].CouleurFond=0 then tco[x,y].CouleurFond:=clfond; if tco[index,x,y].CouleurFond=0 then tco[index,x,y].CouleurFond:=clfond;
end; end;
try
SetLength(TamponTCO,NbreCellX+1,NbreCellY+1);
except
LabelErreur.caption:='TamponTCO Mémoire insuffisante';
NbreCellX:=20;NbreCellY:=12;
SetLength(TamponTCO,NbreCellX+1,NbreCellY+1);
ok:=false;
end;
if RadioButtonLignes.Checked then if RadioButtonLignes.Checked then
begin begin
if graphisme=2 then TCO_modifie:=true; if graphisme=2 then TCO_modifie:=true;
@@ -464,13 +478,30 @@ begin
graphisme:=2; graphisme:=2;
end; end;
AvecGrille:=checkDessineGrille.Checked; val(editEcran.Text,i,erreur);
if i<1 then i:=1;
if i<>EcranTCO[indexTCOcourant] then tco_modifie:=true;
EcranTCO[indexTCOcourant]:=i;
AvecGrille[IndexTCOCourant]:=checkDessineGrille.Checked;
if ok then if ok then
begin begin
calcul_cellules; for i:=1 to 10 do
affiche_TCO; begin
if NomFichierTCO[i]<>stringGridTCO.Cells[1,i] then
begin
config_modifie:=true;
s:=stringGridTCO.Cells[1,i];
// on peut vérifier le .cfg mais bon
Affiche('Le nom du fichier '+NomFichierTCO[i]+' sera sauvegardé en '+s,clyellow);
NomFichierTCO[i]:=s;
end
else
NomFichierTCO[i]:=stringGridTCO.Cells[1,i];
end;
calcul_cellules(IndexTCOcourant);
affiche_TCO(indexTCOcourant);
dessine_icones; dessine_icones(index);
LabelErreur.caption:=''; LabelErreur.caption:='';
close; close;
end; end;
@@ -480,38 +511,64 @@ end;
procedure TFormConfigTCO.CheckBoxCreerEvtClick(Sender: TObject); procedure TFormConfigTCO.CheckBoxCreerEvtClick(Sender: TObject);
begin begin
EvtClicDet:=CheckBoxCreerEvt.checked; EvtClicDet:=CheckBoxCreerEvt.checked;
TCO_modifie:=true; if not(clicConf) then TCO_modifie:=true;
end; end;
procedure TFormConfigTCO.EditNbCellXChange(Sender: TObject); procedure TFormConfigTCO.EditNbCellXChange(Sender: TObject);
begin begin
TCO_modifie:=true; if not(clicConf) then TCO_modifie:=true;
end; end;
procedure TFormConfigTCO.EditNbCellYChange(Sender: TObject); procedure TFormConfigTCO.EditNbCellYChange(Sender: TObject);
begin begin
TCO_modifie:=true; if not(clicConf) then TCO_modifie:=true;
end; end;
procedure TFormConfigTCO.CheckDessineGrilleClick(Sender: TObject); procedure TFormConfigTCO.CheckDessineGrilleClick(Sender: TObject);
begin begin
TCO_modifie:=true; if not(clicConf) then TCO_modifie:=true;
end; end;
procedure TFormConfigTCO.CheckCouleurClick(Sender: TObject); procedure TFormConfigTCO.CheckCouleurClick(Sender: TObject);
begin begin
TCO_modifie:=true; if not(clicConf) then TCO_modifie:=true;
end; end;
procedure TFormConfigTCO.RadioButtonLignesClick(Sender: TObject); procedure TFormConfigTCO.RadioButtonLignesClick(Sender: TObject);
begin begin
TCO_modifie:=true; if not(clicConf) then TCO_modifie:=true;
end; end;
procedure TFormConfigTCO.RadioButtonCourbesClick(Sender: TObject); procedure TFormConfigTCO.RadioButtonCourbesClick(Sender: TObject);
begin begin
TCO_modifie:=true; if not(clicConf) then TCO_modifie:=true;
end; end;
procedure TFormConfigTCO.FormCreate(Sender: TObject);
var i : integer;
begin begin
for i := 0 to stringGridTCO.RowCount - 1 do
with stringGridTCO do
begin
RowHeights[i]:=15;
Cells[0,i+1]:=intToSTR(i+1);
end;
with stringGridTCO do
begin
Options := stringGridTCO.Options + [goEditing];
ColWidths[0]:=30;
ColWidths[1]:=200;
ColWidths[2]:=15;
Cells[0,0]:='Num';
Cells[1,0]:='Nom fichier';
end;
end;
end. end.
+7 -11
View File
@@ -4,7 +4,7 @@ object FormPilote: TFormPilote
BorderStyle = bsDialog BorderStyle = bsDialog
Caption = 'Pilotage' Caption = 'Pilotage'
ClientHeight = 350 ClientHeight = 350
ClientWidth = 331 ClientWidth = 337
Color = clBtnFace Color = clBtnFace
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
@@ -17,30 +17,26 @@ object FormPilote: TFormPilote
OnClose = FormClose OnClose = FormClose
OnCreate = FormCreate OnCreate = FormCreate
OnKeyPress = FormKeyPress OnKeyPress = FormKeyPress
DesignSize = (
331
350)
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
object LabelTitrePilote: TLabel object LabelTitrePilote: TLabel
Left = 8 Left = 8
Top = 8 Top = 8
Width = 249 Width = 242
Height = 34 Height = 32
Caption = 'Pilotage du signal' Caption = 'Pilotage du signal'
Font.Charset = ANSI_CHARSET Font.Charset = ANSI_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
Font.Height = -29 Font.Height = -28
Font.Name = 'Arial' Font.Name = 'Arial'
Font.Style = [fsBold, fsItalic] Font.Style = [fsBold, fsItalic]
ParentFont = False ParentFont = False
end end
object ImagePilote: TImage object ImagePilote: TImage
Left = 224 Left = 225
Top = 56 Top = 56
Width = 81 Width = 81
Height = 105 Height = 105
Anchors = []
end end
object LabelNbFeux: TLabel object LabelNbFeux: TLabel
Left = 208 Left = 208
@@ -241,9 +237,9 @@ object FormPilote: TFormPilote
OnClick = CheckVerrouCarreClick OnClick = CheckVerrouCarreClick
end end
object GroupBox3: TGroupBox object GroupBox3: TGroupBox
Left = 120 Left = 101
Top = 40 Top = 40
Width = 193 Width = 192
Height = 73 Height = 73
Caption = 'Signalisation combin'#233'e' Caption = 'Signalisation combin'#233'e'
TabOrder = 5 TabOrder = 5
+27 -8
View File
@@ -115,7 +115,7 @@ implementation
{$R *.dfm} {$R *.dfm}
procedure dessine_feu_pilote; procedure dessine_feu_pilote;
var i : integer; var i,ancienEtat : integer;
Vcanvas : Tcanvas; Vcanvas : Tcanvas;
begin begin
i:=Index_Signal(AdrPilote); // adresse du feu d'origine i:=Index_Signal(AdrPilote); // adresse du feu d'origine
@@ -123,17 +123,18 @@ begin
//ImagePilote.Picture.Bitmap:=FormPilote.ImagePilote.picture.bitmap; //ImagePilote.Picture.Bitmap:=FormPilote.ImagePilote.picture.bitmap;
EtatFeuPilote:=feux[0].EtatSignal; EtatFeuPilote:=feux[0].EtatSignal;
AncienEtat:=Feux[0].ancienEtat;
Vcanvas:=FormPilote.ImagePilote.picture.bitmap.Canvas; Vcanvas:=FormPilote.ImagePilote.picture.bitmap.Canvas;
case feux[i].aspect of case feux[i].aspect of
// feux de signalisation // feux de signalisation
2 : dessine_feu2(Vcanvas,0,0,1,1,EtatFeupilote,1); 2 : dessine_feu2(Vcanvas,0,0,1,1,EtatFeupilote,1);
3 : dessine_feu3(Vcanvas,0,0,1,1,EtatFeupilote,1); 3 : dessine_feu3(Vcanvas,0,0,1,1,EtatFeupilote,AncienEtat,1);
4 : dessine_feu4(VCanvas,0,0,1,1,EtatFeupilote,1); 4 : dessine_feu4(VCanvas,0,0,1,1,EtatFeupilote,1);
5 : dessine_feu5(VCanvas,0,0,1,1,EtatFeupilote,1); 5 : dessine_feu5(VCanvas,0,0,1,1,EtatFeupilote,1);
7 : dessine_feu7(VCanvas,0,0,1,1,EtatFeupilote,1); 7 : dessine_feu7(VCanvas,0,0,1,1,EtatFeupilote,1);
9 : dessine_feu9(VCanvas,0,0,1,1,EtatFeupilote,1); 9 : dessine_feu9(VCanvas,0,0,1,1,EtatFeupilote,1);
20 : dessine_feu20(VCanvas,0,0,1,1,EtatFeupilote,1,feux[i].adresse); 20 : dessine_feu20(VCanvas,0,0,1,1,EtatFeupilote,1,feux[i].adresse,12);
// indicateurs de direction // indicateurs de direction
12 : dessine_dirN(VCanvas,0,0,1,1,EtatFeupilote,1,2); 12 : dessine_dirN(VCanvas,0,0,1,1,EtatFeupilote,1,2);
13 : dessine_dirN(VCanvas,0,0,1,1,EtatFeupilote,1,3); 13 : dessine_dirN(VCanvas,0,0,1,1,EtatFeupilote,1,3);
@@ -162,60 +163,70 @@ end;
procedure TFormPilote.RadioVertClick(Sender: TObject); procedure TFormPilote.RadioVertClick(Sender: TObject);
begin begin
feux[0].AncienEtat:=feux[0].EtatSignal;
if nation=1 then Maj_Etat_Signal(0,vert) else Maj_Etat_Signal(0,vertB) ; if nation=1 then Maj_Etat_Signal(0,vert) else Maj_Etat_Signal(0,vertB) ;
dessine_feu_pilote; dessine_feu_pilote;
end; end;
procedure TFormPilote.RadioVertCliClick(Sender: TObject); procedure TFormPilote.RadioVertCliClick(Sender: TObject);
begin begin
feux[0].AncienEtat:=feux[0].EtatSignal;
Maj_Etat_Signal(0,vert_cli); Maj_Etat_Signal(0,vert_cli);
dessine_feu_pilote; dessine_feu_pilote;
end; end;
procedure TFormPilote.RadioJauneClick(Sender: TObject); procedure TFormPilote.RadioJauneClick(Sender: TObject);
begin begin
feux[0].AncienEtat:=feux[0].EtatSignal;
if nation=1 then Maj_Etat_Signal(0,jaune) else Maj_Etat_Signal(0,deux_jaunes); if nation=1 then Maj_Etat_Signal(0,jaune) else Maj_Etat_Signal(0,deux_jaunes);
dessine_feu_pilote; dessine_feu_pilote;
end; end;
procedure TFormPilote.RadioJaunecliClick(Sender: TObject); procedure TFormPilote.RadioJaunecliClick(Sender: TObject);
begin begin
feux[0].AncienEtat:=feux[0].EtatSignal;
Maj_Etat_Signal(0,jaune_cli); Maj_Etat_Signal(0,jaune_cli);
dessine_feu_pilote; dessine_feu_pilote;
end; end;
procedure TFormPilote.RadioRougeClick(Sender: TObject); procedure TFormPilote.RadioRougeClick(Sender: TObject);
begin begin
feux[0].AncienEtat:=feux[0].EtatSignal;
Maj_Etat_Signal(0,semaphore); Maj_Etat_Signal(0,semaphore);
dessine_feu_pilote; dessine_feu_pilote;
end; end;
procedure TFormPilote.RadioRougeCliClick(Sender: TObject); procedure TFormPilote.RadioRougeCliClick(Sender: TObject);
begin begin
feux[0].AncienEtat:=feux[0].EtatSignal;
Maj_Etat_Signal(0,semaphore_cli); Maj_Etat_Signal(0,semaphore_cli);
dessine_feu_pilote; dessine_feu_pilote;
end; end;
procedure TFormPilote.RadioCarreClick(Sender: TObject); procedure TFormPilote.RadioCarreClick(Sender: TObject);
begin begin
feux[0].AncienEtat:=feux[0].EtatSignal;
if nation=1 then Maj_Etat_Signal(0,carre) else Maj_Etat_Signal(0,vert_jaune_H); if nation=1 then Maj_Etat_Signal(0,carre) else Maj_Etat_Signal(0,vert_jaune_H);
dessine_feu_pilote; dessine_feu_pilote;
end; end;
procedure TFormPilote.RadioBlancClick(Sender: TObject); procedure TFormPilote.RadioBlancClick(Sender: TObject);
begin begin
feux[0].AncienEtat:=feux[0].EtatSignal;
if nation=1 then Maj_Etat_Signal(0,blanc) else Maj_Etat_Signal(0,rouge_blanc); if nation=1 then Maj_Etat_Signal(0,blanc) else Maj_Etat_Signal(0,rouge_blanc);
dessine_feu_pilote; dessine_feu_pilote;
end; end;
procedure TFormPilote.RadioVioletClick(Sender: TObject); procedure TFormPilote.RadioVioletClick(Sender: TObject);
begin begin
feux[0].AncienEtat:=feux[0].EtatSignal;
if nation=1 then Maj_Etat_Signal(0,violet) else Maj_Etat_Signal(0,vert_jaune_V); if nation=1 then Maj_Etat_Signal(0,violet) else Maj_Etat_Signal(0,vert_jaune_V);
dessine_feu_pilote; dessine_feu_pilote;
end; end;
procedure TFormPilote.RadioBlancCliClick(Sender: TObject); procedure TFormPilote.RadioBlancCliClick(Sender: TObject);
begin begin
feux[0].AncienEtat:=feux[0].EtatSignal;
Maj_Etat_Signal(0,blanc_cli); Maj_Etat_Signal(0,blanc_cli);
dessine_feu_pilote; dessine_feu_pilote;
end; end;
@@ -228,6 +239,7 @@ end;
procedure TFormPilote.RadioRalen30Click(Sender: TObject); procedure TFormPilote.RadioRalen30Click(Sender: TObject);
begin begin
feux[0].AncienEtat:=feux[0].EtatSignal;
Maj_Etat_Signal(0,ral_30); Maj_Etat_Signal(0,ral_30);
dessine_feu_pilote; dessine_feu_pilote;
end; end;
@@ -235,6 +247,7 @@ end;
procedure TFormPilote.RadioRappel60Click(Sender: TObject); procedure TFormPilote.RadioRappel60Click(Sender: TObject);
begin begin
feux[0].AncienEtat:=feux[0].EtatSignal;
Maj_Etat_Signal(0,rappel_60); Maj_Etat_Signal(0,rappel_60);
dessine_feu_pilote; dessine_feu_pilote;
end; end;
@@ -242,12 +255,14 @@ end;
procedure TFormPilote.RadioRalen60Click(Sender: TObject); procedure TFormPilote.RadioRalen60Click(Sender: TObject);
begin begin
feux[0].AncienEtat:=feux[0].EtatSignal;
Maj_Etat_Signal(0,ral_60); Maj_Etat_Signal(0,ral_60);
dessine_feu_pilote; dessine_feu_pilote;
end; end;
procedure TFormPilote.RadioRappel30Click(Sender: TObject); procedure TFormPilote.RadioRappel30Click(Sender: TObject);
begin begin
feux[0].AncienEtat:=feux[0].EtatSignal;
Maj_Etat_Signal(0,rappel_30); Maj_Etat_Signal(0,rappel_30);
dessine_feu_pilote; dessine_feu_pilote;
end; end;
@@ -348,11 +363,15 @@ begin
checkVerrouCarre.Checked:=feux[i].VerrouCarre; checkVerrouCarre.Checked:=feux[i].VerrouCarre;
end; end;
ImagePilote.Parent:=FormPilote; with imagePIlote do
ImagePilote.Picture.Bitmap.TransparentMode:=tmAuto; begin
ImagePilote.Picture.Bitmap.TransparentColor:=clblue; Parent:=FormPilote;
ImagePilote.Transparent:=true; Picture.Bitmap.TransparentMode:=tmAuto;
ImagePilote.Picture.BitMap:=Feux[i].Img.Picture.Bitmap; Picture.Bitmap.TransparentColor:=clblue;
Transparent:=true;
Picture.BitMap:=Feux[i].Img.Picture.Bitmap;
//left:=groupBox1.width+50;
end;
LabelTitrePilote.Caption:='Pilotage du signal '+intToSTR(AdrPilote); LabelTitrePilote.Caption:='Pilotage du signal '+intToSTR(AdrPilote);
feux[0].EtatSignal:=feux[i].EtatSignal; feux[0].EtatSignal:=feux[i].EtatSignal;
+139 -11
View File
@@ -1,6 +1,6 @@
object FormPrinc: TFormPrinc object FormPrinc: TFormPrinc
Left = 64 Left = 55
Top = 216 Top = 227
Width = 1222 Width = 1222
Height = 652 Height = 652
Caption = 'Signaux complexes' Caption = 'Signaux complexes'
@@ -17,8 +17,8 @@ object FormPrinc: TFormPrinc
OnClose = FormClose OnClose = FormClose
OnCreate = FormCreate OnCreate = FormCreate
DesignSize = ( DesignSize = (
1206 1214
594) 601)
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
object LabelTitre: TLabel object LabelTitre: TLabel
@@ -1203,7 +1203,7 @@ object FormPrinc: TFormPrinc
object SplitterH: TSplitter object SplitterH: TSplitter
Left = 0 Left = 0
Top = 0 Top = 0
Height = 572 Height = 579
end end
object ImageSignal20: TImage object ImageSignal20: TImage
Left = 384 Left = 384
@@ -1507,8 +1507,8 @@ object FormPrinc: TFormPrinc
end end
object StatusBar1: TStatusBar object StatusBar1: TStatusBar
Left = 0 Left = 0
Top = 572 Top = 579
Width = 1206 Width = 1214
Height = 22 Height = 22
Panels = <> Panels = <>
SimplePanel = True SimplePanel = True
@@ -1593,9 +1593,9 @@ object FormPrinc: TFormPrinc
OnClick = ButtonLanceCDMClick OnClick = ButtonLanceCDMClick
end end
object ButtonLocCV: TButton object ButtonLocCV: TButton
Left = 104 Left = 8
Top = 8 Top = 88
Width = 83 Width = 89
Height = 33 Height = 33
Hint = 'Affichage du panneau de contr'#244'le des trains ou des CV' Hint = 'Affichage du panneau de contr'#244'le des trains ou des CV'
Caption = 'Trains / CVs' Caption = 'Trains / CVs'
@@ -1626,10 +1626,20 @@ object FormPrinc: TFormPrinc
WordWrap = True WordWrap = True
OnClick = ButtonAffAnalyseCDMClick OnClick = ButtonAffAnalyseCDMClick
end end
object ButtonCDM: TButton
Left = 104
Top = 8
Width = 81
Height = 33
Caption = 'Affiche/Cache CDM Rail'
TabOrder = 7
WordWrap = True
OnClick = ButtonCDMClick
end
end end
object StaticText: TStaticText object StaticText: TStaticText
Left = 16 Left = 16
Top = 549 Top = 557
Width = 14 Width = 14
Height = 17 Height = 17
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
@@ -2197,6 +2207,124 @@ object FormPrinc: TFormPrinc
OnClick = Vrifiernouvelleversion1Click OnClick = Vrifiernouvelleversion1Click
end end
end end
object COs1: TMenuItem
Caption = 'TCOs'
object AffichertouslesTCO1: TMenuItem
Caption = 'Afficher tous les TCO'
OnClick = AffichertouslesTCO1Click
end
object N10: TMenuItem
Caption = '-'
end
object Mosaquehorizontale1: TMenuItem
Caption = 'Mosa'#239'que horizontale'
OnClick = Mosaquehorizontale1Click
end
object Mosaqueverticale1: TMenuItem
Caption = 'Mosa'#239'que verticale'
OnClick = Mosaqueverticale1Click
end
object N11: TMenuItem
Caption = '-'
end
object Mosaiquecarre1: TMenuItem
Caption = 'Mosaique carr'#233'e'
OnClick = Mosaiquecarre1Click
end
object N12: TMenuItem
Caption = '-'
end
object AfficherTCO11: TMenuItem
Caption = 'Afficher TCO1'
OnClick = AfficherTCO11Click
end
object AfficherTCO21: TMenuItem
Caption = 'Afficher TCO2'
OnClick = AfficherTCO21Click
end
object AfficherTCO31: TMenuItem
Caption = 'Afficher TCO3'
OnClick = AfficherTCO31Click
end
object AfficherTCO41: TMenuItem
Caption = 'Afficher TCO4'
OnClick = AfficherTCO41Click
end
object AfficherTCO51: TMenuItem
Caption = 'Afficher TCO5'
OnClick = AfficherTCO51Click
end
object AfficherTCO61: TMenuItem
Caption = 'Afficher TCO6'
OnClick = AfficherTCO61Click
end
object AfficherTCO71: TMenuItem
Caption = 'Afficher TCO7'
OnClick = AfficherTCO71Click
end
object AfficherTCO81: TMenuItem
Caption = 'Afficher TCO8'
OnClick = AfficherTCO81Click
end
object AfficherTCO91: TMenuItem
Caption = 'Afficher TCO9'
OnClick = AfficherTCO91Click
end
object AfficherTCO101: TMenuItem
Caption = 'Afficher TCO10'
OnClick = AfficherTCO101Click
end
object N13: TMenuItem
Caption = '-'
end
object NouveauTCO1: TMenuItem
Caption = 'Nouveau TCO'
OnClick = NouveauTCO1Click
end
object SupprimerTCO1: TMenuItem
Caption = 'Supprimer TCO'
object CO11: TMenuItem
Caption = 'TCO1'
OnClick = CO11Click
end
object CO21: TMenuItem
Caption = 'TCO2'
OnClick = CO21Click
end
object CO31: TMenuItem
Caption = 'TCO3'
OnClick = CO31Click
end
object CO41: TMenuItem
Caption = 'TCO4'
OnClick = CO41Click
end
object CO51: TMenuItem
Caption = 'TCO5'
OnClick = CO51Click
end
object CO61: TMenuItem
Caption = 'TCO6'
OnClick = CO61Click
end
object CO71: TMenuItem
Caption = 'TCO7'
OnClick = CO71Click
end
object CO81: TMenuItem
Caption = 'TCO8'
OnClick = CO81Click
end
object CO91: TMenuItem
Caption = 'TCO9'
OnClick = CO91Click
end
object CO101: TMenuItem
Caption = 'TCO10'
OnClick = CO101Click
end
end
end
object Roulage1: TMenuItem object Roulage1: TMenuItem
Caption = 'Roulage' Caption = 'Roulage'
object Placerlestrains1: TMenuItem object Placerlestrains1: TMenuItem
+1103 -199
View File
File diff suppressed because it is too large Load Diff
+116 -109
View File
@@ -1,10 +1,10 @@
object FormTCO: TFormTCO object FormTCO: TFormTCO
Left = 82 Left = 118
Top = 114 Top = 115
Width = 1142 Width = 1209
Height = 678 Height = 580
VertScrollBar.Visible = False VertScrollBar.Visible = False
Caption = 'FormTCO' Caption = 'c'
Color = clBtnFace Color = clBtnFace
DragMode = dmAutomatic DragMode = dmAutomatic
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
@@ -22,81 +22,41 @@ object FormTCO: TFormTCO
OnKeyPress = FormKeyPress OnKeyPress = FormKeyPress
OnMouseWheel = FormMouseWheel OnMouseWheel = FormMouseWheel
DesignSize = ( DesignSize = (
1126 1193
640) 542)
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
object LabelCoord: TLabel
Left = 64
Top = 0
Width = 18
Height = 16
Caption = '0,0'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
end
object LabelCellule: TLabel
Left = 8
Top = 0
Width = 49
Height = 16
Caption = 'Cellule'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object SourisX: TLabel
Left = 128
Top = 2
Width = 6
Height = 13
Caption = '0'
end
object SourisY: TLabel
Left = 168
Top = 2
Width = 6
Height = 13
Caption = '0'
end
object LabelZoom: TLabel object LabelZoom: TLabel
Left = 1078 Left = 1164
Top = 391 Top = 3
Width = 32 Width = 32
Height = 13 Height = 13
Anchors = [akRight, akBottom] Anchors = [akTop, akRight]
Caption = 'Zoom' Caption = 'Zoom'
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
Font.Height = -11 Font.Height = -12
Font.Name = 'MS Sans Serif' Font.Name = 'MS Sans Serif'
Font.Style = [fsBold] Font.Style = [fsBold]
ParentFont = False ParentFont = False
end end
object ImageTemp: TImage object ImageTemp: TImage
Left = 952 Left = 731
Top = 64 Top = 123
Width = 121 Width = 121
Height = 121 Height = 121
end end
object ImageTemp2: TImage object ImageTemp2: TImage
Left = 952 Left = 731
Top = 200 Top = 252
Width = 121 Width = 121
Height = 121 Height = 121
end end
object ScrollBox: TScrollBox object ScrollBox: TScrollBox
Left = 16 Left = 10
Top = 26 Top = 15
Width = 828 Width = 943
Height = 351 Height = 330
HorzScrollBar.Smooth = True HorzScrollBar.Smooth = True
HorzScrollBar.Tracking = True HorzScrollBar.Tracking = True
VertScrollBar.Smooth = True VertScrollBar.Smooth = True
@@ -107,13 +67,13 @@ object FormTCO: TFormTCO
ParentColor = False ParentColor = False
TabOrder = 1 TabOrder = 1
DesignSize = ( DesignSize = (
824 939
347) 326)
object ImageTCO: TImage object ImageTCO: TImage
Left = 48 Left = 48
Top = 32 Top = 25
Width = 716 Width = 642
Height = 305 Height = 143
Anchors = [akLeft, akTop, akRight, akBottom] Anchors = [akLeft, akTop, akRight, akBottom]
AutoSize = True AutoSize = True
ParentShowHint = False ParentShowHint = False
@@ -127,11 +87,11 @@ object FormTCO: TFormTCO
end end
end end
object TrackBarZoom: TTrackBar object TrackBarZoom: TTrackBar
Left = 1078 Left = 1154
Top = 18 Top = 18
Width = 41 Width = 41
Height = 350 Height = 311
Anchors = [akTop, akRight, akBottom] Anchors = [akTop, akRight]
Ctl3D = True Ctl3D = True
Max = 50 Max = 50
Min = 20 Min = 20
@@ -144,10 +104,10 @@ object FormTCO: TFormTCO
OnChange = TrackBarZoomChange OnChange = TrackBarZoomChange
end end
object Panel1: TPanel object Panel1: TPanel
Left = 8 Left = 2
Top = 464 Top = 360
Width = 1124 Width = 1085
Height = 173 Height = 185
Anchors = [akLeft, akRight, akBottom] Anchors = [akLeft, akRight, akBottom]
Color = clActiveBorder Color = clActiveBorder
Font.Charset = ANSI_CHARSET Font.Charset = ANSI_CHARSET
@@ -159,8 +119,8 @@ object FormTCO: TFormTCO
TabOrder = 2 TabOrder = 2
OnDragOver = Panel1DragOver OnDragOver = Panel1DragOver
DesignSize = ( DesignSize = (
1124 1085
173) 185)
object Label1: TLabel object Label1: TLabel
Left = 216 Left = 216
Top = 22 Top = 22
@@ -909,15 +869,40 @@ object FormTCO: TFormTCO
end end
object ImagePalette34: TImage object ImagePalette34: TImage
Left = 232 Left = 232
Top = 136 Top = 144
Width = 33 Width = 33
Height = 33 Height = 33
OnDragOver = ImagePalette34DragOver OnDragOver = ImagePalette34DragOver
OnEndDrag = ImagePalette34EndDrag OnEndDrag = ImagePalette34EndDrag
OnMouseDown = ImagePalette34MouseDown OnMouseDown = ImagePalette34MouseDown
end end
object ImagePalette52: TImage
Left = 808
Top = 104
Width = 33
Height = 33
Hint = 'Action'
ParentShowHint = False
ShowHint = True
OnDragOver = ImagePalette52DragOver
OnEndDrag = ImagePalette52EndDrag
OnMouseDown = ImagePalette52MouseDown
end
object Label52: TLabel
Left = 776
Top = 110
Width = 18
Height = 19
Caption = '52'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -16
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
end
object ButtonSauveTCO: TButton object ButtonSauveTCO: TButton
Left = 1017 Left = 979
Top = 48 Top = 48
Width = 96 Width = 96
Height = 33 Height = 33
@@ -929,7 +914,7 @@ object FormTCO: TFormTCO
OnClick = ButtonSauveTCOClick OnClick = ButtonSauveTCOClick
end end
object ButtonRedessine: TButton object ButtonRedessine: TButton
Left = 1017 Left = 979
Top = 8 Top = 8
Width = 96 Width = 96
Height = 33 Height = 33
@@ -940,25 +925,27 @@ object FormTCO: TFormTCO
OnClick = ButtonRedessineClick OnClick = ButtonRedessineClick
end end
object Button1: TButton object Button1: TButton
Left = 920 Left = 860
Top = 56 Top = 96
Width = 89 Width = 57
Height = 25 Height = 25
Anchors = [akTop, akRight]
Caption = 'Simu det 1' Caption = 'Simu det 1'
TabOrder = 2 TabOrder = 2
OnClick = Button1Click OnClick = Button1Click
end end
object Button2: TButton object Button2: TButton
Left = 912 Left = 860
Top = 32 Top = 64
Width = 89 Width = 57
Height = 25 Height = 25
Anchors = [akTop, akRight]
Caption = 'Simu Det 0' Caption = 'Simu Det 0'
TabOrder = 3 TabOrder = 3
OnClick = Button2Click OnClick = Button2Click
end end
object ButtonConfigTCO: TButton object ButtonConfigTCO: TButton
Left = 1017 Left = 979
Top = 88 Top = 88
Width = 96 Width = 96
Height = 33 Height = 33
@@ -969,16 +956,17 @@ object FormTCO: TFormTCO
OnClick = ButtonConfigTCOClick OnClick = ButtonConfigTCOClick
end end
object ButtonSimu: TButton object ButtonSimu: TButton
Left = 728 Left = 740
Top = 136 Top = 136
Width = 113 Width = 113
Height = 25 Height = 25
Anchors = [akTop, akRight]
Caption = 'Simu canton occup'#233 Caption = 'Simu canton occup'#233
TabOrder = 5 TabOrder = 5
OnClick = ButtonSimuClick OnClick = ButtonSimuClick
end end
object ButtonMasquer: TButton object ButtonMasquer: TButton
Left = 1017 Left = 979
Top = 128 Top = 128
Width = 96 Width = 96
Height = 33 Height = 33
@@ -997,7 +985,7 @@ object FormTCO: TFormTCO
Caption = 'Configuration cellule' Caption = 'Configuration cellule'
Font.Charset = ANSI_CHARSET Font.Charset = ANSI_CHARSET
Font.Color = clBackground Font.Color = clBackground
Font.Height = -9 Font.Height = -12
Font.Name = 'MS Sans Serif' Font.Name = 'MS Sans Serif'
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
@@ -1005,12 +993,12 @@ object FormTCO: TFormTCO
object Label41: TLabel object Label41: TLabel
Left = 8 Left = 8
Top = 16 Top = 16
Width = 103 Width = 120
Height = 16 Height = 20
Caption = 'Adresse de l'#39#233'l'#233'ment: ' Caption = 'Adresse de l'#39#233'l'#233'ment: '
Font.Charset = ANSI_CHARSET Font.Charset = ANSI_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
Font.Height = -13 Font.Height = -15
Font.Name = 'Arial Narrow' Font.Name = 'Arial Narrow'
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
@@ -1018,12 +1006,12 @@ object FormTCO: TFormTCO
object Label71: TLabel object Label71: TLabel
Left = 8 Left = 8
Top = 38 Top = 38
Width = 93 Width = 111
Height = 16 Height = 20
Caption = 'Image de l'#39#233'l'#233'ment: ' Caption = 'Image de l'#39#233'l'#233'ment: '
Font.Charset = ANSI_CHARSET Font.Charset = ANSI_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
Font.Height = -13 Font.Height = -15
Font.Name = 'Arial Narrow' Font.Name = 'Arial Narrow'
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
@@ -1031,12 +1019,12 @@ object FormTCO: TFormTCO
object Label230: TLabel object Label230: TLabel
Left = 56 Left = 56
Top = 64 Top = 64
Width = 27 Width = 32
Height = 16 Height = 20
Caption = 'Texte' Caption = 'Texte'
Font.Charset = ANSI_CHARSET Font.Charset = ANSI_CHARSET
Font.Color = clWindowText Font.Color = clWindowText
Font.Height = -13 Font.Height = -15
Font.Name = 'Arial Narrow' Font.Name = 'Arial Narrow'
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
@@ -1044,12 +1032,12 @@ object FormTCO: TFormTCO
object Label65: TLabel object Label65: TLabel
Left = 8 Left = 8
Top = 88 Top = 88
Width = 75 Width = 89
Height = 16 Height = 20
Caption = 'position du texte' Caption = 'position du texte'
Font.Charset = ANSI_CHARSET Font.Charset = ANSI_CHARSET
Font.Color = clBlack Font.Color = clBlack
Font.Height = -13 Font.Height = -15
Font.Name = 'Arial Narrow' Font.Name = 'Arial Narrow'
Font.Style = [] Font.Style = []
ParentFont = False ParentFont = False
@@ -1121,7 +1109,8 @@ object FormTCO: TFormTCO
'Sans' 'Sans'
'Centrale' 'Centrale'
'Haut' 'Haut'
'Bas') 'Bas'
'R'#233'parti')
end end
object CheckPinv: TCheckBox object CheckPinv: TCheckBox
Left = 8 Left = 8
@@ -1147,14 +1136,20 @@ object FormTCO: TFormTCO
Width = 81 Width = 81
Height = 18 Height = 18
Caption = 'Couleur de fond' Caption = 'Couleur de fond'
Font.Charset = ANSI_CHARSET
Font.Color = clBackground
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 6 TabOrder = 6
OnClick = ButtonCoulFondClick OnClick = ButtonCoulFondClick
end end
end end
object buttonRaz: TButton object buttonRaz: TButton
Left = 912 Left = 873
Top = 128 Top = 128
Width = 96 Width = 97
Height = 33 Height = 33
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
Caption = 'Raz des occupations' Caption = 'Raz des occupations'
@@ -1164,18 +1159,19 @@ object FormTCO: TFormTCO
OnClick = buttonRazClick OnClick = buttonRazClick
end end
object ButtonCalibrage: TButton object ButtonCalibrage: TButton
Left = 840 Left = 852
Top = 136 Top = 136
Width = 75 Width = 75
Height = 25 Height = 25
Anchors = [akTop, akRight]
Caption = 'Calibrage' Caption = 'Calibrage'
TabOrder = 9 TabOrder = 9
OnClick = ButtonCalibrageClick OnClick = ButtonCalibrageClick
end end
object ButtonDessiner: TButton object ButtonDessiner: TButton
Left = 912 Left = 873
Top = 88 Top = 88
Width = 96 Width = 97
Height = 33 Height = 33
Hint = Hint =
'Dessine le TCO '#224' la souris. Clic droit pour lever le pointeur. T' + 'Dessine le TCO '#224' la souris. Clic droit pour lever le pointeur. T' +
@@ -1188,13 +1184,24 @@ object FormTCO: TFormTCO
TabStop = False TabStop = False
OnClick = ButtonDessinerClick OnClick = ButtonDessinerClick
end end
object ButtonAffSC: TButton
Left = 873
Top = 48
Width = 97
Height = 33
Anchors = [akTop, akRight]
Caption = 'Afficher Signaux Complexes'
TabOrder = 11
WordWrap = True
OnClick = ButtonAffSCClick
end
end end
object ButtonAfficheBandeau: TButton object ButtonAfficheBandeau: TButton
Left = 1070 Left = 876
Top = 415 Top = 408
Width = 57 Width = 56
Height = 33 Height = 32
Anchors = [akRight, akBottom] Anchors = [akTop, akRight]
Caption = 'Affiche Bandeau' Caption = 'Affiche Bandeau'
TabOrder = 3 TabOrder = 3
WordWrap = True WordWrap = True
+3176 -2840
View File
File diff suppressed because it is too large Load Diff
+9 -4
View File
@@ -92,7 +92,8 @@ end;
procedure TFormAig.ButtonDevClick(Sender: TObject); procedure TFormAig.ButtonDevClick(Sender: TObject);
var s : string; var s : string;
begin begin
efface_entoure;SelectionAffichee:=false; efface_entoure(indexTCOCourant);
SelectionAffichee[indexTCOCourant]:=false;
pilote_acc(aiguille,const_devie,aigP); pilote_acc(aiguille,const_devie,aigP);
s:='accessoire '+IntToSTR(aiguille)+' dévié'; s:='accessoire '+IntToSTR(aiguille)+' dévié';
Affiche(s,clyellow); Affiche(s,clyellow);
@@ -102,7 +103,8 @@ end;
procedure TFormAig.ButtonDroitClick(Sender: TObject); procedure TFormAig.ButtonDroitClick(Sender: TObject);
var s : string; var s : string;
begin begin
efface_entoure;SelectionAffichee:=false; efface_entoure(indexTCOcourant);
SelectionAffichee[indexTCOcourant]:=false;
pilote_acc(aiguille,const_droit,aigP); pilote_acc(aiguille,const_droit,aigP);
s:='accessoire '+IntToSTR(aiguille)+' droit'; s:='accessoire '+IntToSTR(aiguille)+' droit';
Affiche(s,clyellow); Affiche(s,clyellow);
@@ -112,7 +114,8 @@ end;
procedure TFormAig.ButtonDev2Click(Sender: TObject); procedure TFormAig.ButtonDev2Click(Sender: TObject);
var s : string; var s : string;
begin begin
efface_entoure;SelectionAffichee:=false; efface_entoure(indexTCOcourant);
SelectionAffichee[indexTCOcourant]:=false;
pilote_acc(aiguille2,const_devie,aigP); pilote_acc(aiguille2,const_devie,aigP);
s:='accessoire '+IntToSTR(aiguille2)+' dévié'; s:='accessoire '+IntToSTR(aiguille2)+' dévié';
Affiche(s,clyellow); Affiche(s,clyellow);
@@ -121,8 +124,10 @@ end;
procedure TFormAig.ButtonDroit2Click(Sender: TObject); procedure TFormAig.ButtonDroit2Click(Sender: TObject);
var s : string; var s : string;
index : integer;
begin begin
efface_entoure;SelectionAffichee:=false; efface_entoure(indexTCOCOurant);
SelectionAffichee[indexTCOcourant]:=false;
pilote_acc(aiguille2,const_droit,aigP); pilote_acc(aiguille2,const_droit,aigP);
s:='accessoire '+IntToSTR(aiguille2)+' droit'; s:='accessoire '+IntToSTR(aiguille2)+' droit';
Affiche(s,clyellow); Affiche(s,clyellow);
+4 -3
View File
@@ -132,7 +132,7 @@ begin
end; end;
procedure TFormPlace.ButtonPlaceClick(Sender: TObject); procedure TFormPlace.ButtonPlaceClick(Sender: TObject);
var Suiv,prec,detect,erreur,i,it : integer; var Suiv,prec,detect,erreur,i,it,indexTCO : integer;
s,Ssuiv,NomTrain : string; s,Ssuiv,NomTrain : string;
begin begin
if cdm_connecte then if cdm_connecte then
@@ -223,9 +223,10 @@ begin
end; end;
end; end;
if formTCO.Showing then indexTCO:=1;
if formTCO[indexTCO].Showing then
begin begin
affiche_tco; affiche_tco(1);
end; end;
maj_feux(true); maj_feux(true);
maj_feux(true); maj_feux(true);
+17 -16
View File
@@ -1,5 +1,5 @@
/ Définitions TCO version 7.2 / Définitions TCO version 8.0
CoulFond=202050 CoulFond=000040
CoulVoies=0077FF CoulVoies=0077FF
CoulAllume=00FFFF CoulAllume=00FFFF
CoulGrille=404040 CoulGrille=404040
@@ -10,22 +10,23 @@ CoulCanton=00FFFF
ModeCouleurCanton=1 ModeCouleurCanton=1
AvecGrille=0 AvecGrille=0
Graphisme=2 Graphisme=2
Ecran=1
EvtClicDet=1 EvtClicDet=1
Matrice=39,13 Matrice=39,13
Ratio=10 Ratio=10
/Matrice TCO /Matrice TCO
[Matrice] [Matrice]
/ couleur fond,adresse,image,inversion aiguillage,Orientation du signal, pied du signal , [texte], representation, fonte, taille fonte, couleur fonte, style, épaisseurs / couleur fond,adresse,image,inversion aiguillage,Orientation du signal, pied du signal , [texte], representation, fonte, taille fonte, couleur fonte, style, épaisseurs, pont, buttoir
(000040,358,50,0,1,1,,2,,0,FFFFFF,,0)(000040,0,20,0,0,0,,2,,0,00FFFF,G,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0)(000040,497,50,0,1,2,,2,,0,FFFFFF,G,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,TCO GARE PRINCIPALE,1,ARIAL,20,00FFFF,GI,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,FFFFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0) (000040,358,50,0,1,1,,2,,0,FFFFFF,,0,0,0)(000040,0,20,0,0,0,,2,,0,00FFFF,G,0,0,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,497,50,0,1,2,,2,,0,FFFFFF,G,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,TCO GARE PRINCIPALE,1,ARIAL,20,00FFFF,GI,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,10,0,0,0,,2,,0,00FFFF,,0,0,64)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,FFFFFF,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)
(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,8,00FF00,,0)(000040,0,0,0,0,0,,2,,8,00FF00,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,9,0,0,0,,2,,0,000000,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,8,0,0,0,,0,,0,00FFFF,,0)(000040,0,20,0,0,0,,2,,0,000000,,0)(000040,0,20,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,11,0,0,0,,2,,0,00FFFF,,0,0,16)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,8,00FF00,,0,0,0)(000040,0,0,0,0,0,,2,,8,00FF00,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,10,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,9,0,0,0,,2,,0,000000,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,8,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,20,0,0,0,,2,,0,000000,,0,0,0)(000040,0,20,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)
(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,517,20,0,0,0,,2,,0,00FFFF,,0)(000040,531,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,6,2,0,0,0,,2,,0,00FF00,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,516,1,0,0,0,,2,,0,00FFFF,,0)(000040,516,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,72)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,10,0,0,0,,2,,0,000000,,0)(000040,0,9,0,0,0,,2,,0,000000,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,8,0,0,0,,2,,0,00FFFF,,0)(000040,103,25,0,0,0,,2,MS SANS SERIF,10,00FF00,,0)(000040,0,20,0,0,0,,0,,0,000000,,0)(000040,600,50,0,1,1,,2,,0,FFFFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,517,20,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,531,20,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,52,0,0,2, SC,1,,8,00FFFF,G,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,6,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,6,2,0,0,0,,2,,0,00FF00,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,516,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,516,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,64,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,7,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,10,0,0,0,,2,,0,000000,,0,0,0)(000040,0,9,0,0,0,,2,,0,000000,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,8,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,103,25,0,0,0,,2,MS SANS SERIF,10,00FF00,,0,0,0)(000040,0,20,0,0,0,,0,,0,000000,,0,0,0)(000040,600,50,0,1,1,,2,,0,FFFFFF,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)
(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,16)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,10,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,232,50,0,3,1,,2,,0,00FF00,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,FFFFFF,,0)(000040,288,50,0,2,1,,2,,0,FFFFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,10,0,0,0,,2,MS SANS SERIF,10,00FFFF,,0)(000040,0,10,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,302,50,0,1,1,,0,,0,FFFFFF,,0)(000040,9,24,0,0,0,,2,MS SANS SERIF,10,00FF00,,0)(000040,8,24,0,0,0,,0,MS SANS SERIF,10,00FF00,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,10,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,232,50,0,3,1,,2,,0,00FF00,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,FFFFFF,,0,0,0)(000040,288,50,0,2,1,,2,,0,FFFFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,10,0,0,0,,2,MS SANS SERIF,10,00FFFF,,0,0,0)(000040,0,10,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,302,50,0,1,1,,0,,0,FFFFFF,,0,0,0)(000040,9,24,0,0,0,,2,MS SANS SERIF,10,00FF00,,0,0,0)(000040,8,24,0,0,0,,0,MS SANS SERIF,10,00FF00,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)
(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,70)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,372,50,0,1,1,,2,,0,FFFFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,4,15,0,0,0,,2,,0,00FF00,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,514,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,522,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,7,0,0,0,,2,,0,000000,,0)(000040,0,10,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,FFFFFF,,0)(000040,0,20,0,0,0,,0,,0,00FFFF,,0)(000040,0,20,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,372,50,0,1,1,,2,,0,FFFFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,4,15,0,0,0,,2,,0,00FF00,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,514,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,522,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,7,0,0,0,,2,,0,000000,,0,0,0)(000040,0,10,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,FFFFFF,,0,0,0)(000040,0,20,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,20,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)
(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,3,15,0,0,0,,2,,0,00FF00,,0)(000040,5,2,0,0,0,,2,,0,00FF00,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,515,1,0,0,0,,2,,0,00FFFF,,0)(000040,515,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,7,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,FFFFFF,,0)(000040,526,20,0,0,0,,2,,0,00FFFF,,0)(000040,0,20,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,20,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,128,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,3,15,0,0,0,,2,,0,00FF00,,0,0,0)(000040,5,2,0,0,0,,2,,0,00FF00,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,515,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,515,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,7,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,0,,0,FFFFFF,,0,0,0)(000040,526,20,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,20,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)
(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,19,0,0,0,,2,,0,00FFFF,,0)(000040,0,19,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,520,50,0,2,1,,2,,0,00FF00,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,10,0,0,0,,2,,0,000000,,0)(000040,0,10,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,316,50,0,3,1,,2,,0,00FF00,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,51,0,0,0,,2,,0,000000,,0)(000040,0,51,0,0,0,,2,,0,000000,,0)(000040,0,51,0,0,0,QUAI 1,1,ARIAL,12,FFFFFF,G,0)(000040,0,51,0,0,0,,2,,8,00FF00,,0)(000040,0,51,0,0,0,,2,,8,00FF00,,0)(000040,0,51,0,0,0,,2,,0,000000,,0)(000040,0,51,0,0,0,,2,,0,000000,,0)(000040,0,51,0,0,0,,2,,0,000000,,0)(000040,0,51,0,0,0,,2,,0,000000,,0)(000040,0,51,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,190,50,0,2,1,,2,,0,00FF00,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,18,0,0,0,,0,,0,00FFFF,,0)(000040,0,18,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,19,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,19,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,520,50,0,2,1,,2,,0,00FF00,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,10,0,0,0,,2,,0,000000,,0,0,0)(000040,0,10,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,316,50,0,3,1,,2,,0,00FF00,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,51,0,0,0,,2,,0,000000,,0,0,0)(000040,0,51,0,0,0,,2,,0,000000,,0,0,0)(000040,0,51,0,0,0,QUAI 1,1,ARIAL,12,FFFFFF,G,0,0,0)(000040,0,51,0,0,0,,2,,8,00FF00,,0,0,0)(000040,0,51,0,0,0,,2,,8,00FF00,,0,0,0)(000040,0,51,0,0,0,,2,,0,000000,,0,0,0)(000040,0,51,0,0,0,,2,,0,000000,,0,0,0)(000040,0,51,0,0,0,,2,,0,000000,,0,0,0)(000040,0,51,0,0,0,,2,,0,000000,,0,0,0)(000040,0,51,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,190,50,0,2,1,,2,,0,00FF00,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,18,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,18,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)
(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,11,0,0,0,,2,,0,00FFFF,,0)(000040,0,6,0,0,0,,2,,0,000000,,0)(000040,518,1,0,0,0,,0,,0,00FFFF,,0)(000040,518,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,1,3,0,0,0,,2,,8,00FF00,,0)(000040,100,21,0,0,0,,2,,0,00FF00,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,VOIE 2,2,ARIAL,10,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,523,1,0,0,0,,0,,0,00FFFF,,0)(000040,523,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,7,0,0,0,,2,,0,00FFFF,,0)(000040,0,10,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,11,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,6,0,0,0,,2,,0,000000,,0,0,0)(000040,518,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,518,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,1,3,0,0,0,,2,,8,00FF00,,0,0,0)(000040,100,21,0,0,0,,3,,0,00FF00,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,VOIE 2,2,ARIAL,10,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,523,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,523,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,7,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,10,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)
(000040,530,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,8,0,0,0,,2,,0,00FFFF,,0)(000040,0,6,0,0,0,,2,,0,000000,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,12,4,1,0,0,,2,,0,00FF00,,16)(000040,2,3,0,0,0,,2,,0,00FF00,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,519,1,0,0,0,,2,,0,00FFFF,,0)(000040,519,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,VOIE 1,2,ARIAL,10,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,8,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,7,2,0,0,0,,2,,0,00FF00,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,527,1,0,0,0,,2,,8,00FFFF,,0)(000040,0,1,0,0,0,,3,,8,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,7,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0) (000040,530,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,8,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,6,0,0,0,,2,,0,000000,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,12,4,1,0,0,,2,,0,00FF00,,16,0,0)(000040,2,3,0,0,0,,2,,0,00FF00,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,519,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,519,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,VOIE 1,2,ARIAL,10,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,8,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,7,2,0,0,0,,2,,0,00FF00,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,527,1,0,0,0,,2,,8,00FFFF,,0,0,0)(000040,0,1,0,0,0,,3,,8,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,7,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)
(000040,529,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,26,22,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,8,0,0,0,,0,,0,000000,,0)(000040,0,11,0,0,0,,0,,0,000000,,16)(000040,330,50,0,3,1,,0,,0,00FF00,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,QUAI 2,1,ARIAL,12,FFFFFF,G,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,10,0,0,0,,0,,0,000000,,0)(000040,204,50,0,3,1,,0,,0,00FF00,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0) (000040,529,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,26,22,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,8,0,0,0,,0,,0,000000,,0,0,0)(000040,0,11,0,0,0,,0,,0,000000,,16,0,0)(000040,330,50,0,3,1,,0,,0,00FF00,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,51,0,0,0,,0,,0,000000,,0,0,0)(000040,0,51,0,0,0,,0,,0,000000,,0,0,0)(000040,0,51,0,0,0,QUAI 2,1,ARIAL,12,FFFFFF,G,0,0,0)(000040,0,51,0,0,0,,0,,0,000000,,0,0,0)(000040,0,51,0,0,0,,0,,0,000000,,0,0,0)(000040,0,51,0,0,0,,0,,0,000000,,0,0,0)(000040,0,51,0,0,0,,0,,0,000000,,0,0,0)(000040,0,51,0,0,0,,0,,0,000000,,0,0,0)(000040,0,51,0,0,0,,0,,0,000000,,0,0,0)(000040,0,51,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,10,0,0,0,,0,,0,000000,,0,0,0)(000040,204,50,0,3,1,,0,,0,00FF00,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)
(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,6,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,21,5,0,0,0,,0,,0,00FF00,,0)(000040,20,5,0,0,0,,0,,0,00FF00,,1)(000040,520,1,0,0,0,,2,,8,00FFFF,,0)(000040,520,1,0,0,0,,0,,0,00FFFF,,0)(000040,520,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,8,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,8,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,8,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,8,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,0,,8,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,7,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,6,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,21,5,0,0,0,,0,,0,00FF00,,0,0,0)(000040,20,5,0,0,0,,0,,0,00FF00,,1,0,0)(000040,520,1,0,0,0,,2,,8,00FFFF,,0,0,0)(000040,520,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,520,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,8,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,8,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,8,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,8,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,1,0,0,0,,0,,8,00FFFF,,0,0,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,7,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)
(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,176,50,0,3,1,,0,,0,00FF00,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,3,,8,00FF00,,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,FFFFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0) (000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,176,50,0,3,1,,0,,0,00FF00,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,3,,8,00FF00,,0,0,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,FFFFFF,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)
(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,FFFFFF,,0) (000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,2,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,000000,,0,0,0)(000040,0,0,0,0,0,,0,,0,FFFFFF,,0,0,0)
+1 -1
View File
@@ -25,7 +25,7 @@ var
verifVersion,notificationVersion : boolean; verifVersion,notificationVersion : boolean;
date_creation : string; date_creation : string;
Const Version='7.3'; // sert à la comparaison de la version publiée Const Version='8.0'; // 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
function GetCurrentProcessEnvVar(const VariableName: string): string; function GetCurrentProcessEnvVar(const VariableName: string): string;
+3
View File
@@ -180,6 +180,9 @@ version 7.11 : Renvoi de la consigne de vitesse au trains apr
version 7.2 : Possibilité de dessiner des voies fines et épaisses dans le TCO version 7.2 : Possibilité de dessiner des voies fines et épaisses dans le TCO
par exemple pour distinguer les voies principales et les bretelles. par exemple pour distinguer les voies principales et les bretelles.
version 7.3 : Correction d'un bug sur le pilotage des aiguillages via CDM rail version 7.3 : Correction d'un bug sur le pilotage des aiguillages via CDM rail
version 8.0 : Gestion des voies chevauchantes (ponts) et des buttoirs dans le TCO.
Création d'un bouton "action" dans les TCOs.
Possibilité d'utiliser jusqu'à 10 TCOs.