This commit is contained in:
f1iwq2
2025-03-19 15:46:50 +01:00
parent 662da541c0
commit cc07ac603c
20 changed files with 3325 additions and 9903 deletions
+48 -400
View File
@@ -1,11 +1,12 @@
object FormCompteur: TFormCompteur
Left = 555
Left = 550
Top = 218
Width = 222
Width = 227
Height = 262
BorderStyle = bsSizeToolWin
Caption = 'Compteur'
Color = clBtnFace
TransparentColorValue = clPurple
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
@@ -15,9 +16,8 @@ object FormCompteur: TFormCompteur
OldCreateOrder = False
OnActivate = FormActivate
OnClose = FormClose
DesignSize = (
214
231)
OnCreate = FormCreate
OnResize = FormResize
PixelsPerInch = 96
TextHeight = 13
object ImageCompteur: TImage
@@ -27,415 +27,56 @@ object FormCompteur: TFormCompteur
Height = 128
PopupMenu = PopupMenu1
end
object LabelTrain: TLabel
Left = 0
Top = 128
Width = 34
Height = 19
Alignment = taCenter
Anchors = [akLeft, akTop, akRight]
Caption = 'train'
Color = clBtnFace
object Labeltrain: TLabel
Left = 32
Top = 176
Width = 10
Height = 22
Caption = #39#39
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -16
Font.Height = -19
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
object ImageTachro: TImage
Left = 80
Top = 152
Width = 106
Height = 37
Picture.Data = {
07544269746D6170762E0000424D762E00000000000036000000280000006A00
0000250000000100180000000000402E00000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFF
FFFFFFFF00000000000000000000000000000000000000000000000000000000
0000000000FFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF0000000000
00000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFF
FFFFFFFF00000000000000000000000000000000000000000000000000000000
0000000000FFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF0000000000
00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000
0000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
000000000000000000000000000000FFFFFFFFFFFFFFFFFF0000000000000000
00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000FFFFFFFFFF
FFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000
0000FFFFFFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
000000000000000000000000FFFFFFFFFFFFFFFFFF0000000000000000000000
00000000FFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000
0000000000FFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000FFFFFFFFFF
FFFFFFFFFFFFFF000000000000000000000000000000000000000000000000FF
FFFFFFFFFFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000FFFFFFFFFFFF000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
00000000FFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000
0000000000FFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000000000FFFFFF000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
00000000FFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000
0000000000FFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000000000FFFFFF000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000
00000000FFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000
0000000000FFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFF000000000000000000000000000000FFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000
00000000FFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000
0000000000FFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFF000000000000000000000000000000FFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
000000000000000000000000000000FFFFFFFFFFFFFFFFFF0000000000000000
00000000FFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000
0000FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000
00FFFFFFFFFFFFFFFFFF000000000000000000000000000000FFFFFFFFFFFFFF
FFFFFFFFFF000000000000000000000000000000FFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
000000000000000000000000000000FFFFFFFFFFFFFFFFFF0000000000000000
00000000FFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000
0000FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000
00FFFFFFFFFFFFFFFFFF000000000000000000000000000000FFFFFFFFFFFFFF
FFFF000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
000000000000000000000000000000FFFFFFFFFFFFFFFFFF0000000000000000
00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000
00000000FFFFFFFFFFFF000000000000000000000000000000FFFFFFFFFFFFFF
FFFF000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
000000000000000000000000000000FFFFFFFFFFFFFFFFFF0000000000000000
00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000
00000000FFFFFFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFF00
0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
000000000000000000000000000000FFFFFFFFFFFFFFFFFF0000000000000000
00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000
00000000FFFFFFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFF00
0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
000000000000000000000000000000FFFFFFFFFFFFFFFFFF0000000000000000
00000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFF000000000000000000000000000000FFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFF000000000000000000000000000000000000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
00000000000000FFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFF00
0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
000000000000000000000000000000FFFFFFFFFFFFFFFFFF0000000000000000
00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
0000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF000000
0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FF000000000000FFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF00000000
0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
000000000000000000000000000000FFFFFFFFFFFFFFFFFF0000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000
0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF
FF000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000
0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000FFFFFFFFFFFF000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000
00000000000000000000000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000
0000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000
00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000
0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000FFFFFFFFFFFF000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF0000000000000000
00000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000
0000000000000000000000000000000000000000000000000000FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000
00000000000000000000000000FFFFFFFFFFFFFFFFFF00000000000000000000
0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000FFFFFFFFFFFF000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000
00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FF000000000000000000000000000000FFFFFF00000000000000000000000000
0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF000000
000000000000000000000000000000FFFFFFFFFFFF000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000
0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFF000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000
0000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000FFFFFFFF
FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000
000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFF000000000000000000000000000000000000000000FFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000FFFF
FFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000FFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000FFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFF0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000FF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000}
object ImageTprov: TImage
Left = 56
Top = 88
Width = 161
Height = 33
Visible = False
end
object TrackBar1: TTrackBar
object ImageTrain: TImage
Left = 0
Top = 40
Top = 192
Width = 217
Height = 33
end
object TrackBarC: TTrackBar
Left = 0
Top = 128
Width = 129
Height = 21
Ctl3D = False
Max = 127
Min = -128
ParentCtl3D = False
TabOrder = 0
Visible = False
OnChange = TrackBarCChange
end
object Button0: TButton
Left = 96
Top = 160
Width = 17
Height = 17
Caption = '0'
TabOrder = 1
OnClick = Button0Click
end
object PopupMenu1: TPopupMenu
Left = 112
Top = 8
Left = 184
Top = 16
object Verrouillerdevant1: TMenuItem
Caption = 'Verrouiller devant'
OnClick = Verrouillerdevant1Click
@@ -459,5 +100,12 @@ object FormCompteur: TFormCompteur
Caption = 'Compteur tachro'
OnClick = Compteurtachro1Click
end
object N2: TMenuItem
Caption = '-'
end
object Affichericonedutrain1: TMenuItem
Caption = 'Afficher icone du train'
OnClick = Affichericonedutrain1Click
end
end
end
+655 -218
View File
File diff suppressed because it is too large Load Diff
+309 -82
View File
@@ -1,6 +1,6 @@
object FormConfig: TFormConfig
Left = 245
Top = 117
Left = 240
Top = 128
Hint = 'Modifie la configuration selon les s'#233'lections choisies'
BorderStyle = bsDialog
Caption = 'Configuration g'#233'n'#233'rale'
@@ -670,7 +670,7 @@ object FormConfig: TFormConfig
Top = 8
Width = 633
Height = 505
ActivePage = TabSheetTrains
ActivePage = TabSheetBouton
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
@@ -4149,7 +4149,7 @@ object FormConfig: TFormConfig
Top = 16
Width = 337
Height = 457
ActivePage = TabSheetTrGen
ActivePage = TtabSheetEt
TabOrder = 3
object TabSheetTrGen: TTabSheet
Caption = 'G'#233'n'#233'ral'
@@ -4578,6 +4578,148 @@ object FormConfig: TFormConfig
end
end
end
object TabSheetCompt: TTabSheet
Caption = 'Compteurs'
ImageIndex = 8
object Label75: TLabel
Left = 8
Top = 8
Width = 122
Height = 13
Caption = 'Compteurs de vitesse'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object Label81: TLabel
Left = 320
Top = 24
Width = 263
Height = 13
Caption = 'Personnalisation des couleurs des compteurs de vitesse'
end
object GroupBox17: TGroupBox
Left = 312
Top = 72
Width = 249
Height = 265
Caption = 'Param'#232'tres de couleur'
TabOrder = 0
object Label76: TLabel
Left = 74
Top = 88
Width = 79
Height = 13
Caption = 'Couleur d'#39'aiguille'
end
object Label77: TLabel
Left = 39
Top = 120
Width = 114
Height = 13
Caption = 'Couleur des graduations'
end
object Label78: TLabel
Left = 54
Top = 152
Width = 99
Height = 13
Caption = 'Couleur des num'#233'ros'
end
object Label79: TLabel
Left = 75
Top = 184
Width = 78
Height = 13
Caption = 'Couleur de fond'
end
object Label80: TLabel
Left = 88
Top = 214
Width = 65
Height = 13
Caption = 'Couleur d'#39'arc'
end
object ComboBoxCompt: TComboBox
Left = 48
Top = 28
Width = 145
Height = 21
Style = csDropDownList
ItemHeight = 13
TabOrder = 0
OnChange = ComboBoxComptChange
Items.Strings = (
'Compteur type 1'
'Compteur type 2'
'Compteur tachro')
end
object BoutonCoulAig: TButton
Left = 182
Top = 80
Width = 27
Height = 25
Caption = 'A'
TabOrder = 1
OnClick = BoutonCoulAigClick
end
object ButtonCoulGrad: TButton
Left = 182
Top = 112
Width = 27
Height = 25
Caption = 'G'
Enabled = False
TabOrder = 2
OnClick = ButtonCoulGradClick
end
object ButtonCoulNum: TButton
Left = 182
Top = 144
Width = 27
Height = 25
Caption = 'N'
TabOrder = 3
OnClick = ButtonCoulNumClick
end
object ButtonCoulFond: TButton
Left = 182
Top = 176
Width = 27
Height = 25
Caption = 'F'
Enabled = False
TabOrder = 4
OnClick = ButtonCoulFondClick
end
object ButtonCoulArc: TButton
Left = 182
Top = 208
Width = 27
Height = 25
Caption = 'Arc'
TabOrder = 5
OnClick = ButtonCoulArcClick
end
end
object Panel2: TPanel
Left = 8
Top = 72
Width = 281
Height = 281
Caption = 'Panel2'
TabOrder = 1
object ImageCtC: TImage
Left = 8
Top = 8
Width = 265
Height = 265
end
end
end
object TabSheetPeriph: TTabSheet
Caption = 'P'#233'riph'#233'riques'
ImageIndex = 9
@@ -4894,7 +5036,7 @@ object FormConfig: TFormConfig
Left = 72
Top = 80
Width = 193
Height = 201
Height = 233
Brush.Color = clOlive
end
object ShapeBR: TShape
@@ -5003,13 +5145,6 @@ object FormConfig: TFormConfig
Height = 13
Caption = '-'
end
object Label74: TLabel
Left = 312
Top = 240
Width = 81
Height = 13
Caption = 'Affecter au train :'
end
object LabelId: TLabel
Left = 80
Top = 88
@@ -5025,26 +5160,77 @@ object FormConfig: TFormConfig
ParentColor = False
ParentFont = False
end
object LabeledEditCT: TLabeledEdit
Left = 480
Top = 80
Width = 40
Height = 21
Hint = 'Code ascii envoy'#233' par le bouton'
EditLabel.Width = 76
EditLabel.Height = 13
EditLabel.Caption = 'Code de touche'
EditLabel.Layout = tlBottom
LabelPosition = lpLeft
LabelSpacing = 50
object ShapeB5: TShape
Left = 80
Top = 264
Width = 33
Height = 33
Hint = 'Clic bouton 5'
Brush.Color = clGray
ParentShowHint = False
Shape = stCircle
ShowHint = True
OnMouseDown = ShapeB5MousDown
end
object ShapeB6: TShape
Left = 128
Top = 264
Width = 33
Height = 33
Hint = 'Clic bouton 6'
Brush.Color = clGray
ParentShowHint = False
Shape = stCircle
ShowHint = True
OnMouseDown = ShapeB6MouseDown
end
object ShapeB7: TShape
Left = 176
Top = 264
Width = 33
Height = 33
Hint = 'Clic bouton 7'
Brush.Color = clGray
ParentShowHint = False
Shape = stCircle
ShowHint = True
OnMouseDown = ShapeB7MouseDown
end
object ShapeB8: TShape
Left = 224
Top = 264
Width = 33
Height = 33
Hint = 'Clic bouton 8'
Brush.Color = clGray
ParentShowHint = False
Shape = stCircle
ShowHint = True
OnMouseDown = ShapeB8MouseDown
end
object ButtonHook: TButton
Left = 448
Top = 328
Width = 113
Height = 41
Hint = 'Relance le gestionnaire d'#39'interception du clavier USB'
Caption = 'Relance interception clavier USB'
ParentShowHint = False
ShowHint = True
TabOrder = 0
OnChange = LabeledEditCTChange
WordWrap = True
OnClick = ButtonHookClick
end
object GroupBoxBR: TGroupBox
Left = 312
Top = 176
Width = 260
Height = 121
Caption = 'Bouton rotatif'
TabOrder = 1
object LabeledEditRm: TLabeledEdit
Left = 480
Top = 128
Left = 193
Top = 20
Width = 40
Height = 21
Hint = 'Code ascii envoy'#233' par la rotation anti horaire (-)'
@@ -5056,12 +5242,12 @@ object FormConfig: TFormConfig
LabelSpacing = 50
ParentShowHint = False
ShowHint = True
TabOrder = 1
TabOrder = 0
OnChange = LabeledEditRmChange
end
object LabeledEditRp: TLabeledEdit
Left = 480
Top = 152
Left = 193
Top = 44
Width = 40
Height = 21
Hint = 'Code ascii envoy'#233' par la rotation horaire (+)'
@@ -5073,12 +5259,12 @@ object FormConfig: TFormConfig
LabelSpacing = 50
ParentShowHint = False
ShowHint = True
TabOrder = 2
TabOrder = 1
OnChange = LabeledEditRpChange
end
object LabeledEditClic: TLabeledEdit
Left = 480
Top = 176
Left = 193
Top = 68
Width = 40
Height = 21
Hint = 'Code ascii envoy'#233' par le clic bouton'
@@ -5090,46 +5276,12 @@ object FormConfig: TFormConfig
LabelSpacing = 50
ParentShowHint = False
ShowHint = True
TabOrder = 3
TabOrder = 2
OnChange = LabeledEditClicChange
end
object LabeledEditNUM: TLabeledEdit
Left = 480
Top = 40
Width = 25
Height = 21
Hint = 'Num'#233'ro de contr'#244'leur clavier USB (1 '#224' 10)'
EditLabel.Width = 134
EditLabel.Height = 13
EditLabel.Caption = 'Num'#233'ro de bloc clavier USB'
EditLabel.Layout = tlBottom
LabelPosition = lpLeft
LabelSpacing = 30
ParentShowHint = False
ShowHint = True
TabOrder = 4
OnChange = LabeledEditNUMChange
end
object LabeledEditF: TLabeledEdit
Left = 480
Top = 104
Width = 40
Height = 21
Hint = 'Fonction F associ'#233'e au bouton'
EditLabel.Width = 100
EditLabel.Height = 13
EditLabel.Caption = 'Fonction F '#224' envoyer'
EditLabel.Layout = tlBottom
LabelPosition = lpLeft
LabelSpacing = 50
ParentShowHint = False
ShowHint = True
TabOrder = 5
OnChange = LabeledEditFChange
end
object LabeledEditIncr: TLabeledEdit
Left = 480
Top = 200
Left = 193
Top = 92
Width = 40
Height = 21
Hint = 'Valeur de l'#39'incr'#233'ment sur une rotation'
@@ -5141,22 +5293,37 @@ object FormConfig: TFormConfig
LabelSpacing = 50
ParentShowHint = False
ShowHint = True
TabOrder = 6
TabOrder = 3
OnChange = LabeledEditIncrChange
end
object ComboBoxUSBTr: TComboBox
Left = 416
Top = 240
Width = 153
end
object GroupBoxBt: TGroupBox
Left = 312
Top = 176
Width = 260
Height = 121
Caption = 'Bouton'
TabOrder = 2
object LabeledEditF: TLabeledEdit
Left = 185
Top = 52
Width = 40
Height = 21
Style = csDropDownList
ItemHeight = 0
TabOrder = 7
OnChange = ComboBoxUSBTrChange
Hint = 'Fonction F associ'#233'e au bouton'
EditLabel.Width = 100
EditLabel.Height = 13
EditLabel.Caption = 'Fonction F '#224' envoyer'
EditLabel.Layout = tlBottom
LabelPosition = lpLeft
LabelSpacing = 50
ParentShowHint = False
ShowHint = True
TabOrder = 0
OnChange = LabeledEditFChange
end
object LabeledEditFn: TLabeledEdit
Left = 536
Top = 104
Left = 201
Top = 76
Width = 16
Height = 21
Hint = '0 ou 1'
@@ -5168,9 +5335,69 @@ object FormConfig: TFormConfig
LabelSpacing = 5
ParentShowHint = False
ShowHint = True
TabOrder = 8
TabOrder = 1
OnChange = LabeledEditFnChange
end
object LabeledEditCT: TLabeledEdit
Left = 185
Top = 20
Width = 40
Height = 21
Hint = 'Code ascii envoy'#233' par le bouton'
EditLabel.Width = 76
EditLabel.Height = 13
EditLabel.Caption = 'Code de touche'
EditLabel.Layout = tlBottom
LabelPosition = lpLeft
LabelSpacing = 50
ParentShowHint = False
ShowHint = True
TabOrder = 2
OnChange = LabeledEditCTChange
end
end
object GroupBoxBloc: TGroupBox
Left = 312
Top = 48
Width = 257
Height = 113
Caption = 'G'#233'n'#233'ral'
TabOrder = 3
object Label74: TLabel
Left = 8
Top = 32
Width = 81
Height = 13
Caption = 'Affecter au train :'
end
object ComboBoxUSBTr: TComboBox
Left = 96
Top = 28
Width = 153
Height = 21
Style = csDropDownList
ItemHeight = 13
TabOrder = 0
OnChange = ComboBoxUSBTrChange
end
object LabeledEditNUM: TLabeledEdit
Left = 208
Top = 72
Width = 25
Height = 21
Hint = 'Num'#233'ro de contr'#244'leur clavier USB (1 '#224' 10)'
EditLabel.Width = 134
EditLabel.Height = 13
EditLabel.Caption = 'Num'#233'ro de bloc clavier USB'
EditLabel.Layout = tlBottom
LabelPosition = lpLeft
LabelSpacing = 30
ParentShowHint = False
ShowHint = True
TabOrder = 1
OnChange = LabeledEditNUMChange
end
end
end
end
object TabAvance: TTabSheet
+477 -76
View File
@@ -452,22 +452,47 @@ type
ShapeB2: TShape;
ShapeB3: TShape;
ShapeB4: TShape;
LabeledEditCT: TLabeledEdit;
Label66: TLabel;
LabelCode: TLabel;
Label70: TLabel;
Label72: TLabel;
LabelId: TLabel;
CheckBoxSrvTdcc: TCheckBox;
ButtonHook: TButton;
ShapeB5: TShape;
ShapeB6: TShape;
ShapeB7: TShape;
ShapeB8: TShape;
GroupBoxBR: TGroupBox;
LabeledEditRm: TLabeledEdit;
LabeledEditRp: TLabeledEdit;
LabeledEditClic: TLabeledEdit;
Label66: TLabel;
LabelCode: TLabel;
LabeledEditNUM: TLabeledEdit;
Label70: TLabel;
Label72: TLabel;
LabeledEditF: TLabeledEdit;
LabeledEditIncr: TLabeledEdit;
GroupBoxBt: TGroupBox;
LabeledEditF: TLabeledEdit;
LabeledEditFn: TLabeledEdit;
GroupBoxBloc: TGroupBox;
ComboBoxUSBTr: TComboBox;
Label74: TLabel;
LabelId: TLabel;
LabeledEditFn: TLabeledEdit;
CheckBoxSrvTdcc: TCheckBox;
LabeledEditNUM: TLabeledEdit;
LabeledEditCT: TLabeledEdit;
TabSheetCompt: TTabSheet;
Label75: TLabel;
GroupBox17: TGroupBox;
ComboBoxCompt: TComboBox;
Label76: TLabel;
BoutonCoulAig: TButton;
Label77: TLabel;
ButtonCoulGrad: TButton;
Label78: TLabel;
ButtonCoulNum: TButton;
Label79: TLabel;
ButtonCoulFond: TButton;
Label80: TLabel;
ButtonCoulArc: TButton;
Label81: TLabel;
Panel2: TPanel;
ImageCtC: TImage;
procedure ButtonAppliquerEtFermerClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ListBoxAigMouseDown(Sender: TObject; Button: TMouseButton;
@@ -743,6 +768,21 @@ type
procedure LabeledEditIncrChange(Sender: TObject);
procedure ComboBoxUSBTrChange(Sender: TObject);
procedure LabeledEditFnChange(Sender: TObject);
procedure ButtonHookClick(Sender: TObject);
procedure ShapeB5MousDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ShapeB6MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ShapeB7MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ShapeB8MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure BoutonCoulAigClick(Sender: TObject);
procedure ComboBoxComptChange(Sender: TObject);
procedure ButtonCoulGradClick(Sender: TObject);
procedure ButtonCoulNumClick(Sender: TObject);
procedure ButtonCoulFondClick(Sender: TObject);
procedure ButtonCoulArcClick(Sender: TObject);
private
{ Déclarations privées }
@@ -823,6 +863,7 @@ NomModuleCDM_ch='NomModuleCDM';
Style_ch='Style';
cbAffSig_ch='AffSig';
cbAck_ch='AvecAck';
ModeTache_ch='Asynchrone';
cbRes_ch='AffRes';
Nba_ch='NombreAdresses';
nation_ch='Nation';
@@ -855,7 +896,11 @@ relanceHorl_init_ch='relanceHorl_init';
compteur_ch='compteur';
Affcompteur_ch='AffCompteur';
LargCompteur_ch='LargCompteur';
LargComptC_ch='LargCompteurC';
HautComptC_ch='HautCompteurC';
VerrouCompteur_ch='VerrouCompteur';
AffIconeTrCompteur_ch='AffIconeTrCompteur';
Onglet_ch='Onglet';
// sections de config
section_aig_ch='[section_aig]';
@@ -875,9 +920,12 @@ section_actionneurs_ch='[section_actionneurs]';
section_detecteurs_ch='[section_detecteurs]';
section_logique_ch='[section_logique]';
section_blocs_USB_ch='[section_blocs_USB]';
section_compteurs_ch='[section_compteurs]';
rep_icones='icones';
const sd=' [dévalidé]';
// indice des icones donc des fonctions logiques
FoncVAR=0;
//--------
@@ -904,7 +952,8 @@ NomFonc : array[0..8] of string[25]=(NomVar,NomOpET,NomOpOu,NomOpNonET,NomOpNonO
var
FormConfig: TFormConfig;
AdresseIPCDM,AdresseIP,PortCom,recuCDM,residuCDM,RepConfig,Nom_Style_aff,Ancien_Nom_Style : string;
AdresseIPCDM,AdresseIP,PortCom,recuCDM,residuCDM,RepConfig,Nom_Style_aff,Ancien_Nom_Style,
scouleur : string;
portCDM,TempoOctet,TimoutMaxInterface,Valeur_entete,PortInterface,prot_serie,NumPort,debug,
LigneCliqueePN,AncLigneCliqueePN,clicMemo,Nb_cantons_Sig,protocole,Port,PortServeur,
@@ -914,16 +963,17 @@ var
ligneDCC,decCourant,AffMemoFenetre,ligneClicAccPeriph,AncligneClicAccPeriph,ligneCherche,
compt_Ligne,Ecran_SC,Max_Signal_Sens,nCantonsRes,ligneClicActionneur,BoutonBloc,
TempoTC,Nbuttoirs,AncLigneClicActionneur,AncligneclicDet,ligneclicDet,foncCourante,
NbreFL,IdOperateur,NbreBlocsUSB : integer;
NbreFL,IdOperateur,NbreBlocsUSB,Onglet : integer;
ack_cdm,clicliste,config_modifie,clicproprietesSig,clicproprietesTrains,confasauver,trouve_MaxPort,
modif_branches,ConfigPrete,trouve_section_dccpp,trouve_section_trains,trouve_section_acccomusb,
trouveAvecVerifIconesTCO,Affiche_avert,activ,trouve_section_dec_pers,Z21,AffAigND,
PilotageTrainsCDMNom,LanceHorl,AffSig,AffRes,avecAck,affLoc,changeCom,tsbouton,
PilotageTrainsCDMNom,LanceHorl,AffSig,AffRes,avecAck,affLoc,changeCom,tsbouton,VisuIntercepte,
clicTree : boolean;
paramcomptIm : tparamcompt;
fichier : text;
FbmcompC : tBitmap;
FormatSettings : TFormatSettings;
Liste : array[1..22] of Tliste;
@@ -974,7 +1024,7 @@ function encode_act_pn(i : integer) : string;
function encode_Periph(index : integer) : string;
procedure ajoute_champs_combos(i : integer);
function verif_trains : boolean;
procedure Maj_icone_train(IImage : Timage;index :integer;coulfond : Tcolor);
function Maj_icone_train(IImage : Timage;index :integer;coulfond : Tcolor) : integer;
function evalue_fonction(NumFonc : integer;var formule : string) : boolean;
procedure fabrique_treeview(k : integer);
procedure compile_id_routes;
@@ -2211,10 +2261,18 @@ begin
writeln(fichierN,MaxRoutes_ch+'=',IntToSTR(MaxRoutes));
writeln(fichierN,compteur_ch+'=',IntToSTR(compteur));
writeln(fichierN,LargCompteur_ch+'=',IntToSTR(LargeurCompteurs));
writeln(fichierN,LargComptC_ch+'=',IntToSTR(LargComptC));
writeln(fichierN,HautComptC_ch+'=',IntToSTR(HautComptC));
if VerrouilleCompteur then s:='1' else s:='0';
writeln(fichierN,VerrouCompteur_ch+'=',s);
if AffCompteur then s:='1' else s:='0';
if affTrainCompteur then s:='1' else s:='0';
writeln(fichierN,AffIconeTrCompteur_ch+'=',s);
writeln(fichierN,Onglet_ch+'='+intToSTR(Onglet));
if affCompteur then s:='1' else s:='0';
writeln(fichierN,AffCompteur_ch+'=',s);
// connexion de l'interface en COM/USB
@@ -2306,6 +2364,9 @@ begin
if AvecAck then s:='1' else s:='0';
writeln(fichierN,cbAck_ch+'='+s);
if ModeTache then s:='1' else s:='0';
writeln(fichierN,ModeTache_ch+'='+s);
// avec option retour
if option_demitour then s:='1' else s:='0';
writeln(fichierN,option_demitour_ch+'='+s);
@@ -2569,6 +2630,20 @@ begin
end;
writeln(fichierN,'0');
writeln(fichierN,'/------------');
writeln(fichierN,section_compteurs_ch);
for i:=1 to 3 do
begin
writeln(fichierN,'Compteur'+intToSTR(i));
writeln(fichierN,'Aiguille='+intToHex(ParamCompteur[i].coulAig,6));
writeln(fichierN,'Graduations='+intToHex(ParamCompteur[i].coulGrad,6));
writeln(fichierN,'Numeros='+intToHex(ParamCompteur[i].coulNum,6));
writeln(fichierN,'Fond='+intToHex(ParamCompteur[i].coulFond,6));
writeln(fichierN,'Arc='+intToHex(ParamCompteur[i].coulArc,6));
end;
writeln(fichierN,'0');
closefile(fichierN);
end;
@@ -3708,10 +3783,10 @@ const LessThanValue=-1;
Tablo_Action[maxtablo_act].tabloOP[1].numoperation:=0;
for k:=1 to n do
begin
delete(s,1,1);
delete(s,1,1); // supprime A de action
val(s,j,erreur); delete(s,1,erreur);
// numéro de l'opération
if (j<0) or (j>NbreOperations) then
if (j<1) or (j>NbreOperations) then
begin
Affiche('Action '+intToSTR(maxtablo_act)+' dans opération n°'+intToSTR(k)+' : op inconnue :'+intToSTR(j),clred);
end;
@@ -3728,7 +3803,7 @@ const LessThanValue=-1;
case j of
ActionAffTCO :
begin
Val(s,i,erreur);
Val(s,i,erreur);delete(s,1,erreur);
Tablo_Action[maxtablo_act].tabloOp[k].NumTCO:=i;
end;
ActionAffSC : begin end;
@@ -4630,6 +4705,7 @@ const LessThanValue=-1;
trains[i].canton:=0;
trains[i].x:=-999999;
trains[i].y:=-999999;
trains[i].BlocUSB:=0;
calcul_equations_coeff(i);
end;
if ntrains>1 then
@@ -4853,7 +4929,7 @@ const LessThanValue=-1;
end;
procedure compile_blocsUSB;
var n : integer;
var n,id,i : integer;
ss : string;
begin
n:=0;
@@ -4864,11 +4940,13 @@ const LessThanValue=-1;
s:=sOrigine;
delete(s,1,1);
val(s,i,erreur); // i=numéro de bloc usb de 1 à 10
if i>10 then i:=10;
delete(s,1,erreur);
j:=pos(',',s);
ss:=copy(s,1,j-1);
blocUSB[i].AffTrain:=ss;delete(s,1,j);
id:=index_train_nom(ss);
trains[id].BlocUSB:=i;
delete(s,1,2); // supprime BR
val(s,j,erreur);delete(s,1,erreur);
@@ -4965,6 +5043,50 @@ const LessThanValue=-1;
until (sOrigine='0') or (s='') or (n>=10);
end;
procedure compile_compteurs;
var n,id,i : integer;
ss : string;
begin
n:=1;
repeat
lit_ligne;
if s<>'0' then
begin
lit_ligne;
i:=pos('=',s);
delete(s,1,i);
val('$'+s,j,erreur);
ParamCompteur[n].coulAig:=j;
lit_ligne;
i:=pos('=',s);
delete(s,1,i);
val('$'+s,j,erreur);
ParamCompteur[n].coulGrad:=j;
lit_ligne;
i:=pos('=',s);
delete(s,1,i);
val('$'+s,j,erreur);
ParamCompteur[n].CoulNum:=j;
lit_ligne;
i:=pos('=',s);
delete(s,1,i);
val('$'+s,j,erreur);
ParamCompteur[n].coulFond:=j;
lit_ligne;
i:=pos('=',s);
delete(s,1,i);
val('$'+s,j,erreur);
ParamCompteur[n].coulArc:=j;
end;
inc(n);
until (sOrigine='0') or (s='') or (n>=10);
end;
procedure compile_horloge;
begin
repeat
@@ -5537,6 +5659,15 @@ const LessThanValue=-1;
AvecAck:=s='1';
end;
sa:=uppercase(ModeTache_ch)+'=';
i:=pos(sa,s);
if i=1 then
begin
inc(nv);
delete(s,i,length(sa));
ModeTache:=s='1';
end;
sa:=uppercase(option_demitour_ch)+'=';
i:=pos(sa,s);
if i=1 then
@@ -5575,6 +5706,24 @@ const LessThanValue=-1;
val(s,LargeurCompteurs,erreur);
end;
sa:=uppercase(LargComptC_ch)+'=';
i:=pos(sa,s);
if i=1 then
begin
inc(nv);
delete(s,i,length(sa));
val(s,LargComptC,erreur);
end;
sa:=uppercase(HautComptC_ch)+'=';
i:=pos(sa,s);
if i=1 then
begin
inc(nv);
delete(s,i,length(sa));
val(s,HautComptC,erreur);
end;
sa:=uppercase(AffCompteur_ch)+'=';
i:=pos(sa,s);
if i=1 then
@@ -5595,6 +5744,25 @@ const LessThanValue=-1;
VerrouilleCompteur:=i=1;
end;
sa:=uppercase(AffIconeTrCompteur_ch)+'=';
i:=pos(sa,s);
if i=1 then
begin
inc(nv);
delete(s,i,length(sa));
val(s,i,erreur);
AffTrainCompteur:=i=1;
end;
sa:=uppercase(Onglet_ch)+'=';
i:=pos(sa,s);
if i=1 then
begin
inc(nv);
delete(s,i,length(sa));
val(s,i,erreur);
Onglet:=i;
end;
sa:=uppercase(MaxParcours_ch)+'=';
i:=pos(sa,s);
@@ -5981,6 +6149,13 @@ const LessThanValue=-1;
compile_blocsUSB;
end;
sa:=uppercase(section_compteurs_ch);
if pos(sa,s)<>0 then
begin
compile_compteurs;
end;
inc(it);
until (eof(fichier));
@@ -6122,6 +6297,11 @@ begin
lit_flux;
close(fichier);
if modeTache then
begin
avecAckCDM:=false;
avecAck:=false;
end;
configNulle:=(maxAiguillage=0) and (NbreBranches=0) and (NbreSignaux=0);
if configNulle then Affiche('Fonctionnement en config nulle',ClYellow);
@@ -7115,6 +7295,7 @@ var i,j,x,y,l,k,LongestLength,PixelLength : integer;
cs,s,LongestString : string;
tp : tpersistent;
trouve : boolean;
param : TparamCompt;
p: pointer;
begin
if AffEvt or (debug=1) then Affiche('Création fenêtre config',clLime);
@@ -7285,16 +7466,43 @@ begin
textePL1:='Par nom du train';
textePL2:='Par adresse du train';
end;
with Liste[16] do begin
with Liste[16] do
begin
nom:='16. Visualisation d''interception clavier';
aide:='Visualisation du caractère d''interception clavier des blocs USB';
typ:=PickList ;
masque:='';
variable:=@VisuIntercepte;
typeVar:=bool;
textePL1:='Validé';
textePL2:='Inhibé';
end;
with Liste[17] do
begin
nom:='17. Pilotage des accessoires';
aide:='Pilotage des accessoires en mode asynchrone (conseillé) ou synchrone'+#13+
' Async=pas de blocage de la tâche principale'+#13+
' Sync=blocage temporaire de la tâche principale';
typ:=PickList ;
masque:='';
variable:=@ModeTache;
typeVar:=bool;
textePL1:='Asynchrone (temps partagé)';
textePL2:='Synchrone (temps séquentiel)';
end;
with Liste[18] do begin
nom:=' Affichages de la fenêtre principale';
aide:='Affichages de la fenêtre principale';
masque:='';
variable:=nil;
typeVar:=rien3;
end;
with Liste[17] do
with Liste[19] do
begin
nom:='17. Evènements signaux';
nom:='19. Evènements signaux';
aide:='Affiche l''état des signaux lors de leur changement';
typ:=PickList;
masque:= '';
@@ -7304,9 +7512,9 @@ begin
textePL2:='Non';
end;
with Liste[18] do
with Liste[20] do
begin
nom:='18. Réservation/libération des cantons';
nom:='20. Réservation/libération des cantons';
aide:='Affiche les réservations/libération des cantons lors du roulage des trains';
typ:=PickList ;
masque:='';
@@ -7315,9 +7523,9 @@ begin
textePL1:='Oui';
textePL2:='Non';
end;
with Liste[19] do
with Liste[21] do
begin
nom:='19. Debug roulage';
nom:='21. Debug roulage';
aide:='Affiche des messages en mode roulage des trains en mode autonome';
typ:=PickList ;
masque:='';
@@ -7326,9 +7534,9 @@ begin
textePL1:='Oui';
textePL2:='Non';
end;
with Liste[20] do
with Liste[22] do
begin
nom:='20. Localisation trains';
nom:='22. Localisation trains';
aide := 'Affiche des messages de localisation des trains' ;
typ:=PickList ;
masque:= ''; //20
@@ -7347,10 +7555,10 @@ begin
TitleCaptions[0]:='Désignation';
TitleCaptions[1]:='Valeur';
ColWidths[0]:=450;
ColWidths[0]:=420;
// création des lignes de la liste
for i:=1 to 20 do
for i:=1 to 22 do
begin
p:=liste[i].variable;
if liste[i].typeVar=entier then
@@ -7369,7 +7577,6 @@ begin
if liste[i].typeVar=chaine then values[liste[i].Nom]:=string(p^);
if liste[i].typeVar=rien3 then values[liste[i].Nom]:=''; // titre et sans valeur
end;
end;
ButtonVoir.Visible:=not(diffusion);
@@ -7512,7 +7719,6 @@ begin
LabelD12.Left:=730;
{$ENDIF}
// création des champs dynamiques de l'onglet décodeurs personnalisés
for i:=1 to 10 do
begin
@@ -8289,6 +8495,12 @@ begin
'Le nombre de crans à 128 est validé par la mise à 1 du bit 1 du CV29 du décodeur';
LabeledEditCrans.ShowHint:=true;
// compteurs
ComboBoxCompt.ItemIndex:=0;
FbmcompC:=Tbitmap.create;
init_compteur(1,ImageCtC);
// actionneurs
with ListBoxActionneurs do
begin
@@ -8383,6 +8595,24 @@ begin
label72.caption:='La rotation de bouton changera la vitesse du train. L''appui sur le bouton stoppe le train.'+#13+
'Les évènements clavier sont interceptés par signaux complexes ce qui ne nécessite pas d''activer la fenêtre';
with GroupBoxBr do
begin
Left:=312;
top:=170;
Width:=260;
Height:=140;
visible:=true;
end;
with GroupBoxBT do
begin
Left:=312;
top:=170;
Width:=260;
Height:=120;
Visible:=false;
end;
PageControl.ActivePage:=Formconfig.TabSheetCDM; // force le premier onglet sur la page
couleurs_config;
formconfig.LabelInfo.Caption:='';
@@ -13501,6 +13731,11 @@ begin
if not(ok) then action:=tCloseAction(caNone); // si la config est nok, on ferme pas la fenetre
for index:=1 to ntrains do
begin
init_compteur(index,CompteurT[index].gb);
end;
init_compteur(1,FormCompteur[1]);
end;
procedure TFormConfig.ButtonConfigSRClick(Sender: TObject);
@@ -13843,13 +14078,15 @@ end;
// affiche l'icone du train index dans le canvas
// Iimage: destination ; index: index du train
procedure Maj_icone_train(IImage : Timage;index :integer;coulfond : Tcolor);
// en sortie : largeur de l'image générée
function Maj_icone_train(IImage : Timage;index :integer;coulfond : Tcolor) : integer;
var h,l,HautDest,LargDest,y : integer;
rd : single;
begin
if (index<1) or (index>Ntrains) then
begin
//Iimage.Picture:=nil;
result:=0;
exit;
end
else
@@ -13858,7 +14095,11 @@ begin
// source
l:=Trains[index].Icone.width;
h:=Trains[index].Icone.Height;
if h=0 then exit;
if h=0 then
begin
result:=0;
exit;
end;
rd:=l/h;
//Affiche(FloatToSTR(rd),clred);
@@ -13880,12 +14121,13 @@ begin
brush.Color:=coulfond;
pen.Color:=clwhite;
Rectangle(0,0,Iimage.Width,Iimage.Height);
end;
TransparentBlt(Iimage.canvas.Handle,0,y,largDest,hautDest,
Trains[index].Icone.canvas.Handle,0,0,l,h,clWhite);
end;
Iimage.Repaint;
Iimage.refresh;
result:=largdest;
end;
@@ -14039,6 +14281,8 @@ begin
cree_image_Train(ntrains);
// ajoute le compteur
cree_GB_compteur(ntrains);
end;
procedure TFormConfig.ButtonNTClick(Sender: TObject);
@@ -14104,7 +14348,14 @@ begin
image_train[j].free;
labeltrain[j].free;
LabelVitesse[j].free;
//Formprinc.ScrollBoxTrains.Repaint;
// onglet compteurs
compteurt[j].Img.Free;
compteurt[j].tb.Free;
compteurt[j].lbl.Free;
compteurt[j].bouton.Free;
compteurT[j].gb.free;
compteurt[j].FcBitmap.Free;
end;
if j<ntrains then
begin
@@ -14115,7 +14366,8 @@ begin
labeltrain[j]:=labeltrain[j+1];
LabelVitesse[j]:=LabelVitesse[j+1];
renseigne_comp_trains(j);
//Formprinc.ScrollBoxTrains.Repaint;
// onglet compteurs
compteurT[j]:=compteurt[j+1];
end;
end;
dec(ntrains);
@@ -14398,7 +14650,6 @@ begin
s:=lowercase(te.Name);
sb:=te.Text;
if pos('editdecalt',s)<>0 then
begin
if deccourant<1 then exit;
@@ -15654,6 +15905,7 @@ end;
procedure TFormConfig.ButtonCouleurClick(Sender: TObject);
begin
scouleur:='Couleur de fond de Signaux_complexes';
if colorDialogFond.execute then
begin
Couleurfond:=colorDialogFond.Color;
@@ -15662,10 +15914,8 @@ begin
end;
procedure TFormConfig.ColorDialogFondShow(Sender: TObject);
var s : string;
begin
s:='Couleur de fond de Signaux_complexes';
SetWindowText(ColorDialogFond.Handle,pchar(s));
SetWindowText(ColorDialogFond.Handle,pchar(scouleur));
end;
procedure TFormConfig.ButtonPropageClick(Sender: TObject);
@@ -16146,7 +16396,7 @@ begin
begin
j:=Tablo_Action[ligneclicAct+1].tabloOp[i].numoperation;
s:=operations[j].nom;
if not(Tablo_Action[ligneclicact+1].tabloOp[i].valide) then s:=s+' [dévalidé]';
if not(Tablo_Action[ligneclicact+1].tabloOp[i].valide) then s:=s+sd;
if j<1 then
items.Add(Format('%d%s', [0, 'aucune opération']))
@@ -16273,7 +16523,7 @@ end;
procedure TFormConfig.ListBoxOperationsDblClick(Sender: TObject);
var s : string;
op,i : integer;
const sd=' [dévalidé]';
begin
if (clicAction<0) or (ligneclicAct<0) or clicliste then exit;
Tablo_Action[ligneclicAct+1].tabloOp[clicaction+1].valide:=not(Tablo_Action[ligneclicAct+1].tabloOp[clicaction+1].valide);
@@ -18453,20 +18703,28 @@ begin
15 : begin
boolean(p^):=s=lowercase(liste[Arow].textePL1); // PilotageTrainsCDMNom
end;
16 : begin
boolean(p^):=s=lowercase(liste[Arow].textePL1); // VisuIntercepte
end;
17 : begin
//AffSig:=s=lowercase(oui);
boolean(p^):=s=lowercase(liste[Arow].textePL1);
boolean(p^):=s=lowercase(liste[Arow].textePL1); // modetache
if modeTache then
begin
avecAckCDM:=false;
avecAck:=false;
end;
18 : begin
//AffRes:=s=lowercase(oui);
boolean(p^):=s=lowercase(liste[Arow].textePL1);
end;
19 : begin
//DebugRoulage:=s=lowercase(oui);
boolean(p^):=s=lowercase(liste[Arow].textePL1);
end;
20 : begin
//AffLoc:=s=lowercase(oui);
boolean(p^):=s=lowercase(liste[Arow].textePL1);
end;
21 : begin
boolean(p^):=s=lowercase(liste[Arow].textePL1);
end;
22 : begin
boolean(p^):=s=lowercase(liste[Arow].textePL1);
end;
@@ -18480,7 +18738,7 @@ begin
Inc(Rect.Left,2);
Inc(Rect.Top,2);
//DrawText(Canvas.Handle,PChar(Cells[ACol, ARow]),-1,Rect,DT_NOPREFIX or DT_WORDBREAK);
if (Arow=16) or (aRow=0) then Canvas.Font.Style:=[fsBold] else Canvas.Font.Style:=[];
if (Arow=18) or (aRow=0) then Canvas.Font.Style:=[fsBold] else Canvas.Font.Style:=[];
{$IF CompilerVersion >= 28.0}
canvas.TextOut(Rect.left+2,Rect.Top,Cells[ACol, ARow] );
{$ELSE}
@@ -18566,6 +18824,8 @@ procedure TFormConfig.ButtonlCV3Click(Sender: TObject);
var valeur : integer;
begin
if (ligneclicTrain<0) or (ligneclicTrain>=ntrains) or (ntrains<1) then exit;
if portCommOuvert or parSocketLenz then
begin
valeur:=lire_cv(3);
if valeur=-1 then
begin
@@ -18582,12 +18842,15 @@ begin
trains[ligneclicTrain+1].cv3:=valeur;
LabeledEditCV3.Text:=IntToSTR(valeur);
clicListe:=false;
end;
end;
procedure TFormConfig.ButtonlCV4Click(Sender: TObject);
var valeur : integer;
begin
if (ligneclicTrain<0) or (ligneclicTrain>=ntrains) or (ntrains<1) then exit;
if portCommOuvert or parSocketLenz then
begin
valeur:=lire_cv(4);
if valeur=-1 then
begin
@@ -18604,11 +18867,12 @@ begin
trains[ligneclicTrain+1].cv4:=valeur;
LabeledEditCV4.Text:=IntToSTR(valeur);
clicListe:=false;
end;
end;
procedure TFormConfig.ButtonRepriseDCCClick(Sender: TObject);
begin
reprise_dcc;
if portCommOuvert or parSocketLenz then reprise_dcc;
end;
procedure boutons;
@@ -18620,13 +18884,12 @@ begin
shapeB2.Brush.Color:=clGray;
shapeB3.Brush.Color:=clGray;
shapeB4.Brush.Color:=clGray;
LabeledEditCT.visible:=true;
LabeledEditRm.visible:=false;
LabeledEditRp.visible:=false;
LabeledEditClic.Visible:=false;
LabeledEditF.Visible:=true;
LabeledEditFn.Visible:=true;
LabeledEditIncr.Visible:=false;
shapeB5.Brush.Color:=clGray;
shapeB6.Brush.Color:=clGray;
shapeB7.Brush.Color:=clGray;
shapeB8.Brush.Color:=clGray;
GroupBoxBt.visible:=true;
GroupBoxBr.visible:=false;
end;
end;
@@ -18639,13 +18902,12 @@ begin
shapeB2.Brush.Color:=clGray;
shapeB3.Brush.Color:=clGray;
shapeB4.Brush.Color:=clGray;
LabeledEditCT.visible:=false;
LabeledEditF.Visible:=false;
LabeledEditFn.Visible:=false;
LabeledEditRm.visible:=true;
LabeledEditRp.visible:=true;
LabeledEditClic.Visible:=true;
LabeledEditIncr.Visible:=true;
shapeB5.Brush.Color:=clGray;
shapeB6.Brush.Color:=clGray;
shapeB7.Brush.Color:=clGray;
shapeB8.Brush.Color:=clGray;
GroupBoxBR.visible:=true;
GroupBoxBT.Visible:=false;
end;
end;
@@ -18718,6 +18980,50 @@ begin
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp4);
end;
procedure TFormConfig.ShapeB5MousDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
boutons;
ShapeB5.Brush.Color:=clYellow;
BoutonBloc:=5;
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp5);
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp5);
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp5);
end;
procedure TFormConfig.ShapeB6MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
boutons;
ShapeB6.Brush.Color:=clYellow;
BoutonBloc:=6;
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp6);
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp6);
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp6);
end;
procedure TFormConfig.ShapeB7MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
boutons;
ShapeB7.Brush.Color:=clYellow;
BoutonBloc:=7;
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp7);
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp7);
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp7);
end;
procedure TFormConfig.ShapeB8MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
boutons;
ShapeB8.Brush.Color:=clYellow;
BoutonBloc:=8;
LabeledEditCT.Text:=intToSTR(blocUSB[NumBlocUSB].Bp8);
LabeledEditF.Text:=intToSTR(blocUSB[NumBlocUSB].Fbp8);
LabeledEditFn.Text:=intToSTR(blocUSB[NumBlocUSB].Fnp8);
end;
procedure TFormConfig.LabeledEditCTChange(Sender: TObject);
var i,erreur : integer;
begin
@@ -18814,10 +19120,10 @@ begin
end;
procedure TFormConfig.ComboBoxUSBTrChange(Sender: TObject);
var i,j : integer;
var idTrain,j,i : integer;
s,sb : string;
begin
i:=ComboBoxUSBTr.ItemIndex;
idTrain:=ComboBoxUSBTr.ItemIndex;
sb:='Bloc USB '+intToSTR(NumBlocUSB);
for j:=1 to ntrains do
@@ -18825,19 +19131,27 @@ begin
if labelBlocUSB[j].Caption=sb then labelBlocUSB[j].Caption:=''; // libère l'affectation
end;
if i=0 then
if idTrain=0 then
begin
blocUSB[NumBlocUSB].AffTrain:='Pas d''affectation';
Label72.Caption:='La sélection du train est celle de la page principale';
LabelBlocUSB[i].caption:='';
LabelBlocUSB[idTrain].caption:='';
end
else
begin
s:=trains[i].nom_train;
s:=trains[idTrain].nom_train;
blocUSB[NumBlocUSB].AffTrain:=s;
Label72.Caption:=trains[i].nom_train+' sélectionné pour le bloc USB '+intToSTR(NumBlocUSB);
LabelBlocUSB[i].caption:=sb;
Label72.Caption:=trains[idTrain].nom_train+' sélectionné pour le bloc USB '+intToSTR(NumBlocUSB);
LabelBlocUSB[idTrain].caption:=sb;
end;
// désaffecte tous les trains qui ont ce numéro de bloc USB
for i:=1 to nTrains do
begin
if trains[i].BlocUSB=NumBlocUSB then trains[i].BlocUSB:=0;
end;
// et réaffecte
trains[idTrain].BlocUSB:=NumBlocUSB;
end;
procedure TFormConfig.LabeledEditFnChange(Sender: TObject);
@@ -18859,6 +19173,93 @@ begin
end;
end;
procedure TFormConfig.ButtonHookClick(Sender: TObject);
begin
UnHookWindowsHookEx(KBHook); // supprimer le hook clavier
KBHook:=SetWindowsHookExA(WH_KEYBOARD_LL,@ClavierHookLLProc,HInstance,0); // accrocher le hook
Affiche('Gestionnaire d''interception des claviers USB relancé',clWhite);
end;
procedure TFormConfig.BoutonCoulAigClick(Sender: TObject);
var i : integer;
begin
scouleur:='Couleur de l''aiguille';
if colorDialogFond.execute then
begin
i:=ComboboxCompt.ItemIndex+1;
ParamCompteur[i].coulAig:=colorDialogFond.Color;
aiguille_compteur(1,1,ImageCTC);
end;
end;
procedure TFormConfig.ComboBoxComptChange(Sender: TObject);
var i : integer;
begin
i:=comboboxCompt.ItemIndex+1;
if i=1 then
begin
buttonCoulGrad.enabled:=false;
buttonCoulFond.enabled:=false;
end
else
begin
buttonCoulGrad.enabled:=true;
buttonCoulFond.enabled:=true;
end;
init_compteur(1,ImageCtC);
end;
procedure TFormConfig.ButtonCoulGradClick(Sender: TObject);
var i : integer;
begin
scouleur:='Couleur des graduations';
if colorDialogFond.execute then
begin
i:=ComboboxCompt.ItemIndex+1;
ParamCompteur[i].coulGrad:=colorDialogFond.Color;
init_compteur(1,formConfig.ImageCtC);
aiguille_compteur(1,1,ImageCTC);
end;
end;
procedure TFormConfig.ButtonCoulNumClick(Sender: TObject);
var i : integer;
begin
scouleur:='Couleur des chiffres';
if colorDialogFond.execute then
begin
i:=ComboboxCompt.ItemIndex+1;
ParamCompteur[i].CoulNum:=colorDialogFond.Color;
init_compteur(1,formConfig.ImageCtC);
aiguille_compteur(1,1,ImageCTC);
end;
end;
procedure TFormConfig.ButtonCoulFondClick(Sender: TObject);
var i : integer;
begin
scouleur:='Couleur de fond';
if colorDialogFond.execute then
begin
i:=ComboboxCompt.ItemIndex+1;
ParamCompteur[i].coulFond:=colorDialogFond.Color;
init_compteur(1,formConfig.ImageCtC);
aiguille_compteur(1,1,ImageCTC);
end;
end;
procedure TFormConfig.ButtonCoulArcClick(Sender: TObject);
var i : integer;
begin
scouleur:='Couleur d''arc';
if colorDialogFond.execute then
begin
i:=ComboboxCompt.ItemIndex+1;
ParamCompteur[i].coulArc:=colorDialogFond.Color;
aiguille_compteur(1,1,ImageCTC);
end;
end;
end.
+3 -2
View File
@@ -662,7 +662,7 @@ object FormConfCellTCO: TFormConfCellTCO
object ImageListIcones: TImageList
Left = 160
Bitmap = {
494C010122002700040010001000FFFFFFFFFF00FFFFFFFFFFFFFFFF424D3600
494C010122002700040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
000000000000360000002800000040000000A0000000010020000000000000A0
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -1986,6 +1986,7 @@ object FormConfCellTCO: TFormConfCellTCO
000000000000F56F000000000000F56F000000000000F54F000000000000FB6F
000000000000FFFF000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000}
0000000000000000000000000000000000000000000000000000000000000000
000000000000}
end
end
+1 -1
View File
@@ -473,7 +473,7 @@ begin
if (erreur<>0) or (adr<1) then exit;
ancdebug:=NivDebug;
NivDebug:=3;
if PresTrainPrec(Adr,Nb_cantons_Sig,true,adrtrain,voie) then AfficheDebug('Présence train @='+intToSTR(AdrTrain),clYellow) else
if PresTrainPrec(Adr,Nb_cantons_Sig,FALSE,adrtrain,voie) then AfficheDebug('Présence train @='+intToSTR(AdrTrain),clYellow) else
AfficheDebug('Absence train',clyellow);
NivDebug:=AncDebug;
end;
+2 -2
View File
@@ -516,7 +516,7 @@ object FormModifAction: TFormModifAction
Top = 32
Width = 217
Height = 21
ItemHeight = 0
ItemHeight = 13
TabOrder = 0
OnChange = ComboBoxFamilleChange
end
@@ -720,7 +720,7 @@ object FormModifAction: TFormModifAction
Height = 21
Hint = 'Nom du p'#233'riph'#233'rique d'#233'fini dans l'#39'onglet "p'#233'riph'#233'riques COM/USB"'
Style = csDropDownList
ItemHeight = 0
ItemHeight = 13
ParentShowHint = False
ShowHint = True
TabOrder = 4
+25 -5
View File
@@ -219,13 +219,18 @@ begin
end;
// ajoute à la listbox t une ligne avec son icone opérations[]
// i numéro d'opération
procedure affecte_operation(i : integer;t : tListBox);
var s : string;
begin
if i<ActionBoutonTCO then t.Items.Add(Format('%d%s', [i-1, operations[i].nom])); // valeur d'index de l'icone dans la ImagelistIcones
if i=ActionBoutonTCO then t.Items.Add(Format('%d%s', [IconeBouton, operations[i].nom])); // valeur d'index de l'icone dans la ImagelistIcones
if i=ActionAffecteMemoire then t.Items.Add(Format('%d%s', [IconeActionAffecteMemoire, operations[i].nom])); // valeur d'index de l'icone dans la ImagelistIcones
if i=ActionIncMemoire then t.Items.Add(Format('%d%s', [IconeActionIncMemoire, operations[i].nom])); // valeur d'index de l'icone dans la ImagelistIcones
if i=ActionDecMemoire then t.Items.Add(Format('%d%s', [IconeActionDecMemoire, operations[i].nom])); // valeur d'index de l'icone dans la ImagelistIcones
if ligneclicAct<0 then exit;
s:=operations[i].nom;
if not(Tablo_Action[ligneclicact+1].tabloOp[i].valide) then s:=s+sd;
if i<ActionBoutonTCO then t.Items.Add(Format('%d%s', [i-1, s])); // valeur d'index de l'icone dans la ImagelistIcones
if i=ActionBoutonTCO then t.Items.Add(Format('%d%s', [IconeBouton, s])); // valeur d'index de l'icone dans la ImagelistIcones
if i=ActionAffecteMemoire then t.Items.Add(Format('%d%s', [IconeActionAffecteMemoire, s])); // valeur d'index de l'icone dans la ImagelistIcones
if i=ActionIncMemoire then t.Items.Add(Format('%d%s', [IconeActionIncMemoire, s])); // valeur d'index de l'icone dans la ImagelistIcones
if i=ActionDecMemoire then t.Items.Add(Format('%d%s', [IconeActionDecMemoire, s])); // valeur d'index de l'icone dans la ImagelistIcones
end;
procedure TFormModifAction.FormCreate(Sender: TObject);
@@ -966,6 +971,7 @@ begin
begin
LabelAdresse.Visible:=true; // numéro de fonction
LabelAdresse.caption:='Code de touche';
EditAdr.Hint:='Code de touche';
ButtonFonction.Visible:=false;
EditAdr.Text:=IntToSTR(tablo_action[index].adresse);
EditAdr.Visible:=true;
@@ -1516,9 +1522,23 @@ begin
end;
procedure TFormModifAction.ListBoxOperationsDblClick(Sender: TObject);
var s : string;
i : integer;
begin
if (clicAction<0) or (ligneclicAct<0) or clicliste then exit;
Tablo_Action[ligneclicAct+1].tabloOp[clicaction+1].valide:=not(Tablo_Action[ligneclicAct+1].tabloOp[clicaction+1].valide);
// op:=Tablo_Action[ligneclicact+1].tabloOp[clicaction+1].numoperation;
s:=ListBoxOperations.Items[clicaction];
i:=pos(sd,s);
if i<>0 then delete(s,i,length(sd));
if not(Tablo_Action[ligneclicact+1].tabloOp[clicaction+1].valide) then s:=s+sd;
listBoxOperations.Items[clicaction]:=s;
formconfig.ListBoxOperations.items[clicaction]:=s; //encode_actions(ligneclicAct+1);
maj_combocactions(ligneclicAct);
end;
+448 -8510
View File
File diff suppressed because it is too large Load Diff
+1109 -463
View File
File diff suppressed because it is too large Load Diff
+15 -4
View File
@@ -1,6 +1,6 @@
object FormRoute: TFormRoute
Left = 201
Top = 182
Left = 338
Top = 290
BorderStyle = bsDialog
Caption = 'Route'
ClientHeight = 298
@@ -61,8 +61,10 @@ object FormRoute: TFormRoute
ItemHeight = 13
ParentFont = False
ParentShowHint = False
PopupMenu = PopupMenuR
ShowHint = True
TabOrder = 0
OnDblClick = ListBoxRoutesDblClick
OnDrawItem = ListBoxRoutesDrawItem
OnKeyDown = ListBoxRoutesKeyDown
OnMouseDown = ListBoxRoutesMouseDown
@@ -118,13 +120,13 @@ object FormRoute: TFormRoute
OnClick = ButtonRAZClick
end
object ButtonFenPil: TButton
Left = 232
Left = 224
Top = 258
Width = 83
Height = 33
Hint = 'Ouvre la fen'#234'tre de pilotage des trains'
Anchors = [akLeft, akBottom]
Caption = 'Fen'#234'tre de pilotage'
Caption = 'Choisir cette route'
ParentShowHint = False
ShowHint = True
TabOrder = 5
@@ -234,4 +236,13 @@ object FormRoute: TFormRoute
Caption = 'Debug'
TabOrder = 11
end
object PopupMenuR: TPopupMenu
OnPopup = PopupMenuRPopup
Left = 344
Top = 8
object Choisircetteroute1: TMenuItem
Caption = 'Choisir cette route'
OnClick = Choisircetteroute1Click
end
end
end
+42 -4
View File
@@ -6,7 +6,7 @@ interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ShellCtrls, StdCtrls, ExtCtrls , UnitPrinc;
Dialogs, ComCtrls, ShellCtrls, StdCtrls, ExtCtrls , UnitPrinc, Menus;
type
TFormRoute = class(TForm)
@@ -29,6 +29,8 @@ type
ButtonTrouver: TButton;
CheckBoxRoutesLongues: TCheckBox;
CheckBoxDebugRoutes: TCheckBox;
PopupMenuR: TPopupMenu;
Choisircetteroute1: TMenuItem;
procedure FormActivate(Sender: TObject);
procedure ListBoxRoutesMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
@@ -49,6 +51,9 @@ type
procedure ListBoxRoutesDrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
procedure CheckBoxRoutesLonguesClick(Sender: TObject);
procedure Choisircetteroute1Click(Sender: TObject);
procedure ListBoxRoutesDblClick(Sender: TObject);
procedure PopupMenuRPopup(Sender: TObject);
private
{ Déclarations privées }
public
@@ -330,7 +335,13 @@ begin
formRoute.ButtonDetail.caption:='Détail route ';
formRoute.ButtonEfface.caption:='Efface route ';
if idcantonRoute<>0 then formRoute.ListBoxRoutes.Hint:='Sélectionne une route pour l''affecter au train '+canton[idcantonRoute].NomTrain;
if idcantonRoute<>0 then
begin
formRoute.ListBoxRoutes.Hint:='Sélectionne une route pour l''affecter au train '+canton[idcantonRoute].NomTrain+' par '+#13+
'double clic ou'+#13+
'clic droit "choisir cette route" ou'+#13+
'bouton "choisir cette route"';
end;
IdCantonClic:=Idcantonroute;
IdTrainCourant:=canton[idcantonRoute].indexTrain;
@@ -525,6 +536,8 @@ begin
begin
trains[idt].route[0].adresse:=0;
end;
canton[i].numcantonorg:=0;
canton[i].numcantonDest:=0;
end;
i:=index_canton_numero(cantonDest);
@@ -532,6 +545,9 @@ begin
begin
canton[i].bouton:=0;
dessin_canton(i,0); // remet le bouton jaune du canton dest
canton[i].numcantonorg:=0;
canton[i].numcantonDest:=0;
end;
// efface icone train
@@ -589,6 +605,7 @@ begin
EditObligeCanton.Hint:='Numéro de cantons séparés par des virgules (10 maxi)'+#13+'Laisser vide pour aucune obligation';
EditInterditCanton.Hint:='Numéro de cantons séparés par des virgules (10 maxi)'+#13+'Laisser vide pour aucune interdiction';
ListBoxRoutes.Style:=lbOwnerDrawFixed; //pour déclencher l'evt on drawitem
// fenêtre toujours devant
SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NoMove or SWP_NoSize);
@@ -615,7 +632,7 @@ begin
efface_route_tco(false);
end;
procedure TFormRoute.ButtonFenPilClick(Sender: TObject);
procedure choisir_cette_route;
begin
if idcantonRoute<1 then exit;
indexTrainFR:=canton[idcantonRoute].indexTrain;
@@ -624,7 +641,12 @@ begin
TabSheetRA.Enabled:=true;
show;
end;
close;
formroute.close;
end;
procedure TFormRoute.ButtonFenPilClick(Sender: TObject);
begin
choisir_cette_route;
end;
procedure TFormRoute.ButtonParcours(Sender: TObject);
@@ -768,4 +790,20 @@ begin
Maj_fenetre;
end;
procedure TFormRoute.Choisircetteroute1Click(Sender: TObject);
begin
choisir_cette_route;
end;
procedure TFormRoute.ListBoxRoutesDblClick(Sender: TObject);
begin
choisir_cette_route;
end;
procedure TFormRoute.PopupMenuRPopup(Sender: TObject);
begin
if IndexLigneRoute<0 then choisirCetteRoute1.Caption:='Pas de route'
else choisirCetteRoute1.Caption:='Choisir cette route';
end;
end.
+1 -1
View File
@@ -53,7 +53,7 @@ object FormRouteTrain: TFormRouteTrain
Top = 8
Width = 585
Height = 177
ActivePage = TabSheetRM
ActivePage = TabSheetRA
TabOrder = 1
object TabSheetRA: TTabSheet
Caption = 'Route affect'#233'e'
+1 -1
View File
@@ -113,7 +113,7 @@ begin
begin
detect:=0;
Affiche('Le train '+train+' n''est pas déclaré sur le détecteur d''un canton',clOrange);
Affiche('ou le décteur du train n''est pas activé',clOrange);
Affiche('ou le détecteur du train n''est pas activé',clOrange);
exit;
end;
+2 -2
View File
@@ -24,8 +24,8 @@ object FormTCO: TFormTCO
OnKeyPress = FormKeyPress
OnMouseWheel = FormMouseWheel
DesignSize = (
997
548)
1005
556)
PixelsPerInch = 96
TextHeight = 13
object LabelZoom: TLabel
+49 -7
View File
@@ -345,15 +345,22 @@ type
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
procedure ButtonCalibrageClick(Sender: TObject);
procedure ButtonCoulFondClick(Sender: TObject);
procedure ColorDialog1Show(Sender: TObject); procedure ImagePalette24DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); procedure ImagePalette24EndDrag(Sender, Target: TObject; X, Y: Integer);
procedure ColorDialog1Show(Sender: TObject);
procedure ImagePalette24DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
procedure ImagePalette24EndDrag(Sender, Target: TObject; X, Y: Integer);
procedure ImagePalette24MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure ImagePalette25DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
procedure ImagePalette25EndDrag(Sender, Target: TObject; X, Y: Integer);
procedure ImagePalette25MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure FormKeyPress(Sender: TObject; var Key: Char); procedure ImagePalette1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure ImagePalette1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure ImagePalette4DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
procedure FormDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
procedure EditTypeImageChange(Sender: TObject); procedure Toutslectionner1Click(Sender: TObject); procedure ButtonDessinerClick(Sender: TObject); procedure ImagePalette26DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); procedure ImagePalette26EndDrag(Sender, Target: TObject; X, Y: Integer);
procedure EditTypeImageChange(Sender: TObject);
procedure Toutslectionner1Click(Sender: TObject);
procedure ButtonDessinerClick(Sender: TObject);
procedure ImagePalette26DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
procedure ImagePalette26EndDrag(Sender, Target: TObject; X, Y: Integer);
procedure ImagePalette26MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure ImagePalette23EndDrag(Sender, Target: TObject; X, Y: Integer);
procedure ImagePalette23DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
@@ -377,7 +384,7 @@ type
procedure ImagePalette34EndDrag(Sender, Target: TObject; X, Y: Integer);
procedure ImagePalette34MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure EditAdrElementClick(Sender: TObject);
procedure ImagePalette53DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
procedure ImagePalette53DragOver(Sender, Source: TObject; X,Y: Integer; State: TDragState; var Accept: Boolean);
procedure ImagePalette52EndDrag(Sender, Target: TObject; X, Y: Integer);
procedure ImagePalette53MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure ButtonAffSCClick(Sender: TObject);
@@ -484,7 +491,7 @@ type
Adresse : integer; // adresse du détecteur ou de l'aiguillage ou du feu OU si action sortie : adresse
BImage : integer; // icone: 0=rien 1=voie 2=aiguillage gauche ... 50=feu
mode : integer; // couleur de voie 0=éteint 1=ClVoies 2=couleur dans le champ train
train : integer; // numéro du train
train : integer; // index du train
trajet : integer; // décrit le trajet ouvert sur la voie (cas d'un croisement ou d'une tjd/S)
inverse : boolean; // aiguillage piloté inversé
repr : integer; // position de la représentation texte 0 = rien 1=centré 2=Haut 3=Bas 4=réparti 5=double centré
@@ -699,6 +706,7 @@ procedure renseigne_TJDs_TCO;
procedure Affiche_temps_arret(IdTrain,tps : integer);
procedure titre_fenetre(indexTCO : integer);
function IsVoieDroite(i : integer) : boolean;
function trouve_canton(el1 : integer;tel1 : tequipement;el2 : integer;tel2 : tequipement) : integer;
implementation
@@ -804,6 +812,26 @@ begin
else result:=0;
end;
// renvoie l'index de canton encadré par les 2 éléments el1 et el2
function trouve_canton(el1 : integer;tel1 : tequipement;el2 : integer;tel2 : tequipement) : integer;
var i,eLc1,eLc2 : integer;
teLc1,teLc2 : tequipement;
trouve : boolean;
begin
i:=1;
result:=0;
repeat
eLc1:=canton[i].el1; teLc1:=canton[i].typ1;
eLc2:=canton[i].el2; teLc2:=canton[i].typ2;
trouve:=((elc1=el1) and (teLc1=tel1) and (elc2=el2) and (teLc2=tel2)) or
((elc2=el1) and (teLc2=tel1) and (elc1=el2) and (teLc1=tel2)) ;
inc(i);
until (trouve) or (i>nCantons);
if trouve then result:=i-1;
end;
// le tampon est aussi grand que le x/y du plus grand TCO
procedure init_tampon_copiercoller;
begin
@@ -1490,6 +1518,7 @@ begin
end
else
begin
// canton vertical
zone_tco(t,i,SensTCO_N,0,0,11,false,false); // demande éléments contigus en haut (7) du canton, résultats dans var globales xCanton et tel1
if xCanton=0 then tel1:=buttoir;
canton[i].el1:=xCanton;
@@ -6981,6 +7010,11 @@ begin
if i=0 then begin Affiche('Erreur 19H : index canton nul en TCO'+intToSTR(indexTCO)+' x='+intToSTR(x)+' y='+intToSTR(y),clred);exit;end;
indexTrain:=TCO[IndexTCO,x,y].train;
if (indexTrain<0) or (indexTrain>NTrains) then
begin
Affiche('Anomalie 670',clred);
exit;
end;
AdrTrain:=canton[i].adresseTrain;
//Affiche('Canton '+intToSTR(canton[i].numero)+' adrTrain='+intToSTR(AdrTrain),clLime);
@@ -7101,6 +7135,7 @@ begin
if (sens<>SensGauche) and (sens<>SensDroit) and (sens<>0) then
begin
Sens:=SensGauche;
canton[i].SensLoco:=sens;
Affiche('Anomalie sens train canton '+intToSTR(canton[i].numero)+' incohérent ; repositionné à gauche',clOrange);
end;
case sens of
@@ -7207,6 +7242,12 @@ begin
textOUT(x0-length(s)*8,y0+1,s);}
indexTrain:=TCO[IndexTCO,x,y].train;
if (indexTrain<0) or (indexTrain>NTrains) then
begin
Affiche('Anomalie 671',clred);
exit;
end;
AdrTrain:=canton[i].adresseTrain;
if AdrTrain<>0 then indexTrain:=index_train_adresse(adrTrain);
@@ -7335,6 +7376,7 @@ begin
if (sens<>SensHaut) and (sens<>SensBas) and (sens<>0) then
begin
Sens:=SensHaut;
canton[i].SensLoco:=sens;
Affiche('Anomalie sens train canton '+intToSTR(canton[i].numero)+' incohérent ; repositionné en haut',clOrange);
end;
case sens of
@@ -19138,7 +19180,6 @@ begin
// affectation train canton destination
affecte_Train_canton(trains[idTrain].adresse,IdCantonDest,sens);
//application.processMessages;
// si le canton destination était occupé au déplacement d'un train de canton
if (TrainDest<>0) and (cantonDest<>CantonOrg) then
@@ -19167,7 +19208,7 @@ begin
detecteur[adresse].AdrTrain:=canton[idCantonDest].adresseTrain;
detecteur[adresse].Train:=canton[idCantonDest].NomTrain;
end;
maj_signaux(true);
maj_signaux(false);
end;
@@ -19199,6 +19240,7 @@ var GMode,l2,h2 : integer;
angle,Zoom : single;
recta : trect;
begin
formRoute.Show;
{ angle:=5;
Zoom:=2;
l2:=trains[1].icone.picture.width div 2;
+6
View File
@@ -188,6 +188,7 @@ var i,t,idTCO,x,y,detect : integer;
begin
if (AdrTrain=0) then exit;
if procPrinc then AfficheDebug('Raz_cantons_train @='+intToSTR(AdrTrain),clyellow);
//Affiche('Raz_cantons_train @='+intToSTR(AdrTrain),clyellow);
if adrTrain<>0 then
begin
for i:=1 to Ncantons do
@@ -253,8 +254,10 @@ var idTrain,t,el1,el2 : integer;
t1,t2 : tequipement;
begin
if ProcPrinc then AfficheDebug('Affecte_train_canton: @='+intToSTR(AdrTrain)+' Idcanton='+intToSTR(idcanton),clorange);
//Affiche('Affecte_train_canton: @='+intToSTR(AdrTrain)+' Idcanton='+intToSTR(idcanton),clyellow);
if (IdCanton>0) and (idCanton<=nCantons) then
begin
idTrain:=0;
if (AdrTrain<>0) and (adrTrain<>9999) then
begin
idTrain:=Index_train_adresse(adrTrain);
@@ -308,6 +311,9 @@ begin
Maj_detecteurs_canton(idCanton,AdrTrain,el2);
end;
end;
maj_signaux(false);
//affiche('Det du canton '+intToSTR(canton[Idcanton].numero)+' det1='+intToSTR(canton[Idcanton].det1)+' det2='+intToSTR(canton[Idcanton].det2),clyellow);
end;
+3 -1
View File
@@ -26,7 +26,7 @@ var
f : text;
Const
VersionSC = '10.0'; // sert à la comparaison de la version publiée
VersionSC = '10.2'; // sert à la comparaison de la version publiée
SousVersion=' '; // A B C ... en cas d'absence de sous version mettre un espace
// pour unzip
SHCONTCH_NOPROGRESSBOX=4;
@@ -284,6 +284,8 @@ begin
else
begin
Affiche('Erreur '+intToSTR(i)+' au lancement de installeur.exe ',clred);
Affiche(SysErrorMessage(GetLastError),clred);
Affiche('Exécutez le manuellement',clred);
end;
end;
+7 -2
View File
@@ -312,10 +312,15 @@ version 9.77 : Am
version 9.78 : Correction du déclencheur "démarrage train"
version 9.79 : Corrections et améliorations diverses.
version 9.8 : Intégration des claviers et boutons rotatifs USB
version 9.9 : Correction évalution fonctions logiques sur opérateur NONET NONOU
version 9.9 : Correction évaluation fonctions logiques sur opérateur NONET NONOU
version 10.0 : Création de 3 compteurs de vitesse de trains utilisables en mode autonome ou CDM.
Création de déclencheurs depuis appui sur touches de clavier ou blocs USB.
version 10.1 : Correction d'un bug sur l'évolution des trains dans le TCO.
version 10.2 : Ajout de 4 boutons aux claviers USB
Compteurs de vitesses pour chaque train dans un nouvel onglet "compteurs".
Les couleurs des compteurs sont personnalisables.
Pilotage des accessoires en mode asynchrone.
Correction bug fonction F bloc USB et pilotage train affecté au bloc