This commit is contained in:
f1iwq2
2023-08-26 10:40:18 +02:00
parent 15d124f2a2
commit 79e9771a3e
12 changed files with 1725 additions and 1330 deletions
+2 -1
View File
@@ -204,7 +204,8 @@ procedure Maj_DB;
var s : string; var s : string;
begin begin
s:=encode_sig_feux(index); s:=encode_sig_feux(index);
formconfig.RichSig.Lines[index-1]:=s; formconfig.ListBoxSig.items[index-1]:=s;
formconfig.ListBoxSig.selected[ligneClicSig]:=true;
aff_champs_sig_feux(index); aff_champs_sig_feux(index);
end; end;
+133 -108
View File
@@ -1,6 +1,6 @@
object FormConfig: TFormConfig object FormConfig: TFormConfig
Left = 243 Left = 164
Top = 134 Top = 114
Hint = 'Modifie la configuration selon les s'#233'lections choisies' Hint = 'Modifie la configuration selon les s'#233'lections choisies'
BorderStyle = bsDialog BorderStyle = bsDialog
Caption = 'Configuration g'#233'n'#233'rale' Caption = 'Configuration g'#233'n'#233'rale'
@@ -2374,13 +2374,6 @@ object FormConfig: TFormConfig
'Liste de mod'#233'lisation des aiguillages - cliquez sur une ligne po' + 'Liste de mod'#233'lisation des aiguillages - cliquez sur une ligne po' +
'ur afficher la description de l'#39'aiguillage' 'ur afficher la description de l'#39'aiguillage'
end end
object Label28: TLabel
Left = 88
Top = 208
Width = 52
Height = 13
Caption = 'LabelTJD1'
end
object GroupBox11: TGroupBox object GroupBox11: TGroupBox
Left = 328 Left = 328
Top = 32 Top = 32
@@ -2771,6 +2764,11 @@ object FormConfig: TFormConfig
Top = 48 Top = 48
Width = 41 Width = 41
Height = 21 Height = 21
Hint =
'Temporisation de dur'#233'e de l'#39'impulsion de pilotage - Uniquement e' +
'n mode autonome'
ParentShowHint = False
ShowHint = True
TabOrder = 0 TabOrder = 0
OnChange = EditTempo10Change OnChange = EditTempo10Change
end end
@@ -2822,33 +2820,13 @@ object FormConfig: TFormConfig
end end
end end
end end
object RichAig: TRichEdit
Left = 0
Top = 64
Width = 321
Height = 385
Color = clBlack
Font.Charset = DEFAULT_CHARSET
Font.Color = clYellow
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
HideSelection = False
ParentFont = False
ReadOnly = True
ScrollBars = ssBoth
TabOrder = 1
WordWrap = False
OnKeyDown = RichAigKeyDown
OnMouseDown = RichAigMouseDown
end
object ButtonNouvAig: TButton object ButtonNouvAig: TButton
Left = 0 Left = 0
Top = 32 Top = 32
Width = 65 Width = 65
Height = 17 Height = 17
Caption = 'Nouveau' Caption = 'Nouveau'
TabOrder = 2 TabOrder = 1
OnClick = ButtonNouvAigClick OnClick = ButtonNouvAigClick
end end
object BoutSupAig: TButton object BoutSupAig: TButton
@@ -2857,7 +2835,7 @@ object FormConfig: TFormConfig
Width = 65 Width = 65
Height = 17 Height = 17
Caption = 'Supprime' Caption = 'Supprime'
TabOrder = 3 TabOrder = 2
OnClick = BoutSupAigClick OnClick = BoutSupAigClick
end end
object ButtonAjSup: TButton object ButtonAjSup: TButton
@@ -2866,9 +2844,29 @@ object FormConfig: TFormConfig
Width = 121 Width = 121
Height = 17 Height = 17
Caption = 'Ajoute l'#39'aig supprim'#233 Caption = 'Ajoute l'#39'aig supprim'#233
TabOrder = 4 TabOrder = 3
OnClick = ButtonAjSupClick OnClick = ButtonAjSupClick
end end
object ListBoxAig: TListBox
Left = 0
Top = 56
Width = 305
Height = 353
Color = clBlack
Font.Charset = DEFAULT_CHARSET
Font.Color = clAqua
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
ItemHeight = 13
MultiSelect = True
ParentFont = False
PopupMenu = PopupMenuListes
TabOrder = 4
OnDrawItem = ListBoxAigDrawItem
OnKeyDown = ListBoxAigKeyDown
OnMouseDown = ListBoxAigMouseDown
end
end end
object TabSheetBranches: TTabSheet object TabSheetBranches: TTabSheet
Caption = 'Branches' Caption = 'Branches'
@@ -2955,7 +2953,7 @@ object FormConfig: TFormConfig
Lines.Strings = ( Lines.Strings = (
'RichBranche') 'RichBranche')
ParentFont = False ParentFont = False
PopupMenu = PopupMenuConfig PopupMenu = PopupMenuBranches
ScrollBars = ssBoth ScrollBars = ssBoth
TabOrder = 1 TabOrder = 1
WordWrap = False WordWrap = False
@@ -3170,6 +3168,7 @@ object FormConfig: TFormConfig
Hint = Hint =
'Une ligne contient les conditions en ET. Les lignes sont cha'#238'n'#233'e' + 'Une ligne contient les conditions en ET. Les lignes sont cha'#238'n'#233'e' +
's en OU' 's en OU'
Color = clScrollBar
ParentShowHint = False ParentShowHint = False
ScrollBars = ssBoth ScrollBars = ssBoth
ShowHint = True ShowHint = True
@@ -3387,6 +3386,7 @@ object FormConfig: TFormConfig
Hint = Hint =
'Une ligne contient les conditions en ET. Les lignes sont cha'#238'n'#233'e' + 'Une ligne contient les conditions en ET. Les lignes sont cha'#238'n'#233'e' +
's en OU' 's en OU'
Color = clScrollBar
ParentShowHint = False ParentShowHint = False
ScrollBars = ssBoth ScrollBars = ssBoth
ShowHint = True ShowHint = True
@@ -3394,35 +3394,13 @@ object FormConfig: TFormConfig
OnChange = MemoBlancChange OnChange = MemoBlancChange
end end
end end
object RichSig: TRichEdit
Left = 0
Top = 56
Width = 329
Height = 345
Color = clBlack
Font.Charset = DEFAULT_CHARSET
Font.Color = clYellow
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
HideSelection = False
Lines.Strings = (
'RichSig')
ParentFont = False
ReadOnly = True
ScrollBars = ssBoth
TabOrder = 1
WordWrap = False
OnKeyDown = RichSigKeyDown
OnMouseDown = RichSigMouseDown
end
object ButtonNouvFeu: TButton object ButtonNouvFeu: TButton
Left = 0 Left = 0
Top = 32 Top = 32
Width = 65 Width = 65
Height = 17 Height = 17
Caption = 'Nouveau' Caption = 'Nouveau'
TabOrder = 2 TabOrder = 1
OnClick = ButtonNouvFeuClick OnClick = ButtonNouvFeuClick
end end
object ButtonSupFeu: TButton object ButtonSupFeu: TButton
@@ -3431,7 +3409,7 @@ object FormConfig: TFormConfig
Width = 65 Width = 65
Height = 17 Height = 17
Caption = 'Supprime' Caption = 'Supprime'
TabOrder = 3 TabOrder = 2
OnClick = ButtonSupFeuClick OnClick = ButtonSupFeuClick
end end
object ButtonInsFeu: TButton object ButtonInsFeu: TButton
@@ -3440,7 +3418,7 @@ object FormConfig: TFormConfig
Width = 153 Width = 153
Height = 17 Height = 17
Caption = 'Ajouter le signal supprim'#233 Caption = 'Ajouter le signal supprim'#233
TabOrder = 4 TabOrder = 3
OnClick = ButtonInsFeuClick OnClick = ButtonInsFeuClick
end end
object CheckBoxRazSignaux: TCheckBox object CheckBoxRazSignaux: TCheckBox
@@ -3452,16 +3430,35 @@ object FormConfig: TFormConfig
Caption = 'Raz signaux apr'#232's commande' Caption = 'Raz signaux apr'#232's commande'
ParentShowHint = False ParentShowHint = False
ShowHint = True ShowHint = True
TabOrder = 5 TabOrder = 4
end end
object EditTempoFeu: TEdit object EditTempoFeu: TEdit
Left = 0 Left = 0
Top = 440 Top = 440
Width = 33 Width = 33
Height = 21 Height = 21
TabOrder = 6 TabOrder = 5
OnChange = EditTempoFeuChange OnChange = EditTempoFeuChange
end end
object ListBoxSig: TListBox
Left = 0
Top = 56
Width = 321
Height = 337
Color = clBlack
Font.Charset = DEFAULT_CHARSET
Font.Color = clAqua
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
ItemHeight = 13
MultiSelect = True
ParentFont = False
PopupMenu = PopupMenuListes
TabOrder = 6
OnKeyDown = ListBoxSigKeyDown
OnMouseDown = ListBoxSigMouseDown
end
end end
object TabSheetDecodeurs: TTabSheet object TabSheetDecodeurs: TTabSheet
Caption = 'D'#233'codeurs' Caption = 'D'#233'codeurs'
@@ -3575,7 +3572,7 @@ object FormConfig: TFormConfig
Top = 56 Top = 56
Width = 193 Width = 193
Height = 21 Height = 21
ItemHeight = 0 ItemHeight = 13
TabOrder = 0 TabOrder = 0
OnChange = ComboBoxDecodeurPersoChange OnChange = ComboBoxDecodeurPersoChange
end end
@@ -3593,12 +3590,10 @@ object FormConfig: TFormConfig
Top = 176 Top = 176
Width = 145 Width = 145
Height = 21 Height = 21
Style = csDropDownList
ItemHeight = 13 ItemHeight = 13
TabOrder = 2 TabOrder = 2
OnChange = ComboBoxNationChange OnChange = ComboBoxNationChange
Items.Strings = (
'Fran'#231'aise'
'Belge')
end end
object BoutonNouveau: TButton object BoutonNouveau: TButton
Left = 86 Left = 86
@@ -3998,7 +3993,7 @@ object FormConfig: TFormConfig
end end
end end
object GroupBoxPN: TGroupBox object GroupBoxPN: TGroupBox
Left = 200 Left = 32
Top = 16 Top = 16
Width = 233 Width = 233
Height = 401 Height = 401
@@ -4360,6 +4355,7 @@ object FormConfig: TFormConfig
Height = 21 Height = 21
Hint = 'D'#233'tecteur 2 zone de fermeture' Hint = 'D'#233'tecteur 2 zone de fermeture'
TabOrder = 29 TabOrder = 29
OnChange = EditZdet2V4FChange
end end
object EditZdet1V4O: TEdit object EditZdet1V4O: TEdit
Left = 152 Left = 152
@@ -4498,25 +4494,24 @@ object FormConfig: TFormConfig
TabOrder = 1 TabOrder = 1
OnClick = ButtonSupAccClick OnClick = ButtonSupAccClick
end end
object RichAct: TRichEdit object ListBoxAct: TListBox
Left = 8 Left = 8
Top = 48 Top = 48
Width = 329 Width = 329
Height = 161 Height = 161
Color = clBlack Color = clBlack
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clYellow Font.Color = clAqua
Font.Height = -11 Font.Height = -11
Font.Name = 'MS Sans Serif' Font.Name = 'MS Sans Serif'
Font.Style = [] Font.Style = []
HideSelection = False ItemHeight = 13
MultiSelect = True
ParentFont = False ParentFont = False
ReadOnly = True PopupMenu = PopupMenuListes
ScrollBars = ssBoth
TabOrder = 2 TabOrder = 2
WordWrap = False OnKeyDown = ListBoxActKeyDown
OnKeyDown = RichActKeyDown OnMouseDown = ListBoxActMouseDown
OnMouseDown = RichActMouseDown
end end
end end
object GroupBox17: TGroupBox object GroupBox17: TGroupBox
@@ -4547,25 +4542,24 @@ object FormConfig: TFormConfig
TabOrder = 1 TabOrder = 1
OnClick = ButtonSupPNClick OnClick = ButtonSupPNClick
end end
object RichPN: TRichEdit object ListBoxPN: TListBox
Left = 8 Left = 8
Top = 48 Top = 48
Width = 329 Width = 329
Height = 137 Height = 137
Color = clBlack Color = clBlack
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clYellow Font.Color = clAqua
Font.Height = -11 Font.Height = -11
Font.Name = 'MS Sans Serif' Font.Name = 'MS Sans Serif'
Font.Style = [] Font.Style = []
HideSelection = False ItemHeight = 13
MultiSelect = True
ParentFont = False ParentFont = False
ReadOnly = True PopupMenu = PopupMenuListes
ScrollBars = ssBoth
TabOrder = 2 TabOrder = 2
WordWrap = False OnKeyDown = ListBoxPNKeyDown
OnKeyDown = RichPNKeyDown OnMouseDown = ListBoxPNMouseDown
OnMouseDown = RichPNMouseDown
end end
end end
end end
@@ -4583,7 +4577,7 @@ object FormConfig: TFormConfig
end end
object Image2: TImage object Image2: TImage
Left = 248 Left = 248
Top = 408 Top = 400
Width = 105 Width = 105
Height = 65 Height = 65
Picture.Data = { Picture.Data = {
@@ -4726,7 +4720,7 @@ object FormConfig: TFormConfig
Left = 8 Left = 8
Top = 64 Top = 64
Width = 577 Width = 577
Height = 225 Height = 217
Color = clBlack Color = clBlack
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
Font.Color = clAqua Font.Color = clAqua
@@ -4741,9 +4735,9 @@ object FormConfig: TFormConfig
end end
object GroupBox23: TGroupBox object GroupBox23: TGroupBox
Left = 8 Left = 8
Top = 328 Top = 320
Width = 577 Width = 577
Height = 81 Height = 73
Caption = 'Options' Caption = 'Options'
TabOrder = 1 TabOrder = 1
object Label29: TLabel object Label29: TLabel
@@ -4778,7 +4772,7 @@ object FormConfig: TFormConfig
end end
object ButtonEnv: TButton object ButtonEnv: TButton
Left = 8 Left = 8
Top = 296 Top = 288
Width = 129 Width = 129
Height = 25 Height = 25
Hint = 'Envoi les commandes si l'#39'interface DCC++ est connect'#233'e' Hint = 'Envoi les commandes si l'#39'interface DCC++ est connect'#233'e'
@@ -4930,31 +4924,13 @@ object FormConfig: TFormConfig
FFFFFFFFFFFFFFFFFF0000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00} FFFFFFFFFFFFFFFFFF0000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00}
Transparent = True Transparent = True
end end
object RichEditTrains: TRichEdit
Left = 8
Top = 64
Width = 289
Height = 385
Color = clBlack
Font.Charset = DEFAULT_CHARSET
Font.Color = clAqua
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
HideSelection = False
ParentFont = False
ReadOnly = True
TabOrder = 0
OnKeyDown = RichEditTrainsKeyDown
OnMouseDown = RichEditTrainsMouseDown
end
object GroupBox24: TGroupBox object GroupBox24: TGroupBox
Left = 312 Left = 312
Top = 64 Top = 64
Width = 297 Width = 297
Height = 161 Height = 161
Caption = 'Trains' Caption = 'Trains'
TabOrder = 1 TabOrder = 0
object Label51: TLabel object Label51: TLabel
Left = 16 Left = 16
Top = 48 Top = 48
@@ -5052,7 +5028,7 @@ object FormConfig: TFormConfig
Width = 73 Width = 73
Height = 17 Height = 17
Caption = 'Nouveau' Caption = 'Nouveau'
TabOrder = 2 TabOrder = 1
OnClick = ButtonNTClick OnClick = ButtonNTClick
end end
object ButtonSupprime: TButton object ButtonSupprime: TButton
@@ -5061,9 +5037,28 @@ object FormConfig: TFormConfig
Width = 75 Width = 75
Height = 17 Height = 17
Caption = 'Supprime' Caption = 'Supprime'
TabOrder = 3 TabOrder = 2
OnClick = ButtonSupprimeClick OnClick = ButtonSupprimeClick
end end
object ListBoxTrains: TListBox
Left = 8
Top = 64
Width = 281
Height = 345
Color = clBlack
Font.Charset = DEFAULT_CHARSET
Font.Color = clAqua
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
ItemHeight = 13
MultiSelect = True
ParentFont = False
PopupMenu = PopupMenuListes
TabOrder = 3
OnKeyDown = ListBoxTrainsKeyDown
OnMouseDown = ListBoxTrainsMouseDown
end
end end
end end
object ButtonEnregistre: TButton object ButtonEnregistre: TButton
@@ -5082,7 +5077,7 @@ object FormConfig: TFormConfig
Left = 668 Left = 668
Top = 468 Top = 468
end end
object PopupMenuConfig: TPopupMenu object PopupMenuBranches: TPopupMenu
Left = 728 Left = 728
Top = 88 Top = 88
object Copier1: TMenuItem object Copier1: TMenuItem
@@ -5094,4 +5089,34 @@ object FormConfig: TFormConfig
OnClick = Coller1Click OnClick = Coller1Click
end end
end end
object PopupMenuListes: TPopupMenu
Left = 800
Top = 88
object Slectionnertout1: TMenuItem
Caption = 'S'#233'lectionner tout'
Hint = 'S'#233'lectionne toutes les lignes'
OnClick = Slectionnertout1Click
end
object N1: TMenuItem
Caption = '-'
end
object Nouveau1: TMenuItem
Caption = 'Nouveau'
Hint = 'Cr'#233#233'e un nouvel '#233'l'#233'ment'
OnClick = Nouveau1Click
end
object Supprimer1: TMenuItem
Caption = 'Supprimer'
Hint = 'Supprime un ou des '#233'l'#233'ments s'#233'lectionn'#233's'
OnClick = Supprimer1Click
end
object N2: TMenuItem
Caption = '-'
end
object outcopierentatquetexte1: TMenuItem
Caption = 'Tout copier en tant que texte'
Hint = 'Copie tout le contenu en tant que texte dans le presse-papier'
OnClick = outcopierentatquetexte1Click
end
end
end end
+1156 -899
View File
File diff suppressed because it is too large Load Diff
+1 -3
View File
@@ -337,8 +337,6 @@ begin
end; end;
procedure TFormConfCellTCO.FormCreate(Sender: TObject); procedure TFormConfCellTCO.FormCreate(Sender: TObject);
var i,x,y : integer;
image,imagesrc : Timage;
begin begin
// fenetre toujours dessus // fenetre toujours dessus
if affevt then Affiche('FormConfCellTCO create',clyellow); if affevt then Affiche('FormConfCellTCO create',clyellow);
@@ -513,7 +511,7 @@ end;
procedure TFormConfCellTCO.ImagePaletteCCMouseDown(Sender: TObject; procedure TFormConfCellTCO.ImagePaletteCCMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer); Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var c,x0,y0,xc,yc,xf,yf,element,i,erreur,x1,y1,x2,y2,c1,c2,c3,c4 : integer; var c,x0,y0,xc,yc,xf,yf,element,i,erreur,x1,y1,c1,c2,c3,c4 : integer;
begin begin
x0:=0; // x origine x0:=0; // x origine
y0:=0; // y origine y0:=0; // y origine
+20 -20
View File
@@ -1,8 +1,8 @@
object FormPrinc: TFormPrinc object FormPrinc: TFormPrinc
Left = 22 Left = 64
Top = 241 Top = 216
Width = 1227 Width = 1222
Height = 671 Height = 652
Caption = 'Signaux complexes' Caption = 'Signaux complexes'
Color = clBtnFace Color = clBtnFace
Font.Charset = DEFAULT_CHARSET Font.Charset = DEFAULT_CHARSET
@@ -17,8 +17,8 @@ object FormPrinc: TFormPrinc
OnClose = FormClose OnClose = FormClose
OnCreate = FormCreate OnCreate = FormCreate
DesignSize = ( DesignSize = (
1219 1206
620) 594)
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
object LabelTitre: TLabel object LabelTitre: TLabel
@@ -1187,7 +1187,7 @@ object FormPrinc: TFormPrinc
Visible = False Visible = False
end end
object LabelEtat: TLabel object LabelEtat: TLabel
Left = 454 Left = 449
Top = 8 Top = 8
Width = 152 Width = 152
Height = 18 Height = 18
@@ -1203,7 +1203,7 @@ object FormPrinc: TFormPrinc
object SplitterH: TSplitter object SplitterH: TSplitter
Left = 0 Left = 0
Top = 0 Top = 0
Height = 598 Height = 572
end end
object ImageSignal20: TImage object ImageSignal20: TImage
Left = 384 Left = 384
@@ -1445,10 +1445,10 @@ object FormPrinc: TFormPrinc
Visible = False Visible = False
end end
object ScrollBox1: TScrollBox object ScrollBox1: TScrollBox
Left = 630 Left = 625
Top = 200 Top = 200
Width = 563 Width = 563
Height = 392 Height = 373
HorzScrollBar.Increment = 48 HorzScrollBar.Increment = 48
HorzScrollBar.Tracking = True HorzScrollBar.Tracking = True
VertScrollBar.Smooth = True VertScrollBar.Smooth = True
@@ -1459,7 +1459,7 @@ object FormPrinc: TFormPrinc
TabOrder = 0 TabOrder = 0
end end
object GroupBox1: TGroupBox object GroupBox1: TGroupBox
Left = 630 Left = 625
Top = 5 Top = 5
Width = 265 Width = 265
Height = 52 Height = 52
@@ -1507,8 +1507,8 @@ object FormPrinc: TFormPrinc
end end
object StatusBar1: TStatusBar object StatusBar1: TStatusBar
Left = 0 Left = 0
Top = 598 Top = 572
Width = 1219 Width = 1206
Height = 22 Height = 22
Panels = <> Panels = <>
SimplePanel = True SimplePanel = True
@@ -1524,7 +1524,7 @@ object FormPrinc: TFormPrinc
00020000802500000000080000000000000000003F00000011000000} 00020000802500000000080000000000000000003F00000011000000}
end end
object Panel1: TPanel object Panel1: TPanel
Left = 918 Left = 913
Top = 5 Top = 5
Width = 282 Width = 282
Height = 148 Height = 148
@@ -1629,7 +1629,7 @@ object FormPrinc: TFormPrinc
end end
object StaticText: TStaticText object StaticText: TStaticText
Left = 16 Left = 16
Top = 568 Top = 549
Width = 14 Width = 14
Height = 17 Height = 17
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
@@ -1637,7 +1637,7 @@ object FormPrinc: TFormPrinc
TabOrder = 5 TabOrder = 5
end end
object GroupBox2: TGroupBox object GroupBox2: TGroupBox
Left = 647 Left = 642
Top = 64 Top = 64
Width = 265 Width = 265
Height = 105 Height = 105
@@ -1699,7 +1699,7 @@ object FormPrinc: TFormPrinc
end end
end end
object GroupBox3: TGroupBox object GroupBox3: TGroupBox
Left = 630 Left = 625
Top = 64 Top = 64
Width = 265 Width = 265
Height = 129 Height = 129
@@ -1935,7 +1935,7 @@ object FormPrinc: TFormPrinc
end end
end end
object ButtonEnv: TButton object ButtonEnv: TButton
Left = 1078 Left = 1073
Top = 160 Top = 160
Width = 113 Width = 113
Height = 33 Height = 33
@@ -1946,7 +1946,7 @@ object FormPrinc: TFormPrinc
OnClick = ButtonEnvClick OnClick = ButtonEnvClick
end end
object EditEnvoi: TEdit object EditEnvoi: TEdit
Left = 950 Left = 945
Top = 168 Top = 168
Width = 121 Width = 121
Height = 21 Height = 21
@@ -1955,7 +1955,7 @@ object FormPrinc: TFormPrinc
Text = '<1>' Text = '<1>'
end end
object Button1: TButton object Button1: TButton
Left = 494 Left = 489
Top = 0 Top = 0
Width = 75 Width = 75
Height = 25 Height = 25
+26 -32
View File
@@ -1,5 +1,5 @@
Unit UnitPrinc; Unit UnitPrinc;
// 17/8 10h // 23/8 16h
(******************************************** (********************************************
Programme signaux complexes Graphique Lenz Programme signaux complexes Graphique Lenz
Delphi 7 + activeX Tmscomm + clientSocket Delphi 7 + activeX Tmscomm + clientSocket
@@ -1849,12 +1849,12 @@ end;
// créée une image dynamiquement pour un nouveau signal déclaré dans le fichier de config // créée une image dynamiquement pour un nouveau signal déclaré dans le fichier de config
// rang commence à 1 // rang commence à 1
procedure cree_image(rang : integer); procedure cree_image(rang : integer);
var adresse,TypeFeu : integer; var adresse,TypeSignal : integer;
s : string; s : string;
T_BP : TBitMap; T_BP : TBitMap;
begin begin
TypeFeu:=feux[rang].aspect; TypeSignal:=feux[rang].aspect;
if typeFeu<=0 then exit; if typeSignal<=0 then exit;
adresse:=feux[rang].adresse; adresse:=feux[rang].adresse;
Feux[rang].Img:=Timage.create(Formprinc.ScrollBox1); Feux[rang].Img:=Timage.create(Formprinc.ScrollBox1);
if feux[rang].Img=nil then begin affiche('Erreur 900 : impossible de créer une image',clred);exit;end; if feux[rang].Img=nil then begin affiche('Erreur 900 : impossible de créer une image',clred);exit;end;
@@ -1884,7 +1884,7 @@ begin
PopUpMenu:=Formprinc.PopupMenuFeu; // affectation popupmenu sur clic droit PopUpMenu:=Formprinc.PopupMenuFeu; // affectation popupmenu sur clic droit
// affecter le type d'image de feu dans l'image créée // affecter le type d'image de feu dans l'image créée
T_BP:=Select_dessin_feu(TypeFeu); T_BP:=Select_dessin_feu(TypeSignal);
if T_BP=nil then if T_BP=nil then
begin begin
Affiche('Erreur 418 : sélection type signal incorrecte pour signal '+intToSTR(adresse),clred); Affiche('Erreur 418 : sélection type signal incorrecte pour signal '+intToSTR(adresse),clred);
@@ -1898,13 +1898,13 @@ begin
Transparent:=true; Transparent:=true;
// mettre rouge par défaut // mettre rouge par défaut
if TypeFeu=2 then feux[rang].EtatSignal:=violet_F; if TypeSignal=2 then feux[rang].EtatSignal:=violet_F;
if TypeFeu=3 then feux[rang].EtatSignal:=semaphore_F; if TypeSignal=3 then feux[rang].EtatSignal:=semaphore_F;
if (TypeFeu>3) and (TypeFeu<10) and feux[rang].VerrouCarre then feux[rang].EtatSignal:=carre_F; if (TypeSignal>3) and (TypeSignal<10) and feux[rang].VerrouCarre then feux[rang].EtatSignal:=carre_F;
if (TypeFeu>3) and (TypeFeu<10) and not(feux[rang].VerrouCarre) then feux[rang].EtatSignal:=semaphore_F; if (TypeSignal>3) and (TypeSignal<10) and not(feux[rang].VerrouCarre) then feux[rang].EtatSignal:=semaphore_F;
if (TypeFeu>10) and (typeFeu<20) then feux[rang].EtatSignal:=0; if (TypeSignal>10) and (TypeSignal<20) then feux[rang].EtatSignal:=0;
if typeFeu=20 then if TypeSignal=20 then // signal belge
begin begin
feux[rang].EtatSignal:=semaphore_F; feux[rang].EtatSignal:=semaphore_F;
if feux[rang].contrevoie then if feux[rang].contrevoie then
@@ -1950,7 +1950,7 @@ begin
else Feux[rang].checkFB:=nil; else Feux[rang].checkFB:=nil;
end; end;
// ajoute en bout de chaine le checksum d'une trame // ajoute en bout de chaine le checksum d'une trame (pour XpressNet)
Function Checksum(s : string) : string; Function Checksum(s : string) : string;
var i : integer; var i : integer;
check : byte; check : byte;
@@ -2143,6 +2143,7 @@ begin
o 3: dévié gauche o 3: dévié gauche
o 4: pos. droite #2 (TJD 4 états) o 4: pos. droite #2 (TJD 4 états)
o 5: pos. déviée #2 (TJD 4 états) o 5: pos. déviée #2 (TJD 4 états)
en fait seules les fonctions 1 et 2 fonctionnent...
} }
so:=place_id('C-C-01-0004-CMDACC-DCCAC'); so:=place_id('C-C-01-0004-CMDACC-DCCAC');
s:=s+'AD='+format('%.*d',[1,adresse])+';'; s:=s+'AD='+format('%.*d',[1,adresse])+';';
@@ -10303,15 +10304,15 @@ end;
// pilotage d'un accessoire (décodeur d'aiguillage, de signal) et génère l'event aig // pilotage d'un accessoire (décodeur d'aiguillage, de signal) et génère l'event aig
// par CDM ou interface // par CDM ou interface
// octet = 1 (dévié) ou 2 (droit) // octet = 1 (dévié) ou 2 (droit) si 0 on ne traite pas
// uniquement en mode autonome:
// si acc=Taig, alors la sortie "octet" est mise à 1 puis à 0 // si acc=Taig, alors la sortie "octet" est mise à 1 puis à 0
// si acc=feu, alors la sortie "octet" est mise à 1 uniquement. // si acc=feu, alors la sortie "octet" est mise à 1 uniquement.
// Résultat true si ok // Résultat true si ok
function pilote_acc(adresse : integer;octet : byte;Acc : TAccessoire): boolean; function pilote_acc(adresse : integer;octet : byte;Acc : TAccessoire): boolean;
var groupe,temp,indexAig,AdrTrain : integer ; var groupe,temp,indexAig,AdrTrain : integer ;
fonction,pilotage : byte; fonction,pilotage,pilotageCDM : byte;
s : string; s : string;
label mise0;
begin begin
//Affiche(IntToSTR(adresse)+' '+intToSTr(octet),clYellow); //Affiche(IntToSTR(adresse)+' '+intToSTr(octet),clYellow);
@@ -10339,14 +10340,10 @@ begin
//AfficheDebug(intToSTR(adresse),clred); //AfficheDebug(intToSTR(adresse),clred);
if debug_dec_sig and (acc=feu) then AfficheDebug('Tick='+IntToSTR(Tick)+' signal '+intToSTR(adresse)+' '+intToSTR(pilotage),clorange); if debug_dec_sig and (acc=feu) then AfficheDebug('Tick='+IntToSTR(Tick)+' signal '+intToSTR(adresse)+' '+intToSTR(pilotage),clorange);
if aff_acc then Affiche('Accessoire '+intToSTR(adresse)+' à '+intToSTR(pilotage),clorange); if aff_acc then Affiche('Accessoire '+intToSTR(adresse)+' à '+intToSTR(pilotage),clorange);
s:=chaine_CDM_Acc(adresse,pilotage); if pilotage=1 then pilotageCDM:=1; // 3 = wrong state or value
envoi_CDM(s); if pilotage=2 then pilotageCDM:=2;
if (acc=feu) and not(Raz_Acc_signaux) then exit;
sleep(50); s:=chaine_CDM_Acc(adresse,pilotageCDM);
if debug_dec_sig and (acc=feu) then AfficheDebug('Tick='+IntToSTR(Tick)+' signal '+intToSTR(adresse)+' 0',clorange);
if aff_acc then Affiche('Accessoire '+intToSTR(adresse)+' à 0',clorange);
s:=chaine_CDM_Acc(adresse,0);
envoi_CDM(s); envoi_CDM(s);
event_aig(adresse,pilotage); event_aig(adresse,pilotage);
result:=true; result:=true;
@@ -11375,7 +11372,7 @@ begin
end; end;
end; end;
// renvoie le handle de la frnêtre du programme de processID (CDMrail) // renvoie le handle de la fenêtre du programme de processID (CDMrail)
Function GetWindowFromID(ProcessID : Cardinal): THandle; Function GetWindowFromID(ProcessID : Cardinal): THandle;
Var TestID : Cardinal; Var TestID : Cardinal;
TestHandle : Thandle; TestHandle : Thandle;
@@ -12662,11 +12659,9 @@ begin
exit; exit;
end; end;
if pilote_acc(adr,const_droit,aigP) then pilote_acc(adr,const_droit,aigP);
begin s:='accessoire '+IntToSTR(adr)+' droit';
s:='accessoire '+IntToSTR(adr)+' droit'; Affiche(s,clyellow);
Affiche(s,clyellow);
end;
Self.ActiveControl:=nil; Self.ActiveControl:=nil;
end; end;
@@ -14291,7 +14286,6 @@ end;
procedure TFormPrinc.Etatdessignaux1Click(Sender: TObject); procedure TFormPrinc.Etatdessignaux1Click(Sender: TObject);
var Adr,etat,i : integer; var Adr,etat,i : integer;
aspect,combine,nation : integer;
s : string; s : string;
begin begin
for i:=1 to NbreFeux do for i:=1 to NbreFeux do
@@ -14908,10 +14902,10 @@ begin
if v_publie>0 then if v_publie>0 then
begin begin
val(version,V_utile,erreur); val(version,V_utile,erreur);
if V_utile=V_publie then Affiche('Votre version '+Version+SousVersion+' est à jour',clLime); if V_utile=V_publie then Affiche('Votre version '+Version+SousVersion+' publiée le '+date_creation+' est à jour',clLime);
if V_utile>V_publie then Affiche('Votre version '+version+SousVersion+' est plus récente que la version publiée '+s,clLime); if V_utile>V_publie then Affiche('Votre version '+version+SousVersion+' est plus récente que la version publiée '+s,clLime);
end end
else Affiche('Site CDM-Rail inateignable',clred); else Affiche('Site github.com inatteignable - réessayer plus tard',clred);
end; end;
procedure TFormPrinc.Analyser1Click(Sender: TObject); procedure TFormPrinc.Analyser1Click(Sender: TObject);
@@ -14921,7 +14915,7 @@ begin
s1:=lowercase(fenRich.Lines[0]); s1:=lowercase(fenRich.Lines[0]);
if pos('module',s1)=0 then if pos('module',s1)=0 then
begin begin
Affiche('Pas de module détecté',clyellow); Affiche('Pas de module réseau CDM détecté.',clyellow);
Affiche('Procédure: dans CDM RAIL ouvrez votre réseau ; Menu ... / TrackDrawing / Module Display',clLime); Affiche('Procédure: dans CDM RAIL ouvrez votre réseau ; Menu ... / TrackDrawing / Module Display',clLime);
Affiche('Attention : nécessite la version >=23.05 de CDM',clLime); Affiche('Attention : nécessite la version >=23.05 de CDM',clLime);
Affiche('Cela ouvre une fenêtre DEBUG dans cdm',clLime); Affiche('Cela ouvre une fenêtre DEBUG dans cdm',clLime);
+2 -1
View File
@@ -276,7 +276,8 @@ procedure Maj_DB;
var s : string; var s : string;
begin begin
s:=encode_sig_feux(indexSig); s:=encode_sig_feux(indexSig);
formconfig.RichSig.Lines[indexSig-1]:=s; formconfig.ListBoxSig.items[indexSig-1]:=s;
formconfig.ListBoxSig.selected[ligneClicSig]:=true;
aff_champs_sig_feux(indexSig); aff_champs_sig_feux(indexSig);
end; end;
+224 -89
View File
@@ -426,10 +426,10 @@ const
// liaisons des voies pour chaque icone par bit (0=NO 1=Nord 2=NE 3=Est 4=SE 5=S 6=SO 7=Ouest) // liaisons des voies pour chaque icone par bit (0=NO 1=Nord 2=NE 3=Est 4=SE 5=S 6=SO 7=Ouest)
Liaisons : array[0..51] of integer= Liaisons : array[0..51] of integer=
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 // 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
(0,$88,$c8,$8c,$98,$89,$9,$84,$90,$48,$44,$11,$19,$c4,$91,$4c,$21,$24,$42,$12,$22,$cc,$99,$66,$23,$33,$26,$62,$32,$31,0,0, (0,$88,$c8,$8c,$98,$89,$9,$84,$90,$48,$44,$11,$19,$c4,$91,$4c,$21,$24,$42,$12,$22,$cc,$99,$66,$23,$33,$26,$62,$32,$31,0,0,
// 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 // 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
$62,$13,$46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) ; $64,$13,$46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) ;
type type
// structure du TCO // structure du TCO
TTCO = record TTCO = record
@@ -1128,13 +1128,15 @@ begin
end; end;
// élément de voie horizontale Element 1 // élément de voie horizontale Element 1
procedure dessin_voie(Canvas : Tcanvas;x,y,mode : integer); procedure dessin_1(Canvas : Tcanvas;x,y,mode : integer);
var Adr, x0,y0,jy1,jy2 : integer; var Adr, x0,y0,jy1,jy2,ep,yc : integer;
r : Trect; r : Trect;
couleur : Tcolor; couleur : Tcolor;
begin begin
x0:=(x-1)*LargeurCell; x0:=(x-1)*LargeurCell;
y0:=(y-1)*HauteurCell; y0:=(y-1)*HauteurCell;
yc:=y0+(HauteurCell div 2);
ep:=tco[x,y].epaisseurs;
with canvas do with canvas do
begin begin
@@ -1168,7 +1170,6 @@ begin
// voie // voie
jy1:=y0+(HauteurCell div 2); jy1:=y0+(HauteurCell div 2);
Pen.Width:=epaisseur;
case mode of case mode of
0 : couleur:=clVoies; 0 : couleur:=clVoies;
@@ -1176,7 +1177,8 @@ begin
2 : couleur:=couleurtrain[index_couleur]; 2 : couleur:=couleurtrain[index_couleur];
end; end;
pen.color:=couleur; pen.color:=couleur;
moveTo(x0,jy1);LineTo(x0+LargeurCell,jy1); if testbit(ep,7) or testbit(ep,3) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveTo(x0,yc);LineTo(x0+LargeurCell,yc);
end; end;
end; end;
@@ -3013,7 +3015,7 @@ begin
end; end;
// Elément 13 // Elément 13 fait
procedure dessin_13L(Canvas : Tcanvas;x,y : integer;Mode : integer); procedure dessin_13L(Canvas : Tcanvas;x,y : integer;Mode : integer);
var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,position,ep : integer; var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,position,ep : integer;
r : Trect; r : Trect;
@@ -3033,10 +3035,10 @@ var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,position,ep : integer;
with canvas do with canvas do
begin begin
if testbit(ep,7) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur; if testbit(ep,6) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
pen.color:=couleur; pen.color:=couleur;
moveto(x0,yf);lineto(xc,yc); moveto(x0,yf);lineto(xc,yc);
if testbit(ep,3) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur; if testbit(ep,2) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineto(xf,y0); lineto(xf,y0);
end; end;
end; end;
@@ -3056,8 +3058,10 @@ var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,position,ep : integer;
with canvas do with canvas do
begin begin
pen.color:=couleur; pen.color:=couleur;
moveto(x0,yf);lineto(xf,y0); // diag complete if testbit(ep,2) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveto(x0,yc);lineto(xc,yc); // partie droite moveto(x0,yf);lineto(xc,yc);
if testbit(ep,7) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineto(x0,yc);
end; end;
end; end;
@@ -3070,6 +3074,7 @@ begin
yf:=y0+HauteurCell; // y fin yf:=y0+HauteurCell; // y fin
position:=positionTCO(x,y); position:=positionTCO(x,y);
fond:=TCO[x,y].CouleurFond; fond:=TCO[x,y].CouleurFond;
ep:=tco[x,y].epaisseurs;
with canvas do with canvas do
begin begin
@@ -3121,6 +3126,7 @@ begin
end; end;
end; end;
// fait
procedure dessin_13C(Canvas : Tcanvas;x,y : integer;Mode : integer); procedure dessin_13C(Canvas : Tcanvas;x,y : integer;Mode : integer);
var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,y4,position,ep : integer; var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,y4,position,ep : integer;
fond : tcolor; fond : tcolor;
@@ -3140,11 +3146,11 @@ var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,y4,position,ep : integer;
with canvas do with canvas do
begin begin
pen.color:=couleur; pen.color:=couleur;
if testbit(ep,7) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur; if testbit(ep,2) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
pen.color:=couleur; pen.color:=couleur;
moveto(xf,yf);lineto(xc,yc); moveto(xf,y0);lineto(xc,yc);
if testbit(ep,3) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur; if testbit(ep,6) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineto(x0,y0); lineto(x0,yf);
end; end;
end; end;
@@ -3163,6 +3169,7 @@ var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,y4,position,ep : integer;
with canvas do with canvas do
begin begin
pen.color:=couleur; pen.color:=couleur;
if testbit(ep,7) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
Arc(x1,y1,x2,y2,x3,y3,x4,y4); //courbe Arc(x1,y1,x2,y2,x3,y3,x4,y4); //courbe
end; end;
end; end;
@@ -3184,6 +3191,7 @@ begin
position:=positionTCO(x,y); position:=positionTCO(x,y);
fond:=TCO[x,y].CouleurFond; fond:=TCO[x,y].CouleurFond;
ep:=tco[x,y].epaisseurs;
with canvas do with canvas do
begin begin
@@ -3309,6 +3317,7 @@ begin
yf:=y0+HauteurCell; // y fin yf:=y0+HauteurCell; // y fin
position:=positionTCO(x,y); position:=positionTCO(x,y);
fond:=TCO[x,y].CouleurFond; fond:=TCO[x,y].CouleurFond;
ep:=tco[x,y].epaisseurs;
with canvas do with canvas do
begin begin
@@ -4502,7 +4511,29 @@ end;
// Element 23 croisement // Element 23 croisement
procedure dessin_23(Canvas : Tcanvas;x,y,mode: integer); procedure dessin_23(Canvas : Tcanvas;x,y,mode: integer);
var x0,y0,xf,yf,xc,yc,trajet : integer; var x0,y0,xf,yf,xc,yc,trajet,ep : integer;
procedure verticale;
begin
with canvas do
begin
if testbit(ep,1) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveTo(xc,y0);LineTo(xc,yc);
if testbit(ep,5) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
LineTo(xc,yf);
end;
end;
procedure diagonale;
begin
with canvas do
begin
if testbit(ep,2) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveTo(xf,y0);LineTo(xc,yc);
if testbit(ep,6) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
LineTo(x0,yf);
end;
end;
begin begin
x0:=(x-1)*LargeurCell; x0:=(x-1)*LargeurCell;
y0:=(y-1)*HauteurCell; y0:=(y-1)*HauteurCell;
@@ -4510,6 +4541,7 @@ begin
yc:=y0+(hauteurCell div 2); yc:=y0+(hauteurCell div 2);
xf:=x0+LargeurCell; xf:=x0+LargeurCell;
yf:=y0+HauteurCell; yf:=y0+HauteurCell;
ep:=tco[x,y].epaisseurs;
with canvas do with canvas do
begin begin
@@ -4522,8 +4554,8 @@ begin
pen.color:=clvoies; pen.color:=clvoies;
pen.width:=epaisseur; pen.width:=epaisseur;
moveto(xf,y0);lineTo(x0,yf); // diagonale diagonale;
moveTo(xc,y0);LineTo(xc,yf); // verticale verticale;
// regarder d'ou on vient de la route du tco // regarder d'ou on vient de la route du tco
if mode>0 then if mode>0 then
@@ -4536,15 +4568,21 @@ begin
end; end;
Brush.Color:=couleur; Brush.Color:=couleur;
pen.color:=couleur; pen.color:=couleur;
if trajet=1 then begin moveTo(xc,y0);LineTo(xc,yf);end; // verticale if trajet=1 then verticale;
if trajet=2 then begin moveto(xf,y0);lineTo(x0,yf);end; // diagonale if trajet=2 then diagonale;
if trajet=3 then if trajet=3 then
begin begin
moveto(xf,y0);LineTo(xc,yc);lineTo(xc,yf); // if testbit(ep,2) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveto(xf,y0);LineTo(xc,yc);
if testbit(ep,5) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineTo(xc,yf);
end; end;
if trajet=4 then if trajet=4 then
begin begin
moveto(xc,y0);LineTo(xc,yc);lineTo(x0,yf); // -\ if testbit(ep,1) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveto(xc,y0);LineTo(xc,yc);
if testbit(ep,6) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineTo(x0,yf);
end; end;
end; end;
end; end;
@@ -4558,7 +4596,29 @@ end;
// Element 25 croisement // Element 25 croisement
procedure dessin_25(Canvas : Tcanvas;x,y,mode: integer); procedure dessin_25(Canvas : Tcanvas;x,y,mode: integer);
var x0,y0,xf,yf,xc,yc,trajet : integer; var x0,y0,xf,yf,xc,yc,trajet,ep : integer;
procedure verticale;
begin
with canvas do
begin
if testbit(ep,1) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveTo(xc,y0);LineTo(xc,yc);
if testbit(ep,5) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
LineTo(xc,yf);
end;
end;
procedure diagonale;
begin
with canvas do
begin
if testbit(ep,0) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveTo(x0,y0);LineTo(xc,yc);
if testbit(ep,4) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
LineTo(xf,yf);
end;
end;
begin begin
x0:=(x-1)*LargeurCell; x0:=(x-1)*LargeurCell;
y0:=(y-1)*HauteurCell; y0:=(y-1)*HauteurCell;
@@ -4566,6 +4626,7 @@ begin
yc:=y0+(hauteurCell div 2); yc:=y0+(hauteurCell div 2);
xf:=x0+LargeurCell; xf:=x0+LargeurCell;
yf:=y0+HauteurCell; yf:=y0+HauteurCell;
ep:=tco[x,y].epaisseurs;
with canvas do with canvas do
begin begin
@@ -4578,8 +4639,8 @@ begin
pen.color:=clvoies; pen.color:=clvoies;
pen.width:=epaisseur; pen.width:=epaisseur;
moveto(x0,y0);lineTo(xf,yf); // diagonale verticale;
moveTo(xc,y0);LineTo(xc,yf); // verticale diagonale;
// regarder d'ou on vient de la route du tco // regarder d'ou on vient de la route du tco
if mode>0 then if mode>0 then
@@ -4590,23 +4651,30 @@ begin
1: couleur:=ClCanton; 1: couleur:=ClCanton;
2: couleur:=couleurtrain[index_couleur]; 2: couleur:=couleurtrain[index_couleur];
end; end;
Brush.Color:=couleur; Brush.Color:=couleur;
pen.color:=couleur; pen.color:=couleur;
if trajet=1 then begin moveTo(xc,y0);LineTo(xc,yf);end; // verticale if trajet=1 then verticale;
if trajet=2 then begin moveto(x0,y0);lineTo(xf,yf);end; // diagonale if trajet=2 then diagonale;
if trajet=3 then if trajet=3 then
begin begin
moveto(x0,y0);LineTo(xc,yc);lineTo(xc,yc); // if testbit(ep,0) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveto(x0,y0);LineTo(xc,yc);
if testbit(ep,5) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineTo(xc,yf);
end; end;
if trajet=4 then if trajet=4 then
begin begin
moveto(xc,y0);LineTo(xc,yc);lineTo(xf,yf); // -\ if testbit(ep,1) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveto(xc,y0);LineTo(xc,yc);
if testbit(ep,4) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineTo(xf,yf);
end; end;
end; end;
end; end;
end; end;
// Element 26 // Element 26 fait
procedure dessin_26L(Canvas : Tcanvas;x,y,mode: integer); procedure dessin_26L(Canvas : Tcanvas;x,y,mode: integer);
var x0,y0,xc,yc,jx1,jy1,xf,yf,position,ep : integer; var x0,y0,xc,yc,jx1,jy1,xf,yf,position,ep : integer;
r : Trect; r : Trect;
@@ -4626,10 +4694,10 @@ var x0,y0,xc,yc,jx1,jy1,xf,yf,position,ep : integer;
with canvas do with canvas do
begin begin
if testbit(ep,7) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
pen.color:=couleur; pen.color:=couleur;
if testbit(ep,1) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveto(xc,y0);lineto(xc,yc); moveto(xc,y0);lineto(xc,yc);
if testbit(ep,3) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur; if testbit(ep,5) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineto(xc,yf); lineto(xc,yf);
end; end;
end; end;
@@ -4649,8 +4717,10 @@ var x0,y0,xc,yc,jx1,jy1,xf,yf,position,ep : integer;
with canvas do with canvas do
begin begin
pen.color:=couleur; pen.color:=couleur;
moveto(xc,y0);lineto(xc,yf); // verticale complete if testbit(ep,5) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveTo(xf,y0);lineto(xc,yc); // partie déviée moveto(xc,yf);lineto(xc,yc);
if testbit(ep,2) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineTo(xf,y0);
end; end;
end; end;
@@ -4664,6 +4734,7 @@ begin
yf:=y0+HauteurCell; // y fin yf:=y0+HauteurCell; // y fin
position:=positionTCO(x,y); position:=positionTCO(x,y);
fond:=TCO[x,y].CouleurFond; fond:=TCO[x,y].CouleurFond;
ep:=tco[x,y].epaisseurs;
with canvas do with canvas do
begin begin
@@ -4678,16 +4749,27 @@ begin
Pen.Color:=clVoies; Pen.Color:=clVoies;
Pen.Mode:=pmCopy; Pen.Mode:=pmCopy;
if (position=const_Devie) or (position=const_inconnu) then if mode>0 then
begin begin
trajet_devie; // affiche la position de la branche déviée if (position=const_devie) or (position=const_inconnu) then
end; begin
trajet_droit;
trajet_devie;
end;
if (position=const_droit) then
begin
trajet_devie;
trajet_droit;
end;
end
if (position=const_droit) or (position=const_inconnu) then else
begin begin
trajet_devie;
trajet_droit; trajet_droit;
end; end;
if (position=const_Devie) then if (position=const_Devie) then
begin begin
// effacement du morceau // effacement du morceau
@@ -4715,7 +4797,7 @@ end;
// Element 26 // Element 26
procedure dessin_26C(Canvas : Tcanvas;x,y,mode: integer); procedure dessin_26C(Canvas : Tcanvas;x,y,mode: integer);
var x0,y0,xc,yc,jx1,jy1,xf,yf,x1,y1,x2,y2,x3,y3,x4,y4,position : integer; var x0,y0,xc,yc,jx1,jy1,xf,yf,x1,y1,x2,y2,x3,y3,x4,y4,position,ep : integer;
r : Trect; r : Trect;
fond: tcolor; fond: tcolor;
@@ -4734,7 +4816,10 @@ procedure trajet_droit;
with canvas do with canvas do
begin begin
pen.color:=couleur; pen.color:=couleur;
moveto(xc,y0);lineto(xc,yf); // partie droite if testbit(ep,1) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveto(xc,y0);lineto(xc,yc);
if testbit(ep,5) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineto(xc,yf);
end; end;
end; end;
@@ -4753,6 +4838,7 @@ procedure trajet_droit;
with canvas do with canvas do
begin begin
pen.color:=couleur; pen.color:=couleur;
if testbit(ep,2) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
Arc(x1,y1,x2,y2,x3,y3,x4,y4); //courbe Arc(x1,y1,x2,y2,x3,y3,x4,y4); //courbe
end; end;
end; end;
@@ -4768,6 +4854,7 @@ begin
yf:=y0+HauteurCell; // y fin yf:=y0+HauteurCell; // y fin
position:=positionTCO(x,y); position:=positionTCO(x,y);
fond:=TCO[x,y].CouleurFond; fond:=TCO[x,y].CouleurFond;
ep:=tco[x,y].epaisseurs;
// mode rond // mode rond
x1:=x0+(largeurcell div 2);y1:=y0-(hauteurCell div 3); x1:=x0+(largeurcell div 2);y1:=y0-(hauteurCell div 3);
@@ -4836,7 +4923,7 @@ begin
if graphisme=2 then dessin_26C(Canvas,x,y,Mode); if graphisme=2 then dessin_26C(Canvas,x,y,Mode);
end; end;
// Element 27 // Element 27 fait
procedure dessin_27L(Canvas : Tcanvas;x,y,mode: integer); procedure dessin_27L(Canvas : Tcanvas;x,y,mode: integer);
var x0,y0,jx2,jy2,jx3,jy3,xc,yc,jx1,jy1,xf,yf,position,ep : integer; var x0,y0,jx2,jy2,jx3,jy3,xc,yc,jx1,jy1,xf,yf,position,ep : integer;
r : Trect; r : Trect;
@@ -4856,10 +4943,10 @@ var x0,y0,jx2,jy2,jx3,jy3,xc,yc,jx1,jy1,xf,yf,position,ep : integer;
with canvas do with canvas do
begin begin
if testbit(ep,7) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur; if testbit(ep,1) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
pen.color:=couleur; pen.color:=couleur;
moveto(xc,y0);lineto(xc,yc); moveto(xc,y0);lineto(xc,yc);
if testbit(ep,3) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur; if testbit(ep,5) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineto(xc,yf); lineto(xc,yf);
end; end;
end; end;
@@ -4879,8 +4966,10 @@ var x0,y0,jx2,jy2,jx3,jy3,xc,yc,jx1,jy1,xf,yf,position,ep : integer;
with canvas do with canvas do
begin begin
pen.color:=couleur; pen.color:=couleur;
moveto(xc,y0);lineto(xc,yf); // verticale complete if testbit(ep,1) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveTo(x0,yf);lineto(xc,yc); // partie déviée moveto(xc,y0);lineto(xc,yc); // verticale complete
if testbit(ep,6) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineTo(x0,yf);
end; end;
end; end;
@@ -4894,6 +4983,7 @@ begin
yf:=y0+HauteurCell; // y fin yf:=y0+HauteurCell; // y fin
position:=positionTCO(x,y); position:=positionTCO(x,y);
fond:=TCO[x,y].CouleurFond; fond:=TCO[x,y].CouleurFond;
ep:=tco[x,y].epaisseurs;
with canvas do with canvas do
begin begin
@@ -4908,13 +4998,23 @@ begin
Pen.Color:=clVoies; Pen.Color:=clVoies;
Pen.Mode:=pmCopy; Pen.Mode:=pmCopy;
if (position=const_Devie) or (position=const_inconnu) then if mode>0 then
begin begin
trajet_devie; // affiche la position de la branche déviée if (position=const_devie) or (position=const_inconnu) then
end; begin
trajet_droit;
trajet_devie;
end;
if (position=const_droit) then
begin
trajet_devie;
trajet_droit;
end;
end
if (position=const_droit) or (position=const_inconnu) then else
begin begin
trajet_devie;
trajet_droit; trajet_droit;
end; end;
@@ -4944,9 +5044,9 @@ begin
end; end;
end; end;
// Element 27 // Element 27c fait
procedure dessin_27C(Canvas : Tcanvas;x,y,mode: integer); procedure dessin_27C(Canvas : Tcanvas;x,y,mode: integer);
var x0,y0,xc,yc,jx1,jy1,jx2,jy2,xf,yf,x1,y1,x2,y2,x3,y3,x4,y4,position, var x0,y0,xc,yc,jx1,jy1,jx2,jy2,xf,yf,x1,y1,x2,y2,x3,y3,x4,y4,position,ep,
jx3,jy3 : integer; jx3,jy3 : integer;
r : Trect; r : Trect;
fond: tcolor; fond: tcolor;
@@ -4965,8 +5065,11 @@ procedure trajet_droit;
with canvas do with canvas do
begin begin
if testbit(ep,1) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
pen.color:=couleur; pen.color:=couleur;
moveto(xc,y0);lineto(xc,yf); // partie droite moveto(xc,y0);lineto(xc,yc);
if testbit(ep,5) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineto(xc,yf);
end; end;
end; end;
@@ -4985,6 +5088,7 @@ procedure trajet_droit;
with canvas do with canvas do
begin begin
pen.color:=couleur; pen.color:=couleur;
if testbit(ep,6) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
Arc(x1,y1,x2,y2,x3,y3,x4,y4); //courbe Arc(x1,y1,x2,y2,x3,y3,x4,y4); //courbe
end; end;
end; end;
@@ -4998,6 +5102,7 @@ begin
yf:=y0+HauteurCell; // y fin yf:=y0+HauteurCell; // y fin
position:=positionTCO(x,y); position:=positionTCO(x,y);
fond:=TCO[x,y].CouleurFond; fond:=TCO[x,y].CouleurFond;
ep:=tco[x,y].epaisseurs;
// mode rond // mode rond
x1:=x0-(2*largeurCell)-(largeurcell div 3);y1:=y0-hauteurcell-(hauteurCell div 3); x1:=x0-(2*largeurCell)-(largeurcell div 3);y1:=y0-hauteurcell-(hauteurCell div 3);
@@ -5069,7 +5174,7 @@ begin
if graphisme=2 then dessin_27C(Canvas,x,y,Mode); if graphisme=2 then dessin_27C(Canvas,x,y,Mode);
end; end;
// Element 28 // Element 28 fait
procedure dessin_28L(Canvas : Tcanvas;x,y,mode: integer); procedure dessin_28L(Canvas : Tcanvas;x,y,mode: integer);
var x0,y0,jx2,jy2,jx3,jy3,xc,yc,jx1,jy1,xf,yf,position,ep : integer; var x0,y0,jx2,jy2,jx3,jy3,xc,yc,jx1,jy1,xf,yf,position,ep : integer;
r : Trect; r : Trect;
@@ -5089,10 +5194,10 @@ var x0,y0,jx2,jy2,jx3,jy3,xc,yc,jx1,jy1,xf,yf,position,ep : integer;
with canvas do with canvas do
begin begin
if testbit(ep,7) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur; if testbit(ep,1) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
pen.color:=couleur; pen.color:=couleur;
moveto(xc,y0);lineto(xc,yc); moveto(xc,y0);lineto(xc,yc);
if testbit(ep,3) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur; if testbit(ep,5) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineto(xc,yf); lineto(xc,yf);
end; end;
end; end;
@@ -5112,8 +5217,10 @@ var x0,y0,jx2,jy2,jx3,jy3,xc,yc,jx1,jy1,xf,yf,position,ep : integer;
with canvas do with canvas do
begin begin
pen.color:=couleur; pen.color:=couleur;
moveto(xc,y0);lineto(xc,yf); // verticale complete if testbit(ep,1) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveTo(xf,yf);lineto(xc,yc); // partie déviée moveto(xc,y0);lineto(xc,yc);
if testbit(ep,4) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineTo(xf,yf);
end; end;
end; end;
@@ -5127,6 +5234,7 @@ begin
yf:=y0+HauteurCell; // y fin yf:=y0+HauteurCell; // y fin
position:=positionTCO(x,y); position:=positionTCO(x,y);
fond:=TCO[x,y].CouleurFond; fond:=TCO[x,y].CouleurFond;
ep:=tco[x,y].epaisseurs;
with canvas do with canvas do
begin begin
@@ -5177,9 +5285,9 @@ begin
end; end;
end; end;
// Element 28 // Element 28 fait
procedure dessin_28C(Canvas : Tcanvas;x,y,mode: integer); procedure dessin_28C(Canvas : Tcanvas;x,y,mode: integer);
var x0,y0,xc,yc,jx1,jy1,jx2,jy2,xf,yf,x1,y1,x2,y2,x3,y3,x4,y4,position, var x0,y0,xc,yc,jx1,jy1,jx2,jy2,xf,yf,x1,y1,x2,y2,x3,y3,x4,y4,position,ep,
jx3,jy3 : integer; jx3,jy3 : integer;
r : Trect; r : Trect;
fond: tcolor; fond: tcolor;
@@ -5198,8 +5306,11 @@ procedure trajet_droit;
with canvas do with canvas do
begin begin
if testbit(ep,1) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
pen.color:=couleur; pen.color:=couleur;
moveto(xc,y0);lineto(xc,yf); // partie droite moveto(xc,y0);lineto(xc,yc);
if testbit(ep,5) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineto(xc,yf);
end; end;
end; end;
@@ -5218,6 +5329,7 @@ procedure trajet_droit;
with canvas do with canvas do
begin begin
pen.color:=couleur; pen.color:=couleur;
if testbit(ep,4) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
Arc(x1,y1,x2,y2,x3,y3,x4,y4); //courbe Arc(x1,y1,x2,y2,x3,y3,x4,y4); //courbe
end; end;
end; end;
@@ -5231,6 +5343,7 @@ begin
yf:=y0+HauteurCell; // y fin yf:=y0+HauteurCell; // y fin
position:=positionTCO(x,y); position:=positionTCO(x,y);
fond:=TCO[x,y].CouleurFond; fond:=TCO[x,y].CouleurFond;
ep:=tco[x,y].epaisseurs;
// mode rond // mode rond
x1:=x0+(largeurcell div 2);y1:=y0-hauteurCell-(hauteurCell div 3); x1:=x0+(largeurcell div 2);y1:=y0-hauteurCell-(hauteurCell div 3);
@@ -5301,7 +5414,7 @@ begin
if graphisme=2 then dessin_28C(Canvas,x,y,Mode); if graphisme=2 then dessin_28C(Canvas,x,y,Mode);
end; end;
// Element 29 // Element 29 fait
procedure dessin_29L(Canvas : Tcanvas;x,y : integer;Mode : integer); procedure dessin_29L(Canvas : Tcanvas;x,y : integer;Mode : integer);
var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,y4,position,ep : integer; var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,y4,position,ep : integer;
fond : tcolor; fond : tcolor;
@@ -5320,10 +5433,10 @@ var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,y4,position,ep : integer;
with canvas do with canvas do
begin begin
if testbit(ep,7) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur; if testbit(ep,0) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
pen.color:=couleur; pen.color:=couleur;
moveto(x0,y0);lineto(xc,yc); moveto(x0,y0);lineto(xc,yc);
if testbit(ep,3) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur; if testbit(ep,4) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineto(xf,yf); lineto(xf,yf);
end; end;
end; end;
@@ -5343,8 +5456,10 @@ var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,y4,position,ep : integer;
with canvas do with canvas do
begin begin
pen.color:=couleur; pen.color:=couleur;
moveto(x0,y0);lineto(xf,yf); if testbit(ep,0) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveto(xc,yc);lineto(xc,yf); moveto(x0,y0);lineto(xc,yc);
if testbit(ep,5) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineto(xc,yf);
end; end;
end; end;
@@ -5358,6 +5473,7 @@ begin
yf:=y0+HauteurCell; // y fin yf:=y0+HauteurCell; // y fin
position:=positionTCO(x,y); position:=positionTCO(x,y);
fond:=TCO[x,y].CouleurFond; fond:=TCO[x,y].CouleurFond;
ep:=tco[x,y].epaisseurs;
with canvas do with canvas do
begin begin
@@ -5410,8 +5526,9 @@ begin
end; end;
end; end;
// fait
procedure dessin_29C(Canvas : Tcanvas;x,y : integer;Mode : integer); procedure dessin_29C(Canvas : Tcanvas;x,y : integer;Mode : integer);
var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,y4,position : integer; var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,y4,position,ep : integer;
fond : tcolor; fond : tcolor;
procedure trajet_droit; procedure trajet_droit;
begin begin
@@ -5428,7 +5545,10 @@ var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,y4,position : integer;
with canvas do with canvas do
begin begin
pen.color:=couleur; pen.color:=couleur;
moveto(x0,y0);lineto(xf,yf); // partie droite if testbit(ep,0) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveto(x0,y0);lineto(xc,yc);
if testbit(ep,4) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineto(xf,yf);
end; end;
end; end;
@@ -5447,12 +5567,11 @@ var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,y4,position : integer;
with canvas do with canvas do
begin begin
pen.color:=couleur; pen.color:=couleur;
if testbit(ep,5) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
Arc(x1,y1,x2,y2,x3,y3,x4,y4); //courbe Arc(x1,y1,x2,y2,x3,y3,x4,y4); //courbe
end; end;
end; end;
begin begin
x0:=(x-1)*LargeurCell; // x origine x0:=(x-1)*LargeurCell; // x origine
y0:=(y-1)*HauteurCell; // y origine y0:=(y-1)*HauteurCell; // y origine
@@ -5465,7 +5584,7 @@ begin
x2:=x0+(largeurcell div 2);y2:=yf+hauteurcell+(hauteurCell div 3); x2:=x0+(largeurcell div 2);y2:=yf+hauteurcell+(hauteurCell div 3);
x3:=xc;y3:=yf; x3:=xc;y3:=yf;
x4:=x0;y4:=y0; x4:=x0;y4:=y0;
ep:=tco[x,y].epaisseurs;
position:=positionTCO(x,y); position:=positionTCO(x,y);
fond:=TCO[x,y].CouleurFond; fond:=TCO[x,y].CouleurFond;
@@ -5534,7 +5653,7 @@ begin
if graphisme=2 then dessin_29C(Canvas,x,y,Mode); if graphisme=2 then dessin_29C(Canvas,x,y,Mode);
end; end;
// Elément 32 // Elément 32 fait
procedure dessin_32L(Canvas : Tcanvas;x,y : integer;Mode : integer); procedure dessin_32L(Canvas : Tcanvas;x,y : integer;Mode : integer);
var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,position,ep : integer; var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,position,ep : integer;
r : Trect; r : Trect;
@@ -5554,11 +5673,11 @@ var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,position,ep : integer;
with canvas do with canvas do
begin begin
if testbit(ep,7) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
pen.color:=couleur; pen.color:=couleur;
moveto(x0,yf);lineto(xc,yc); if testbit(ep,2) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
if testbit(ep,3) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur; moveto(xf,y0);lineto(xc,yc);
lineto(xf,y0); if testbit(ep,6) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineto(x0,yf);
end; end;
end; end;
@@ -5577,8 +5696,10 @@ var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,position,ep : integer;
with canvas do with canvas do
begin begin
pen.color:=couleur; pen.color:=couleur;
moveto(x0,yf);lineto(xf,y0); if testbit(ep,2) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveto(xc,yf);lineto(xc,yc); moveto(xf,y0);lineto(xc,yc);
if testbit(ep,5) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineto(xc,yf);
end; end;
end; end;
@@ -5592,6 +5713,7 @@ begin
yf:=y0+HauteurCell; // y fin yf:=y0+HauteurCell; // y fin
position:=positionTCO(x,y); position:=positionTCO(x,y);
fond:=TCO[x,y].CouleurFond; fond:=TCO[x,y].CouleurFond;
ep:=tco[x,y].epaisseurs;
with canvas do with canvas do
begin begin
@@ -5606,13 +5728,23 @@ begin
Pen.Color:=clVoies; Pen.Color:=clVoies;
Pen.Mode:=pmCopy; Pen.Mode:=pmCopy;
if (position=const_Devie) or (position=const_inconnu) then if mode>0 then
begin begin
trajet_devie; // affiche la position de la branche déviée if (position=const_devie) or (position=const_inconnu) then
end; begin
trajet_droit;
trajet_devie;
end;
if (position=const_droit) then
begin
trajet_devie;
trajet_droit;
end;
end
if (position=const_droit) or (position=const_inconnu) then else
begin begin
trajet_devie;
trajet_droit; trajet_droit;
end; end;
@@ -5662,10 +5794,10 @@ var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,y4,position,ep : integer;
with canvas do with canvas do
begin begin
pen.color:=couleur; pen.color:=couleur;
if testbit(ep,7) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur; if testbit(ep,2) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
moveto(x0,y0);lineto(xc,yc); moveto(xf,y0);lineto(xc,yc);
if testbit(ep,3) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur; if testbit(ep,6) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
lineto(xf,yf); lineto(x0,yf);
end; end;
end; end;
@@ -5684,6 +5816,7 @@ var x0,y0,xc,yc,xf,yf,x1,x2,y1,y2,x3,y3,x4,y4,position,ep : integer;
with canvas do with canvas do
begin begin
pen.color:=couleur; pen.color:=couleur;
if testbit(ep,5) then pen.Width:=epaisseur div 2 else pen.Width:=epaisseur;
Arc(x1,y1,x2,y2,x3,y3,x4,y4); //courbe Arc(x1,y1,x2,y2,x3,y3,x4,y4); //courbe
end; end;
end; end;
@@ -5705,6 +5838,7 @@ begin
position:=positionTCO(x,y); position:=positionTCO(x,y);
fond:=TCO[x,y].CouleurFond; fond:=TCO[x,y].CouleurFond;
ep:=tco[x,y].epaisseurs;
with canvas do with canvas do
begin begin
@@ -6854,7 +6988,7 @@ procedure dessine_icone(PCanvasTCO : tcanvas;Bimage,X,Y,mode : integer);
begin begin
case Bimage of case Bimage of
// 0 : efface_cellule(PCanvasTCO,x,y,pmcopy); // 0 : efface_cellule(PCanvasTCO,x,y,pmcopy);
1 : dessin_voie(PCanvasTCO,X,Y,mode); 1 : dessin_1(PCanvasTCO,X,Y,mode);
2 : dessin_2(PCanvasTCO,X,Y,mode); 2 : dessin_2(PCanvasTCO,X,Y,mode);
3 : dessin_3(PCanvasTCO,X,Y,mode); 3 : dessin_3(PCanvasTCO,X,Y,mode);
4 : dessin_4(PCanvasTCO,X,Y,Mode); 4 : dessin_4(PCanvasTCO,X,Y,Mode);
@@ -8206,7 +8340,7 @@ begin
dessin_2(ImagePalette2.Canvas,1,1,0); dessin_2(ImagePalette2.Canvas,1,1,0);
dessin_3(ImagePalette3.Canvas,1,1,0); dessin_3(ImagePalette3.Canvas,1,1,0);
dessin_4(ImagePalette4.Canvas,1,1,0); dessin_4(ImagePalette4.Canvas,1,1,0);
dessin_voie(ImagePalette1.canvas,1,1,0); dessin_1(ImagePalette1.canvas,1,1,0);
dessin_6(ImagePalette6.canvas,1,1,0); dessin_6(ImagePalette6.canvas,1,1,0);
dessin_7(ImagePalette7.canvas,1,1,0); dessin_7(ImagePalette7.canvas,1,1,0);
dessin_8(ImagePalette8.canvas,1,1,0); dessin_8(ImagePalette8.canvas,1,1,0);
@@ -8644,6 +8778,7 @@ begin
tco[XclicCell,YClicCell].Adresse:=0; tco[XclicCell,YClicCell].Adresse:=0;
tco[XclicCell,YClicCell].Bimage:=0; tco[XclicCell,YClicCell].Bimage:=0;
tco[XclicCell,YClicCell].liaisons:=0; tco[XclicCell,YClicCell].liaisons:=0;
tco[XclicCell,YClicCell].epaisseurs:=0;
tco[XclicCell,YClicCell].Texte:=''; tco[XclicCell,YClicCell].Texte:='';
efface_entoure; efface_entoure;
@@ -8763,7 +8898,7 @@ end;
procedure Elmentdroit1Click(Sender: TObject); procedure Elmentdroit1Click(Sender: TObject);
begin begin
dessin_voie(FormTCO.ImageTCO.canvas,XClicCellInserer,YClicCellInserer,0); dessin_1(FormTCO.ImageTCO.canvas,XClicCellInserer,YClicCellInserer,0);
FormTCO.EditAdrElement.Text:=IntToSTR(tco[XClicCellInserer,YClicCellInserer].Adresse); FormTCO.EditAdrElement.Text:=IntToSTR(tco[XClicCellInserer,YClicCellInserer].Adresse);
end; end;
@@ -8996,7 +9131,7 @@ begin
efface_cellule(ImageTCO.Canvas,XclicCell,YClicCell,PmCopy); efface_cellule(ImageTCO.Canvas,XclicCell,YClicCell,PmCopy);
TCO_modifie:=true; TCO_modifie:=true;
dessin_voie(ImageTCO.Canvas,XClicCell,YClicCell,0); dessin_1(ImageTCO.Canvas,XClicCell,YClicCell,0);
stocke_undo(1,XClicCell,YClicCell); stocke_undo(1,XClicCell,YClicCell);
maj_undo(1); maj_undo(1);
+8 -8
View File
@@ -1,4 +1,4 @@
/ Définitions TCO version 7.11 / Définitions TCO version 7.2
CoulFond=202050 CoulFond=202050
CoulVoies=0077FF CoulVoies=0077FF
CoulAllume=00FFFF CoulAllume=00FFFF
@@ -15,17 +15,17 @@ Matrice=39,13
Ratio=10 Ratio=10
/Matrice TCO /Matrice TCO
[Matrice] [Matrice]
/ couleur fond,adresse,image,inversion aiguillage,Orientation du signal, pied du signal , [texte], representation, fonte, taille fonte, couleur fonte, style, réserve / 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,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,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,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,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,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,,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,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,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,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,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,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,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,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,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,,0)(000040,2,3,0,0,0,,2,,0,00FF00,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,519,1,0,0,0,,2,,0,00FFFF,,0)(000040,519,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,VOIE 1,2,ARIAL,10,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,8,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,7,2,0,0,0,,2,,0,00FF00,,0)(000040,0,1,0,0,0,,2,,0,00FFFF,,0)(000040,527,1,0,0,0,,2,,8,00FFFF,,0)(000040,0,1,0,0,0,,3,,8,00FFFF,,0)(000040,0,1,0,0,0,,0,,0,00FFFF,,0)(000040,0,7,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,00FFFF,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0) (000040,530,1,0,0,0,,2,,0,00FFFF,,0)(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,,0)(000040,330,50,0,3,1,,0,,0,00FF00,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,QUAI 2,1,ARIAL,12,FFFFFF,G,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,51,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,10,0,0,0,,0,,0,000000,,0)(000040,204,50,0,3,1,,0,,0,00FF00,,0)(000040,0,0,0,0,0,,2,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,8,00FF00,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0)(000040,0,0,0,0,0,,0,,0,000000,,0) (000040,529,1,0,0,0,,2,,0,00FFFF,,0)(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,,0)(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,,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,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) (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)
+108 -124
View File
@@ -5,7 +5,7 @@ interface
uses uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls , ComCtrls ,WinInet, ExtCtrls , StrUtils, unitPrinc, Dialogs, StdCtrls , ComCtrls ,WinInet, ExtCtrls , StrUtils, unitPrinc,
ShellAPI ; ShellAPI;
type type
TFormVersion = class(TForm) TFormVersion = class(TForm)
@@ -23,14 +23,14 @@ var
FormVersion: TFormVersion; FormVersion: TFormVersion;
Lance_verif : integer; Lance_verif : integer;
verifVersion,notificationVersion : boolean; verifVersion,notificationVersion : boolean;
date_creation : string;
Const Version='7.2'; // sert à la comparaison de la version publiée Const Version='7.3'; // sert à la comparaison de la version publiée
SousVersion=' '; // A B C ... en cas d'absence de sous version mettre un espace SousVersion=' '; // A B C ... en cas d'absence de sous version mettre un espace
function GetCurrentProcessEnvVar(const VariableName: string): string; function GetCurrentProcessEnvVar(const VariableName: string): string;
function verifie_version : real; function verifie_version : real;
function DownloadURL_NOCache(aUrl: string;s : string;var taille : longint): Boolean; function DownloadURL_NOCache(aUrl: string;s : string;var taille : longint): Boolean;
function url_github(var url: string) : boolean;
implementation implementation
@@ -61,56 +61,14 @@ begin
end; end;
end; end;
// récupère l'url de téléchargement du github avec curl
// curl -s https://api.github.com/repos/f1iwq2/signaux_complexes_gl/releases/latest \
function url_github(var url: string) : boolean;
var s : string;
retour,i : integer;
trouve : boolean;
fichier : text;
begin
result:=false;
url:='';
s:='-s -o url.txt https://api.github.com/repos/f1iwq2/signaux_complexes_gl/releases/latest'; // résultat dans url.txt
//s:='';
retour:=ShellExecute(Formprinc.Handle,'open',
Pchar('curl.exe'),
//Pchar('cmd.exe'),
Pchar(s), // paramètre
Pchar('') // répertoire
,SW_HIDE); // pas d'affichage
if retour>32 then
begin
result:=true;
assign(fichier,'url.txt');
reset(fichier);
trouve:=false;
while not(eof(fichier)) or not trouve do
begin
readln(fichier,s);
if pos('browser_download_url',s)<>0 then
begin
trouve:=true;
i:=pos('https',s);
delete(s,1,i-1);
i:=pos('"',s);
s:=copy(s,1,i-1);
url:=s;
end;
end;
end
end;
// téléchargement d'une page internet sans cache dans un fichier // téléchargement d'une page internet sans cache dans un fichier
// aUrl = adresse URL du fichier - S : chemin et nom du fichier à écrire - taille : renvoie la taille lue en octets // aUrl = adresse URL du fichier - S : chemin et nom du fichier à écrire - taille : renvoie la taille lue en octets
function DownloadURL_NOCache(aUrl: string;s : string;var taille : longint): Boolean; function DownloadURL_NOCache(aUrl: string;s : string;var taille : longint): Boolean;
var var
hSession: HINTERNET; hSession,hService: hinternet;
hService: HINTERNET; Fs : TFileStream;
Fs:TFileStream;
lpBuffer: array[0..1024 + 1] of byte; lpBuffer: array[0..1024 + 1] of byte;
dwBytesRead: DWORD; dwBytesRead: dword;
i : integer; i : integer;
t : longint; t : longint;
begin begin
@@ -122,7 +80,6 @@ begin
try try
if Assigned(hSession) then if Assigned(hSession) then
begin begin
//Affiche('Session assignée',clLime);
hService := InternetOpenUrl(hSession, PChar(aUrl), nil, 0, INTERNET_FLAG_RELOAD, 0); hService := InternetOpenUrl(hSession, PChar(aUrl), nil, 0, INTERNET_FLAG_RELOAD, 0);
i:=getLastError; i:=getLastError;
if i<>0 then if i<>0 then
@@ -136,13 +93,13 @@ begin
//Affiche('Service assigné',clLime); //Affiche('Service assigné',clLime);
while True do while True do
begin begin
dwBytesRead := 1024; dwBytesRead:=1024;
InternetReadFile(hService,@lpBuffer,1024,dwBytesRead); InternetReadFile(hService,@lpBuffer,1024,dwBytesRead);
fs.WriteBuffer(lpBuffer,dwBytesRead); fs.WriteBuffer(lpBuffer,dwBytesRead);
t:=t+dwBytesRead; t:=t+dwBytesRead;
if dwBytesRead=0 then break; if dwBytesRead=0 then break;
end; end;
Result := True; Result:=True;
taille:=t; taille:=t;
finally finally
InternetCloseHandle(hService); InternetCloseHandle(hService);
@@ -156,22 +113,51 @@ begin
end; end;
end; end;
// renvoie le numéro de version depuis le forum CDM // renvoie le numéro de version depuis le site github
function verifie_version : real; function verifie_version : real;
var s,s2,s3,Version_p,Url,LocalFile,nomfichier : string; var description,s,s2,s3,Version_p,Url,LocalFile,nomfichier,nombre_tel,date_creation_ang
: string;
trouve_version,trouve_zip,zone_comm,LocZip : boolean; trouve_version,trouve_zip,zone_comm,LocZip : boolean;
fichier : text; fichier : text;
i,j,erreur,Ncomm,i2,i3,l : integer; i,j,erreur,Ncomm,i2,l : integer;
V_utile,V_publie : real; V_utile,V_publie : real;
SV_publie : char; SV_publie : char;
taille : longint; taille : longint;
comm : array[1..10] of string; comm : array[1..10] of string;
function extrait_champ(ss : string) : string;
var i,j : integer;
begin
s:='"'+s+'"';
result:='';
i:=pos(ss,s);
if i<>0 then
begin
i:=posEx('"',s,i+1);
i:=posEx('"',s,i+1);
j:=posex('"',s,i+1);
result:=copy(s,i+1,j-i-1);
end;
end;
function extrait_champ_simple(ss : string) : string;
var i,j : integer;
begin
s:='"'+s+'"';
result:='';
i:=pos(ss,s);
if i<>0 then
begin
i:=posEx(':',s,i+1);
j:=posEx(',',s,i+1);
//j:=posex('"',s,i+1);
result:=copy(s,i+1,j-i-1);
end;
end;
begin begin
//Affiche('vérifie version',clLime); //Affiche('vérifie version',clLime);
// tester si on peut extraire l'url par curl Url:='https://api.github.com/repos/f1iwq2/signaux_complexes_gl/releases/latest';
//if url_github(UrlGIT) then affiche('curl ok',clyellow);
Url:='http://cdmrail.free.fr/ForumCDR/viewtopic.php?f=77&t=3906#p50499';
LocalFile:='page.txt'; LocalFile:='page.txt';
trouve_version:=false; trouve_version:=false;
trouve_zip:=false; trouve_zip:=false;
@@ -181,82 +167,75 @@ begin
begin begin
AssignFile(fichier,LocalFile); AssignFile(fichier,LocalFile);
reset(fichier); reset(fichier);
while not(eof(fichier)) and (not(trouve_version) or not(trouve_zip)) do while not(eof(fichier)) and (not(trouve_version) or not(trouve_zip)) do
begin begin
readln(fichier,s); readln(fichier,s);
//Affiche(s,clyellow); //Affiche(s,clyellow);
//s:=LowerCase(s);
if not(trouve_version) then // adresse de téléchargement
s3:=extrait_champ('browser_download_url');
if s3<>'' then trouve_zip:=true;
// nombre de téléchargements
nombre_tel:=extrait_champ_simple('download_count');
// date de création
date_creation_ang:=extrait_champ('created_at');
if date_creation_ang<>'' then
begin begin
i:=pos('version ',LowerCase(s)); //Affiche(date_creation_ang,clyellow);
trouve_version:=i<>0; i:=pos('-',date_creation_ang);
if trouve_version then j:=posex('-',date_creation_ang,i+1);
begin i2:=pos('T',date_creation_ang);
s2:=s;zone_comm:=true; date_creation:=copy(date_creation_ang,j+1,i2-j-1);
//Affiche('trouvé version',clOrange); date_creation:=date_creation+'/'+copy(date_creation_ang,i+1,j-i-1);
end; date_creation:=date_creation+'/'+copy(date_creation_ang,1,i-1);
date_creation:=date_creation+' '+copy(date_creation_ang,i2+1,length(date_creation_ang)-i2-1);
//Affiche(date_creation,clyellow);
end; end;
if not(trouve_zip) then
// version publiée
version_p:=extrait_champ('tag_name');
if version_p<>'' then
begin begin
i:=pos('.zip',LowerCase(s)); trouve_version:=true;
trouve_zip:=i<>0; if not(version_p[1] in ['0'..'9']) then delete(version_p,1,1);
//if trouve_zip then Affiche(s,clyellow);
if trouve_zip then
begin
s3:=s;
//zone_comm:=false;
end;
end; end;
// commentaire en gras
if zone_comm then description:=extrait_champ('body');
if description<>'' then
begin
description:=utf8Decode(description);
i:=1 ; j:=1;
// couper en chaînes
while j<>0 do
begin begin
i:=pos('bold">',LowerCase(s))+6;i2:=posEx('<br />',LowerCase(s),i+1); i3:=posEx('</span>',LowerCase(s),i+1) ; j:=pos('\r',description);
if i<>6 then if j<>0 then
begin begin
//Affiche(s,clred); comm[i]:=copy(description,1,j-1);
inc(ncomm); inc(i);
if i3<i2 then i2:=i3; delete(description,1,j+1);
comm[ncomm]:=UTF8Decode(copy(s,i,i2-i)); end;
Delete(s,1,i2-1);
j:=0; j:=pos('\n',description);
repeat if j<>0 then
i:=pos('<br />',LowerCase(s))+6;i3:=posEx('</span>',LowerCase(s),i+1);i2:=posEx('<br />',LowerCase(s),i+1); begin
inc(ncomm); delete(description,j,2);
if i2<i3 then end;
begin
comm[ncomm]:=UTF8Decode(copy(s,i,i2-i));Delete(s,1,i2-1);
end
else
begin
comm[ncomm]:=UTF8Decode(copy(s,i,i3-i));Delete(s,1,i3-1);
end;
inc(j);
until (i3<i2) or (ncomm=10) or (j=20);
zone_comm:=false;
end; end;
comm[i]:=description;
ncomm:=i;
end; end;
end; end;
closefile(fichier); closefile(fichier);
if trouve_version and trouve_zip then if trouve_version and trouve_zip then
begin begin
// isoler le champ version
i:=pos('version ',LowerCase(s2));
delete(s2,1,i+7);
j:=pos(' ',s2);
Version_p:=copy(s2,1,j-1); // version dans version_p Exemple V4.73b
// isoler l'url du zip
i:=pos('.zip',LowerCase(s3));
repeat
dec(i);
locZip:=s3[i]='=';
until (i=1) or LocZip;
if locZip then
begin
delete(s3,1,i+1);
end;
i:=pos('zip"',LowerCase(s3)); // s3 contient l'url du zip
s3:=copy(s3,1,i+2);
//---------------------------------------------------- //----------------------------------------------------
//isoler le nom du fichier //isoler le nom du fichier
i:=length(s3); i:=length(s3);
@@ -266,6 +245,8 @@ begin
until (i=1) or LocZip; until (i=1) or LocZip;
nomfichier:=copy(s3,i+1,length(s3)-i); nomfichier:=copy(s3,i+1,length(s3)-i);
//affiche(nombre_tel,cllime);
//Affiche(s3,clLime); //Affiche(s3,clLime);
//Affiche(nomfichier,clred); //Affiche(nomfichier,clred);
@@ -284,7 +265,6 @@ begin
if erreur<>0 then exit; if erreur<>0 then exit;
val(s2,V_utile,erreur); val(s2,V_utile,erreur);
if erreur<>0 then exit; if erreur<>0 then exit;
if (V_utile<V_publie) or if (V_utile<V_publie) or
((V_utile=V_publie) and (SousVersion<SV_publie)) then ((V_utile=V_publie) and (SousVersion<SV_publie)) then
begin begin
@@ -292,11 +272,12 @@ begin
FormVersion.Left:=10; FormVersion.Left:=10;
FormVersion.show; FormVersion.show;
s:='Vous utilisez la version '+version+SousVersion+' mais il existe la version '+Version_p+SV_publie; s:='Vous utilisez la version '+version+SousVersion+' mais il existe la version '+Version_p+SV_publie;
if ncomm>0 then if length(description)>0 then
begin begin
Aff('Nouveautés de la V'+version_p+SV_publie+' de Signaux_Complexes_GL :'); FormVersion.Memo1.lines.Clear;
Aff('Nouveautés de la V'+version_p+SV_publie+' de Signaux_Complexes_GL du '+date_creation);
aff(' '); aff(' ');
for i:=1 to ncomm-1 do aff(comm[i]); for i:=1 to ncomm do aff(comm[i]);
end; end;
if MessageDlg(s+'. Voulez-vous la télécharger?',mtConfirmation,[mbYes,mbNo],0)=mrYes then if MessageDlg(s+'. Voulez-vous la télécharger?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin begin
@@ -316,15 +297,18 @@ begin
end end
else Aff('Echec 1 de téléchargement'); else Aff('Echec 1 de téléchargement');
end end
else formVersion.Free; else formVersion.close;
end; end;
result:=V_publie; result:=V_publie;
end; end
else
affiche('Le dépôt github ne comprend aucune version diffusée.',clOrange);
end end
else else
begin begin
result:=0; result:=0;
if notificationVersion then Affiche('Pas d''accès au site ou échec téléchargement',clorange); if notificationVersion then Affiche('Pas d''accès au site github.com ou échec téléchargement',clorange);
end; end;
end; end;
+1 -1
View File
@@ -179,7 +179,7 @@ version 7.11 : Renvoi de la consigne de vitesse au trains apr
Possibilité de générer des évènements détecteurs depuis le TCO. Possibilité de générer des évènements détecteurs depuis le TCO.
version 7.2 : Possibilité de dessiner des voies fines et épaisses dans le TCO version 7.2 : Possibilité de dessiner des voies fines et épaisses dans le TCO
par exemple pour distinguer les voies principales et les bretelles. par exemple pour distinguer les voies principales et les bretelles.
version 7.3 : Correction d'un bug sur le pilotage des aiguillages via CDM rail