V10.6
This commit is contained in:
BIN
Binary file not shown.
+8
-7
@@ -55,10 +55,10 @@ type
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
type
|
type
|
||||||
typ=(Trien,fen,gb,im); // un compteur peut être de la fenetre 'formCompteur' (fen), des groupBox de la fenetre principale (gb) ou d'une image (onglet compteurs formConfig)
|
typ=(Trien,fen,gb,im); // indique où se situe le compteur : dans la fenetre 'formCompteur' (fen), un des groupBox de la fenetre principale (gb) ou d'une image (onglet compteurs formConfig)
|
||||||
TTcompteur=array[1..1] of record
|
TTcompteur=array[1..1] of record
|
||||||
FcBitMap : Tbitmap;
|
FcBitMap : Tbitmap;
|
||||||
paramcompt : TparamCompt;
|
paramcompt : TparamCompt;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
var
|
var
|
||||||
@@ -293,7 +293,7 @@ begin
|
|||||||
with param do
|
with param do
|
||||||
begin
|
begin
|
||||||
AngleFin:=170; // 170 angle fin des graduations
|
AngleFin:=170; // 170 angle fin des graduations
|
||||||
r:=redx; // réduction
|
r:=redx; // facteur réduction de la fenetre du compteur
|
||||||
rg:=round(AigCX/1.05); // rayon des graduations
|
rg:=round(AigCX/1.05); // rayon des graduations
|
||||||
rayon2:=Rg-round(10*r); // rayon de fin des graduations
|
rayon2:=Rg-round(10*r); // rayon de fin des graduations
|
||||||
rayon3:=Rg-round(20*r);
|
rayon3:=Rg-round(20*r);
|
||||||
@@ -313,8 +313,8 @@ begin
|
|||||||
|
|
||||||
font.Name:='Arial';;
|
font.Name:='Arial';;
|
||||||
font.color:=ParamCompteur[2].CoulNum;
|
font.color:=ParamCompteur[2].CoulNum;
|
||||||
font.size:=round(r*20);
|
|
||||||
font.style:=[fsbold];
|
font.style:=[fsbold];
|
||||||
|
font.size:=round(r*15*RedFonte);
|
||||||
{$IF CompilerVersion >= 28.0}
|
{$IF CompilerVersion >= 28.0}
|
||||||
font.orientation:=0;
|
font.orientation:=0;
|
||||||
{$IFEND}
|
{$IFEND}
|
||||||
@@ -418,7 +418,7 @@ begin
|
|||||||
brush.color:=clBlack;
|
brush.color:=clBlack;
|
||||||
pen.color:=ParamCompteur[3].coulgrad;
|
pen.color:=ParamCompteur[3].coulgrad;
|
||||||
font.color:=ParamCompteur[3].CoulNum;
|
font.color:=ParamCompteur[3].CoulNum;
|
||||||
font.size:=round(r*20);
|
font.size:=round(r*20*RedFonte); // taille de la fonte constante même si changement % affichage windows
|
||||||
//Affiche(intToSTR(font.size),clred);
|
//Affiche(intToSTR(font.size),clred);
|
||||||
font.style:=[];
|
font.style:=[];
|
||||||
end;
|
end;
|
||||||
@@ -516,10 +516,10 @@ begin
|
|||||||
Brush.Style:=bsSolid;
|
Brush.Style:=bsSolid;
|
||||||
Brush.Color:=$1F1A17;
|
Brush.Color:=$1F1A17;
|
||||||
font.color:=ParamCompteur[1].CoulNum;
|
font.color:=ParamCompteur[1].CoulNum;
|
||||||
font.size:=round(redx*10);
|
|
||||||
{$IF CompilerVersion >= 28.0}
|
{$IF CompilerVersion >= 28.0}
|
||||||
font.orientation:=0;
|
font.orientation:=0;
|
||||||
{$IFEND}
|
{$IFEND}
|
||||||
|
font.size:=round(redx*10*RedFonte);
|
||||||
TextOut(round(50*redX),round(128*redY),'0');
|
TextOut(round(50*redX),round(128*redY),'0');
|
||||||
TextOut(round(36*redX),round(90*redY),'20');
|
TextOut(round(36*redX),round(90*redY),'20');
|
||||||
TextOut(round(50*redX),round(54*redY),'40');
|
TextOut(round(50*redX),round(54*redY),'40');
|
||||||
@@ -926,6 +926,7 @@ begin
|
|||||||
Width:=400;
|
Width:=400;
|
||||||
canvas.fillrect(rect(0,0,400,30));
|
canvas.fillrect(rect(0,0,400,30));
|
||||||
end;
|
end;
|
||||||
|
LabelTrain.Font.Size:=round(14*RedFonte);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormCompteur.TrackBarCChange(Sender: TObject);
|
procedure TFormCompteur.TrackBarCChange(Sender: TObject);
|
||||||
|
|||||||
+29
-16
@@ -670,7 +670,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 8
|
Top = 8
|
||||||
Width = 633
|
Width = 633
|
||||||
Height = 505
|
Height = 505
|
||||||
ActivePage = TabSheetTrains
|
ActivePage = TabSheetPN
|
||||||
Font.Charset = DEFAULT_CHARSET
|
Font.Charset = DEFAULT_CHARSET
|
||||||
Font.Color = clBlack
|
Font.Color = clBlack
|
||||||
Font.Height = -11
|
Font.Height = -11
|
||||||
@@ -1189,7 +1189,7 @@ object FormConfig: TFormConfig
|
|||||||
'S'#233'lection du style d'#39#39'affichage - Le style sera chang'#233' '#224' la ferm' +
|
'S'#233'lection du style d'#39#39'affichage - Le style sera chang'#233' '#224' la ferm' +
|
||||||
'eture de la fen'#234'tre'#39
|
'eture de la fen'#234'tre'#39
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
@@ -2425,7 +2425,7 @@ object FormConfig: TFormConfig
|
|||||||
Width = 137
|
Width = 137
|
||||||
Height = 21
|
Height = 21
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
OnChange = ComboBoxDecChange
|
OnChange = ComboBoxDecChange
|
||||||
end
|
end
|
||||||
@@ -2556,7 +2556,7 @@ object FormConfig: TFormConfig
|
|||||||
Width = 137
|
Width = 137
|
||||||
Height = 21
|
Height = 21
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
OnChange = ComboBoxAspChange
|
OnChange = ComboBoxAspChange
|
||||||
end
|
end
|
||||||
@@ -2864,7 +2864,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
|
||||||
@@ -2883,7 +2883,7 @@ object FormConfig: TFormConfig
|
|||||||
Width = 145
|
Width = 145
|
||||||
Height = 21
|
Height = 21
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
OnChange = ComboBoxNationChange
|
OnChange = ComboBoxNationChange
|
||||||
end
|
end
|
||||||
@@ -2929,7 +2929,7 @@ object FormConfig: TFormConfig
|
|||||||
Width = 193
|
Width = 193
|
||||||
Height = 21
|
Height = 21
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
TabOrder = 6
|
TabOrder = 6
|
||||||
OnChange = ComboBoxDecCdeChange
|
OnChange = ComboBoxDecCdeChange
|
||||||
end
|
end
|
||||||
@@ -3142,7 +3142,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 96
|
Top = 96
|
||||||
Width = 137
|
Width = 137
|
||||||
Height = 21
|
Height = 21
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
OnChange = ComboBoxOperateurChange
|
OnChange = ComboBoxOperateurChange
|
||||||
OnDrawItem = ComboBoxOperateurDrawItem
|
OnDrawItem = ComboBoxOperateurDrawItem
|
||||||
@@ -3162,7 +3162,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 96
|
Top = 96
|
||||||
Width = 161
|
Width = 161
|
||||||
Height = 21
|
Height = 21
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
@@ -3263,7 +3263,7 @@ object FormConfig: TFormConfig
|
|||||||
Width = 145
|
Width = 145
|
||||||
Height = 21
|
Height = 21
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
TabOrder = 7
|
TabOrder = 7
|
||||||
OnChange = ComboBoxFLChange
|
OnChange = ComboBoxFLChange
|
||||||
end
|
end
|
||||||
@@ -3645,7 +3645,7 @@ object FormConfig: TFormConfig
|
|||||||
Font.Style = [fsBold]
|
Font.Style = [fsBold]
|
||||||
ParentFont = False
|
ParentFont = False
|
||||||
end
|
end
|
||||||
object GroupBox13: TGroupBox
|
object GroupBoxGPN: TGroupBox
|
||||||
Left = 336
|
Left = 336
|
||||||
Top = 24
|
Top = 24
|
||||||
Width = 281
|
Width = 281
|
||||||
@@ -3807,13 +3807,13 @@ object FormConfig: TFormConfig
|
|||||||
OnClick = RadioGroupActPNClick
|
OnClick = RadioGroupActPNClick
|
||||||
end
|
end
|
||||||
object ComboBoxPNCom: TComboBox
|
object ComboBoxPNCom: TComboBox
|
||||||
Left = 8
|
Left = 16
|
||||||
Top = 152
|
Top = 152
|
||||||
Width = 145
|
Width = 145
|
||||||
Height = 21
|
Height = 21
|
||||||
Hint = 'Nom de l'#39'accessoire d'#233'fini dans l'#39'onglet "p'#233'riph'#233'riques COM/USB"'
|
Hint = 'Nom de l'#39'accessoire d'#233'fini dans l'#39'onglet "p'#233'riph'#233'riques COM/USB"'
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
TabOrder = 10
|
TabOrder = 10
|
||||||
@@ -4114,10 +4114,23 @@ object FormConfig: TFormConfig
|
|||||||
end
|
end
|
||||||
object ImageTrain: TImage
|
object ImageTrain: TImage
|
||||||
Left = 16
|
Left = 16
|
||||||
Top = 392
|
Top = 384
|
||||||
Width = 257
|
Width = 257
|
||||||
Height = 49
|
Height = 49
|
||||||
end
|
end
|
||||||
|
object LabelTitreTrain: TLabel
|
||||||
|
Left = 16
|
||||||
|
Top = 448
|
||||||
|
Width = 4
|
||||||
|
Height = 19
|
||||||
|
Caption = ' '
|
||||||
|
Font.Charset = ANSI_CHARSET
|
||||||
|
Font.Color = clBlack
|
||||||
|
Font.Height = -16
|
||||||
|
Font.Name = 'Arial'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ParentFont = False
|
||||||
|
end
|
||||||
object ButtonNT: TButton
|
object ButtonNT: TButton
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 32
|
Top = 32
|
||||||
@@ -4160,7 +4173,7 @@ object FormConfig: TFormConfig
|
|||||||
Top = 16
|
Top = 16
|
||||||
Width = 337
|
Width = 337
|
||||||
Height = 457
|
Height = 457
|
||||||
ActivePage = TabSheetTrGen
|
ActivePage = TabSheet1
|
||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
object TabSheetTrGen: TTabSheet
|
object TabSheetTrGen: TTabSheet
|
||||||
Caption = 'G'#233'n'#233'ral'
|
Caption = 'G'#233'n'#233'ral'
|
||||||
@@ -5524,7 +5537,7 @@ object FormConfig: TFormConfig
|
|||||||
Width = 153
|
Width = 153
|
||||||
Height = 21
|
Height = 21
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
OnChange = ComboBoxUSBTrChange
|
OnChange = ComboBoxUSBTrChange
|
||||||
end
|
end
|
||||||
|
|||||||
+58
-42
@@ -92,7 +92,7 @@ type
|
|||||||
GroupBox12: TGroupBox;
|
GroupBox12: TGroupBox;
|
||||||
ImageSignal: TImage;
|
ImageSignal: TImage;
|
||||||
LabelAdrSig: TLabel;
|
LabelAdrSig: TLabel;
|
||||||
GroupBox13: TGroupBox;
|
GroupBoxGPN: TGroupBox;
|
||||||
LabelDec: TLabel;
|
LabelDec: TLabel;
|
||||||
LabelDetAss: TLabel;
|
LabelDetAss: TLabel;
|
||||||
LabelElSuiv: TLabel;
|
LabelElSuiv: TLabel;
|
||||||
@@ -509,6 +509,7 @@ type
|
|||||||
LabelV3Cons: TLabel;
|
LabelV3Cons: TLabel;
|
||||||
Label83: TLabel;
|
Label83: TLabel;
|
||||||
Label84: TLabel;
|
Label84: TLabel;
|
||||||
|
LabelTitreTrain: TLabel;
|
||||||
procedure ButtonAppliquerEtFermerClick(Sender: TObject);
|
procedure ButtonAppliquerEtFermerClick(Sender: TObject);
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure ListBoxAigMouseDown(Sender: TObject; Button: TMouseButton;
|
procedure ListBoxAigMouseDown(Sender: TObject; Button: TMouseButton;
|
||||||
@@ -7054,6 +7055,11 @@ procedure champs_pn_act;
|
|||||||
begin
|
begin
|
||||||
with formConfig do
|
with formConfig do
|
||||||
begin
|
begin
|
||||||
|
EditAdrFerme.text:=IntToSTR(Tablo_PN[lignecliqueePN+1].AdresseFerme);
|
||||||
|
EditAdrOuvre.text:=IntToSTR(Tablo_PN[lignecliqueePN+1].AdresseOuvre);
|
||||||
|
EditCdeFerme.text:=intToSTR(Tablo_PN[lignecliqueePN+1].CommandeFerme);
|
||||||
|
EditCdeOuvre.text:=intToSTR(Tablo_PN[lignecliqueePN+1].CommandeOuvre);
|
||||||
|
|
||||||
comboBoxPNCom.Visible:=false;
|
comboBoxPNCom.Visible:=false;
|
||||||
EditCdeOuvre.width:=25;
|
EditCdeOuvre.width:=25;
|
||||||
editCdeFerme.Width:=25;
|
editCdeFerme.Width:=25;
|
||||||
@@ -7063,8 +7069,8 @@ begin
|
|||||||
ButtonTestFerme.Top:=EditAdrFerme.Top;
|
ButtonTestFerme.Top:=EditAdrFerme.Top;
|
||||||
ButtonTestOuvre.Top:=EditAdrOuvre.Top;
|
ButtonTestOuvre.Top:=EditAdrOuvre.Top;
|
||||||
|
|
||||||
editCdeFerme.Left:=168;
|
EditCdeFerme.Left:=EditAdrFerme.Left+EditAdrFerme.width+10;
|
||||||
editCdeOuvre.Left:=168;
|
EditCdeOuvre.Left:=EditAdrOuvre.Left+EditAdrOuvre.width+10;
|
||||||
|
|
||||||
EditCdeOuvre.Hint:='Commande d''ouverture (0 à 2)';
|
EditCdeOuvre.Hint:='Commande d''ouverture (0 à 2)';
|
||||||
EditCdeFerme.Hint:='Commande de fermeture (0 à 2)';
|
EditCdeFerme.Hint:='Commande de fermeture (0 à 2)';
|
||||||
@@ -7076,12 +7082,10 @@ begin
|
|||||||
EditAdrFerme.Visible:=true;
|
EditAdrFerme.Visible:=true;
|
||||||
Label22.visible:=true;
|
Label22.visible:=true;
|
||||||
CheckPnPulse.Visible:=true;
|
CheckPnPulse.Visible:=true;
|
||||||
CheckPnPulse.top:=140;
|
CheckPnPulse.top:=EditCdeOuvre.Top+EditCdeOuvre.Height+10;
|
||||||
|
|
||||||
Label21.Caption:='Adresse de fermeture';
|
Label21.Caption:='Adresse de fermeture';
|
||||||
EditAdrFerme.text:=IntToSTR(Tablo_PN[lignecliqueePN+1].AdresseFerme);
|
|
||||||
EditAdrOuvre.text:=IntToSTR(Tablo_PN[lignecliqueePN+1].AdresseOuvre);
|
|
||||||
EditCdeFerme.text:=intToSTR(Tablo_PN[lignecliqueePN+1].CommandeFerme);
|
|
||||||
EditCdeOuvre.text:=intToSTR(Tablo_PN[lignecliqueePN+1].CommandeOuvre);
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -7089,27 +7093,36 @@ procedure champs_pn_COMUSBSockets;
|
|||||||
begin
|
begin
|
||||||
with formConfig do
|
with formConfig do
|
||||||
begin
|
begin
|
||||||
|
EditCdeFerme.Text:=Tablo_PN[lignecliqueePN+1].CommandeF;
|
||||||
|
EditCdeOuvre.Text:=Tablo_PN[lignecliqueePN+1].CommandeO;
|
||||||
|
|
||||||
comboBoxPNCom.Visible:=true;
|
comboBoxPNCom.Visible:=true;
|
||||||
ComboBoxPNCom.Width:=150;
|
ComboBoxPNCom.Width:=150;
|
||||||
ComboBoxPNCom.Left:=4;
|
ComboBoxPNCom.Left:=8;
|
||||||
ComboBoxPNCom.top:=120;
|
|
||||||
EditAdrFerme.visible:=false;
|
EditAdrFerme.visible:=false;
|
||||||
editAdrOuvre.Visible:=false;
|
editAdrOuvre.Visible:=false;
|
||||||
CheckPnPulse.Visible:=false;
|
CheckPnPulse.Visible:=false;
|
||||||
EditCdeOuvre.width:=50;
|
EditCdeOuvre.width:=50;
|
||||||
editCdeFerme.width:=50;
|
editCdeFerme.width:=50;
|
||||||
editCdeFerme.top:=120;ButtonTestFerme.Top:=120;ButtonTestFerme.Top:=120;
|
editCdeFerme.top:=Label21.top+Label21.Height+10;
|
||||||
editCdeOuvre.top:=150;ButtonTestOuvre.Top:=150;ButtonTestOuvre.Top:=150;
|
|
||||||
editCdeFerme.Left:=160;
|
ButtonTestFerme.Top:=Label21.top+Label21.Height+10;
|
||||||
editCdeOuvre.Left:=160;
|
editCdeOuvre.top:=ButtonTestFerme.top+ButtonTestFerme.Height+10;
|
||||||
|
ButtonTestOuvre.Top:=ButtonTestFerme.top+ButtonTestFerme.Height+10;
|
||||||
|
|
||||||
|
EditCdeFerme.Left:=EditAdrFerme.Left+EditAdrFerme.width+10;
|
||||||
|
EditCdeOuvre.Left:=EditAdrOuvre.Left+EditAdrOuvre.width+10;
|
||||||
|
|
||||||
|
ComboBoxPNCom.top:=ButtonTestFerme.Top;
|
||||||
|
|
||||||
ButtonTestFerme.Hint:='Test de fermeture (par interface COM/USB)';
|
ButtonTestFerme.Hint:='Test de fermeture (par interface COM/USB)';
|
||||||
ButtonTestOuvre.Hint:='Test d''ouverture (par interface COM/USB)';
|
ButtonTestOuvre.Hint:='Test d''ouverture (par interface COM/USB)';
|
||||||
editcdeFerme.Hint:='Commande ASCII de fermeture';
|
editcdeFerme.Hint:='Commande ASCII de fermeture';
|
||||||
EditCdeOuvre.Hint:='Commande ASCII d''ouverture';
|
EditCdeOuvre.Hint:='Commande ASCII d''ouverture';
|
||||||
Label22.visible:=false;
|
Label22.visible:=false;
|
||||||
Label21.Caption:='Périphérique COM/USB/Socket Commandes';
|
Label21.Caption:='Périphérique COM/USB/Socket Commandes';
|
||||||
EditCdeFerme.Text:=Tablo_PN[lignecliqueePN+1].CommandeF;
|
|
||||||
EditCdeOuvre.Text:=Tablo_PN[lignecliqueePN+1].CommandeO;
|
|
||||||
ComboBoxPnCom.ItemIndex:=Tablo_PN[lignecliqueePN+1].AdresseFerme-1;
|
ComboBoxPnCom.ItemIndex:=Tablo_PN[lignecliqueePN+1].AdresseFerme-1;
|
||||||
CheckPNPulse.Visible:=false;
|
CheckPNPulse.Visible:=false;
|
||||||
end;
|
end;
|
||||||
@@ -7319,6 +7332,7 @@ begin
|
|||||||
ButtonRdt.Caption:=s;
|
ButtonRdt.Caption:=s;
|
||||||
|
|
||||||
editNomTrain.text:=Trains[index].nom_train;
|
editNomTrain.text:=Trains[index].nom_train;
|
||||||
|
LabelTitreTrain.Caption:=Trains[index].nom_train;
|
||||||
editAdresseTrain.Text:=intToSTR(trains[index].adresse);
|
editAdresseTrain.Text:=intToSTR(trains[index].adresse);
|
||||||
editVitesseMaxi.Text:=intToSTR(trains[index].vitmax);
|
editVitesseMaxi.Text:=intToSTR(trains[index].vitmax);
|
||||||
editLongLoco.text:=IntToSTR(trains[index].longueur);
|
editLongLoco.text:=IntToSTR(trains[index].longueur);
|
||||||
@@ -7662,12 +7676,12 @@ begin
|
|||||||
begin
|
begin
|
||||||
Left:=1;
|
Left:=1;
|
||||||
Top:=32;
|
Top:=32;
|
||||||
width:=617;
|
width:=round(617/redfonte);
|
||||||
Height:=420;
|
Height:=420;
|
||||||
|
|
||||||
TitleCaptions[0]:='Désignation';
|
TitleCaptions[0]:='Désignation';
|
||||||
TitleCaptions[1]:='Valeur';
|
TitleCaptions[1]:='Valeur';
|
||||||
ColWidths[0]:=420;
|
ColWidths[0]:=round(420/RedFonte);
|
||||||
|
|
||||||
// création des lignes de la liste
|
// création des lignes de la liste
|
||||||
for i:=1 to 22 do
|
for i:=1 to 22 do
|
||||||
@@ -7811,9 +7825,9 @@ begin
|
|||||||
RowCount:=NbDetArret+1;
|
RowCount:=NbDetArret+1;
|
||||||
Options := StringGridArr.Options + [goEditing];
|
Options := StringGridArr.Options + [goEditing];
|
||||||
ColWidths[0]:=0; // colonne grise invisible
|
ColWidths[0]:=0; // colonne grise invisible
|
||||||
ColWidths[1]:=70; // Précédent
|
ColWidths[1]:=round(70/RedFonte); // Précédent
|
||||||
ColWidths[2]:=70; // détecteur
|
ColWidths[2]:=round(70/RedFonte); // détecteur
|
||||||
ColWidths[3]:=55; // temps
|
ColWidths[3]:=round(55/RedFonte); // temps
|
||||||
|
|
||||||
Cells[1,0]:='Précédent';
|
Cells[1,0]:='Précédent';
|
||||||
Cells[2,0]:='Détecteur';
|
Cells[2,0]:='Détecteur';
|
||||||
@@ -7828,7 +7842,7 @@ begin
|
|||||||
{$IFEND}
|
{$IFEND}
|
||||||
{$IFDEF WIN64} // si compilé en 64 bits
|
{$IFDEF WIN64} // si compilé en 64 bits
|
||||||
labelD12.Caption:='D12 x64';
|
labelD12.Caption:='D12 x64';
|
||||||
LabelD12.Left:=730;
|
LabelD12.Left:=LabelD12.Left-30;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
// création des champs dynamiques de l'onglet décodeurs personnalisés
|
// création des champs dynamiques de l'onglet décodeurs personnalisés
|
||||||
@@ -7961,7 +7975,7 @@ begin
|
|||||||
Left:=8;
|
Left:=8;
|
||||||
top:=GroupBoxPN.Top+GroupBoxPN.Height+5;
|
top:=GroupBoxPN.Top+GroupBoxPN.Height+5;
|
||||||
width:=GroupBoxPN.Width;
|
width:=GroupBoxPN.Width;
|
||||||
height:=190;
|
height:=GroupBoxGPN.height-GroupBoxPN.Height-40;
|
||||||
visible:=true;
|
visible:=true;
|
||||||
end;
|
end;
|
||||||
with GroupBoxPNZ do
|
with GroupBoxPNZ do
|
||||||
@@ -7969,7 +7983,7 @@ begin
|
|||||||
Left:=8;
|
Left:=8;
|
||||||
top:=GroupBoxPN.Top+GroupBoxPN.Height+5;
|
top:=GroupBoxPN.Top+GroupBoxPN.Height+5;
|
||||||
width:=GroupBoxPN.Width;
|
width:=GroupBoxPN.Width;
|
||||||
height:=190;
|
height:=GroupBoxGPN.height-GroupBoxPN.Height-40;
|
||||||
visible:=false;
|
visible:=false;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -7977,7 +7991,7 @@ begin
|
|||||||
with LbATitre do
|
with LbATitre do
|
||||||
begin
|
begin
|
||||||
Left:=64;Top:=20;Width:=50;Height:=12;
|
Left:=64;Top:=20;Width:=50;Height:=12;
|
||||||
caption:='Act ferme Act ouvre';
|
caption:='Act ferme Act ouvre';
|
||||||
name:='LbATitre';
|
name:='LbATitre';
|
||||||
parent:=GroupBoxPNA;
|
parent:=GroupBoxPNA;
|
||||||
end;
|
end;
|
||||||
@@ -8185,7 +8199,7 @@ begin
|
|||||||
with EditZDet2V1F do
|
with EditZDet2V1F do
|
||||||
begin
|
begin
|
||||||
Name:='EditZDet2V1F';
|
Name:='EditZDet2V1F';
|
||||||
left:=100;Top:=50;Width:=35;Height:=21;
|
left:=104;Top:=50;Width:=35;Height:=21;
|
||||||
text:='';
|
text:='';
|
||||||
hint:='Détecteur 2 de fermeture';
|
hint:='Détecteur 2 de fermeture';
|
||||||
showhint:=true;
|
showhint:=true;
|
||||||
@@ -8196,7 +8210,7 @@ begin
|
|||||||
with EditZDet1V1O do
|
with EditZDet1V1O do
|
||||||
begin
|
begin
|
||||||
Name:='EditZDet1V1O';
|
Name:='EditZDet1V1O';
|
||||||
left:=152;Top:=50;Width:=35;Height:=21;
|
left:=164;Top:=50;Width:=35;Height:=21;
|
||||||
text:='';
|
text:='';
|
||||||
hint:='Détecteur 1 d''ouverture';
|
hint:='Détecteur 1 d''ouverture';
|
||||||
showhint:=true;
|
showhint:=true;
|
||||||
@@ -8207,7 +8221,7 @@ begin
|
|||||||
with EditZDet2V1O do
|
with EditZDet2V1O do
|
||||||
begin
|
begin
|
||||||
Name:='EditZDet2V1O';
|
Name:='EditZDet2V1O';
|
||||||
left:=190;Top:=50;Width:=35;Height:=21;
|
left:=204;Top:=50;Width:=35;Height:=21;
|
||||||
text:='';
|
text:='';
|
||||||
hint:='Détecteur 2 d''ouverture';
|
hint:='Détecteur 2 d''ouverture';
|
||||||
showhint:=true;
|
showhint:=true;
|
||||||
@@ -8238,7 +8252,7 @@ begin
|
|||||||
with EditZDet2V2F do
|
with EditZDet2V2F do
|
||||||
begin
|
begin
|
||||||
Name:='EditZDet2V2F';
|
Name:='EditZDet2V2F';
|
||||||
left:=100;Top:=74;Width:=35;Height:=21;
|
left:=104;Top:=74;Width:=35;Height:=21;
|
||||||
text:='';
|
text:='';
|
||||||
hint:='Détecteur 2 de fermeture';
|
hint:='Détecteur 2 de fermeture';
|
||||||
showhint:=true;
|
showhint:=true;
|
||||||
@@ -8249,7 +8263,7 @@ begin
|
|||||||
with EditZDet1V2O do
|
with EditZDet1V2O do
|
||||||
begin
|
begin
|
||||||
Name:='EditZDet1V2O';
|
Name:='EditZDet1V2O';
|
||||||
left:=152;Top:=74;Width:=35;Height:=21;
|
left:=164;Top:=74;Width:=35;Height:=21;
|
||||||
text:='';
|
text:='';
|
||||||
hint:='Détecteur 1 d''ouverture';
|
hint:='Détecteur 1 d''ouverture';
|
||||||
showhint:=true;
|
showhint:=true;
|
||||||
@@ -8260,7 +8274,7 @@ begin
|
|||||||
with EditZDet2V2O do
|
with EditZDet2V2O do
|
||||||
begin
|
begin
|
||||||
Name:='EditZDet2V2O';
|
Name:='EditZDet2V2O';
|
||||||
left:=190;Top:=74;Width:=35;Height:=21;
|
left:=204;Top:=74;Width:=35;Height:=21;
|
||||||
text:='';
|
text:='';
|
||||||
hint:='Détecteur 2 d''ouverture';
|
hint:='Détecteur 2 d''ouverture';
|
||||||
showhint:=true;
|
showhint:=true;
|
||||||
@@ -8292,7 +8306,7 @@ begin
|
|||||||
with EditZDet2V3F do
|
with EditZDet2V3F do
|
||||||
begin
|
begin
|
||||||
Name:='EditZDet2V3F';
|
Name:='EditZDet2V3F';
|
||||||
left:=100;Top:=98;Width:=35;Height:=21;
|
left:=104;Top:=98;Width:=35;Height:=21;
|
||||||
text:='';
|
text:='';
|
||||||
hint:='Détecteur 2 de fermeture';
|
hint:='Détecteur 2 de fermeture';
|
||||||
showhint:=true;
|
showhint:=true;
|
||||||
@@ -8303,7 +8317,7 @@ begin
|
|||||||
with EditZDet1V3O do
|
with EditZDet1V3O do
|
||||||
begin
|
begin
|
||||||
Name:='EditZDet1V3O';
|
Name:='EditZDet1V3O';
|
||||||
left:=152;Top:=98;Width:=35;Height:=21;
|
left:=164;Top:=98;Width:=35;Height:=21;
|
||||||
text:='';
|
text:='';
|
||||||
parent:=GroupBoxPNZ;
|
parent:=GroupBoxPNZ;
|
||||||
hint:='Détecteur 1 d''ouverture';
|
hint:='Détecteur 1 d''ouverture';
|
||||||
@@ -8314,7 +8328,7 @@ begin
|
|||||||
with EditZDet2V3O do
|
with EditZDet2V3O do
|
||||||
begin
|
begin
|
||||||
Name:='EditZDet2V3O';
|
Name:='EditZDet2V3O';
|
||||||
left:=190;Top:=98;Width:=35;Height:=21;
|
left:=204;Top:=98;Width:=35;Height:=21;
|
||||||
text:='';
|
text:='';
|
||||||
parent:=GroupBoxPNZ;
|
parent:=GroupBoxPNZ;
|
||||||
hint:='Détecteur 2 d''ouverture';
|
hint:='Détecteur 2 d''ouverture';
|
||||||
@@ -8345,7 +8359,7 @@ begin
|
|||||||
with EditZDet2V4F do
|
with EditZDet2V4F do
|
||||||
begin
|
begin
|
||||||
Name:='EditZDet2V4F';
|
Name:='EditZDet2V4F';
|
||||||
left:=100;Top:=122;Width:=35;Height:=21;
|
left:=104;Top:=122;Width:=35;Height:=21;
|
||||||
text:='';
|
text:='';
|
||||||
hint:='Détecteur 2 de fermeture';
|
hint:='Détecteur 2 de fermeture';
|
||||||
showhint:=true;
|
showhint:=true;
|
||||||
@@ -8356,7 +8370,7 @@ begin
|
|||||||
with EditZDet1V4O do
|
with EditZDet1V4O do
|
||||||
begin
|
begin
|
||||||
Name:='EditZDet1V4O';
|
Name:='EditZDet1V4O';
|
||||||
left:=152;Top:=122;Width:=35;Height:=21;
|
left:=164;Top:=122;Width:=35;Height:=21;
|
||||||
text:='';
|
text:='';
|
||||||
parent:=GroupBoxPNZ;
|
parent:=GroupBoxPNZ;
|
||||||
hint:='Détecteur 1 d''ouverture';
|
hint:='Détecteur 1 d''ouverture';
|
||||||
@@ -8367,7 +8381,7 @@ begin
|
|||||||
with EditZDet2V4O do
|
with EditZDet2V4O do
|
||||||
begin
|
begin
|
||||||
Name:='EditZDet2V4O';
|
Name:='EditZDet2V4O';
|
||||||
left:=190;Top:=122;Width:=35;Height:=21;
|
left:=204;Top:=122;Width:=35;Height:=21;
|
||||||
text:='';
|
text:='';
|
||||||
parent:=GroupBoxPNZ;
|
parent:=GroupBoxPNZ;
|
||||||
hint:='Détecteur 2 d''ouverture';
|
hint:='Détecteur 2 d''ouverture';
|
||||||
@@ -8398,7 +8412,7 @@ begin
|
|||||||
with EditZDet2V5F do
|
with EditZDet2V5F do
|
||||||
begin
|
begin
|
||||||
Name:='EditZDet2V5F';
|
Name:='EditZDet2V5F';
|
||||||
left:=100;Top:=146;Width:=35;Height:=21;
|
left:=104;Top:=146;Width:=35;Height:=21;
|
||||||
text:='';
|
text:='';
|
||||||
parent:=GroupBoxPNZ;
|
parent:=GroupBoxPNZ;
|
||||||
hint:='Détecteur 2 de fermeture';
|
hint:='Détecteur 2 de fermeture';
|
||||||
@@ -8409,7 +8423,7 @@ begin
|
|||||||
with EditZDet1V5O do
|
with EditZDet1V5O do
|
||||||
begin
|
begin
|
||||||
Name:='EditZDet1V5O';
|
Name:='EditZDet1V5O';
|
||||||
left:=152;Top:=146;Width:=35;Height:=21;
|
left:=164;Top:=146;Width:=35;Height:=21;
|
||||||
text:='';
|
text:='';
|
||||||
parent:=GroupBoxPNZ;
|
parent:=GroupBoxPNZ;
|
||||||
hint:='Détecteur 1 d''ouverture';
|
hint:='Détecteur 1 d''ouverture';
|
||||||
@@ -8420,7 +8434,7 @@ begin
|
|||||||
with EditZDet2V5O do
|
with EditZDet2V5O do
|
||||||
begin
|
begin
|
||||||
Name:='EditZDet2V5O';
|
Name:='EditZDet2V5O';
|
||||||
left:=190;Top:=146;Width:=35;Height:=21;
|
left:=204;Top:=146;Width:=35;Height:=21;
|
||||||
text:='';
|
text:='';
|
||||||
parent:=GroupBoxPNZ;
|
parent:=GroupBoxPNZ;
|
||||||
hint:='Détecteur 2 d''ouverture';
|
hint:='Détecteur 2 d''ouverture';
|
||||||
@@ -8712,6 +8726,7 @@ begin
|
|||||||
label72.caption:='La rotation de bouton changera la vitesse du train. L''appui sur le bouton stoppe le train.'+#13+
|
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';
|
'Les évènements clavier sont interceptés par signaux complexes ce qui ne nécessite pas d''activer la fenêtre';
|
||||||
|
|
||||||
|
{
|
||||||
with GroupBoxBr do
|
with GroupBoxBr do
|
||||||
begin
|
begin
|
||||||
Left:=312;
|
Left:=312;
|
||||||
@@ -8727,7 +8742,8 @@ begin
|
|||||||
Width:=260;
|
Width:=260;
|
||||||
Height:=140;
|
Height:=140;
|
||||||
Visible:=false;
|
Visible:=false;
|
||||||
end;
|
end;}
|
||||||
|
GroupBoxBT.Visible:=false;
|
||||||
|
|
||||||
PageControl.ActivePage:=Formconfig.TabSheetCDM; // force le premier onglet sur la page
|
PageControl.ActivePage:=Formconfig.TabSheetCDM; // force le premier onglet sur la page
|
||||||
couleurs_config;
|
couleurs_config;
|
||||||
@@ -19292,7 +19308,7 @@ procedure TFormConfig.LabeledEditNUMChange(Sender: TObject);
|
|||||||
var i,erreur : integer;
|
var i,erreur : integer;
|
||||||
begin
|
begin
|
||||||
val(LabeledEditNUM.Text,i,erreur);
|
val(LabeledEditNUM.Text,i,erreur);
|
||||||
if (erreur<>0) or (i<0) or (i>10) then exit;
|
if (erreur<>0) or (i<1) or (i>10) then exit;
|
||||||
NumBlocUSB:=i;
|
NumBlocUSB:=i;
|
||||||
LabeledEditCT.Text:='';
|
LabeledEditCT.Text:='';
|
||||||
LabeledEditRM.Text:='';
|
LabeledEditRM.Text:='';
|
||||||
|
|||||||
@@ -226,7 +226,7 @@ object FormConfCellTCO: TFormConfCellTCO
|
|||||||
OnChange = EditTexteCCTCOChange
|
OnChange = EditTexteCCTCOChange
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object GroupBox2: TGroupBox
|
object GroupBoxEl: TGroupBox
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 8
|
Top = 8
|
||||||
Width = 297
|
Width = 297
|
||||||
@@ -256,7 +256,7 @@ object FormConfCellTCO: TFormConfCellTCO
|
|||||||
end
|
end
|
||||||
object Label2: TLabel
|
object Label2: TLabel
|
||||||
Left = 192
|
Left = 192
|
||||||
Top = 6
|
Top = 14
|
||||||
Width = 53
|
Width = 53
|
||||||
Height = 20
|
Height = 20
|
||||||
Caption = 'Adresse : '
|
Caption = 'Adresse : '
|
||||||
|
|||||||
+23
-6
@@ -15,7 +15,7 @@ type
|
|||||||
Label1: TLabel;
|
Label1: TLabel;
|
||||||
ButtonFonte: TButton;
|
ButtonFonte: TButton;
|
||||||
EditTexteCCTCO: TEdit;
|
EditTexteCCTCO: TEdit;
|
||||||
GroupBox2: TGroupBox;
|
GroupBoxEl: TGroupBox;
|
||||||
Label15: TLabel;
|
Label15: TLabel;
|
||||||
EditTypeImage: TEdit;
|
EditTypeImage: TEdit;
|
||||||
CheckPinv: TCheckBox;
|
CheckPinv: TCheckBox;
|
||||||
@@ -419,7 +419,7 @@ begin
|
|||||||
with formConfCellTCO.StringGridDet do
|
with formConfCellTCO.StringGridDet do
|
||||||
begin
|
begin
|
||||||
for i:=0 to ColCount-1 do
|
for i:=0 to ColCount-1 do
|
||||||
for j:= 1 to RowCount-1 do
|
for j:=1 to RowCount-1 do
|
||||||
Cells[i,j]:='';
|
Cells[i,j]:='';
|
||||||
ligne:=1;
|
ligne:=1;
|
||||||
for i:=1 to Ntrains do
|
for i:=1 to Ntrains do
|
||||||
@@ -822,10 +822,10 @@ begin
|
|||||||
RowCount:=21;
|
RowCount:=21;
|
||||||
Options := Options -[goEditing] ;
|
Options := Options -[goEditing] ;
|
||||||
ColWidths[0]:=0; // colonne grise invisible
|
ColWidths[0]:=0; // colonne grise invisible
|
||||||
ColWidths[1]:=40; // Précédent
|
ColWidths[1]:=round(40/RedFonte); // Précédent
|
||||||
ColWidths[2]:=35; // tempe
|
ColWidths[2]:=round(35/RedFonte); // tempe
|
||||||
ColWidths[3]:=60; // train
|
ColWidths[3]:=round(60/RedFonte); // train
|
||||||
ColWidths[4]:=105; // icone train
|
ColWidths[4]:=round(105/RedFonte); // icone train
|
||||||
|
|
||||||
Cells[1,0]:='Précé.';
|
Cells[1,0]:='Précé.';
|
||||||
Cells[2,0]:='Temps';
|
Cells[2,0]:='Temps';
|
||||||
@@ -880,6 +880,23 @@ begin
|
|||||||
itemHeight:=16;
|
itemHeight:=16;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// calcul des éléments en fonction de la taille de GroupBoxEL à cause du dimensionnement enn % des textes windows
|
||||||
|
width:=GroupBoxEL.Left+GroupBoxEL.Width+20;
|
||||||
|
height:=BitBtnOk.Top+BitBtnOK.Height+50;
|
||||||
|
GroupBoxCanton.top:=ButtonFond.Top+ButtonFond.Height+12;
|
||||||
|
GroupBoxCanton.Height:=RadioButtonDS.Height+RadioButtonDS.Top+10;
|
||||||
|
GroupBoxCanton.Width:=GroupBoxEL.Width-10;
|
||||||
|
GroupBoxDet.top:=RadioGroupSEl.Height+RadioGroupSel.Top+10;
|
||||||
|
GroupBoxDet.Width:=GroupBoxEL.Width-10;
|
||||||
|
GroupBoxAction.top:=RadioGroupSEl.Height+RadioGroupSel.Top+10;
|
||||||
|
GroupBoxAction.Width:=GroupBoxEL.Width-10;
|
||||||
|
|
||||||
|
GroupBoxOrientation.top:=RadioGroupSEl.Height+RadioGroupSel.Top+10;
|
||||||
|
GroupBoxOrientation.Width:=GroupBoxEL.Width-20;
|
||||||
|
|
||||||
|
GroupBoxImplantation.top:=GroupBoxOrientation.Height+GroupBoxOrientation.Top+10;
|
||||||
|
GroupBoxImplantation.Width:=GroupBoxEL.Width-20;
|
||||||
|
|
||||||
// dessine les composants - non utilisé
|
// dessine les composants - non utilisé
|
||||||
{
|
{
|
||||||
i:=1;
|
i:=1;
|
||||||
|
|||||||
+10
-13
@@ -15,43 +15,40 @@ object FormFicheHoraire: TFormFicheHoraire
|
|||||||
OnActivate = FormActivate
|
OnActivate = FormActivate
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
DesignSize = (
|
DesignSize = (
|
||||||
620
|
612
|
||||||
354)
|
346)
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
Left = 104
|
Left = 96
|
||||||
Top = 313
|
Top = 305
|
||||||
Width = 310
|
Width = 310
|
||||||
Height = 13
|
Height = 13
|
||||||
Anchors = [akLeft, akBottom]
|
|
||||||
Caption =
|
Caption =
|
||||||
'Le nom des trains doit respecter l'#39#233'criture d'#233'clar'#233'e dans CDM Ra' +
|
'Le nom des trains doit respecter l'#39#233'criture d'#233'clar'#233'e dans CDM Ra' +
|
||||||
'il'
|
'il'
|
||||||
end
|
end
|
||||||
object LabelErreur: TLabel
|
object LabelErreur: TLabel
|
||||||
Left = 99
|
Left = 11
|
||||||
Top = 297
|
Top = 0
|
||||||
Width = 3
|
Width = 3
|
||||||
Height = 13
|
Height = 13
|
||||||
Anchors = [akLeft, akBottom]
|
Anchors = [akLeft, akBottom]
|
||||||
Caption = '.'
|
Caption = '.'
|
||||||
end
|
end
|
||||||
object Label2: TLabel
|
object Label2: TLabel
|
||||||
Left = 104
|
Left = 96
|
||||||
Top = 329
|
Top = 321
|
||||||
Width = 296
|
Width = 296
|
||||||
Height = 13
|
Height = 13
|
||||||
Anchors = [akLeft, akBottom]
|
|
||||||
Caption = 'Les horaires sont sauvegard'#233's dans le fichier '#39'FicheHoraire.txt"'
|
Caption = 'Les horaires sont sauvegard'#233's dans le fichier '#39'FicheHoraire.txt"'
|
||||||
end
|
end
|
||||||
object ButtonOk: TButton
|
object ButtonOk: TButton
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 313
|
Top = 305
|
||||||
Width = 75
|
Width = 75
|
||||||
Height = 32
|
Height = 32
|
||||||
Hint = 'Sauvegarde la fiche et ferme la fen'#234'tre'
|
Hint = 'Sauvegarde la fiche et ferme la fen'#234'tre'
|
||||||
Anchors = [akLeft, akBottom]
|
|
||||||
Caption = 'Ok'
|
Caption = 'Ok'
|
||||||
ParentShowHint = False
|
ParentShowHint = False
|
||||||
ShowHint = True
|
ShowHint = True
|
||||||
@@ -61,7 +58,7 @@ object FormFicheHoraire: TFormFicheHoraire
|
|||||||
object StringGridFO: TStringGrid
|
object StringGridFO: TStringGrid
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 16
|
Top = 16
|
||||||
Width = 601
|
Width = 593
|
||||||
Height = 273
|
Height = 273
|
||||||
ColCount = 4
|
ColCount = 4
|
||||||
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goEditing]
|
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goEditing]
|
||||||
|
|||||||
+26
-12
@@ -20,6 +20,7 @@ type
|
|||||||
Rect: TRect; State: TGridDrawState);
|
Rect: TRect; State: TGridDrawState);
|
||||||
procedure StringGridFOSetEditText(Sender: TObject; ACol, ARow: Integer;
|
procedure StringGridFOSetEditText(Sender: TObject; ACol, ARow: Integer;
|
||||||
const Value: String);
|
const Value: String);
|
||||||
|
procedure Button1Click(Sender: TObject);
|
||||||
private
|
private
|
||||||
{ Déclarations privées }
|
{ Déclarations privées }
|
||||||
public
|
public
|
||||||
@@ -118,7 +119,7 @@ end;
|
|||||||
|
|
||||||
|
|
||||||
procedure TFormFicheHoraire.FormCreate(Sender: TObject);
|
procedure TFormFicheHoraire.FormCreate(Sender: TObject);
|
||||||
var i,champ,ligne,col,erreur : integer;
|
var i,champ,ligne,col,erreur,larg : integer;
|
||||||
f : textFile ;
|
f : textFile ;
|
||||||
s,ss,v,nomTrain : string;
|
s,ss,v,nomTrain : string;
|
||||||
ver : single;
|
ver : single;
|
||||||
@@ -127,23 +128,29 @@ begin
|
|||||||
with stringGridFO do
|
with stringGridFO do
|
||||||
begin
|
begin
|
||||||
Anchors:=[];
|
Anchors:=[];
|
||||||
Anchors:=[AkTop,AkLeft,akright,akBottom];
|
//Anchors:=[AkTop,AkLeft,akright,akBottom];
|
||||||
|
Anchors:=[];
|
||||||
|
Anchors:=[AkTop,AkLeft,akright];
|
||||||
Options:=options
|
Options:=options
|
||||||
// édition pas multiselect trackbar dynamique autoriz le dimensionnement des colonnes
|
// édition pas multiselect trackbar dynamique autoriz le dimensionnement des colonnes
|
||||||
+ [goEditing] - [goRangeSelect] + [goThumbTracking]+ [goColSizing]
|
+ [goEditing] - [goRangeSelect] + [goThumbTracking]+ [goColSizing]
|
||||||
+ [goAlwaysShowEditor]; // autorise l'édition
|
+ [goAlwaysShowEditor]; // autorise l'édition
|
||||||
Hint:='Grille horaire';
|
Hint:='Grille horaire';
|
||||||
|
|
||||||
ShowHint:=true;
|
ShowHint:=true;
|
||||||
ColCount:=7;
|
ColCount:=7;
|
||||||
RowCount:=MaxHoraire+1;
|
RowCount:=MaxHoraire+1;
|
||||||
Options := stringGridFO.Options + [goEditing];
|
//Options := stringGridFO.Options + [goEditing];
|
||||||
ColWidths[ColLigne]:=30;
|
|
||||||
ColWidths[ColTrain]:=200;
|
ColWidths[ColLigne]:=round(30/RedFonte);
|
||||||
ColWidths[ColRoute]:=100;
|
ColWidths[ColTrain]:=round(200/RedFonte);
|
||||||
ColWidths[ColHDep]:=60;
|
ColWidths[ColRoute]:=round(100/RedFonte);
|
||||||
ColWidths[ColVitDem]:=60;
|
ColWidths[ColHDep]:=round(60/RedFonte);
|
||||||
ColWidths[ColSens]:=60;
|
ColWidths[ColVitDem]:=round(60/RedFonte);
|
||||||
ColWidths[ColArret]:=60;
|
ColWidths[ColSens]:=round(60/RedFonte);
|
||||||
|
ColWidths[ColArret]:=round(60/RedFonte);
|
||||||
|
larg:=0;
|
||||||
|
for i:=0 to colCount-1 do larg:=larg+ColWidths[i];
|
||||||
|
|
||||||
Cells[ColLigne,0]:='Ligne';
|
Cells[ColLigne,0]:='Ligne';
|
||||||
Cells[ColTrain,0]:='Nom du train';
|
Cells[ColTrain,0]:='Nom du train';
|
||||||
@@ -154,8 +161,8 @@ begin
|
|||||||
Cells[ColArret,0]:='Forcer arrêt'+#13+'O/N';
|
Cells[ColArret,0]:='Forcer arrêt'+#13+'O/N';
|
||||||
|
|
||||||
RowHeights[0]:=30;
|
RowHeights[0]:=30;
|
||||||
|
|
||||||
// numéroter les lignes et fixer la hauteur des lignes
|
// numéroter les lignes et fixer la hauteur des lignes à 16
|
||||||
for i:=1 to RowCount-1 do
|
for i:=1 to RowCount-1 do
|
||||||
begin
|
begin
|
||||||
if i>0 then Cells[0,i]:=intToSTR(i);
|
if i>0 then Cells[0,i]:=intToSTR(i);
|
||||||
@@ -265,6 +272,8 @@ begin
|
|||||||
closefile(f);
|
closefile(f);
|
||||||
couleurs_Fiche;
|
couleurs_Fiche;
|
||||||
StringGridFO.Selection:=tGridRect(rect(0,0,0,0));
|
StringGridFO.Selection:=tGridRect(rect(0,0,0,0));
|
||||||
|
FormFicheHoraire.Width:=larg+70;
|
||||||
|
FormFicheHoraire.Height:=ButtonOK.Top+ButtonOK.Height+50;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TFormFicheHoraire.FormActivate(Sender: TObject);
|
procedure TFormFicheHoraire.FormActivate(Sender: TObject);
|
||||||
@@ -423,5 +432,10 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TFormFicheHoraire.Button1Click(Sender: TObject);
|
||||||
|
begin
|
||||||
|
FormFicheHoraire.Width:=StringGridFO.Left+StringGridFO.Width+10;
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|||||||
+5
-2
@@ -49,7 +49,8 @@ begin
|
|||||||
|
|
||||||
NewRule.Applicationname:=fichier;
|
NewRule.Applicationname:=fichier;
|
||||||
NewRule.Protocol:=NET_FW_IP_PROTOCOL_TCP;
|
NewRule.Protocol:=NET_FW_IP_PROTOCOL_TCP;
|
||||||
//NewRule.LocalPorts := '9999'; // '80,443,4520-4533' sans spécif=tous ports
|
NewRule.LocalPorts :=''; // sans spécif=tous ports
|
||||||
|
//NewRule.LocalPorts := '9999'; // '80,443,4520-4533'
|
||||||
NewRule.Direction:=net_fw_rule_dir_in;
|
NewRule.Direction:=net_fw_rule_dir_in;
|
||||||
NewRule.Enabled:=True;
|
NewRule.Enabled:=True;
|
||||||
NewRule.Grouping:='';
|
NewRule.Grouping:='';
|
||||||
@@ -62,7 +63,9 @@ begin
|
|||||||
r:=true;
|
r:=true;
|
||||||
except
|
except
|
||||||
begin
|
begin
|
||||||
s:='Erreur: impossible d''accéder au pare feu Windows. Le pare feu est géré par un programme tiers.';
|
s:='Erreur: impossible d''accéder au pare feu Windows. Le pare feu est géré par un programme tiers';
|
||||||
|
Affiche(s,clred);
|
||||||
|
s:='ou Signaux_Complexes n''a pas été lancé en mode administrateur.';
|
||||||
Affiche(s,clred);
|
Affiche(s,clred);
|
||||||
formconfig.Labelinfo.caption:=s;
|
formconfig.Labelinfo.caption:=s;
|
||||||
r:=false;
|
r:=false;
|
||||||
|
|||||||
+296
-296
File diff suppressed because it is too large
Load Diff
+72
-70
@@ -1,5 +1,5 @@
|
|||||||
unit Unitprinc;
|
unit Unitprinc;
|
||||||
// 27/03/2025
|
// 11/06/2025
|
||||||
(********************************************
|
(********************************************
|
||||||
Programme signaux complexes Graphique Lenz
|
Programme signaux complexes Graphique Lenz
|
||||||
Composants ClientSocket et ServeurSocket pour les connexions réseau socket
|
Composants ClientSocket et ServeurSocket pour les connexions réseau socket
|
||||||
@@ -1056,7 +1056,7 @@ tTrain = record
|
|||||||
|
|
||||||
|
|
||||||
Ttache = array[1..MaxTaches] of record
|
Ttache = array[1..MaxTaches] of record
|
||||||
typeTache : integer ; // 0 : rien - 1 : accessoire ... etc
|
typeTache : integer ; // 0:rien - 1:accessoire 2:vitesse train 3:fonction F 4:tempo
|
||||||
traite : boolean; // traitement en cours
|
traite : boolean; // traitement en cours
|
||||||
tempo : integer; // tempo avant exécution de la commande
|
tempo : integer; // tempo avant exécution de la commande
|
||||||
dest : integer; // destinataire : 1=CDM - 2=XpressNet 3=Dccpp
|
dest : integer; // destinataire : 1=CDM - 2=XpressNet 3=Dccpp
|
||||||
@@ -1101,6 +1101,8 @@ var
|
|||||||
Modesombre,serveur_ouvert,pasChgTBV,FpBouge,debugPN,simuInterface,option_demitour,
|
Modesombre,serveur_ouvert,pasChgTBV,FpBouge,debugPN,simuInterface,option_demitour,
|
||||||
mesureTrains,AffCompteur,clicTBGB,clicTBfen,clicTBTrain,ModeTache,NoTraite : boolean;
|
mesureTrains,AffCompteur,clicTBGB,clicTBfen,clicTBTrain,ModeTache,NoTraite : boolean;
|
||||||
|
|
||||||
|
RedFonte : single;
|
||||||
|
|
||||||
Style : array[0..200] of Tstyle;
|
Style : array[0..200] of Tstyle;
|
||||||
|
|
||||||
Interfaces_CDM : array[1..20] of string;
|
Interfaces_CDM : array[1..20] of string;
|
||||||
@@ -1257,9 +1259,9 @@ var
|
|||||||
famille : integer; // 1=système 2=CDM 3=SC ne sert qu'à filtrer l'affichage par la combobox
|
famille : integer; // 1=système 2=CDM 3=SC ne sert qu'à filtrer l'affichage par la combobox
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Fonction : array[0..100,0..100] of Tfonction;
|
Fonction : array[0..100,0..100] of Tfonction; // indice de la fonction,éléments de la fonction
|
||||||
NomFonction : array[0..100] of string;
|
NomFonction : array[0..100] of string; // nom de la fonction
|
||||||
ArbreFonc : array[0..100,0..100] of integer;
|
ArbreFonc : array[0..100,0..100] of integer; // fonction sous forme d'arbre
|
||||||
|
|
||||||
blocUSB : array[1..10] of record
|
blocUSB : array[1..10] of record
|
||||||
AffTrain : string;
|
AffTrain : string;
|
||||||
@@ -1490,6 +1492,7 @@ procedure renseigne_comp_trains(i : integer);
|
|||||||
function ClavierHookLLProc(Code : integer; WordParam : wparam; LongParam: lparam) : LongInt; stdcall;
|
function ClavierHookLLProc(Code : integer; WordParam : wparam; LongParam: lparam) : LongInt; stdcall;
|
||||||
procedure cree_GB_compteur(rang : integer);
|
procedure cree_GB_compteur(rang : integer);
|
||||||
procedure pilote_train(det1,det2,AdrTrain,it : integer);
|
procedure pilote_train(det1,det2,AdrTrain,it : integer);
|
||||||
|
procedure equation_droite(y1,y2,x1,x2 : single;var pente,b : single);
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
@@ -1866,7 +1869,7 @@ begin
|
|||||||
Formprinc.FenRich.StyleName:='Windows';
|
Formprinc.FenRich.StyleName:='Windows';
|
||||||
// et dans formdebug.Create aussi
|
// et dans formdebug.Create aussi
|
||||||
|
|
||||||
// énumérer tous les composants pour repaint les richedit - ne marche pas
|
// énumérer tous les composants pour repaint les richedit - ne marche pas :D
|
||||||
{
|
{
|
||||||
for i:=0 to Screen.FormCount-1 do
|
for i:=0 to Screen.FormCount-1 do
|
||||||
begin
|
begin
|
||||||
@@ -2156,7 +2159,6 @@ var ts : tstrings;
|
|||||||
f : textFile;
|
f : textFile;
|
||||||
begin
|
begin
|
||||||
s:=GetCurrentProcessEnvVar('SystemDrive'); // s='c:'
|
s:=GetCurrentProcessEnvVar('SystemDrive'); // s='c:'
|
||||||
|
|
||||||
cmd:='/c vol '+s+' >vol.txt'; // /c ferme la fenetre en fin d'exec /k ne ferme pas
|
cmd:='/c vol '+s+' >vol.txt'; // /c ferme la fenetre en fin d'exec /k ne ferme pas
|
||||||
// si on fait un runas au lieu de open, çà ouvre une fenetre de demande admin sur les postes non admin
|
// si on fait un runas au lieu de open, çà ouvre une fenetre de demande admin sur les postes non admin
|
||||||
// ou dont le niveau d'utilisateur est bas dans le profil
|
// ou dont le niveau d'utilisateur est bas dans le profil
|
||||||
@@ -2181,7 +2183,7 @@ begin
|
|||||||
i:=pos('-',s);
|
i:=pos('-',s);
|
||||||
if i>4 then
|
if i>4 then
|
||||||
begin
|
begin
|
||||||
i:=i-4;
|
i:=i-4;
|
||||||
s:=copy(s,i,9)+' '; // Id de formatage de c:\
|
s:=copy(s,i,9)+' '; // Id de formatage de c:\
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
@@ -2405,12 +2407,6 @@ begin
|
|||||||
chaine_HEX:=sa_hex;
|
chaine_HEX:=sa_hex;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// Affiche une chaîne en Hexa Ascii
|
|
||||||
procedure affiche_chaine_hex(s : string;couleur : Tcolor);
|
|
||||||
begin
|
|
||||||
if traceTrames then AfficheDebug(chaine_HEX(s),couleur);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure Affiche(s : string;lacouleur : TColor);
|
procedure Affiche(s : string;lacouleur : TColor);
|
||||||
begin
|
begin
|
||||||
with formprinc do
|
with formprinc do
|
||||||
@@ -2841,7 +2837,6 @@ begin
|
|||||||
if trouve then result:=port else result:=0;
|
if trouve then result:=port else result:=0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
|
|
||||||
// connecte un port usb interface vers centrale avec TMSCOMM. Si le port n'est pas ouvert, renvoie 0, sinon renvoie
|
// connecte un port usb interface vers centrale avec TMSCOMM. Si le port n'est pas ouvert, renvoie 0, sinon renvoie
|
||||||
@@ -5221,7 +5216,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
}
|
}
|
||||||
|
|
||||||
// dessine l'aspect du signal en fonction de son adresse dans la partie droite de droite
|
// dessine l'aspect du signal en fonction de son adresse dans le canvas de destination
|
||||||
procedure Dessine_signal_mx(CanvasDest : Tcanvas;x,y : integer;FrX,frY : single;adresse : integer;orientation : integer);
|
procedure Dessine_signal_mx(CanvasDest : Tcanvas;x,y : integer;FrX,frY : single;adresse : integer;orientation : integer);
|
||||||
var i,aspect : integer;
|
var i,aspect : integer;
|
||||||
begin
|
begin
|
||||||
@@ -5507,6 +5502,7 @@ begin
|
|||||||
//CompteurT[rang].ImgH:=imH;
|
//CompteurT[rang].ImgH:=imH;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// Nom du train
|
||||||
CompteurT[rang].lbl:=TLabel.Create(Formprinc.ScrollBoxC);
|
CompteurT[rang].lbl:=TLabel.Create(Formprinc.ScrollBoxC);
|
||||||
with CompteurT[rang].lbl do
|
with CompteurT[rang].lbl do
|
||||||
begin
|
begin
|
||||||
@@ -5518,15 +5514,13 @@ begin
|
|||||||
left:=8;
|
left:=8;
|
||||||
width:=largComptC-10;
|
width:=largComptC-10;
|
||||||
font.Name:='Arial';
|
font.Name:='Arial';
|
||||||
font.Size:=10;
|
font.Size:=round(RedFonte*10);
|
||||||
font.Style:=[fsbold];
|
font.Style:=[fsbold];
|
||||||
//transparent:=false;
|
//transparent:=false;
|
||||||
//couleur:=compteurT[rang].gb.Color;
|
//couleur:=compteurT[rang].gb.Color;
|
||||||
//affiche(intToHex(couleur,6),clyellow);
|
//affiche(intToHex(couleur,6),clyellow);
|
||||||
//color:=couleur;
|
//color:=couleur;
|
||||||
|
|
||||||
caption:=trains[rang].nom_train;
|
caption:=trains[rang].nom_train;
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
CompteurT[rang].Img:=Timage.create(CompteurT[rang].gb);
|
CompteurT[rang].Img:=Timage.create(CompteurT[rang].gb);
|
||||||
@@ -5620,51 +5614,51 @@ end;
|
|||||||
// renseigne les composants image train, label et vitesse
|
// renseigne les composants image train, label et vitesse
|
||||||
procedure renseigne_comp_trains(i : integer);
|
procedure renseigne_comp_trains(i : integer);
|
||||||
begin
|
begin
|
||||||
with image_train[i] do
|
with image_train[i] do
|
||||||
begin
|
begin
|
||||||
Autosize:=true;
|
Autosize:=true;
|
||||||
align:=alNone;
|
align:=alNone;
|
||||||
Parent:=Formprinc.ScrollBoxTrains;
|
Parent:=Formprinc.ScrollBoxTrains;
|
||||||
Name:='ImageTrain'+IntToSTR(i); // nom de l'image
|
Name:='ImageTrain'+IntToSTR(i); // nom de l'image
|
||||||
Top:=50*(i-1); // détermine les points d'origine
|
Top:=50*(i-1); // détermine les points d'origine
|
||||||
Left:=0;
|
Left:=0;
|
||||||
picture.Bitmap.Width:=LargImgTrain;
|
picture.Bitmap.Width:=LargImgTrain;
|
||||||
picture.Bitmap.Height:=HautImgTrain;
|
picture.Bitmap.Height:=HautImgTrain;
|
||||||
end;
|
end;
|
||||||
with labeltrain[i] do
|
with labeltrain[i] do
|
||||||
begin
|
begin
|
||||||
Name:='LabelTrain'+intToSTR(i);
|
Name:='LabelTrain'+intToSTR(i);
|
||||||
Caption:=Trains[i].nom_train;
|
Caption:=Trains[i].nom_train;
|
||||||
Parent:=Formprinc.ScrollBoxTrains;
|
Parent:=Formprinc.ScrollBoxTrains;
|
||||||
font.color:=clBlack;
|
font.color:=clBlack;
|
||||||
font.Style:=[fsbold];
|
font.Style:=[fsbold];
|
||||||
width:=100;height:=20;
|
width:=100;height:=20;
|
||||||
Top:=Image_train[i].Top+(HautImgTrain div 3);
|
Top:=Image_train[i].Top+(HautImgTrain div 3);
|
||||||
Left:=LargImgTrain+10;
|
Left:=LargImgTrain+10;
|
||||||
BringToFront;
|
BringToFront;
|
||||||
end;
|
end;
|
||||||
with LabelVitesse[i] do
|
with LabelVitesse[i] do
|
||||||
begin
|
begin
|
||||||
Name:='LabelVitesse'+intToSTR(i);
|
Name:='LabelVitesse'+intToSTR(i);
|
||||||
Caption:='V=0';
|
Caption:='V=0';
|
||||||
Parent:=Formprinc.ScrollBoxTrains;
|
Parent:=Formprinc.ScrollBoxTrains;
|
||||||
font.color:=clBlack;
|
font.color:=clBlack;
|
||||||
width:=100;height:=20;
|
width:=100;height:=20;
|
||||||
Top:=Image_train[i].Top+(HautImgTrain div 3)+12;
|
Top:=Image_train[i].Top+(HautImgTrain div 3)+12;
|
||||||
Left:=LargImgTrain+10;
|
Left:=LargImgTrain+10;
|
||||||
BringToFront;
|
BringToFront;
|
||||||
end;
|
end;
|
||||||
with LabelBlocUSB[i] do
|
with LabelBlocUSB[i] do
|
||||||
begin
|
begin
|
||||||
Name:='LabelBlocUSB'+intToSTR(i);
|
Name:='LabelBlocUSB'+intToSTR(i);
|
||||||
caption:='';
|
caption:='';
|
||||||
Parent:=Formprinc.ScrollBoxTrains;
|
Parent:=Formprinc.ScrollBoxTrains;
|
||||||
font.color:=clBlack;
|
font.color:=clBlack;
|
||||||
width:=100;height:=20;
|
width:=100;height:=20;
|
||||||
Top:=Image_train[i].Top+(HautImgTrain div 3)+24;
|
Top:=Image_train[i].Top+(HautImgTrain div 3)+24;
|
||||||
Left:=LargImgTrain+10;
|
Left:=LargImgTrain+10;
|
||||||
BringToFront;
|
BringToFront;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// créée une image dans l'onglet trains , 2 label dynamiquement dans la partie droite pour un nouveau train déclaré dans le fichier de config
|
// créée une image dans l'onglet trains , 2 label dynamiquement dans la partie droite pour un nouveau train déclaré dans le fichier de config
|
||||||
@@ -5698,7 +5692,6 @@ begin
|
|||||||
renseigne_comp_trains(rang);
|
renseigne_comp_trains(rang);
|
||||||
with Image_Train[rang] do
|
with Image_Train[rang] do
|
||||||
begin
|
begin
|
||||||
|
|
||||||
onClick:=Formprinc.ImageTrainonclick; // affectation procédure clique G sur image
|
onClick:=Formprinc.ImageTrainonclick; // affectation procédure clique G sur image
|
||||||
OnDblClick:=formPrinc.ImageTrainDoubleClic;
|
OnDblClick:=formPrinc.ImageTrainDoubleClic;
|
||||||
//onMouseDown:=Formprinc.ProcOnMouseDown; // clique G ou D
|
//onMouseDown:=Formprinc.ProcOnMouseDown; // clique G ou D
|
||||||
@@ -5730,7 +5723,6 @@ begin
|
|||||||
begin
|
begin
|
||||||
labelBlocUSB[rang].Caption:='Bloc USB '+intToSTR(i);
|
labelBlocUSB[rang].Caption:='Bloc USB '+intToSTR(i);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -6032,7 +6024,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// teste la condition d'une action
|
// teste la (les) condition(s) d'une action
|
||||||
|
// action : index de l'action
|
||||||
function teste_condition(action : integer) : boolean;
|
function teste_condition(action : integer) : boolean;
|
||||||
var condValide : boolean;
|
var condValide : boolean;
|
||||||
vit,vit1,vit2,it,pa,m1,m2,hc,n,ncond,cond,etat : integer;
|
vit,vit1,vit2,it,pa,m1,m2,hc,n,ncond,cond,etat : integer;
|
||||||
@@ -6394,7 +6387,7 @@ end;
|
|||||||
|
|
||||||
|
|
||||||
// fonction hook clavier de bas niveau (LL) appellée par appui ou relache sur une touche
|
// fonction hook clavier de bas niveau (LL) appellée par appui ou relache sur une touche
|
||||||
// cette fonction intercepte tous les évènements clavier (pas les touches de fonctions [hotkeys]) windows quelque soit la fenetre ou le prog activé.
|
// cette fonction d'interception est appellée par tous les évènements clavier (pas les touches de fonctions [hotkeys]) windows quelque soit la fenetre ou le prog activé.
|
||||||
// https://learn.microsoft.com/en-us/previous-versions/windows/desktop/legacy/ms644984(v=vs.85)?redirectedfrom=MSDN
|
// https://learn.microsoft.com/en-us/previous-versions/windows/desktop/legacy/ms644984(v=vs.85)?redirectedfrom=MSDN
|
||||||
// https://learn.microsoft.com/fr-fr/windows/win32/api/winuser/ns-winuser-kbdllhookstruct
|
// https://learn.microsoft.com/fr-fr/windows/win32/api/winuser/ns-winuser-kbdllhookstruct
|
||||||
function ClavierHookLLProc(Code : integer; WordParam : wparam; LongParam: lparam) : longint;
|
function ClavierHookLLProc(Code : integer; WordParam : wparam; LongParam: lparam) : longint;
|
||||||
@@ -6764,7 +6757,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
sc:=false;
|
sc:=false;
|
||||||
// il faut qu'on soit en RUN pour que les vitesses des trains soient prises en compte
|
// il faut qu'on soit en RUN pour que les vitesses des trains soient prises en compte
|
||||||
// pour arrêter un train dans CDM, envoyer une consigne nulle ne suffit pas, il faut envoyer un _STOP
|
// pour arrêter un train dans CDM, envoyer une consigne nulle ne suffit pas, il faut envoyer un _STOP mais il n'y a pas de décélération
|
||||||
if PilotageTrainsCDMNom then
|
if PilotageTrainsCDMNom then
|
||||||
s:=chaine_CDM_vitesseST(vitesse,nom_train) // par nom du train
|
s:=chaine_CDM_vitesseST(vitesse,nom_train) // par nom du train
|
||||||
else
|
else
|
||||||
@@ -21091,6 +21084,12 @@ begin
|
|||||||
timer1.Interval:=100;
|
timer1.Interval:=100;
|
||||||
timer1.Enabled:=true;
|
timer1.Enabled:=true;
|
||||||
|
|
||||||
|
{$IF CompilerVersion >= 28.0}
|
||||||
|
RedFonte:=Screen.DefaultPixelsPerInch/Screen.PixelsPerInch; // pour la réduction des fontes : windows mise à l'échelle du texte
|
||||||
|
{$ELSE}
|
||||||
|
RedFonte:=100/Screen.PixelsPerInch; // pour la réduction des fontes : windows mise à l'échelle du texte
|
||||||
|
{$IFEND}
|
||||||
|
|
||||||
ButtonEssai.Visible:=not(diffusion);
|
ButtonEssai.Visible:=not(diffusion);
|
||||||
GetLocaleFormatSettings(0,FormatSettings);
|
GetLocaleFormatSettings(0,FormatSettings);
|
||||||
FormatSettings.DecimalSeparator:='.';
|
FormatSettings.DecimalSeparator:='.';
|
||||||
@@ -21943,7 +21942,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// donne l'equation de droite: renvoie la pente et b (y=ax+b) de la droite passant par les points (x1,y1) et (x2,y2)
|
// donne l'equation de droite: renvoie la pente a et b (y=ax+b) de la droite passant par les points (x1,y1) et (x2,y2)
|
||||||
procedure equation_droite(y1,y2,x1,x2 : single;var pente,b : single);
|
procedure equation_droite(y1,y2,x1,x2 : single;var pente,b : single);
|
||||||
begin
|
begin
|
||||||
if x2-x1<>0 then pente:=(y2-y1)/(x2-x1) else pente:=9999;
|
if x2-x1<>0 then pente:=(y2-y1)/(x2-x1) else pente:=9999;
|
||||||
@@ -21963,6 +21962,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
// traite les taches par le timer
|
// traite les taches par le timer
|
||||||
|
// une tache est piloter un accessoire, une vitesse de train ou une fonction F
|
||||||
// tableau taches[].typeTache
|
// tableau taches[].typeTache
|
||||||
// [].chaine
|
// [].chaine
|
||||||
// [].tempo
|
// [].tempo
|
||||||
@@ -28097,4 +28097,6 @@ begin
|
|||||||
menu.Items[1].caption:='Extraire le compteur du train '+trains[IdTrainClic].nom_train;
|
menu.Items[1].caption:='Extraire le compteur du train '+trains[IdTrainClic].nom_train;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
+14
@@ -307,6 +307,20 @@ object FormTCO: TFormTCO
|
|||||||
8888888888888888888BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
|
8888888888888888888BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
|
||||||
BBBB}
|
BBBB}
|
||||||
end
|
end
|
||||||
|
object LabelPM: TLabel
|
||||||
|
Left = 968
|
||||||
|
Top = 320
|
||||||
|
Width = 16
|
||||||
|
Height = 20
|
||||||
|
Anchors = [akTop, akRight]
|
||||||
|
Caption = '- +'
|
||||||
|
Font.Charset = ANSI_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -16
|
||||||
|
Font.Name = 'Arial Narrow'
|
||||||
|
Font.Style = []
|
||||||
|
ParentFont = False
|
||||||
|
end
|
||||||
object ScrollBox: TScrollBox
|
object ScrollBox: TScrollBox
|
||||||
Left = 8
|
Left = 8
|
||||||
Top = 12
|
Top = 12
|
||||||
|
|||||||
+109
-30
@@ -170,6 +170,7 @@ type
|
|||||||
Modeslection1: TMenuItem;
|
Modeslection1: TMenuItem;
|
||||||
Modedplacement1: TMenuItem;
|
Modedplacement1: TMenuItem;
|
||||||
N12: TMenuItem;
|
N12: TMenuItem;
|
||||||
|
LabelPM: TLabel;
|
||||||
//TimerTCO: TTimer;
|
//TimerTCO: TTimer;
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure FormActivate(Sender: TObject);
|
procedure FormActivate(Sender: TObject);
|
||||||
@@ -417,6 +418,7 @@ type
|
|||||||
procedure EditAdrElementExit(Sender: TObject);
|
procedure EditAdrElementExit(Sender: TObject);
|
||||||
procedure Modeslection1Click(Sender: TObject);
|
procedure Modeslection1Click(Sender: TObject);
|
||||||
procedure Modedplacement1Click(Sender: TObject);
|
procedure Modedplacement1Click(Sender: TObject);
|
||||||
|
procedure Button1Click(Sender: TObject);
|
||||||
public
|
public
|
||||||
{ Déclarations publiques }
|
{ Déclarations publiques }
|
||||||
end;
|
end;
|
||||||
@@ -1633,7 +1635,7 @@ begin
|
|||||||
if (typEL=Tjd) or (typel=Tjs) then
|
if (typEL=Tjd) or (typel=Tjs) then
|
||||||
begin
|
begin
|
||||||
if deb then Affiche(intToSTR(adr1),clred);
|
if deb then Affiche(intToSTR(adr1),clred);
|
||||||
|
// croisements ou tjd
|
||||||
case Bim of
|
case Bim of
|
||||||
21 : begin
|
21 : begin
|
||||||
zone_tco(t,adr1,typEl,SensTCO_E,13,false,false); // chercher 1er élément à droite - xcanton Tel1
|
zone_tco(t,adr1,typEl,SensTCO_E,13,false,false); // chercher 1er élément à droite - xcanton Tel1
|
||||||
@@ -1835,7 +1837,7 @@ procedure Init_TCO(indexTCO : integer);
|
|||||||
var x,y : integer;
|
var x,y : integer;
|
||||||
begin
|
begin
|
||||||
sauve_tco:=true;
|
sauve_tco:=true;
|
||||||
Affiche('Nouveau tco '+intToSTr(indexTCO),clyellow);
|
Affiche('Nouveau tco '+intToStr(indexTCO),clyellow);
|
||||||
NbreCellX[indexTCO]:=35;NbreCellY[indexTCO]:=20;LargeurCell[indexTCO]:=35;HauteurCell[indexTCO]:=35;
|
NbreCellX[indexTCO]:=35;NbreCellY[indexTCO]:=20;LargeurCell[indexTCO]:=35;HauteurCell[indexTCO]:=35;
|
||||||
largeurCelld2[indexTCO]:=largeurCell[indexTCO] div 2;HauteurCelld2[indexTCO]:=HauteurCell[indexTCO] div 2;
|
largeurCelld2[indexTCO]:=largeurCell[indexTCO] div 2;HauteurCelld2[indexTCO]:=HauteurCell[indexTCO] div 2;
|
||||||
EcranTCO[indexTCO]:=1;
|
EcranTCO[indexTCO]:=1;
|
||||||
@@ -2500,13 +2502,6 @@ begin
|
|||||||
b:=i;
|
b:=i;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// donne l'équation de droite y=ax+b passant par les points (x1,y1) (x2,y2)
|
|
||||||
procedure droite(x1,y1,x2,y2: integer;var a,b: single);
|
|
||||||
begin
|
|
||||||
if x2<>x1 then a:=(y2-y1)/(x2-x1) else a:=99999;
|
|
||||||
b:=y1-a*x1;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure sauve_fichiers_tco;
|
procedure sauve_fichiers_tco;
|
||||||
var fichier : textfile;
|
var fichier : textfile;
|
||||||
s : string;
|
s : string;
|
||||||
@@ -2971,7 +2966,7 @@ begin
|
|||||||
taillefont:=tco[indextco,x,y].TailleFonte;
|
taillefont:=tco[indextco,x,y].TailleFonte;
|
||||||
if taillefont=0 then taillefont:=8;
|
if taillefont=0 then taillefont:=8;
|
||||||
tf:=(taillefont*LargeurCell[indexTCO]) div 40;
|
tf:=(taillefont*LargeurCell[indexTCO]) div 40;
|
||||||
c.font.Size:=tf;
|
c.font.Size:=round(tf*RedFonte);
|
||||||
|
|
||||||
if b=id_action then c.Brush.Color:=couleurAction;
|
if b=id_action then c.Brush.Color:=couleurAction;
|
||||||
|
|
||||||
@@ -3018,7 +3013,7 @@ begin
|
|||||||
|
|
||||||
if repr=4 then texte_reparti(s,indextco,x,y,c.font.size) else
|
if repr=4 then texte_reparti(s,indextco,x,y,c.font.size) else
|
||||||
c.Textout(x0+xt,y0+yt,s);
|
c.Textout(x0+xt,y0+yt,s);
|
||||||
|
|
||||||
|
|
||||||
// texte encadré
|
// texte encadré
|
||||||
if tco[indextco,x,y].buttoir=1 then
|
if tco[indextco,x,y].buttoir=1 then
|
||||||
@@ -6294,7 +6289,7 @@ begin
|
|||||||
if testbit(pont,2) or testbit(pont,6) then
|
if testbit(pont,2) or testbit(pont,6) then
|
||||||
begin
|
begin
|
||||||
pen.color:=clfond[indexTCO];
|
pen.color:=clfond[indexTCO];
|
||||||
droite(xf,y0,x0,yf,a1,b1);
|
equation_droite(xf,y0,x0,yf,a1,b1);
|
||||||
// droite a2,b2 // passant par x2,y2
|
// droite a2,b2 // passant par x2,y2
|
||||||
a2:=a1;
|
a2:=a1;
|
||||||
|
|
||||||
@@ -6439,7 +6434,7 @@ begin
|
|||||||
with canvas do
|
with canvas do
|
||||||
begin
|
begin
|
||||||
// donne l'équation de droite y=ax+b passant par les points (x1,y1) (x2,y2)
|
// donne l'équation de droite y=ax+b passant par les points (x1,y1) (x2,y2)
|
||||||
droite(xc,yc,xf,y0,a1,b1);
|
equation_droite(xc,yc,xf,y0,a1,b1);
|
||||||
//haut
|
//haut
|
||||||
moveTo(x0,yc); LineTo(xc-epaisseur,yc);
|
moveTo(x0,yc); LineTo(xc-epaisseur,yc);
|
||||||
LineTo(xc+epaisseur,round((xc+epaisseur)*a1+b1) ); LineTo(xf,y0);
|
LineTo(xc+epaisseur,round((xc+epaisseur)*a1+b1) ); LineTo(xf,y0);
|
||||||
@@ -6581,7 +6576,7 @@ begin
|
|||||||
if testbit(pont,0) or testbit(pont,4) then
|
if testbit(pont,0) or testbit(pont,4) then
|
||||||
begin
|
begin
|
||||||
pen.color:=clfond[indexTCO];
|
pen.color:=clfond[indexTCO];
|
||||||
droite(x0,y0,xf,yf,a1,b1);
|
equation_droite(x0,y0,xf,yf,a1,b1);
|
||||||
// droite a2,b2 // passant par x2,y2
|
// droite a2,b2 // passant par x2,y2
|
||||||
a2:=a1;
|
a2:=a1;
|
||||||
|
|
||||||
@@ -6717,7 +6712,7 @@ begin
|
|||||||
with canvas do
|
with canvas do
|
||||||
begin
|
begin
|
||||||
// donne l'équation de droite y=ax+b passant par les points (x1,y1) (x2,y2)
|
// donne l'équation de droite y=ax+b passant par les points (x1,y1) (x2,y2)
|
||||||
droite(x0,y0,xc,yc,a1,b1);
|
equation_droite(x0,y0,xc,yc,a1,b1);
|
||||||
moveTo(x0,y0);LineTo(xc-epaisseur,round((xc-epaisseur)*a1+b1) ); LineTo(xc+epaisseur,yc); LineTo(xf,yc);
|
moveTo(x0,y0);LineTo(xc-epaisseur,round((xc-epaisseur)*a1+b1) ); LineTo(xc+epaisseur,yc); LineTo(xf,yc);
|
||||||
|
|
||||||
moveTo(x0,yc);lineTo(xc-epaisseur,yc);
|
moveTo(x0,yc);lineTo(xc-epaisseur,yc);
|
||||||
@@ -7115,7 +7110,7 @@ begin
|
|||||||
s:=canton[i].nom;
|
s:=canton[i].nom;
|
||||||
if s<>'' then
|
if s<>'' then
|
||||||
begin
|
begin
|
||||||
font.Size:=((Larg*10) div 30)+1; //((LargCell*5) div 29);
|
font.Size:=round(RedFonte*((Larg*10) div 30)+1); //((LargCell*5) div 29);
|
||||||
Brush.Color:=coul;
|
Brush.Color:=coul;
|
||||||
dx:=TextWidth(s) div 2;
|
dx:=TextWidth(s) div 2;
|
||||||
dy:=TextHeight(s) div 2;
|
dy:=TextHeight(s) div 2;
|
||||||
@@ -7168,7 +7163,7 @@ begin
|
|||||||
if l<dx-xt then
|
if l<dx-xt then
|
||||||
begin
|
begin
|
||||||
font.Style:=[];
|
font.Style:=[];
|
||||||
font.Size:=((Larg*10) div 40)+1; //((LargCell*5) div 29);
|
font.Size:=round(RedFonte*((Larg*10) div 40)+1); //((LargCell*5) div 29);
|
||||||
// Affiche(intToSTR(numC)+' '+intToSTR(font.size),clYellow);
|
// Affiche(intToSTR(numC)+' '+intToSTR(font.size),clYellow);
|
||||||
brush.color:=coul;
|
brush.color:=coul;
|
||||||
textout(xt,yt,s);
|
textout(xt,yt,s);
|
||||||
@@ -7346,7 +7341,7 @@ begin
|
|||||||
s:=canton[i].nom;
|
s:=canton[i].nom;
|
||||||
if s<>'' then
|
if s<>'' then
|
||||||
begin
|
begin
|
||||||
font.Size:=((Larg*10) div 30)+1; //((LargCell*5) div 29);
|
font.Size:=round(RedFonte*((Larg*10) div 30)+1); //((LargCell*5) div 29);
|
||||||
Brush.Color:=coul;
|
Brush.Color:=coul;
|
||||||
dy:=TextWidth(s) div 2;
|
dy:=TextWidth(s) div 2;
|
||||||
dx:=TextHeight(s) div 2;
|
dx:=TextHeight(s) div 2;
|
||||||
@@ -7941,7 +7936,7 @@ begin
|
|||||||
if testbit(pont,2) or testbit(pont,6) then
|
if testbit(pont,2) or testbit(pont,6) then
|
||||||
begin
|
begin
|
||||||
pen.color:=clfond[indexTCO];
|
pen.color:=clfond[indexTCO];
|
||||||
droite(xf,y0,x0,yf,a1,b1);
|
equation_droite(xf,y0,x0,yf,a1,b1);
|
||||||
// droite a2,b2 // passant par x2,y2
|
// droite a2,b2 // passant par x2,y2
|
||||||
a2:=a1;
|
a2:=a1;
|
||||||
|
|
||||||
@@ -8085,7 +8080,7 @@ begin
|
|||||||
with canvas do
|
with canvas do
|
||||||
begin
|
begin
|
||||||
// donne l'équation de droite y=ax+b passant par les points (x1,y1) (x2,y2)
|
// donne l'équation de droite y=ax+b passant par les points (x1,y1) (x2,y2)
|
||||||
droite(xc,yc,x0,yf,a1,b1);
|
equation_droite(xc,yc,x0,yf,a1,b1);
|
||||||
//gauche
|
//gauche
|
||||||
moveTo(xc,y0); LineTo(xc,yc-epaisseur);
|
moveTo(xc,y0); LineTo(xc,yc-epaisseur);
|
||||||
LineTo(xc-epaisseur,round((xc-epaisseur)*a1+b1) ); LineTo(x0,yf);
|
LineTo(xc-epaisseur,round((xc-epaisseur)*a1+b1) ); LineTo(x0,yf);
|
||||||
@@ -8236,7 +8231,7 @@ begin
|
|||||||
if testbit(pont,0) or testbit(pont,4) then
|
if testbit(pont,0) or testbit(pont,4) then
|
||||||
begin
|
begin
|
||||||
pen.color:=clfond[indexTCO];
|
pen.color:=clfond[indexTCO];
|
||||||
droite(x0,y0,xf,yf,a1,b1);
|
equation_droite(x0,y0,xf,yf,a1,b1);
|
||||||
// droite a2,b2 // passant par x2,y2
|
// droite a2,b2 // passant par x2,y2
|
||||||
a2:=a1;
|
a2:=a1;
|
||||||
|
|
||||||
@@ -8380,7 +8375,7 @@ begin
|
|||||||
with canvas do
|
with canvas do
|
||||||
begin
|
begin
|
||||||
// donne l'équation de droite y=ax+b passant par les points (x1,y1) (x2,y2)
|
// donne l'équation de droite y=ax+b passant par les points (x1,y1) (x2,y2)
|
||||||
droite(x0,y0,xf,yf,a1,b1);
|
equation_droite(x0,y0,xf,yf,a1,b1);
|
||||||
//gauche
|
//gauche
|
||||||
moveTo(xc,yf); LineTo(xc,yc+epaisseur);
|
moveTo(xc,yf); LineTo(xc,yc+epaisseur);
|
||||||
LineTo(xc-epaisseur,round((xc-epaisseur)*a1+b1) ); LineTo(x0,y0);
|
LineTo(xc-epaisseur,round((xc-epaisseur)*a1+b1) ); LineTo(x0,y0);
|
||||||
@@ -11390,7 +11385,7 @@ begin
|
|||||||
with PCanvasTCO[indexTCO] do
|
with PCanvasTCO[indexTCO] do
|
||||||
begin
|
begin
|
||||||
Brush.Color:=clFond;
|
Brush.Color:=clFond;
|
||||||
font.Size:=((LargCell*6) div 30)+1; //((LargCell*5) div 29);
|
font.Size:=round(RedFonte*((LargCell*6) div 30)+1); //((LargCell*5) div 29);
|
||||||
if NB then font.color:=clBlack else
|
if NB then font.color:=clBlack else
|
||||||
Font.Color:=tco[indextco,x,y].coulFonte;
|
Font.Color:=tco[indextco,x,y].coulFonte;
|
||||||
Font.Name:='Arial';
|
Font.Name:='Arial';
|
||||||
@@ -11973,9 +11968,50 @@ begin
|
|||||||
begin
|
begin
|
||||||
parent:=self;
|
parent:=self;
|
||||||
name:='BallonHint';
|
name:='BallonHint';
|
||||||
|
BallonHint.Style:=bhsBalloon;
|
||||||
|
BallonHint.HideAfter:=4000;
|
||||||
end;
|
end;
|
||||||
{$IFEND}
|
{$IFEND}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Label1.Font.Size:=round(12*RedFonte);
|
||||||
|
Label2.Font.Size:=round(12*RedFonte);
|
||||||
|
Label3.Font.Size:=round(12*RedFonte);
|
||||||
|
Label4.Font.Size:=round(12*RedFonte);
|
||||||
|
Label5.Font.Size:=round(12*RedFonte);
|
||||||
|
Label6.Font.Size:=round(12*RedFonte);
|
||||||
|
Label7.Font.Size:=round(12*RedFonte);
|
||||||
|
Label8.Font.Size:=round(12*RedFonte);
|
||||||
|
Label9.Font.Size:=round(12*RedFonte);
|
||||||
|
Label10.Font.Size:=round(12*RedFonte);
|
||||||
|
Label11.Font.Size:=round(12*RedFonte);
|
||||||
|
Label12.Font.Size:=round(12*RedFonte);
|
||||||
|
Label13.Font.Size:=round(12*RedFonte);
|
||||||
|
Label14.Font.Size:=round(12*RedFonte);
|
||||||
|
Label15.Font.Size:=round(12*RedFonte);
|
||||||
|
Label16.Font.Size:=round(12*RedFonte);
|
||||||
|
Label17.Font.Size:=round(12*RedFonte);
|
||||||
|
Label18.Font.Size:=round(12*RedFonte);
|
||||||
|
Label19.Font.Size:=round(12*RedFonte);
|
||||||
|
Label20.Font.Size:=round(12*RedFonte);
|
||||||
|
Label21.Font.Size:=round(12*RedFonte);
|
||||||
|
Label22.Font.Size:=round(12*RedFonte);
|
||||||
|
Label23.Font.Size:=round(12*RedFonte);
|
||||||
|
Label24.Font.Size:=round(12*RedFonte);
|
||||||
|
Label25.Font.Size:=round(12*RedFonte);
|
||||||
|
Label26.Font.Size:=round(12*RedFonte);
|
||||||
|
Label27.Font.Size:=round(12*RedFonte);
|
||||||
|
Label28.Font.Size:=round(12*RedFonte);
|
||||||
|
Label29.Font.Size:=round(12*RedFonte);
|
||||||
|
Label32.Font.Size:=round(12*RedFonte);
|
||||||
|
Label33.Font.Size:=round(12*RedFonte);
|
||||||
|
Label34.Font.Size:=round(12*RedFonte);
|
||||||
|
Label50.Font.Size:=round(12*RedFonte);
|
||||||
|
Label51.Font.Size:=round(12*RedFonte);
|
||||||
|
Label52.Font.Size:=round(12*RedFonte);
|
||||||
|
Label53.Font.Size:=round(12*RedFonte);
|
||||||
|
|
||||||
ModeSlection1.checked:=false;
|
ModeSlection1.checked:=false;
|
||||||
ModeDplacement1.Checked:=true;
|
ModeDplacement1.Checked:=true;
|
||||||
modeGlisse:=true;
|
modeGlisse:=true;
|
||||||
@@ -12000,7 +12036,19 @@ begin
|
|||||||
TamponTCO_org.Yorg:=0;
|
TamponTCO_org.Yorg:=0;
|
||||||
indexTrace:=0;
|
indexTrace:=0;
|
||||||
KeyPreview:=true; // valide les évènements clavier
|
KeyPreview:=true; // valide les évènements clavier
|
||||||
TrackBarZoom.Tabstop:=false; // permet d'avoir les evts curseurs
|
with TrackBarZoom do
|
||||||
|
begin
|
||||||
|
Tabstop:=false; // permet d'avoir les evts curseurs
|
||||||
|
Anchors:=[];
|
||||||
|
Anchors:=[akTop,akRight];
|
||||||
|
end;
|
||||||
|
ImageDrapVert.Visible:=false;
|
||||||
|
ImageDrapRouge.Visible:=false;
|
||||||
|
ImageBt0Bistable.Visible:=false;
|
||||||
|
ImageBt1Bistable.Visible:=false;
|
||||||
|
ImageTemp2.Visible:=false;
|
||||||
|
ImageTemp.Visible:=false;
|
||||||
|
|
||||||
ButtonSauveTCO.TabStop:=false;
|
ButtonSauveTCO.TabStop:=false;
|
||||||
ButtonConfigTCO.TabStop:=false;
|
ButtonConfigTCO.TabStop:=false;
|
||||||
ButtonRaz.TabStop:=false;
|
ButtonRaz.TabStop:=false;
|
||||||
@@ -14169,6 +14217,7 @@ begin
|
|||||||
clLarge:=Width;
|
clLarge:=Width;
|
||||||
clHaut:=Height;
|
clHaut:=Height;
|
||||||
|
|
||||||
|
PanelBas.Height:=GroupBox1.top+GroupBox1.Height+20;
|
||||||
panelBas.width:=clLarge-5;
|
panelBas.width:=clLarge-5;
|
||||||
PanelBas.Top:=clHaut-PanelBas.Height-50; // 50=entete de la fenetre
|
PanelBas.Top:=clHaut-PanelBas.Height-50; // 50=entete de la fenetre
|
||||||
|
|
||||||
@@ -14204,7 +14253,7 @@ end;
|
|||||||
|
|
||||||
procedure TFormTCO.FormActivate(Sender: TObject);
|
procedure TFormTCO.FormActivate(Sender: TObject);
|
||||||
//procedure PFormTCO[indexTCO].FormActivate(Sender: TObject);
|
//procedure PFormTCO[indexTCO].FormActivate(Sender: TObject);
|
||||||
var indextco : integer;
|
var i,indextco : integer;
|
||||||
begin
|
begin
|
||||||
indextco:=index_TCO(sender);
|
indextco:=index_TCO(sender);
|
||||||
IndexTCOCourant:=indexTCO;
|
IndexTCOCourant:=indexTCO;
|
||||||
@@ -14248,6 +14297,10 @@ begin
|
|||||||
TrackBarZoom.Min:=ZoomMin;
|
TrackBarZoom.Min:=ZoomMin;
|
||||||
|
|
||||||
positionne(indexTCO);
|
positionne(indexTCO);
|
||||||
|
i:=ScrollBox.Left+ScrollBox.Width;
|
||||||
|
trackBarZoom.Left:=i;
|
||||||
|
LabelPM.Left:=i;
|
||||||
|
LabelZoom.Left:=i;
|
||||||
|
|
||||||
renseigne_tous_cantons;
|
renseigne_tous_cantons;
|
||||||
renseigne_TJDs_TCO;
|
renseigne_TJDs_TCO;
|
||||||
@@ -15083,6 +15136,7 @@ var s,d,indexTCO : integer;
|
|||||||
begin
|
begin
|
||||||
if affevt then Affiche('TCO.FormKeyDown',clOrange);
|
if affevt then Affiche('TCO.FormKeyDown',clOrange);
|
||||||
indexTCO:=index_TCO(Sender);
|
indexTCO:=index_TCO(Sender);
|
||||||
|
|
||||||
//Affiche('Avant xClicCell='+intToSTR(XClicCell[indexTCO]),clCyan);
|
//Affiche('Avant xClicCell='+intToSTR(XClicCell[indexTCO]),clCyan);
|
||||||
|
|
||||||
if (RadioGroupSel.ItemIndex=1) and (Key=Vk_Escape) then
|
if (RadioGroupSel.ItemIndex=1) and (Key=Vk_Escape) then
|
||||||
@@ -15153,6 +15207,23 @@ begin
|
|||||||
stop_modetrace(indexTCO);
|
stop_modetrace(indexTCO);
|
||||||
end;
|
end;
|
||||||
VK_DELETE : couper(indexTCO);
|
VK_DELETE : couper(indexTCO);
|
||||||
|
|
||||||
|
107 : begin
|
||||||
|
d:=TrackBarZoom.Position;
|
||||||
|
if d>15 then
|
||||||
|
begin
|
||||||
|
dec(d);
|
||||||
|
TrackBarZoom.Position:=d;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
109 : begin
|
||||||
|
d:=TrackBarZoom.Position;
|
||||||
|
if d<100 then
|
||||||
|
begin
|
||||||
|
inc(d);
|
||||||
|
TrackBarZoom.Position:=d;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if (ssShift in Shift) then
|
if (ssShift in Shift) then
|
||||||
@@ -16329,13 +16400,12 @@ begin
|
|||||||
begin
|
begin
|
||||||
BallonHint.Title:=s1;
|
BallonHint.Title:=s1;
|
||||||
BallonHint.Description:=s2;
|
BallonHint.Description:=s2;
|
||||||
BallonHint.Style:=bhsBalloon;
|
|
||||||
BallonHint.HideAfter:=4000;
|
|
||||||
x:=(canton[IdCantonSelect].x-1)*LargeurCell[indexTCO]+(LargeurCell[indexTCO] div 2);
|
x:=(canton[IdCantonSelect].x-1)*LargeurCell[indexTCO]+(LargeurCell[indexTCO] div 2);
|
||||||
y:=(canton[IdCantonSelect].y-1)*HauteurCell[indexTCO]+HauteurCell[indexTCO] div 2;
|
y:=(canton[IdCantonSelect].y-1)*HauteurCell[indexTCO]+HauteurCell[indexTCO] div 2;
|
||||||
ballonhint.ShowHint(PimageTCO[indexTCO].ClientToScreen(point(x,y))); // affiche le ballonHint
|
ballonhint.ShowHint(PimageTCO[indexTCO].ClientToScreen(point(x,y))); // affiche le ballonHint
|
||||||
end;
|
ImageTCO.Hint:=''; // pas de hint "normal"
|
||||||
{$IFEND}
|
end;
|
||||||
|
{$IFEND}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// évènement qui se produit quand on clique gauche ou droit
|
// évènement qui se produit quand on clique gauche ou droit
|
||||||
@@ -18184,7 +18254,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
FontDialog1.Font.Name:=tco[indextco,XclicCell[indexTCO],YclicCell[indexTCO]].Fonte;
|
FontDialog1.Font.Name:=tco[indextco,XclicCell[indexTCO],YclicCell[indexTCO]].Fonte;
|
||||||
FontDialog1.Font.Color:=tco[indextco,XclicCell[indexTCO],YclicCell[indexTCO]].CoulFonte;
|
FontDialog1.Font.Color:=tco[indextco,XclicCell[indexTCO],YclicCell[indexTCO]].CoulFonte;
|
||||||
FontDialog1.Font.Size:=tco[indextco,XclicCell[indexTCO],YclicCell[indexTCO]].taillefonte;
|
FontDialog1.Font.Size:=round(RedFonte*tco[indextco,XclicCell[indexTCO],YclicCell[indexTCO]].taillefonte);
|
||||||
|
|
||||||
fs:=[];
|
fs:=[];
|
||||||
s:=tco[indextco,XclicCell[indexTCO],YclicCell[indexTCO]].FontStyle;
|
s:=tco[indextco,XclicCell[indexTCO],YclicCell[indexTCO]].FontStyle;
|
||||||
@@ -19631,6 +19701,15 @@ begin
|
|||||||
modeGlisse:=true;
|
modeGlisse:=true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TFormTCO.Button1Click(Sender: TObject);
|
||||||
|
var i : integer;
|
||||||
|
begin
|
||||||
|
i:=trackBarZoom.Left ;
|
||||||
|
Affiche(intToSTR(i),clLime);
|
||||||
|
dec(i);
|
||||||
|
trackBarZoom.Left:=i;
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ object FormAig: TFormAig
|
|||||||
KeyPreview = True
|
KeyPreview = True
|
||||||
OldCreateOrder = False
|
OldCreateOrder = False
|
||||||
OnActivate = FormActivate
|
OnActivate = FormActivate
|
||||||
|
OnCreate = FormCreate
|
||||||
OnKeyPress = FormKeyPress
|
OnKeyPress = FormKeyPress
|
||||||
PixelsPerInch = 96
|
PixelsPerInch = 96
|
||||||
TextHeight = 13
|
TextHeight = 13
|
||||||
|
|||||||
+5
-3
@@ -22,6 +22,7 @@ type
|
|||||||
procedure ButtonDev2Click(Sender: TObject);
|
procedure ButtonDev2Click(Sender: TObject);
|
||||||
procedure ButtonDroit2Click(Sender: TObject);
|
procedure ButtonDroit2Click(Sender: TObject);
|
||||||
procedure FormKeyPress(Sender: TObject; var Key: Char);
|
procedure FormKeyPress(Sender: TObject; var Key: Char);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
private
|
private
|
||||||
{ Déclarations privées }
|
{ Déclarations privées }
|
||||||
public
|
public
|
||||||
@@ -194,9 +195,10 @@ begin
|
|||||||
if key=chr(27) then close;
|
if key=chr(27) then close;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TFormAig.FormCreate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
|
width:=ButtonDroit2.left+buttonDroit2.Width+30; // adapte la fenetre aux taille des boutons qui ont pu changer si on sélectionne un % de fonte dans windows
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|||||||
+10
-11
@@ -36,12 +36,10 @@ type
|
|||||||
{ Déclarations publiques }
|
{ Déclarations publiques }
|
||||||
end;
|
end;
|
||||||
|
|
||||||
const
|
|
||||||
HauteurLigneSGT=30;
|
|
||||||
|
|
||||||
var
|
var
|
||||||
FormSelTrain: TFormSelTrain;
|
FormSelTrain: TFormSelTrain;
|
||||||
largC,hautC,LargeurSGT,indexTrainClic : Integer;
|
largC,hautC,LargeurSGT,indexTrainClic,HauteurLigneSGT : Integer;
|
||||||
routeSav : TuneRoute;
|
routeSav : TuneRoute;
|
||||||
|
|
||||||
procedure actualise_seltrains;
|
procedure actualise_seltrains;
|
||||||
@@ -437,6 +435,7 @@ end;
|
|||||||
procedure TFormSelTrain.FormCreate(Sender: TObject);
|
procedure TFormSelTrain.FormCreate(Sender: TObject);
|
||||||
var i : integer;
|
var i : integer;
|
||||||
begin
|
begin
|
||||||
|
HauteurLigneSGT:=round(30/redFonte);
|
||||||
with ImageHaut do begin Width:=60;Height:=60;visible:=false; end;
|
with ImageHaut do begin Width:=60;Height:=60;visible:=false; end;
|
||||||
with ImageBas do begin Width:=60;Height:=60;visible:=false; end;
|
with ImageBas do begin Width:=60;Height:=60;visible:=false; end;
|
||||||
with ImageDroite do begin Width:=60;Height:=60;visible:=false; end;
|
with ImageDroite do begin Width:=60;Height:=60;visible:=false; end;
|
||||||
@@ -454,14 +453,14 @@ begin
|
|||||||
ShowHint:=true;
|
ShowHint:=true;
|
||||||
ColCount:=8; // nombre de colonnes
|
ColCount:=8; // nombre de colonnes
|
||||||
RowCount:=Ntrains+1;
|
RowCount:=Ntrains+1;
|
||||||
ColWidths[0]:=50;
|
ColWidths[0]:=round(50/RedFonte);;
|
||||||
ColWidths[1]:=200; // icone
|
ColWidths[1]:=round(200/RedFonte);; // icone
|
||||||
ColWidths[2]:=150; // nom du train
|
ColWidths[2]:=round(150/RedFonte);; // nom du train
|
||||||
ColWidths[3]:=60; // canton
|
ColWidths[3]:=round(60/RedFonte);; // canton
|
||||||
ColWidths[4]:=100;
|
ColWidths[4]:=round(100/RedFonte);;
|
||||||
ColWidths[5]:=120;
|
ColWidths[5]:=round(120/RedFonte);;
|
||||||
ColWidths[6]:=30;
|
ColWidths[6]:=round(30/RedFonte);;
|
||||||
ColWidths[7]:=35;
|
ColWidths[7]:=round(35/RedFonte);;
|
||||||
LargeurSGT:=0;
|
LargeurSGT:=0;
|
||||||
for i:=0 to 7 do LargeurSGT:=LargeurSGT+ColWidths[i];
|
for i:=0 to 7 do LargeurSGT:=LargeurSGT+ColWidths[i];
|
||||||
width:=LargeurSGT+30;
|
width:=LargeurSGT+30;
|
||||||
|
|||||||
+1
-1
@@ -26,7 +26,7 @@ var
|
|||||||
f : textFile;
|
f : textFile;
|
||||||
|
|
||||||
Const
|
Const
|
||||||
VersionSC = '10.54'; // sert à la comparaison de la version publiée
|
VersionSC = '10.6'; // 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
|
||||||
// pour unzip
|
// pour unzip
|
||||||
SHCONTCH_NOPROGRESSBOX=4;
|
SHCONTCH_NOPROGRESSBOX=4;
|
||||||
|
|||||||
+6
-1
@@ -333,7 +333,12 @@ version 10.51 : Correction placement des trains dans le TCO.
|
|||||||
version 10.52 : Sélection routes pour plusieurs trains dans le TCO.
|
version 10.52 : Sélection routes pour plusieurs trains dans le TCO.
|
||||||
version 10.53 : Vérification du répertoire d'installation de CDM Rail.
|
version 10.53 : Vérification du répertoire d'installation de CDM Rail.
|
||||||
Correction d'un bug sur la suppression/création train.
|
Correction d'un bug sur la suppression/création train.
|
||||||
version 10.54 : Améliorations diverses
|
version 10.54 : Améliorations diverses.
|
||||||
|
version 10.6 : Modification pour l'affichage de la barre de zoom du TCO pour les
|
||||||
|
versions les plus récentes de W11.
|
||||||
|
Ajout des touches + et - pour le zoom du TCO.
|
||||||
|
Correction des affichages lors des mises à l'échelle du texte dans win10/11.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user