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
Algo_localisation=1
Avec_roulage=1
Avec_roulage=0
Debug=0
Filtrage_det=0
Filtrage_det=3
AntiTimeoutEthLenz=0
Fonte=12
Fonte=11
Protocole=1
Verif_AdrXpressNet=1
IpV4_PC=127.0.0.1:9999
@@ -23,13 +23,24 @@ Init_demUSBCOM=0
Init_demETH=0
Fenetre=0
nb_det_dist=3
verif_version=0
verif_version=1
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
CDM=0
Lay=RESEAU_GILY_SIGNAL_AJOUTE.LAY
NomModuleCDM=RESEAU_GILY_SIGNAL_AJOUTE.cdm
NomModuleCDM=reseau_gily_signal_ajoute_top.cdm
Serveur_interface=1
retro=1
RazSignaux=0
@@ -38,12 +49,12 @@ Nb_cantons_Sig=3
Alg_Unisemaf=1
/------------
[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)
3,P1S,D4P,S5D,V0,I0,INIT(2,2)
4,P3D,D6S,S514,V0,I0,INIT(2,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)
8,P527,D521,S103S,V0,I0,INIT(1,2)
9,P526,D103D,S515,V60,I0,INIT(1,2)
@@ -91,23 +102,6 @@ A31,A34,0
0
/------------
[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
/------------
[section_sig]
@@ -115,7 +109,7 @@ Nation=1
190,7,0,1,(523,526),0,FVC0,FRC0
204,9,0,1,(527,A7),1,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
288,7,0,1,(522,A103),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
476,9,0,1,(538,A23),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
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.
+5 -4
View File
@@ -169,24 +169,25 @@ begin
Edit18.Text:=intToSTR(Feux[index].SR[18].sortie1);
Edit19.Text:=intToSTR(Feux[index].SR[19].sortie1);
editNadresses.text:=intToSTR(feux[index].NA);
editNadresses.text:=intToSTR(feux[index].NA);
end;
procedure dessine_feu_CDF;
var i : integer;
var i,ancienEtat : integer;
Vcanvas : Tcanvas;
begin
i:=0;
//ImagePilote.Picture.Bitmap:=FormPilote.ImagePilote.picture.bitmap;
EtatFeuPilote:=feux[i].EtatSignal;
AncienEtat:=feux[i].AncienEtat;
dessineCDF:=true; // demande dessin CDF pour les clignotements
Vcanvas:=FormCDF.ImageDigi.picture.bitmap.Canvas;
case feux[i].aspect of
// feux de signalisation
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);
5 : dessine_feu5(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
Width = 633
Height = 497
ActivePage = TabSheetAig
ActivePage = TabSheetCDM
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
@@ -1650,12 +1650,12 @@ object FormConfig: TFormConfig
Left = 16
Top = 128
Width = 273
Height = 193
Height = 209
Caption = 'Au d'#233'marrage de Signaux_Complexes '
TabOrder = 1
object Label13: TLabel
Left = 8
Top = 144
Top = 160
Width = 242
Height = 13
Caption = 'Nom du fichier LAY '#224' utiliser au d'#233'marrage de CDM'
@@ -1678,7 +1678,7 @@ object FormConfig: TFormConfig
end
object CheckLanceCDM: TCheckBox
Left = 8
Top = 120
Top = 128
Width = 241
Height = 25
Caption = 'Lancer et connecter CDM Rail au d'#233'marrage'
@@ -1687,8 +1687,8 @@ object FormConfig: TFormConfig
end
object CheckAvecTCO: TCheckBox
Left = 8
Top = 80
Width = 89
Top = 88
Width = 73
Height = 17
Hint = 'Affiche le TCO au d'#233'marrage'
Caption = 'Avec TCO'
@@ -1709,7 +1709,7 @@ object FormConfig: TFormConfig
end
object CheckBandeauTCO: TCheckBox
Left = 8
Top = 96
Top = 104
Width = 129
Height = 17
Hint = 'Masque le bandeau de param'#233'trage du TCO au d'#233'marrage'
@@ -1720,7 +1720,7 @@ object FormConfig: TFormConfig
end
object EditLAY: TEdit
Left = 8
Top = 160
Top = 176
Width = 249
Height = 21
Hint = 'Nom du LAY avec .lay'
@@ -1870,21 +1870,21 @@ object FormConfig: TFormConfig
end
object GroupBox8: TGroupBox
Left = 16
Top = 328
Top = 344
Width = 273
Height = 113
Height = 97
Caption = 'Services CommIP CDM Rail'
TabOrder = 4
object Label6: TLabel
Left = 8
Top = 26
Top = 18
Width = 215
Height = 13
Caption = 'Liste des '#233'v'#232'nements demand'#233's '#224' CDM Rail:'
end
object CheckBoxServAig: TCheckBox
Left = 8
Top = 48
Top = 40
Width = 113
Height = 17
Caption = 'Aiguillages'
@@ -1892,7 +1892,7 @@ object FormConfig: TFormConfig
end
object CheckBoxServDet: TCheckBox
Left = 8
Top = 64
Top = 56
Width = 89
Height = 17
Caption = 'D'#233'tecteurs'
@@ -1900,7 +1900,7 @@ object FormConfig: TFormConfig
end
object CheckBoxServAct: TCheckBox
Left = 8
Top = 80
Top = 72
Width = 81
Height = 17
Caption = 'Actionneurs'
@@ -1908,7 +1908,7 @@ object FormConfig: TFormConfig
end
object CheckServPosTrains: TCheckBox
Left = 120
Top = 48
Top = 40
Width = 145
Height = 17
Hint =
@@ -1921,7 +1921,7 @@ object FormConfig: TFormConfig
end
object CheckBoxSrvSig: TCheckBox
Left = 120
Top = 64
Top = 56
Width = 113
Height = 17
Caption = 'Signaux (non utilis'#233')'
@@ -3182,7 +3182,7 @@ object FormConfig: TFormConfig
Width = 129
Height = 21
Style = csDropDownList
ItemHeight = 0
ItemHeight = 13
TabOrder = 1
OnChange = ComboBoxDecChange
end
@@ -3286,7 +3286,7 @@ object FormConfig: TFormConfig
Width = 129
Height = 21
Style = csDropDownList
ItemHeight = 0
ItemHeight = 13
TabOrder = 2
OnChange = ComboBoxAspChange
end
@@ -4487,7 +4487,7 @@ object FormConfig: TFormConfig
Top = 24
Width = 65
Height = 17
Hint = 'Supprime l'#39'actionneur cliqu'#233' (en jaune)'
Hint = 'Supprime l'#39'actionneur(s) s'#233'lectionn'#233'(s)'
Caption = 'Supprime'
ParentShowHint = False
ShowHint = True
@@ -4535,7 +4535,7 @@ object FormConfig: TFormConfig
Top = 24
Width = 65
Height = 17
Hint = 'Supprime l'#39'actionneur cliqu'#233' (en jaune)'
Hint = 'Supprime l'#39'actionneur(s) s'#233'lectionn'#233'(s)'
Caption = 'Supprime'
ParentShowHint = False
ShowHint = True
+132 -65
View File
@@ -5,7 +5,8 @@ interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls , jpeg, ComCtrls ,StrUtils, Unitprinc,
MMSystem, Buttons , UnitPareFeu, verif_version, Menus, ClipBrd ;
MMSystem, Buttons , UnitPareFeu, verif_version, Menus, ClipBrd,
Grids ;
type
TFormConfig = class(TForm)
@@ -582,6 +583,7 @@ INTER_CAR_ch='Inter_car';
Tempo_maxi_ch='Tempo_maxi';
Entete_ch='Entete';
TCO_ch='TCO';
Nb_TCO_ch='NbreTCO';
MasqueBandeauTCO_ch='MasqueBandeauTCO';
CDM_ch='CDM';
Serveur_interface_ch='Serveur_interface';
@@ -602,6 +604,7 @@ NomModuleCDM_ch='NomModuleCDM';
Nba_ch='NombreAdresses';
nation_ch='Nation';
nom_dec_pers_ch='Nom_dec_pers';
Nom_fich_TCO_ch='Nom_fichier_TCO';
// sections de config
section_aig_ch='[section_aig]';
@@ -1720,6 +1723,16 @@ begin
if AvecTCO then s:='1' else s:='0';
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';
writeln(fichierN,MasqueBandeauTCO_ch+'=',s);
@@ -1778,7 +1791,7 @@ begin
writeln(fichierN,section_DecPers_ch);
for i:=1 to NbreDecPers do
begin
writeln(fichierN,nom_dec_pers_ch+'='+decodeur_pers[i].nom);
writeln(fichierN,nom_dec_pers_ch+'='+decodeur_pers[i].nom);
n:=decodeur_pers[i].NbreAdr;
s:=Nba_ch+'='+intToSTR(n);
writeln(fichierN,s);
@@ -1905,8 +1918,8 @@ var s,sa,SOrigine: string;
if debug=1 then affiche(s,clLime);
end;
procedure compile_signaux;
begin
procedure compile_signaux;
begin
//Affiche('Définition des signaux',clyellow);
i:=1;Nligne:=1;
NbreFeux:=0;
@@ -1924,16 +1937,16 @@ begin
if decode_ligne_feux(s,i) then // décode la chaine et stocke en tableau feux
begin
inc(i);
end
end
else
Affiche('Erreur 9 : signal '+s+' en doublon a été ignoré',clred);
Affiche('Erreur 9 : signal '+s+' en doublon a été ignoré',clred);
end;
end;
until (s='0') or eof(fichier);
end;
until (s='0') or eof(fichier);
end;
procedure compile_branches;
begin
procedure compile_branches;
begin
// branches
NDetecteurs:=0;
Nligne:=1;
@@ -1954,11 +1967,11 @@ begin
until (s='0') or eof(fichier) or (i>=MaxBranches);
if i>MaxBranches then Affiche('Nombre maximal de branches atteint',clRed);
NbreBranches:=i-1;
end;
end;
procedure compile_actionneurs;
var i : integer;
begin
procedure compile_actionneurs;
var i : integer;
begin
// raz des actionneurs
for i:=1 to Max_actionneurs do
begin
@@ -2240,10 +2253,10 @@ begin
end;
until (s='0') or eof(fichier) ;
dec(maxTablo_act);
end;
end;
procedure compile_aiguillages;
begin
procedure compile_aiguillages;
begin
//Affiche('Définition des aiguillages',clyellow);
maxaiguillage:=0;
Nligne:=1;
@@ -2489,13 +2502,13 @@ begin
until (enregistrement='') or (itl>3);
if itl>4 then begin Affiche('Erreur 400 ligne '+sOrigine,clred);exit;end;
end;
until (sOrigine='0');
end;
until (sOrigine='0');
end;
// compile les décodeurs personnalisés
procedure compile_dec_pers;
var nv,j,k,l,adr : integer;
begin
// compile les décodeurs personnalisés
procedure compile_dec_pers;
var nv,j,k,l,adr : integer;
begin
Nligne:=1;
repeat // boucle de décodeurs
nv:=0; // compteur nombre de variables
@@ -2573,12 +2586,12 @@ begin
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);
until (adr>j) or (s='0');
until eof(fichier) or (s='0');
end;
until eof(fichier) or (s='0');
end;
procedure compile_dccpp;
var nv,i : integer;
begin
procedure compile_dccpp;
var nv,i : integer;
begin
Nligne:=1;
nv:=0;
repeat
@@ -2619,12 +2632,12 @@ begin
until eof(fichier) or (s='') or (s='0') or (nLigne>MaxCdeDccpp);
end;
until eof(fichier) or (s='0');
end;
until eof(fichier) or (s='0');
end;
procedure compile_trains;
var i,erreur : integer;
begin
procedure compile_trains;
var i,erreur : integer;
begin
ntrains:=0;
repeat
lit_ligne;
@@ -2688,11 +2701,11 @@ begin
end;
// trie les signaux
procedure trier_sig;
var i,j : integer;
// trie les signaux
procedure trier_sig;
var i,j : integer;
temp : TSignal;
begin
begin
for i:=1 to NbreFeux do
begin
for j:=i+1 to NbreFeux do
@@ -2705,14 +2718,13 @@ begin
end;
end;
end;
end;
end;
procedure lit_flux;
procedure lit_flux;
label ici1,ici2,ici3,ici4 ;
var i : integer;
// début de la procédure lit_config
begin
begin
// valeurs par défaut
Nb_cantons_Sig:=3;
nv:=0; it:=0;
@@ -2736,6 +2748,17 @@ begin
val(s,Verif_AdrXpressNet,erreur);
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)+'=';
i:=pos(sa,s);
if i=1 then
@@ -2937,7 +2960,7 @@ begin
AvecDemandeAiguillages:=s='1';
end;
// avec demande de connexion en COM USB au démarrage
// avec demande de connexion en COM USB au démarrage
sa:=uppercase(Init_dem_interfaceUSBCOM_ch)+'=';
i:=pos(sa,s);
if i=1 then
@@ -3065,6 +3088,18 @@ begin
AvecTCO:=i=1;
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)+'=';
i:=pos(sa,s);
if i=1 then
@@ -3252,8 +3287,9 @@ begin
until (eof(fichier));
end;
// procédure lit_config
end; // fin de lit_flux
// début de la procédure lit_config
begin
debugConfig:=false;
trouve_NbDetDist:=false;
@@ -3285,6 +3321,11 @@ begin
trouve_Algo_Uni:=false;
trouve_Nb_cantons_Sig:=false;
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;
@@ -3605,9 +3646,10 @@ begin
end;
end;
// affiche les champs du signal lc
// LC=Adresse du signal
procedure clicListeSignal(lc : integer);
var AncAdresse,index,adresse,erreur : integer;
var i,AncAdresse,index,adresse,erreur : integer;
s : string;
begin
index:=index_Signal(lc)-1;
@@ -3618,6 +3660,12 @@ begin
exit;
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
AncLigneClicSig:=ligneclicSig;
@@ -3640,6 +3688,7 @@ end;
procedure TFormConfig.FormActivate(Sender: TObject);
var i : integer;
begin
if affevt then affiche('FormConfig activate',clLime);
activ:=true;
@@ -3741,6 +3790,10 @@ begin
//l'onglet affiché est sélectionné à l'appel de la fiche dans l'unité UnitPrinc
clicListe:=false;
activ:=false;
if clicproprietes then clicListeSignal(Adressefeuclic);
clicproprietes:=false;
end;
// met à jour le décodeur courant dans le tableau de config
@@ -6520,11 +6573,12 @@ begin
end;
procedure TFormConfig.ComboBoxAspChange(Sender: TObject);
var x,y,i,index,aspect,adresseFeu : integer;
var indexTCO,x,y,i,index,aspect,adresseFeu : integer;
s : string;
bm :tbitmap;
begin
if clicListe then exit;
indexTCO:=index_TCO(sender);
if affevt then Affiche('Evt aspect',clOrange);
i:=ComboBoxAsp.ItemIndex;
//Affiche(IntToSTR(i),clyellow);
@@ -6564,15 +6618,15 @@ begin
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
// et dans le TCO
if formTCO.Showing then
if formTCO[indexTCO].Showing then
begin
for y:=1 to NbreCellY do
for x:=1 to NbreCellX do
for y:=1 to NbreCellY[indexTCO] do
for x:=1 to NbreCellX[indexTCO] do
begin
if TCO[x,y].BImage=50 then
if TCO[1,x,y].BImage=Id_Signal then // &&& balayer tous les tco
begin
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;
@@ -7565,7 +7619,7 @@ end;
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;
modAig,AncModel,model,km,SuivModel,model2: TEquipement;
c : char;
@@ -7857,7 +7911,7 @@ begin
begin
ok:=false;
Affiche('Erreur 9.12: signal '+intToSTR(feux[j].adresse)+' : détecteurs '+intToSTR(i)+' et '+intToSTR(l)+' non contigüs ',clred);
end;
end;
end;
end;
if ((km=aig) or (km=tjs) or (km=tjd) or (km=triple)) then
@@ -8022,7 +8076,7 @@ begin
if adr<>extr then Affiche('Erreur 10.24: Discordance de déclaration aiguillages '+intToSTR(adr)+'S: '+intToSTR(adr2)+'S différent de '+intToSTR(extr),clred);
end;
if c='P' then
begin
begin
extr:=aiguillage[index2].APointe;
if adr<>extr then Affiche('Erreur 10.25: Discordance de déclaration aiguillages '+intToSTR(adr)+'S: '+intToSTR(adr2)+'P différent de '+intToSTR(extr),clred);
end;
@@ -8073,7 +8127,7 @@ begin
if c='D' then
begin
extr:=aiguillage[index2].ADroit;
if adr<>extr then Affiche('Erreur 10.33: Discordance de déclaration aiguillages '+intToSTR(adr)+'S: '+intToSTR(adr2)+'D différent de '+intToSTR(extr),clred);
if adr<>extr then Affiche('Erreur 10.33: Discordance de déclaration aiguillages '+intToSTR(adr)+'S: '+intToSTR(adr2)+'D différent de '+intToSTR(extr),clred);
end;
if c='S' then
begin
@@ -8262,23 +8316,34 @@ begin
// 9. vérifier la cohérence TCO
if avecTCO then
begin
for y:=1 to NbreCellY do
for x:=1 to NbreCellX do
indexTCO:=1;
for y:=1 to NbreCellY[indexTCO] do
for x:=1 to NbreCellX[indexTCO] do
begin
i:=TCO[x,y].BImage;
if i=50 then
i:=TCO[indexTCO,x,y].BImage;
adr:=TCO[indexTCO,x,y].adresse;
if i=Id_signal then
begin
adr:=TCO[x,y].adresse;
if index_Signal(adr)=0 then
begin
Affiche('Un signal '+IntToSTR(adr)+' est déclaré dans le TCO['+intToSTR(x)+','+intToSTR(y)+'] mais absent de la configuration',clred);
ok:=false;
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
adr:=TCO[x,y].adresse;
if index_aig(adr)=0 then
if (adr<>0) and (tco[indexTCO,x,y].pont<>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
Affiche('Un aiguillage '+IntToSTR(adr)+' est déclaré dans le TCO['+intToSTR(x)+','+intToSTR(y)+'] mais absent de la configuration',clred);
ok:=false;
@@ -8286,7 +8351,7 @@ begin
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
begin
adr:=TCO[x,y].adresse;
adr:=TCO[indexTCO,x,y].adresse;
if adr<>0 then
begin
j:=1;
@@ -8301,11 +8366,13 @@ begin
end;
end;
end;
if not(verif_cellule(x,y,i)) then
if not(verif_cellule(indexTCO,x,y,i)) then
begin
Affiche('TCO: Erreur de proximité composants incompatibles: cellules TCO['+intToSTR(x)+','+intToSTR(y)+'] ',clred);
ok:=false;
end;
end;
end;
+116 -48
View File
@@ -1,10 +1,10 @@
object FormConfCellTCO: TFormConfCellTCO
Left = 467
Top = 112
Left = 477
Top = 168
BorderStyle = bsDialog
Caption = 'FormConfCellTCO'
ClientHeight = 402
ClientWidth = 251
ClientHeight = 430
ClientWidth = 282
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@@ -15,18 +15,19 @@ object FormConfCellTCO: TFormConfCellTCO
OldCreateOrder = False
OnActivate = FormActivate
OnCreate = FormCreate
OnHide = FormHide
OnKeyPress = FormKeyPress
PixelsPerInch = 96
TextHeight = 13
object GroupBox1: TGroupBox
Left = 8
Top = 264
Width = 233
Top = 304
Width = 265
Height = 97
Caption = 'Texte'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Height = -15
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
@@ -34,12 +35,12 @@ object FormConfCellTCO: TFormConfCellTCO
object Label1: TLabel
Left = 8
Top = 41
Width = 79
Height = 16
Width = 93
Height = 20
Caption = 'Position du texte:'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Height = -15
Font.Name = 'Arial Narrow'
Font.Style = []
ParentFont = False
@@ -57,10 +58,11 @@ object FormConfCellTCO: TFormConfCellTCO
'Sans'
'Centrale'
'Haut'
'Bas')
'Bas'
'R'#233'parti')
end
object ButtonFonte: TButton
Left = 112
Left = 160
Top = 56
Width = 81
Height = 25
@@ -71,7 +73,7 @@ object FormConfCellTCO: TFormConfCellTCO
object EditTexteCCTCO: TEdit
Left = 8
Top = 16
Width = 209
Width = 241
Height = 24
TabOrder = 2
OnChange = EditTexteCCTCOChange
@@ -80,12 +82,12 @@ object FormConfCellTCO: TFormConfCellTCO
object GroupBox2: TGroupBox
Left = 8
Top = 8
Width = 233
Height = 257
Width = 265
Height = 297
Caption = 'El'#233'ment'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Height = -15
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
@@ -93,39 +95,39 @@ object FormConfCellTCO: TFormConfCellTCO
object Label15: TLabel
Left = 8
Top = 22
Width = 93
Height = 16
Width = 111
Height = 20
Caption = 'Image de l'#39#233'l'#233'ment: '
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Height = -15
Font.Name = 'Arial Narrow'
Font.Style = []
ParentFont = False
end
object Label2: TLabel
Left = 168
Left = 192
Top = 14
Width = 48
Height = 16
Width = 53
Height = 20
Caption = 'Adresse : '
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Height = -15
Font.Name = 'Arial Narrow'
Font.Style = []
ParentFont = False
end
object ImagePaletteCC: TImage
Left = 112
Left = 128
Top = 24
Width = 49
Height = 49
Width = 41
Height = 41
OnMouseDown = ImagePaletteCCMouseDown
end
object EditTypeImage: TEdit
Left = 32
Top = 40
Left = 40
Top = 48
Width = 33
Height = 21
Hint = 'Num'#233'ro d'#39'image de l'#39#233'l'#233'ment'
@@ -140,15 +142,15 @@ object FormConfCellTCO: TFormConfCellTCO
TabOrder = 0
OnChange = EditTypeImageChange
end
object GroupBox3: TGroupBox
object GroupBoxOrientation: TGroupBox
Left = 8
Top = 112
Width = 209
Top = 152
Width = 249
Height = 73
Caption = 'Orientation du signal'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
@@ -161,7 +163,7 @@ object FormConfCellTCO: TFormConfCellTCO
Caption = 'Horizontal gauche'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
@@ -176,7 +178,7 @@ object FormConfCellTCO: TFormConfCellTCO
Caption = 'Vertical'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
@@ -191,7 +193,7 @@ object FormConfCellTCO: TFormConfCellTCO
Caption = 'Horizontal droit'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
@@ -199,15 +201,15 @@ object FormConfCellTCO: TFormConfCellTCO
OnClick = RadioButtonHDClick
end
end
object GroupBox4: TGroupBox
object GroupBoxImplantation: TGroupBox
Left = 8
Top = 192
Width = 209
Top = 232
Width = 249
Height = 57
Caption = 'Implantation du signal'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
@@ -220,7 +222,7 @@ object FormConfCellTCO: TFormConfCellTCO
Caption = #224' gauche de la voie'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
@@ -235,7 +237,7 @@ object FormConfCellTCO: TFormConfCellTCO
Caption = #224' droite de la voie'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
@@ -244,7 +246,7 @@ object FormConfCellTCO: TFormConfCellTCO
end
end
object EditAdrElement: TEdit
Left = 176
Left = 200
Top = 40
Width = 33
Height = 24
@@ -255,9 +257,9 @@ object FormConfCellTCO: TFormConfCellTCO
OnChange = EditAdrElementChange
end
object ButtonFond: TButton
Left = 16
Top = 72
Width = 97
Left = 8
Top = 104
Width = 89
Height = 33
Caption = 'Couleur de fond de la cellule'
Font.Charset = ANSI_CHARSET
@@ -270,10 +272,76 @@ object FormConfCellTCO: TFormConfCellTCO
WordWrap = True
OnClick = ButtonFondClick
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
object CheckPinv: TCheckBox
Left = 8
Top = 368
Top = 408
Width = 129
Height = 17
Hint = 'Cocher si l'#39'aiguillage est repr'#233'sent'#233' invers'#233
@@ -290,8 +358,8 @@ object FormConfCellTCO: TFormConfCellTCO
OnClick = CheckPinvClick
end
object BitBtnOk: TBitBtn
Left = 152
Top = 368
Left = 168
Top = 400
Width = 75
Height = 25
TabOrder = 3
+390 -146
View File
@@ -4,7 +4,7 @@ interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, UnitTCO, ExtCtrls,
Dialogs, StdCtrls, ExtCtrls,
Buttons;
type
@@ -19,17 +19,23 @@ type
EditTypeImage: TEdit;
CheckPinv: TCheckBox;
Label2: TLabel;
GroupBox3: TGroupBox;
GroupBoxOrientation: TGroupBox;
RadioButtonHG: TRadioButton;
RadioButtonV: TRadioButton;
RadioButtonHD: TRadioButton;
GroupBox4: TGroupBox;
GroupBoxImplantation: TGroupBox;
RadioButtonG: TRadioButton;
RadioButtonD: TRadioButton;
EditAdrElement: TEdit;
ButtonFond: TButton;
BitBtnOk: TBitBtn;
ImagePaletteCC: TImage;
RadioGroupSel: TRadioGroup;
GroupBoxAction: TGroupBox;
RadioButtonAffTCO: TRadioButton;
EditNumTCO: TEdit;
RadioButtonSC: TRadioButton;
RadioButtonCDM: TRadioButton;
procedure EditAdrElementChange(Sender: TObject);
procedure EditTexteCCTCOChange(Sender: TObject);
procedure ButtonFonteClick(Sender: TObject);
@@ -48,6 +54,11 @@ type
procedure EditTypeImageChange(Sender: TObject);
procedure ImagePaletteCCMouseDown(Sender: TObject;
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
{ Déclarations privées }
public
@@ -56,49 +67,129 @@ type
var
FormConfCellTCO: TFormConfCellTCO;
actualize : boolean;
actualize,ConfCellTCO : boolean;
IconeX,IconeY : integer;
procedure actualise;
procedure actualise(indexTCO : integer);
implementation
uses UnitPrinc,UnitAnalyseSegCDM,
UnitConfigTCO;
uses UnitPrinc,UnitAnalyseSegCDM,UnitConfigTCO,UnitTCO;
{$R *.dfm}
// actualise le contenu de la fenetre et de la zone tco
procedure actualise;
var Bimage,oriente,piedFeu : integer;
procedure actualise(indexTCO : integer);
var Bimage,oriente,piedFeu,xclic,yclic : integer;
s : string;
ip : Timage;
Bm : Tbitmap;
r : trect;
begin
if (indexTCO=0) or (formConfCellTCO=nil) then exit;
if affevt then affiche('FormConfigCellTCO actualise',clyellow);
xclic:=XclicCell[indexTCO];
yclic:=YclicCell[indexTCO];
Bm:=formConfCellTCO.imagepalettecc.Picture.Bitmap;
Bimage:=tco[XClicCell,YClicCell].Bimage;
if formConfCellTCOAff then
//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
// 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)
or (bimage=14) or (bimage=15) or (bimage=24) then
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) then
begin
// aiguillage inversé
with FormConfCellTCO.CheckPinv do
begin
enabled:=true;
checked:=TCO[XClicCell,YClicCell].inverse;
checked:=TCO[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].inverse;
end;
FormTCO.CheckPinv.checked:=TCO[XClicCell,YClicCell].inverse;
FormTCO.CheckPinv.enabled:=true ;
FormTCO[indexTCO].CheckPinv.checked:=TCO[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].inverse;
FormTCO[indexTCO].CheckPinv.enabled:=true ;
end
else
begin
FormTCO.CheckPinv.enabled:=false;
FormTCO[indexTCO].CheckPinv.enabled:=false;
FormConfCellTCO.checkPinv.enabled:=false;
end;
end;
@@ -106,8 +197,8 @@ begin
// si voie ou rien ou signal ou quai
if (Bimage=1) or (Bimage=0) or (Bimage=Id_signal) or (Bimage=51) then
begin
s:=Tco[XClicCell,YClicCell].Texte;
with formTCO do
s:=Tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].Texte;
with formTCO[indexTCO] do
begin
EditTexte.Text:=s;
EditTexte.Visible:=true;
@@ -116,29 +207,28 @@ begin
end
else
begin
formTCO.EditTexte.Visible:=false;
formTCO.comboRepr.Enabled:=false;
formTCO[indexTCO].EditTexte.Visible:=false;
formTCO[indexTCO].comboRepr.Enabled:=false;
end;
s:=IntToSTR(XclicCell)+','+IntToSTR(YclicCell);
FormTCO.LabelCoord.caption:=s;
FormTCO.GroupBox1.Caption:='Configuration cellule '+s;
XclicCellInserer:=XClicCell;
YclicCellInserer:=YClicCell;
FormTCO.EditAdrElement.Text:=IntToSTR(tco[XClicCellInserer,YClicCellInserer].Adresse);
FormTCO.EdittypeImage.Text:=IntToSTR(BImage);
FormTCO.ComboRepr.ItemIndex:=tco[XClicCell,yClicCell].repr;
FormTCO.ShapeCoulFond.Brush.Color:=tco[XClicCell,yClicCell].CouleurFond;
s:=IntToSTR(Xclic)+','+intToSTR(yClic);
FormTCO[indexTCO].GroupBox1.Caption:='Configuration cellule '+s;
XclicCellInserer:=XclicCell[indexTCO];
YclicCellInserer:=YclicCell[indexTCO];
FormTCO[indexTCO].EditAdrElement.Text:=IntToSTR(tco[indexTCO,XclicCellInserer,YclicCellInserer].Adresse);
FormTCO[indexTCO].EdittypeImage.Text:=IntToSTR(BImage);
FormTCO[indexTCO].ComboRepr.ItemIndex:=tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].repr;
FormTCO[indexTCO].ShapeCoulFond.Brush.Color:=tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].CouleurFond;
s:='El='+intToSTR(tco[XClicCell,YClicCell].BImage);
if tco[XClicCell,YClicCell].adresse<>0 then s:=s+' Adr='+intToSTR(tco[XClicCell,YClicCell].adresse);
s:='El='+intToSTR(tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].BImage);
if tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].adresse<>0 then s:=s+' Adr='+intToSTR(tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].adresse);
//hint:=s;
if not(formConfCellTCOAff) then exit;
if not(ConfCellTCO) then exit;
actualize:=true; // évite les évènements parasites
FormConfCellTCO.caption:='Propriétés de la cellule '+IntToSTR(XClicCell)+','+intToSTR(YClicCell);
Bimage:=TCO[XClicCell,YClicCell].Bimage;
FormConfCellTCO.caption:='Propriétés de la cellule '+IntToSTR(XclicCell[indexTCO])+','+intToSTR(YclicCell[indexTCO])+' TCO '+intToSTR(IndexTCO);
Bimage:=tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].Bimage;
formConfCellTCO.EditTypeImage.Text:=intToSTR(Bimage);
// si signal
@@ -146,7 +236,7 @@ begin
With formConfCellTCO.ImagePaletteCC do
begin
//Height:=FormTCO.ImagePalette1.Picture.Height;
//ziziWidth:=FormTCO.ImagePalette1.Picture.Width;
//Width:=FormTCO.ImagePalette1.Picture.Width;
Transparent:=false;
end;
@@ -165,21 +255,6 @@ begin
// mettre l'image de la cellule cliquée dans l'icone de la fenetre de config cellule
if Bimage=0 then
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
begin
RadioButtonV.Enabled:=false;
@@ -194,7 +269,7 @@ begin
// Bimage non nulle
begin
ip:=formTCO.findComponent('ImagePalette'+intToSTR(Bimage)) as Timage;
ip:=formTCO[indexTCO].findComponent('ImagePalette'+intToSTR(Bimage)) as Timage;
if ip=nil then exit;
// affiche l'icone cliquée dans la fenetre -----------------------------------------------
@@ -205,14 +280,12 @@ begin
Height:=iconeY;
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
//-----------------------------------------------------------------------------------------
if Bimage=Id_signal then
begin // signal
With formConfCellTCO.ImagePaletteCC do
@@ -231,7 +304,7 @@ begin
RadioButtonHD.Enabled:=true;
RadioButtonG.Enabled:=true;
RadioButtonD.Enabled:=true;
oriente:=tco[XClicCell,YClicCell].Feuoriente;
oriente:=tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].Feuoriente;
if oriente=1 then
begin
RadioButtonV.checked:=true;
@@ -240,9 +313,9 @@ begin
end;
if oriente=2 then
begin
RadioButtonV.checked:=false;
RadioButtonHG.checked:=true;
RadioButtonHD.checked:=false;
RadioButtonV.checked:=false;
RadioButtonHG.checked:=true;
RadioButtonHD.checked:=false;
end;
if oriente=3 then
begin
@@ -251,7 +324,7 @@ begin
RadioButtonHD.checked:=true;
end;
PiedFeu:=tco[XClicCell,YClicCell].PiedFeu;
PiedFeu:=tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].PiedFeu;
if PiedFeu=1 then
begin
RadioButtonG.checked:=true;
@@ -274,66 +347,94 @@ begin
with formConfCellTCO do
begin
EditTexteCCTCO.Text:=Tco[XClicCell,YClicCell].Texte;
EditAdrElement.Text:=IntToSTR(tco[XClicCellInserer,YClicCellInserer].Adresse);
ComboRepr.ItemIndex:=tco[XClicCell,yClicCell].repr;
EditTexteCCTCO.Text:=tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].Texte;
EditAdrElement.Text:=IntToSTR(tco[indexTCO,XclicCellInserer,YclicCellInserer].Adresse);
ComboRepr.ItemIndex:=tco[indexTCO,XclicCell[indexTCO],YclicCell[indexTCO]].repr;
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;
end;
procedure TFormConfCellTCO.EditAdrElementChange(Sender: TObject);
var Adr,erreur,index : integer;
var Adr,erreur,index,Bimage : integer;
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);
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);
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;
formTCO.EditAdrElement.Text:=intToSTR(adr);
tco[indexTCOcourant,XclicCell[indexTCOcourant],YclicCell[indexTCOcourant]].Adresse:=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
index:=Index_Signal(adr);
if index=0 then exit
else
begin
//Affiche('Feu '+intToSTR(Adr),clyellow);
affiche_tco;
affiche_tco(indexTCOcourant);
end;
end;
if not(selectionaffichee) then efface_entoure;
Affiche_cellule(XclicCell,YclicCell);
if not(selectionaffichee) then _entoure_cell_clic;
if not(selectionaffichee[indexTCOcourant]) then efface_entoure(indexTCOcourant);
Affiche_cellule(indexTCOcourant,XclicCell[indexTCOcourant],YclicCell[indexTCOcourant]);
if not(selectionaffichee[indexTCOcourant]) then _entoure_cell_clic(indexTCOcourant);
end;
procedure TFormConfCellTCO.EditTexteCCTCOChange(Sender: TObject);
begin
if clicTCO or not(formConfCellTCOAff) or actualize then exit;
PCanvasTCO.Brush.Color:=clfond;
if clicTCO or not(ConfCellTCO) or actualize then exit;
PCanvasTCO[indexTCOCourant].Brush.Color:=clfond;
if Tco[XClicCell,YClicCell].texte='' then
if tco[indexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].texte='' then
begin
Tco[XClicCell,YClicCell].CoulFonte:=clTexte;
Tco[XClicCell,YClicCell].TailleFonte:=8;
tco[indexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].CoulFonte:=clTexte;
tco[indexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]].TailleFonte:=8;
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(selectionaffichee) then efface_entoure;
affiche_texte(XClicCell,YClicCell);
formTCO.EditTexte.Text:=EditTexteCCTCO.text;
if not(selectionaffichee) then _entoure_cell_clic;
if not(selectionaffichee[indexTCOcourant]) then efface_entoure(indexTCOCourant);
affiche_texte(indexTCOCourant,XclicCell[indexTCOCourant],YclicCell[indexTCOCourant]);
formTCO[indexTCOCourant].EditTexte.Text:=EditTexteCCTCO.text;
if not(selectionaffichee[indexTCOcourant]) then _entoure_cell_clic(indexTCOCourant);
end;
procedure TFormConfCellTCO.ButtonFonteClick(Sender: TObject);
begin
change_fonte;
change_fonte(indexTCOcourant);
end;
procedure TFormConfCellTCO.FormCreate(Sender: TObject);
@@ -341,11 +442,12 @@ begin
// fenetre toujours dessus
if affevt then Affiche('FormConfCellTCO create',clyellow);
actualize:=false;
formConfCellTCOAff:=true;
SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NoMove or SWP_NoSize);
iconeX:=50; // taille de l'icone
iconeY:=50;
ImagePaletteCC.Width:=iconeX;
ImagePaletteCC.Height:=iconeY;
RadioGroupSel.itemIndex:=0;
// dessine les composants - non utilisé
{
i:=1;
@@ -382,64 +484,66 @@ end;
procedure TFormConfCellTCO.ComboReprChange(Sender: TObject);
begin
if clicTCO or not(formConfCellTCOAff) or actualize then exit;
tco[XClicCell,YClicCell].Repr:=comborepr.ItemIndex;
efface_entoure;SelectionAffichee:=false;
FormTCO.ComboRepr.ItemIndex:=ComboRepr.ItemIndex;
//affiche_cellule(XClicCell,yClicCell);
affiche_tco;
if clicTCO or not(ConfCellTCO) or actualize then exit;
tco[indexTCOcourant,XclicCell[indexTCOcourant],YclicCell[indexTCOcourant]].Repr:=comborepr.ItemIndex;
efface_entoure(indexTCOcourant);
SelectionAffichee[indexTCOcourant]:=false;
FormTCO[indexTCOcourant].ComboRepr.ItemIndex:=ComboRepr.ItemIndex;
//affiche_cellule(XclicCell[indexTCO],YclicCell[indexTCO]);
affiche_tco(indexTCOcourant);
end;
procedure TFormConfCellTCO.CheckPinvClick(Sender: TObject);
var Bimage : integer;
begin
if (xClicCell=0) or (xClicCell>NbreCellX) or (yClicCell=0) or (yClicCell>NbreCelly) then exit;
Bimage:=Tco[xClicCell,yClicCell].Bimage;
if (XclicCell[indexTCOcourant]=0) or (XclicCell[indexTCOcourant]>NbreCellX[indexTCOcourant]) or (YclicCell[indexTCOcourant]=0) or (YclicCell[indexTCOcourant]>NbreCelly[indexTCOcourant]) then exit;
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
(bimage=14) or (bimage=15) or (bimage=24)
then
begin
TCO[xClicCell,yClicCell].inverse:=CheckPinv.checked;
formTCO.CheckPinv.checked:=CheckPinv.checked;
TCO_modifie:=true;
tco[indexTCOcourant,XclicCell[indexTCOcourant],YclicCell[indexTCOcourant]].inverse:=CheckPinv.checked;
formTCO[indexTCOcourant].CheckPinv.checked:=CheckPinv.checked;
TCO_modifie:=true;
end;
end;
procedure TFormConfCellTCO.RadioButtonVClick(Sender: TObject);
begin
Vertical;
Vertical(indexTCOcourant);
end;
procedure TFormConfCellTCO.RadioButtonHGClick(Sender: TObject);
begin
tourne90G;
tourne90G(indexTCOcourant);
end;
procedure TFormConfCellTCO.RadioButtonHDClick(Sender: TObject);
begin
tourne90D;
tourne90D(indexTCOcourant);
end;
procedure TFormConfCellTCO.RadioButtonGClick(Sender: TObject);
begin
signalG;
signalG(indexTCOcourant);
end;
procedure TFormConfCellTCO.RadioButtonDClick(Sender: TObject);
begin
signalD;
signalD(indexTCOcourant);
end;
procedure TFormConfCellTCO.ButtonFondClick(Sender: TObject);
begin
change_couleur_fond;
change_couleur_fond(indexTCOcourant);
end;
procedure TFormConfCellTCO.FormActivate(Sender: TObject);
begin
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';
ConfCellTCO:=true;
end;
procedure TFormConfCellTCO.FormKeyPress(Sender: TObject; var Key: Char);
@@ -449,10 +553,16 @@ end;
procedure TFormConfCellTCO.BitBtnOkClick(Sender: TObject);
begin
close
if affevt then Affiche('BitBtnOk',clyellow);
ConfCellTCO:=false;
close;
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);
var i,j : integer;
begin
@@ -476,24 +586,21 @@ end;
procedure TFormConfCellTCO.EditTypeImageChange(Sender: TObject);
var Bimage,erreur : integer;
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);
Val(EditTypeImage.Text,Bimage,erreur);
if (erreur<>0) or not(Bimage in[0..29,32..34,50,51]) then
begin
exit;
end;
if (erreur<>0) or not(Bimage in[0..29,32..34,50,51]) then exit;
TCO_modifie:=true;
tco[XClicCell,YClicCell].Bimage:=Bimage;
FormTCO.EditTypeImage.text:=intToSTR(BImage);
actualise; // pour mise à jour de l'image de la fenetre FormConfCellTCO
efface_entoure;
Efface_Cellule(FormTCO.ImageTCO.Canvas,XClicCell,yClicCell,pmCopy);
affiche_cellule(XClicCell,YClicCell);
tco[IndexTCOCourant,XclicCell[IndexTCOCourant],YclicCell[IndexTCOCourant]].Bimage:=Bimage;
FormTCO[IndexTCOCourant].EditTypeImage.text:=intToSTR(BImage);
actualise(IndexTCOCourant); // pour mise à jour de l'image de la fenetre FormConfCellTCO
efface_entoure(IndexTCOCourant);
Efface_Cellule(IndexTCOCourant,FormTCO[IndexTCOCourant].ImageTCO.Canvas,XclicCell[IndexTCOCourant],YclicCell[IndexTCOCourant],pmCopy);
affiche_cellule(IndexTCOCourant,XclicCell[IndexTCOCourant],YclicCell[IndexTCOCourant]);
end;
procedure copie_cellule;
procedure copie_cellule(index : integer);
begin
// affiche l'icone cliquée dans la fenetre -----------------------------------------------
// pour que le stretchBlt soit visible, il faut mettre à jour la taille du bitmap
@@ -504,14 +611,16 @@ begin
end;
// destination masque avec mise à l'échelle
StretchBlt(FormConfCellTCO.ImagePaletteCC.canvas.Handle,0,0,iconeX,iconeY,
PcanvasTCO.Handle,(xClicCell-1)*largeurCell,(yClicCell-1)*hauteurCell,largeurCell,hauteurCell,srccopy);
StretchBlt(FormConfCellTCO.ImagePaletteCC.canvas.Handle,0,0,iconeX,iconeY,
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
end;
procedure TFormConfCellTCO.ImagePaletteCCMouseDown(Sender: TObject;
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
x0:=0; // x origine
y0:=0; // y origine
@@ -519,10 +628,14 @@ begin
xc:=x0+(iconeX div 2); // x centre
xf:=x0+iconeX; // x fin
yf:=y0+iconeY; // y fin
Xclic:=XclicCell[indexTCOCourant];
Yclic:=YclicCell[indexTCOCourant];
//Affiche(IntToSTR(x)+' '+IntToSTR(y),clyellow);
val(editTypeImage.text,element,erreur);
if erreur<>0 then exit;
extrait_connect(element,c1,c2,c3,c4);
@@ -551,35 +664,166 @@ begin
// x1,y1 désigne le permier point du segment
if point_Sur_Segment(x,y,x1,y1,xc,yc) then
begin
if not(testbit(tco[xClicCell,yClicCell].epaisseurs,c)) then
with ImagePaletteCC.Picture.Bitmap.Canvas do
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;
iconeBut:=(Element=1) or (Element=10) or (Element=11) or (Element=20); // icones pouvant afficher un buttoir
crois:=(element=21) or (element=22) or (element=23) or (element=25) ;
// 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;
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;
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
end.
+198 -124
View File
@@ -1,9 +1,9 @@
object FormConfigTCO: TFormConfigTCO
Left = 311
Top = 218
Left = 294
Top = 201
BorderStyle = bsDialog
Caption = 'Configuration du TCO'
ClientHeight = 293
ClientHeight = 400
ClientWidth = 665
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
@@ -13,99 +13,31 @@ object FormConfigTCO: TFormConfigTCO
Font.Style = []
OldCreateOrder = False
OnActivate = FormActivate
OnCreate = FormCreate
PixelsPerInch = 96
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
Left = 16
Top = 216
Width = 3
Height = 13
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
Left = 16
Top = 256
Left = 8
Top = 368
Width = 75
Height = 25
Caption = 'Redessine'
TabOrder = 0
OnClick = ButtonDessineClick
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
Left = 304
Top = 8
Width = 353
Height = 273
Height = 265
Caption = 'Couleurs '
TabOrder = 4
TabOrder = 1
object Label5: TLabel
Left = 21
Top = 32
@@ -179,8 +111,8 @@ object FormConfigTCO: TFormConfigTCO
OnClick = ImagecantonClick
end
object Label10: TLabel
Left = 48
Top = 248
Left = 56
Top = 240
Width = 258
Height = 13
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
end
object CheckCouleur: TCheckBox
Left = 56
Top = 208
Left = 64
Top = 216
Width = 281
Height = 17
Caption = 'Couleur du canton activ'#233' par la couleur du train'
@@ -247,82 +179,224 @@ object FormConfigTCO: TFormConfigTCO
end
end
object Memo1: TMemo
Left = 16
Top = 184
Width = 273
Height = 65
Left = 304
Top = 344
Width = 353
Height = 49
BevelInner = bvLowered
BevelKind = bkFlat
BorderStyle = bsNone
Lines.Strings = (
'Si vous d'#233'finissez un nombre de cellules en '
'horizontal ou en vertical plus petit(s) que l'#39'actuel(s), '
'alors le TCO sera tronqu'#233', et les '#233'l'#233'ments tronqu'#233's '
'Si vous d'#233'finissez un nombre de cellules en horizontal ou en ver' +
'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.')
ReadOnly = True
TabOrder = 5
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'
TabOrder = 2
end
object BitBtnOk: TBitBtn
Left = 216
Top = 256
Left = 208
Top = 368
Width = 75
Height = 25
TabOrder = 7
TabOrder = 3
OnClick = BitBtnOkClick
Kind = bkOK
end
object RadioGroup1: TRadioGroup
Left = 16
Top = 120
Width = 273
Left = 304
Top = 280
Width = 353
Height = 57
Caption = 'Graphisme'
TabOrder = 8
TabOrder = 4
end
object RadioButtonLignes: TRadioButton
Left = 40
Top = 136
Left = 352
Top = 296
Width = 113
Height = 17
Caption = 'Lignes bris'#233'es'
TabOrder = 9
TabOrder = 5
OnClick = RadioButtonLignesClick
end
object RadioButtonCourbes: TRadioButton
Left = 40
Top = 152
Left = 352
Top = 312
Width = 113
Height = 17
Caption = 'Lignes courbes'
TabOrder = 10
TabOrder = 6
OnClick = RadioButtonCourbesClick
end
object CheckBoxCreerEvt: TCheckBox
Left = 16
Top = 96
Width = 281
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 = 11
OnClick = CheckBoxCreerEvtClick
object GroupBox3: TGroupBox
Left = 8
Top = 8
Width = 289
Height = 89
Caption = 'Configuration du TCO '
TabOrder = 7
object Label3: TLabel
Left = 16
Top = 20
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
object ColorDialog1: TColorDialog
OnShow = ColorDialog1Show
Left = 272
Top = 8
end
end
+132 -75
View File
@@ -5,16 +5,11 @@ interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls , UnitTCO, ExtCtrls, Menus,
Buttons;
Buttons, Grids;
type
TFormConfigTCO = class(TForm)
Label3: TLabel;
Label4: TLabel;
ButtonDessine: TButton;
CheckDessineGrille: TCheckBox;
EditNbCellX: TEdit;
EditNbCellY: TEdit;
LabelErreur: TLabel;
ColorDialog1: TColorDialog;
GroupBox1: TGroupBox;
@@ -33,13 +28,8 @@ type
ImageTexte: TImage;
Label11: TLabel;
Label12: TLabel;
LabelMaxX: TLabel;
LabelMaxY: TLabel;
ImageQuai: TImage;
Label13: TLabel;
EditRatio: TEdit;
Ratio: TLabel;
Label14: TLabel;
CheckCouleur: TCheckBox;
Label1: TLabel;
ImagePiedFeu: TImage;
@@ -47,7 +37,24 @@ type
RadioGroup1: TRadioGroup;
RadioButtonLignes: 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;
Label15: TLabel;
Label2: TLabel;
CheckDessineGrille: TCheckBox;
EditEcran: TEdit;
Label16: TLabel;
procedure ButtonDessineClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure ImageAigClick(Sender: TObject);
@@ -67,6 +74,7 @@ type
procedure CheckCouleurClick(Sender: TObject);
procedure RadioButtonLignesClick(Sender: TObject);
procedure RadioButtonCourbesClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Déclarations privées }
public
@@ -74,13 +82,13 @@ type
end;
var FormConfigTCO: TFormConfigTCO;
AvecGrille : boolean;
clicConf : boolean;
titre_couleur : string;
graphisme : integer;
implementation
uses UnitPrinc ;
uses UnitPrinc,unitconfig ;
{$R *.dfm}
@@ -109,7 +117,7 @@ begin
end;
end;
procedure dessine_icones_config;
procedure dessine_icones_config(indexTCO : integer);
var r : Trect;
x1,y1,x2,y2,jy1,jy2,larg,haut : integer;
begin
@@ -189,8 +197,8 @@ begin
canvas.pen.color:=clQuai;
x1:=0;
x2:=x1+width;
jy1:=(Haut div 2)-round(12*frYGlob); // pos Y de la bande sup
jy2:=(Haut div 2)+round(12*frYGlob); // pos Y de la bande inf
jy1:=(Haut div 2)-round(12*fryGlob[indexTCO]); // pos Y de la bande sup
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)]);
end;
@@ -207,14 +215,14 @@ begin
x1:=Larg div 2;
y1:=0;
canvas.moveTo(x1,y1);
y2:=HauteurCell div 2;
y2:=HauteurCell[indexTCO] div 2;
canvas.LineTo(x1,y2);
canvas.LineTo(x1-10,y2);
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;
ok : boolean;
begin
@@ -227,7 +235,7 @@ begin
LabelErreur.caption:='Erreur: nombre de cellules X: mini=20 maxi='+IntToSTR(MaxCellX);
ok:=false;
end
else NbreCellX:=mx;
else NbreCellX[indexTCO]:=mx;
Val(EditNbCellY.Text,my,erreur);
if (my<10) or (my>MaxCellY) then
@@ -235,15 +243,15 @@ begin
LabelErreur.caption:='Erreur: nombre de cellules Y: mini=10 maxi='+IntToSTR(MaxCellY);
ok:=false;
end
else NbreCellY:=my;
else NbreCellY[indexTCO]:=my;
if LargeurCell*NbreCellX>8192 then
if LargeurCell[indexTCO]*NbreCellX[indexTCO]>8192 then
begin
LabelErreur.caption:='Erreur: nombre de cellules X';
ok:=false;
end;
if HauteurCell*NbreCellY>8192 then
if HauteurCell[indexTCO]*NbreCellY[indexTCO]>8192 then
begin
LabelErreur.caption:='Erreur: nombre de cellules Y';
ok:=false;
@@ -251,46 +259,56 @@ begin
val(EditRatio.text,RatioC,erreur);
AvecGrille:=checkDessineGrille.Checked;
AvecGrille[IndexTCO]:=checkDessineGrille.Checked;
if checkCouleur.checked then ModeCouleurCanton:=1 else ModeCouleurCanton:=0;
end;
verif_config_TCO:=ok;
NbCellulesTCO:=NbreCellX*NbreCellY;
NbCellulesTCO[indexTCO]:=NbreCellX[indexTCO]*NbreCellY[indexTCO];
end;
procedure TFormConfigTCO.ButtonDessineClick(Sender: TObject);
begin
if verif_config_TCO then
if verif_config_TCO(indexTCOCourant) then
begin
with formTCO do
with formTCO[indexTCOCourant] do
begin
ImageTCO.Width:=LargeurCell*NbreCellX;
ImageTCO.Height:=HauteurCell*NbreCellY;
ImageTCO.Width:=LargeurCell[indexTCOCourant]*NbreCellX[indexTCOCourant];
ImageTCO.Height:=HauteurCell[indexTCOCourant]*NbreCellY[indexTCOCourant];
end;
calcul_cellules;
affiche_TCO;
calcul_cellules(indexTCOCourant);
affiche_TCO(indexTCOCourant);
end;
end;
procedure TFormConfigTCO.FormActivate(Sender: TObject);
var s: string;
i : integer;
begin
EditNbCellX.Text:=IntToSTR(NbreCellX);
EditNbCellY.Text:=IntToSTR(NbreCellY);
clicConf:=true;
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);
EditEcran.Text:=intToSTR(EcranTCO[indexTCOcourant]);
RadioButtonCourbes.checked:=graphisme=2;
RadioButtonLignes.checked:=graphisme=1;
checkDessineGrille.Checked:=AvecGrille;
checkDessineGrille.Checked:=AvecGrille[IndexTCOCourant];
checkCouleur.Checked:=ModeCouleurCanton=1;
labelMaxX.caption:='Max='+intToSTR(MaxCellX);
labelMaxY.caption:='Max='+intToSTR(MaxCellY);
Label15.caption:='Nbre de TCOs : '+intToSTR(NbreTCO);
CheckBoxCreerEvt.checked:=EvtClicDet;
dessine_icones_config;
dessine_icones_config(indexTCOCourant);
s:='ColorA='+IntToHex(clfond,6); // ajouter aux couleurs personnalisées
colorDialog1.CustomColors.Add(s);
for i:=1 to 10 do
stringGridTCO.Cells[1,i]:=NomFichierTCO[i];
// stringGridTCO.canvas.Font.Style:=[fsBOld];
clicConf:=false;
end;
@@ -306,7 +324,7 @@ begin
begin
clVoies:=ColorDialog1.Color;
TCO_modifie:=true;
dessine_icones_config;
dessine_icones_config(indexTCOCourant);
end;
end;
@@ -322,7 +340,7 @@ begin
begin
clfond:=ColorDialog1.Color;
TCO_modifie:=true;
dessine_icones_config;
dessine_icones_config(indexTCOCourant);
end;
end;
@@ -339,7 +357,7 @@ begin
begin
ClGrille:=ColorDialog1.Color;
TCO_modifie:=true;
dessine_icones_config;
dessine_icones_config(indexTCOCourant);
end;
end;
@@ -356,7 +374,7 @@ begin
begin
ClAllume:=ColorDialog1.Color;
TCO_modifie:=true;
dessine_icones_config;
dessine_icones_config(indexTCOCourant);
end;
end;
@@ -368,7 +386,7 @@ begin
if ColorDialog1.execute then
begin
ClCanton:=ColorDialog1.Color;
dessine_icones_config;
dessine_icones_config(indexTCOCourant);
end;
end;
@@ -380,7 +398,7 @@ begin
if ColorDialog1.execute then
begin
ClTexte:=ColorDialog1.Color;
dessine_icones_config;
dessine_icones_config(indexTCOCourant);
end;
end;
@@ -392,7 +410,7 @@ begin
if ColorDialog1.execute then
begin
ClQuai:=ColorDialog1.Color;
dessine_icones_config;
dessine_icones_config(indexTCOCourant);
end;
end;
@@ -404,7 +422,7 @@ begin
if ColorDialog1.execute then
begin
clPiedSignal:=ColorDialog1.Color;
dessine_icones_config;
dessine_icones_config(indexTCOCourant);
end;
end;
@@ -416,43 +434,39 @@ end;
procedure TFormConfigTCO.BitBtnOkClick(Sender: TObject);
var ok : boolean;
x,y : integer;
index,i,x,y,erreur : integer;
s : string;
begin
ok:=true;
index:=indexTCOCourant;
if verif_config_TCO then
if verif_config_TCO(indexTCOCourant) then
begin
with FormTCO.ImageTCO do
with FormTCO[index].ImageTCO do
begin
Width:=LargeurCell*NbreCellX;
Height:=HauteurCell*NbreCellY;
Width:=LargeurCell[index]*NbreCellX[index];
Height:=HauteurCell[index]*NbreCellY[index];
end;
try
SetLength(TCO,NbreCellX+1,NbreCellY+1);
begin
SetLength(TCO[index],NbreCellX[index]+1,NbreCellY[index]+1);
init_tampon_copiercoller;
end;
except
LabelErreur.caption:='TCO Mémoire insuffisante';
NbreCellX:=20;NbreCellY:=12;
SetLength(TCO,NbreCellX+1,NbreCellY+1);
NbreCellX[index]:=20;NbreCellY[index]:=12;
SetLength(TCO[index],NbreCellX[index]+1,NbreCellY[index]+1);
init_tampon_copiercoller;
ok:=false;
end;
for y:=1 to NbreCellY do
for x:=1 to NbreCellX do
for y:=1 to NbreCellY[index] do
for x:=1 to NbreCellX[index] do
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;
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
begin
if graphisme=2 then TCO_modifie:=true;
@@ -464,13 +478,30 @@ begin
graphisme:=2;
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
begin
calcul_cellules;
affiche_TCO;
dessine_icones;
for i:=1 to 10 do
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(index);
LabelErreur.caption:='';
close;
end;
@@ -480,38 +511,64 @@ end;
procedure TFormConfigTCO.CheckBoxCreerEvtClick(Sender: TObject);
begin
EvtClicDet:=CheckBoxCreerEvt.checked;
TCO_modifie:=true;
if not(clicConf) then TCO_modifie:=true;
end;
procedure TFormConfigTCO.EditNbCellXChange(Sender: TObject);
begin
TCO_modifie:=true;
if not(clicConf) then TCO_modifie:=true;
end;
procedure TFormConfigTCO.EditNbCellYChange(Sender: TObject);
begin
TCO_modifie:=true;
if not(clicConf) then TCO_modifie:=true;
end;
procedure TFormConfigTCO.CheckDessineGrilleClick(Sender: TObject);
begin
TCO_modifie:=true;
if not(clicConf) then TCO_modifie:=true;
end;
procedure TFormConfigTCO.CheckCouleurClick(Sender: TObject);
begin
TCO_modifie:=true;
if not(clicConf) then TCO_modifie:=true;
end;
procedure TFormConfigTCO.RadioButtonLignesClick(Sender: TObject);
begin
TCO_modifie:=true;
if not(clicConf) then TCO_modifie:=true;
end;
procedure TFormConfigTCO.RadioButtonCourbesClick(Sender: TObject);
begin
TCO_modifie:=true;
if not(clicConf) then TCO_modifie:=true;
end;
procedure TFormConfigTCO.FormCreate(Sender: TObject);
var i : integer;
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.
+7 -11
View File
@@ -4,7 +4,7 @@ object FormPilote: TFormPilote
BorderStyle = bsDialog
Caption = 'Pilotage'
ClientHeight = 350
ClientWidth = 331
ClientWidth = 337
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@@ -17,30 +17,26 @@ object FormPilote: TFormPilote
OnClose = FormClose
OnCreate = FormCreate
OnKeyPress = FormKeyPress
DesignSize = (
331
350)
PixelsPerInch = 96
TextHeight = 13
object LabelTitrePilote: TLabel
Left = 8
Top = 8
Width = 249
Height = 34
Width = 242
Height = 32
Caption = 'Pilotage du signal'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -29
Font.Height = -28
Font.Name = 'Arial'
Font.Style = [fsBold, fsItalic]
ParentFont = False
end
object ImagePilote: TImage
Left = 224
Left = 225
Top = 56
Width = 81
Height = 105
Anchors = []
end
object LabelNbFeux: TLabel
Left = 208
@@ -241,9 +237,9 @@ object FormPilote: TFormPilote
OnClick = CheckVerrouCarreClick
end
object GroupBox3: TGroupBox
Left = 120
Left = 101
Top = 40
Width = 193
Width = 192
Height = 73
Caption = 'Signalisation combin'#233'e'
TabOrder = 5
+28 -9
View File
@@ -115,25 +115,26 @@ implementation
{$R *.dfm}
procedure dessine_feu_pilote;
var i : integer;
var i,ancienEtat : integer;
Vcanvas : Tcanvas;
begin
i:=Index_Signal(AdrPilote); // adresse du feu d'origine
if i<>0 then
//ImagePilote.Picture.Bitmap:=FormPilote.ImagePilote.picture.bitmap;
EtatFeuPilote:=feux[0].EtatSignal;
AncienEtat:=Feux[0].ancienEtat;
Vcanvas:=FormPilote.ImagePilote.picture.bitmap.Canvas;
case feux[i].aspect of
// feux de signalisation
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);
5 : dessine_feu5(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);
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
12 : dessine_dirN(VCanvas,0,0,1,1,EtatFeupilote,1,2);
13 : dessine_dirN(VCanvas,0,0,1,1,EtatFeupilote,1,3);
@@ -162,60 +163,70 @@ end;
procedure TFormPilote.RadioVertClick(Sender: TObject);
begin
feux[0].AncienEtat:=feux[0].EtatSignal;
if nation=1 then Maj_Etat_Signal(0,vert) else Maj_Etat_Signal(0,vertB) ;
dessine_feu_pilote;
end;
procedure TFormPilote.RadioVertCliClick(Sender: TObject);
begin
feux[0].AncienEtat:=feux[0].EtatSignal;
Maj_Etat_Signal(0,vert_cli);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioJauneClick(Sender: TObject);
begin
feux[0].AncienEtat:=feux[0].EtatSignal;
if nation=1 then Maj_Etat_Signal(0,jaune) else Maj_Etat_Signal(0,deux_jaunes);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioJaunecliClick(Sender: TObject);
begin
feux[0].AncienEtat:=feux[0].EtatSignal;
Maj_Etat_Signal(0,jaune_cli);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioRougeClick(Sender: TObject);
begin
feux[0].AncienEtat:=feux[0].EtatSignal;
Maj_Etat_Signal(0,semaphore);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioRougeCliClick(Sender: TObject);
begin
feux[0].AncienEtat:=feux[0].EtatSignal;
Maj_Etat_Signal(0,semaphore_cli);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioCarreClick(Sender: TObject);
begin
feux[0].AncienEtat:=feux[0].EtatSignal;
if nation=1 then Maj_Etat_Signal(0,carre) else Maj_Etat_Signal(0,vert_jaune_H);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioBlancClick(Sender: TObject);
begin
feux[0].AncienEtat:=feux[0].EtatSignal;
if nation=1 then Maj_Etat_Signal(0,blanc) else Maj_Etat_Signal(0,rouge_blanc);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioVioletClick(Sender: TObject);
begin
feux[0].AncienEtat:=feux[0].EtatSignal;
if nation=1 then Maj_Etat_Signal(0,violet) else Maj_Etat_Signal(0,vert_jaune_V);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioBlancCliClick(Sender: TObject);
begin
feux[0].AncienEtat:=feux[0].EtatSignal;
Maj_Etat_Signal(0,blanc_cli);
dessine_feu_pilote;
end;
@@ -228,6 +239,7 @@ end;
procedure TFormPilote.RadioRalen30Click(Sender: TObject);
begin
feux[0].AncienEtat:=feux[0].EtatSignal;
Maj_Etat_Signal(0,ral_30);
dessine_feu_pilote;
end;
@@ -235,6 +247,7 @@ end;
procedure TFormPilote.RadioRappel60Click(Sender: TObject);
begin
feux[0].AncienEtat:=feux[0].EtatSignal;
Maj_Etat_Signal(0,rappel_60);
dessine_feu_pilote;
end;
@@ -242,12 +255,14 @@ end;
procedure TFormPilote.RadioRalen60Click(Sender: TObject);
begin
feux[0].AncienEtat:=feux[0].EtatSignal;
Maj_Etat_Signal(0,ral_60);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioRappel30Click(Sender: TObject);
begin
feux[0].AncienEtat:=feux[0].EtatSignal;
Maj_Etat_Signal(0,rappel_30);
dessine_feu_pilote;
end;
@@ -348,11 +363,15 @@ begin
checkVerrouCarre.Checked:=feux[i].VerrouCarre;
end;
ImagePilote.Parent:=FormPilote;
ImagePilote.Picture.Bitmap.TransparentMode:=tmAuto;
ImagePilote.Picture.Bitmap.TransparentColor:=clblue;
ImagePilote.Transparent:=true;
ImagePilote.Picture.BitMap:=Feux[i].Img.Picture.Bitmap;
with imagePIlote do
begin
Parent:=FormPilote;
Picture.Bitmap.TransparentMode:=tmAuto;
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);
feux[0].EtatSignal:=feux[i].EtatSignal;
+139 -11
View File
@@ -1,6 +1,6 @@
object FormPrinc: TFormPrinc
Left = 64
Top = 216
Left = 55
Top = 227
Width = 1222
Height = 652
Caption = 'Signaux complexes'
@@ -17,8 +17,8 @@ object FormPrinc: TFormPrinc
OnClose = FormClose
OnCreate = FormCreate
DesignSize = (
1206
594)
1214
601)
PixelsPerInch = 96
TextHeight = 13
object LabelTitre: TLabel
@@ -1203,7 +1203,7 @@ object FormPrinc: TFormPrinc
object SplitterH: TSplitter
Left = 0
Top = 0
Height = 572
Height = 579
end
object ImageSignal20: TImage
Left = 384
@@ -1507,8 +1507,8 @@ object FormPrinc: TFormPrinc
end
object StatusBar1: TStatusBar
Left = 0
Top = 572
Width = 1206
Top = 579
Width = 1214
Height = 22
Panels = <>
SimplePanel = True
@@ -1593,9 +1593,9 @@ object FormPrinc: TFormPrinc
OnClick = ButtonLanceCDMClick
end
object ButtonLocCV: TButton
Left = 104
Top = 8
Width = 83
Left = 8
Top = 88
Width = 89
Height = 33
Hint = 'Affichage du panneau de contr'#244'le des trains ou des CV'
Caption = 'Trains / CVs'
@@ -1626,10 +1626,20 @@ object FormPrinc: TFormPrinc
WordWrap = True
OnClick = ButtonAffAnalyseCDMClick
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
object StaticText: TStaticText
Left = 16
Top = 549
Top = 557
Width = 14
Height = 17
Anchors = [akLeft, akBottom]
@@ -2197,6 +2207,124 @@ object FormPrinc: TFormPrinc
OnClick = Vrifiernouvelleversion1Click
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
Caption = 'Roulage'
object Placerlestrains1: TMenuItem
+1108 -204
View File
File diff suppressed because it is too large Load Diff
+116 -109
View File
@@ -1,10 +1,10 @@
object FormTCO: TFormTCO
Left = 82
Top = 114
Width = 1142
Height = 678
Left = 118
Top = 115
Width = 1209
Height = 580
VertScrollBar.Visible = False
Caption = 'FormTCO'
Caption = 'c'
Color = clBtnFace
DragMode = dmAutomatic
Font.Charset = DEFAULT_CHARSET
@@ -22,81 +22,41 @@ object FormTCO: TFormTCO
OnKeyPress = FormKeyPress
OnMouseWheel = FormMouseWheel
DesignSize = (
1126
640)
1193
542)
PixelsPerInch = 96
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
Left = 1078
Top = 391
Left = 1164
Top = 3
Width = 32
Height = 13
Anchors = [akRight, akBottom]
Anchors = [akTop, akRight]
Caption = 'Zoom'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object ImageTemp: TImage
Left = 952
Top = 64
Left = 731
Top = 123
Width = 121
Height = 121
end
object ImageTemp2: TImage
Left = 952
Top = 200
Left = 731
Top = 252
Width = 121
Height = 121
end
object ScrollBox: TScrollBox
Left = 16
Top = 26
Width = 828
Height = 351
Left = 10
Top = 15
Width = 943
Height = 330
HorzScrollBar.Smooth = True
HorzScrollBar.Tracking = True
VertScrollBar.Smooth = True
@@ -107,13 +67,13 @@ object FormTCO: TFormTCO
ParentColor = False
TabOrder = 1
DesignSize = (
824
347)
939
326)
object ImageTCO: TImage
Left = 48
Top = 32
Width = 716
Height = 305
Top = 25
Width = 642
Height = 143
Anchors = [akLeft, akTop, akRight, akBottom]
AutoSize = True
ParentShowHint = False
@@ -127,11 +87,11 @@ object FormTCO: TFormTCO
end
end
object TrackBarZoom: TTrackBar
Left = 1078
Left = 1154
Top = 18
Width = 41
Height = 350
Anchors = [akTop, akRight, akBottom]
Height = 311
Anchors = [akTop, akRight]
Ctl3D = True
Max = 50
Min = 20
@@ -144,10 +104,10 @@ object FormTCO: TFormTCO
OnChange = TrackBarZoomChange
end
object Panel1: TPanel
Left = 8
Top = 464
Width = 1124
Height = 173
Left = 2
Top = 360
Width = 1085
Height = 185
Anchors = [akLeft, akRight, akBottom]
Color = clActiveBorder
Font.Charset = ANSI_CHARSET
@@ -159,8 +119,8 @@ object FormTCO: TFormTCO
TabOrder = 2
OnDragOver = Panel1DragOver
DesignSize = (
1124
173)
1085
185)
object Label1: TLabel
Left = 216
Top = 22
@@ -909,15 +869,40 @@ object FormTCO: TFormTCO
end
object ImagePalette34: TImage
Left = 232
Top = 136
Top = 144
Width = 33
Height = 33
OnDragOver = ImagePalette34DragOver
OnEndDrag = ImagePalette34EndDrag
OnMouseDown = ImagePalette34MouseDown
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
Left = 1017
Left = 979
Top = 48
Width = 96
Height = 33
@@ -929,7 +914,7 @@ object FormTCO: TFormTCO
OnClick = ButtonSauveTCOClick
end
object ButtonRedessine: TButton
Left = 1017
Left = 979
Top = 8
Width = 96
Height = 33
@@ -940,25 +925,27 @@ object FormTCO: TFormTCO
OnClick = ButtonRedessineClick
end
object Button1: TButton
Left = 920
Top = 56
Width = 89
Left = 860
Top = 96
Width = 57
Height = 25
Anchors = [akTop, akRight]
Caption = 'Simu det 1'
TabOrder = 2
OnClick = Button1Click
end
object Button2: TButton
Left = 912
Top = 32
Width = 89
Left = 860
Top = 64
Width = 57
Height = 25
Anchors = [akTop, akRight]
Caption = 'Simu Det 0'
TabOrder = 3
OnClick = Button2Click
end
object ButtonConfigTCO: TButton
Left = 1017
Left = 979
Top = 88
Width = 96
Height = 33
@@ -969,16 +956,17 @@ object FormTCO: TFormTCO
OnClick = ButtonConfigTCOClick
end
object ButtonSimu: TButton
Left = 728
Left = 740
Top = 136
Width = 113
Height = 25
Anchors = [akTop, akRight]
Caption = 'Simu canton occup'#233
TabOrder = 5
OnClick = ButtonSimuClick
end
object ButtonMasquer: TButton
Left = 1017
Left = 979
Top = 128
Width = 96
Height = 33
@@ -997,7 +985,7 @@ object FormTCO: TFormTCO
Caption = 'Configuration cellule'
Font.Charset = ANSI_CHARSET
Font.Color = clBackground
Font.Height = -9
Font.Height = -12
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
@@ -1005,12 +993,12 @@ object FormTCO: TFormTCO
object Label41: TLabel
Left = 8
Top = 16
Width = 103
Height = 16
Width = 120
Height = 20
Caption = 'Adresse de l'#39#233'l'#233'ment: '
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Height = -15
Font.Name = 'Arial Narrow'
Font.Style = []
ParentFont = False
@@ -1018,12 +1006,12 @@ object FormTCO: TFormTCO
object Label71: TLabel
Left = 8
Top = 38
Width = 93
Height = 16
Width = 111
Height = 20
Caption = 'Image de l'#39#233'l'#233'ment: '
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Height = -15
Font.Name = 'Arial Narrow'
Font.Style = []
ParentFont = False
@@ -1031,12 +1019,12 @@ object FormTCO: TFormTCO
object Label230: TLabel
Left = 56
Top = 64
Width = 27
Height = 16
Width = 32
Height = 20
Caption = 'Texte'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Height = -15
Font.Name = 'Arial Narrow'
Font.Style = []
ParentFont = False
@@ -1044,12 +1032,12 @@ object FormTCO: TFormTCO
object Label65: TLabel
Left = 8
Top = 88
Width = 75
Height = 16
Width = 89
Height = 20
Caption = 'position du texte'
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Height = -15
Font.Name = 'Arial Narrow'
Font.Style = []
ParentFont = False
@@ -1121,7 +1109,8 @@ object FormTCO: TFormTCO
'Sans'
'Centrale'
'Haut'
'Bas')
'Bas'
'R'#233'parti')
end
object CheckPinv: TCheckBox
Left = 8
@@ -1147,14 +1136,20 @@ object FormTCO: TFormTCO
Width = 81
Height = 18
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
OnClick = ButtonCoulFondClick
end
end
object buttonRaz: TButton
Left = 912
Left = 873
Top = 128
Width = 96
Width = 97
Height = 33
Anchors = [akTop, akRight]
Caption = 'Raz des occupations'
@@ -1164,18 +1159,19 @@ object FormTCO: TFormTCO
OnClick = buttonRazClick
end
object ButtonCalibrage: TButton
Left = 840
Left = 852
Top = 136
Width = 75
Height = 25
Anchors = [akTop, akRight]
Caption = 'Calibrage'
TabOrder = 9
OnClick = ButtonCalibrageClick
end
object ButtonDessiner: TButton
Left = 912
Left = 873
Top = 88
Width = 96
Width = 97
Height = 33
Hint =
'Dessine le TCO '#224' la souris. Clic droit pour lever le pointeur. T' +
@@ -1188,13 +1184,24 @@ object FormTCO: TFormTCO
TabStop = False
OnClick = ButtonDessinerClick
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
object ButtonAfficheBandeau: TButton
Left = 1070
Top = 415
Width = 57
Height = 33
Anchors = [akRight, akBottom]
Left = 876
Top = 408
Width = 56
Height = 32
Anchors = [akTop, akRight]
Caption = 'Affiche Bandeau'
TabOrder = 3
WordWrap = True
+3204 -2868
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);
var s : string;
begin
efface_entoure;SelectionAffichee:=false;
efface_entoure(indexTCOCourant);
SelectionAffichee[indexTCOCourant]:=false;
pilote_acc(aiguille,const_devie,aigP);
s:='accessoire '+IntToSTR(aiguille)+' dévié';
Affiche(s,clyellow);
@@ -102,7 +103,8 @@ end;
procedure TFormAig.ButtonDroitClick(Sender: TObject);
var s : string;
begin
efface_entoure;SelectionAffichee:=false;
efface_entoure(indexTCOcourant);
SelectionAffichee[indexTCOcourant]:=false;
pilote_acc(aiguille,const_droit,aigP);
s:='accessoire '+IntToSTR(aiguille)+' droit';
Affiche(s,clyellow);
@@ -112,7 +114,8 @@ end;
procedure TFormAig.ButtonDev2Click(Sender: TObject);
var s : string;
begin
efface_entoure;SelectionAffichee:=false;
efface_entoure(indexTCOcourant);
SelectionAffichee[indexTCOcourant]:=false;
pilote_acc(aiguille2,const_devie,aigP);
s:='accessoire '+IntToSTR(aiguille2)+' dévié';
Affiche(s,clyellow);
@@ -121,8 +124,10 @@ end;
procedure TFormAig.ButtonDroit2Click(Sender: TObject);
var s : string;
index : integer;
begin
efface_entoure;SelectionAffichee:=false;
efface_entoure(indexTCOCOurant);
SelectionAffichee[indexTCOcourant]:=false;
pilote_acc(aiguille2,const_droit,aigP);
s:='accessoire '+IntToSTR(aiguille2)+' droit';
Affiche(s,clyellow);
+4 -3
View File
@@ -132,7 +132,7 @@ begin
end;
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;
begin
if cdm_connecte then
@@ -223,9 +223,10 @@ begin
end;
end;
if formTCO.Showing then
indexTCO:=1;
if formTCO[indexTCO].Showing then
begin
affiche_tco;
affiche_tco(1);
end;
maj_feux(true);
maj_feux(true);
+17 -16
View File
@@ -1,5 +1,5 @@
/ Définitions TCO version 7.2
CoulFond=202050
/ Définitions TCO version 8.0
CoulFond=000040
CoulVoies=0077FF
CoulAllume=00FFFF
CoulGrille=404040
@@ -10,22 +10,23 @@ CoulCanton=00FFFF
ModeCouleurCanton=1
AvecGrille=0
Graphisme=2
Ecran=1
EvtClicDet=1
Matrice=39,13
Ratio=10
/Matrice TCO
[Matrice]
/ couleur fond,adresse,image,inversion aiguillage,Orientation du signal, pied du signal , [texte], representation, fonte, taille fonte, couleur fonte, style, épaisseurs
(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,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)(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)(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)(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)(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)(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)(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,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,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,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)(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)(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)
/ 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,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,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,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,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,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,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,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,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,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,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,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,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,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;
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
function GetCurrentProcessEnvVar(const VariableName: string): string;
+4 -1
View File
@@ -180,7 +180,10 @@ 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
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 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.