This commit is contained in:
f1iwq2
2023-07-30 14:28:21 +02:00
parent de401c95d7
commit c688f36e4e
11 changed files with 1346 additions and 261 deletions
+167 -17
View File
@@ -1570,8 +1570,8 @@ object FormConfig: TFormConfig
Left = 8
Top = 8
Width = 633
Height = 505
ActivePage = TabSheetSig
Height = 497
ActivePage = TabSheetDecodeurs
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
@@ -3158,7 +3158,7 @@ object FormConfig: TFormConfig
Width = 129
Height = 21
Style = csDropDownList
ItemHeight = 13
ItemHeight = 0
TabOrder = 1
OnChange = ComboBoxDecChange
end
@@ -3262,22 +3262,9 @@ object FormConfig: TFormConfig
Width = 129
Height = 21
Style = csDropDownList
ItemHeight = 13
ItemHeight = 0
TabOrder = 2
OnChange = ComboBoxAspChange
Items.Strings = (
'2 feux'
'3 feux'
'4 feux'
'5 feux'
'7 feux'
'9 feux'
'Directionnel 2 feux'
'Directionnel 3 feux'
'Directionnel 4 feux'
'Directionnel 5 feux'
'Directionnel 6 feux'
'Signal belge type 1')
end
object EditSpecUni: TEdit
Left = 8
@@ -3437,6 +3424,169 @@ object FormConfig: TFormConfig
OnChange = EditTempoFeuChange
end
end
object TabSheetDecodeurs: TTabSheet
Caption = 'D'#233'codeurs'
ImageIndex = 8
object Label61: TLabel
Left = 13
Top = 4
Width = 284
Height = 19
Caption = 'D'#233'codeurs personnalis'#233's de signaux'
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -16
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
end
object Label62: TLabel
Left = 24
Top = 40
Width = 36
Height = 16
Caption = 'Etats'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
end
object Label63: TLabel
Left = 160
Top = 24
Width = 73
Height = 32
Caption = 'D'#233'calage d'#39'adresse'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
WordWrap = True
end
object Label66: TLabel
Left = 256
Top = 40
Width = 50
Height = 16
Caption = 'Sorties'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
WordWrap = True
end
object GroupBox26: TGroupBox
Left = 376
Top = 64
Width = 241
Height = 393
Caption = 'Commandes'
TabOrder = 0
object Label67: TLabel
Left = 22
Top = 24
Width = 195
Height = 20
Caption = 'Nom du d'#233'codeur personnalis'#233
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -16
Font.Name = 'Arial Narrow'
Font.Style = [fsBold]
ParentFont = False
end
object Label65: TLabel
Left = 19
Top = 96
Width = 126
Height = 39
Alignment = taRightJustify
Caption = 'Nombre d'#39'adresses occup'#233'es par le signal sur le d'#233'codeur:'
WordWrap = True
end
object Label64: TLabel
Left = 64
Top = 160
Width = 105
Height = 13
Caption = 'Signalisation nationale'
end
object Label68: TLabel
Left = 23
Top = 356
Width = 178
Height = 13
Caption = 'Nombre de d'#233'codeurs personnalis'#233's :'
end
object LabelNbDecPers: TLabel
Left = 208
Top = 356
Width = 6
Height = 13
Caption = '0'
end
object ComboBoxDecodeurPerso: TComboBox
Left = 24
Top = 56
Width = 193
Height = 21
ItemHeight = 13
TabOrder = 0
OnChange = ComboBoxDecodeurPersoChange
end
object EditNbreAdr: TEdit
Left = 168
Top = 104
Width = 49
Height = 21
TabOrder = 1
Text = '2'
OnChange = EditNbreAdrChange
end
object ComboBoxNation: TComboBox
Left = 48
Top = 176
Width = 145
Height = 21
ItemHeight = 13
TabOrder = 2
OnChange = ComboBoxNationChange
Items.Strings = (
'Fran'#231'aise'
'Belge')
end
object BoutonNouveau: TButton
Left = 86
Top = 216
Width = 75
Height = 25
Hint = 'Ajouter un nouveau d'#233'codeur personnalis'#233
Caption = 'Nouveau'
ParentShowHint = False
ShowHint = True
TabOrder = 3
OnClick = BoutonNouveauClick
end
object ButtonSup: TButton
Left = 86
Top = 248
Width = 75
Height = 25
Hint = 'Supprimer le d'#233'codeur personnalis'#233
Caption = 'Supprimer'
ParentShowHint = False
ShowHint = True
TabOrder = 4
OnClick = ButtonSupClick
end
end
end
object TabSheetAct: TTabSheet
Caption = 'Actionneurs/D'#233'tecteurs'
ImageIndex = 5
+748 -34
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -20,8 +20,8 @@ object FormDebug: TFormDebug
OnCreate = FormCreate
OnKeyPress = FormKeyPress
DesignSize = (
831
749)
839
757)
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
+7 -5
View File
@@ -50,10 +50,11 @@ object FormPilote: TFormPilote
Caption = 'Nombre de feux '#224' allumer'
end
object LabelDec: TLabel
Left = 208
Left = 200
Top = 192
Width = 72
Width = 129
Height = 19
Alignment = taCenter
Caption = 'LabelDec'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
@@ -61,6 +62,7 @@ object FormPilote: TFormPilote
Font.Name = 'Arial'
Font.Style = [fsBold]
ParentFont = False
Layout = tlCenter
end
object Label1: TLabel
Left = 240
@@ -126,7 +128,7 @@ object FormPilote: TFormPilote
Top = 96
Width = 161
Height = 17
Caption = 'S'#233'maphore clignotant'
Caption = 'Rouge cli'
TabOrder = 5
OnClick = RadioRougeCliClick
end
@@ -239,8 +241,8 @@ object FormPilote: TFormPilote
OnClick = CheckVerrouCarreClick
end
object GroupBox3: TGroupBox
Left = 8
Top = 224
Left = 120
Top = 40
Width = 193
Height = 73
Caption = 'Signalisation combin'#233'e'
+44 -31
View File
@@ -72,43 +72,36 @@ type
const
carre =0 ; carre_F=1;
vert_jaune_H =0 ; vert_jaune_H_F=1; // signal belge
semaphore =1 ; semaphore_F=2;
semaphore_cli =2 ; semaphore_cli_F=4;
vert =3 ; vert_F=8;
vert_cli =4 ; vert_cli_F=16;
violet =5 ; violet_F=32;
vert_jaune_V =5 ; vert_jaune_V_F=32;
blanc =6 ; blanc_F=64;
rouge_blanc =6 ; rouge_blanc_F=64; // signal belge
blanc_cli =7 ; blanc_cli_F=128;
jaune =8 ; jaune_F=256;
deux_jaunes =8 ; deux_jaunes_F=256; // signal belge
jaune_cli =9 ; jaune_cli_F=512;
ral_30 =10; ral_30_F=1024;
chiffre =10; chiffre_F=1024;
ral_60 =11; ral_60_F=2048;
chevron =11; chevron_F=2048;
rappel_30 =12; rappel_30_F=4096;
clign =12 ; clign_F=4096;
rappel_60 =13; rappel_60_F=8192;
Disque_D =14; // pour décodeur LDT
ral_60_jaune_cli =15;ral_60_jaune_cli_F=32768; // pour décodeur LDT
SetRaz =15;SetRaz_F=32768; // pour belge
aspect8 =16 ;
// signal belge
// base
vert_jaune_H =0 ; vert_jaune_H_F=1; // signal belge
rouge =1 ; rouge_F=2;
vertB =2 ; vertB_F=4;
vert_jaune_V =3 ; vert_jaune_V_F=8;
rouge_blanc =4 ; rouge_blanc_F=16; // signal belge
deux_jaunes =5 ; deux_jaunes_F=32; // signal belge
// combinée
chiffre =6; chiffre_F=64;
chevron =7; chevron_F=128;
clignote =8; clignote_F=256;
Bita1 =15; Bita1_F=32768; // mise à 1 de bit signal combiné pour belge
var
FormPilote: TFormPilote;
@@ -131,7 +124,7 @@ begin
//ImagePilote.Picture.Bitmap:=FormPilote.ImagePilote.picture.bitmap;
EtatFeuPilote:=feux[0].EtatSignal;
Vcanvas:=FormPilote.ImagePilote.picture.bitmap.Canvas;
case feux[i].aspect of
// feux de signalisation
2 : dessine_feu2(Vcanvas,0,0,1,1,EtatFeupilote,1);
@@ -150,9 +143,26 @@ begin
end;
end;
// renvoie la nation du signal 0
function nation : integer;
var i,dec,asp : integer;
begin
i:=1;
dec:=feux[0].decodeur;
asp:=feux[0].aspect;
if asp=20 then i:=2;
// si décodeur personalisé
if (dec>=NbDecodeurdeBase) and (dec<NbDecodeurdeBase+NbreDecPers) then
begin
if decodeur_pers[dec-NbDecodeurdeBase+1].nation=2 then i:=2;
end;
result:=i;
end;
procedure TFormPilote.RadioVertClick(Sender: TObject);
begin
Maj_Etat_Signal(0,vert);
if nation=1 then Maj_Etat_Signal(0,vert) else Maj_Etat_Signal(0,vertB) ;
dessine_feu_pilote;
end;
@@ -164,7 +174,7 @@ end;
procedure TFormPilote.RadioJauneClick(Sender: TObject);
begin
Maj_Etat_Signal(0,jaune);
if nation=1 then Maj_Etat_Signal(0,jaune) else Maj_Etat_Signal(0,deux_jaunes);
dessine_feu_pilote;
end;
@@ -188,19 +198,19 @@ end;
procedure TFormPilote.RadioCarreClick(Sender: TObject);
begin
Maj_Etat_Signal(0,carre);
if nation=1 then Maj_Etat_Signal(0,carre) else Maj_Etat_Signal(0,vert_jaune_H);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioBlancClick(Sender: TObject);
begin
Maj_Etat_Signal(0,blanc);
if nation=1 then Maj_Etat_Signal(0,blanc) else Maj_Etat_Signal(0,rouge_blanc);
dessine_feu_pilote;
end;
procedure TFormPilote.RadioVioletClick(Sender: TObject);
begin
Maj_Etat_Signal(0,violet);
if nation=1 then Maj_Etat_Signal(0,violet) else Maj_Etat_Signal(0,vert_jaune_V);
dessine_feu_pilote;
end;
@@ -218,7 +228,7 @@ end;
procedure TFormPilote.RadioRalen30Click(Sender: TObject);
begin
Maj_Etat_Signal(0,chevron);
Maj_Etat_Signal(0,ral_30);
dessine_feu_pilote;
end;
@@ -292,6 +302,7 @@ begin
LabelDec.Caption:=decodeur[d];
feux[0].decodeur:=d;
feux[0].aspect:=n;
feux[0].contrevoie:=feux[i].contrevoie;
// signal belge
if (n=20) then
begin
@@ -313,8 +324,9 @@ begin
groupBox3.Visible:=true;
end;
if n<>20 then
if n<>20 then
begin
groupBox3.Visible:=false;
Radiocarre.Caption:='Carré';
Radioviolet.Caption:='Violet';
RadioJauneCli.Caption:='Avertissement clignotant';
@@ -325,6 +337,7 @@ begin
radioJaunecli.visible:=true;
radioRougecli.visible:=true;
radioBlanccli.visible:=true;
end;
@@ -383,19 +396,19 @@ end;
procedure TFormPilote.CheckChiffreClick(Sender: TObject);
begin
if checkChiffre.Checked then Maj_Etat_Signal(0,chiffre) else Maj_Etat_Signal(0,chiffre or SetRaz_F);
if checkChiffre.Checked then Maj_Etat_Signal_belge(0,chiffre_F or bita1_F) else Maj_Etat_Signal_belge(0,chiffre_F);
dessine_feu_pilote;
end;
procedure TFormPilote.CheckChevronClick(Sender: TObject);
begin
if checkChevron.Checked then Maj_Etat_Signal(0,chevron) else Maj_Etat_Signal(0,chevron or setRaz_F);
if checkChevron.Checked then Maj_Etat_Signal(0,chevron_F or bita1_F) else Maj_Etat_Signal(0,chevron_F );
dessine_feu_pilote;
end;
procedure TFormPilote.CheckClignoteClick(Sender: TObject);
begin
if checkclignote.Checked then Maj_Etat_Signal(0,clign) else Maj_Etat_Signal(0,clign or setRaz_F);
if checkclignote.Checked then Maj_Etat_Signal(0,clignote_F or bita1_F) else Maj_Etat_Signal(0,clignote_F );
dessine_feu_pilote;
end;
+2 -2
View File
@@ -2224,8 +2224,8 @@ object FormPrinc: TFormPrinc
Top = 65528
end
object SaveDialog: TSaveDialog
Left = 888
Top = 16
Left = 832
Top = 65528
end
object PopupMenuFenRich: TPopupMenu
Left = 208
+372 -165
View File
File diff suppressed because it is too large Load Diff
+1 -4
View File
@@ -5215,7 +5215,7 @@ begin
begin
HorzScrollBar.Range:=DimX;
HorzScrollBar.Tracking:=true;
HorzScrollBar.Smooth:=false; // ne pas mettre true sinon figeage dans W11 si onclique sur la trackbar!!
HorzScrollBar.Smooth:=false; // ne pas mettre true sinon figeage dans W11 si on clique sur la trackbar!!
VertScrollBar.Range:=DimY;
VertScrollBar.Tracking:=true;
VertScrollBar.Smooth:=false;
@@ -5243,9 +5243,7 @@ begin
r:=rect(x1,y1,x1+LargeurCell,y1+HauteurCell);
FillRect(r);
end;
end;
//afficher les cellules sauf les signaux
@@ -5293,7 +5291,6 @@ begin
offsetSourisY:=-10;
offsetSourisX:=-10;
caption:='TCO';
AvecGrille:=true;
TCO_modifie:=false;
rangUndo:=1;
XclicCell:=1;
BIN
View File
Binary file not shown.
+3 -1
View File
@@ -170,7 +170,9 @@ version 6.1 : Am
version 6.2 : Déplacement du curseur du TCO avec les touches curseur.
Dessin du TCO à la souris.
version 6.3 : Choix du graphisme du TCO en lignes brisées ou courbes.
version 7.0 : Gestion des signaux belges (avec chevron et réduction de vitesse).
version 6.4 : Gestion des signaux belges (avec chevron et réduction de vitesse).
version 7.0 : Possibilité de créer des décodeurs spécifiques de signaux.