V2.2
This commit is contained in:
f1iwq2
2020-11-29 11:04:24 +01:00
parent 9fba9f6a97
commit a1839decfa
21 changed files with 11131 additions and 441 deletions
+2 -2
View File
@@ -31,5 +31,5 @@
-M
-$M16384,1048576
-K$00400000
-LE"c:\program files (x86)\borland\delphi7\Projects\Bpl"
-LN"c:\program files (x86)\borland\delphi7\Projects\Bpl"
-LE"c:\program files\borland\delphi7\Projects\Bpl"
-LN"c:\program files\borland\delphi7\Projects\Bpl"
Binary file not shown.
BIN
View File
Binary file not shown.
+3 -3
View File
@@ -1,6 +1,6 @@
object FormConfig: TFormConfig
Left = 267
Top = 246
Left = 266
Top = 160
Hint =
'Modifie les fichiers de configuration selon les s'#233'lections chois' +
'ies'
@@ -1776,7 +1776,7 @@ object FormConfig: TFormConfig
Top = 8
Width = 585
Height = 441
ActivePage = TabSheetCDM
ActivePage = TabSheetSig
Font.Charset = DEFAULT_CHARSET
Font.Color = clBackground
Font.Height = -11
+25 -19
View File
@@ -486,8 +486,8 @@ begin
aspect:=feux[i].aspect;
if aspect<10 then s:=s+IntToSTR(aspect)+',' else s:=s+'D'+intToSTR(aspect-10)+',';
// bouton feu blanc
if feux[i].feublanc then s:=s+'1,' else s:=s+'0,';
// bouton feu blanc, n'existe pas pour un feu directionnel (aspect>10)
if aspect<10 then begin if feux[i].feublanc then s:=s+'1,' else s:=s+'0,';end;
// décodeur
s:=s+IntToSTR(feux[i].decodeur)+',';
@@ -697,27 +697,33 @@ begin
writeln(fichierN,s);
continue:=s[1]<>'0';
until not(continue);
copie_commentaire;
writeln(fichierN,s);
// modélisation des signaux
if s[1]<>'0' then
// copie tous les commentaires de la branche feux
repeat
readln(fichier,s);
writeln(fichierN,s);
continue:=s[1]<>'0';
until not(continue);
copie_commentaire;
continue:=true;
if length(s)>0 then
begin
if s[1]='/' then writeln(fichierN,s);
continue:=s[1]<>'0';
end;
until not(continue) or eof(fichier);
writeln(fichierN,s);
// Fonctions Fx
if s[1]<>'0' then
repeat
readln(fichier,s);
for i:=1 to NbreFeux do
begin
s:=encode_sig(i);
feux[i].modifie:=false; // sauvegarde en cours, on démarque
writeln(fichierN,s);
continue:=s[1]<>'0';
until not(continue);
copie_commentaire;
end;
writeln(fichierN,'0');
// Fonctions Fx généré du fichier d'origine, pas encore fait
repeat
continue:=true;
readln(fichier,s);
writeln(fichierN,s);
if length(s)>0 then continue:=s[1]<>'0';
until not(continue) or eof(fichier);
closefile(fichier);
closefile(fichierN);
@@ -1285,7 +1291,7 @@ begin
EditDet1.Visible:=true;EditDet2.Visible:=true;EditDet3.Visible:=true;EditDet4.Visible:=true;
EditSuiv1.Visible:=true;EditSuiv2.Visible:=true;EditSuiv3.Visible:=true;EditSuiv4.Visible:=true;
Label24.Visible:=true; Label25.Visible:=true;Label26.Visible:=true;Label27.Visible:=true;
CheckVerrouCarre.Visible:=false;
CheckVerrouCarre.Visible:=true;
EditDet1.Text:=IntToSTR(feux[i].Adr_det1);
EditSuiv1.Text:=TypeEl_To_char(feux[i].Btype_suiv1)+IntToSTR(feux[i].Adr_el_suiv1);
j:=feux[i].Adr_det2;
BIN
View File
Binary file not shown.
+169 -123
View File
@@ -1,8 +1,8 @@
object FormDebug: TFormDebug
Left = 186
Top = 143
Width = 809
Height = 773
Left = 342
Top = 80
Width = 842
Height = 762
Caption = 'Fen'#234'tre de d'#233'bug'
Color = clWindow
TransparentColorValue = clTeal
@@ -16,12 +16,12 @@ object FormDebug: TFormDebug
OnClose = FormClose
OnCreate = FormCreate
DesignSize = (
793
735)
826
724)
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 609
Left = 642
Top = 7
Width = 108
Height = 13
@@ -37,7 +37,7 @@ object FormDebug: TFormDebug
ParentFont = False
end
object Label2: TLabel
Left = 441
Left = 474
Top = 4
Width = 131
Height = 18
@@ -51,10 +51,10 @@ object FormDebug: TFormDebug
ParentFont = False
end
object Label3: TLabel
Left = 441
Left = 472
Top = 168
Width = 97
Height = 193
Width = 99
Height = 185
Anchors = [akTop, akRight]
AutoSize = False
Caption = 'Label3'
@@ -69,7 +69,7 @@ object FormDebug: TFormDebug
WordWrap = True
end
object EditNivDebug: TEdit
Left = 721
Left = 754
Top = 4
Width = 49
Height = 21
@@ -85,10 +85,10 @@ object FormDebug: TFormDebug
OnKeyPress = EditNivDebugKeyPress
end
object MemoEvtDet: TMemo
Left = 545
Top = 408
Width = 233
Height = 221
Left = 578
Top = 360
Width = 239
Height = 225
Anchors = [akTop, akRight]
Color = clBlack
Font.Charset = ANSI_CHARSET
@@ -104,8 +104,8 @@ object FormDebug: TFormDebug
TabOrder = 1
end
object ButtonEcrLog: TButton
Left = 441
Top = 504
Left = 474
Top = 480
Width = 97
Height = 29
Anchors = [akTop, akRight]
@@ -115,9 +115,9 @@ object FormDebug: TFormDebug
end
object MemoDebug: TMemo
Left = 0
Top = 8
Width = 426
Height = 722
Top = 0
Width = 465
Height = 721
Anchors = [akLeft, akTop, akRight, akBottom]
Lines.Strings = (
'MemoDebug')
@@ -126,8 +126,8 @@ object FormDebug: TFormDebug
WordWrap = False
end
object ButtonRazTampon: TButton
Left = 441
Top = 584
Left = 474
Top = 552
Width = 97
Height = 33
Anchors = [akTop, akRight]
@@ -137,18 +137,18 @@ object FormDebug: TFormDebug
OnClick = ButtonRazTamponClick
end
object ButtonCherche: TButton
Left = 441
Top = 464
Left = 474
Top = 448
Width = 97
Height = 33
Height = 25
Anchors = [akTop, akRight]
Caption = 'Chercher erreurs'
TabOrder = 5
OnClick = ButtonChercheClick
end
object ButtonAffEvtChrono: TButton
Left = 441
Top = 424
Left = 474
Top = 408
Width = 97
Height = 33
Anchors = [akTop, akRight]
@@ -158,21 +158,27 @@ object FormDebug: TFormDebug
OnClick = ButtonAffEvtChronoClick
end
object ButtonCop: TButton
Left = 441
Top = 368
Left = 474
Top = 360
Width = 97
Height = 49
Height = 41
Anchors = [akTop, akRight]
Caption = 'Copie fen'#234'te principale dans debug'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWhite
Font.Height = -9
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 7
WordWrap = True
OnClick = ButtonCopClick
end
object RichEdit: TRichEdit
Left = 545
Left = 578
Top = 168
Width = 233
Height = 233
Width = 239
Height = 185
Anchors = [akTop, akRight]
HideScrollBars = False
PopupMenu = PopupMenuRE
@@ -180,8 +186,8 @@ object FormDebug: TFormDebug
TabOrder = 8
end
object ButtonRazLog: TButton
Left = 441
Top = 544
Left = 474
Top = 512
Width = 97
Height = 33
Anchors = [akTop, akRight]
@@ -191,11 +197,11 @@ object FormDebug: TFormDebug
OnClick = ButtonRazLogClick
end
object GroupBox1: TGroupBox
Left = 433
Top = 633
Width = 353
Height = 97
Anchors = [akRight, akBottom]
Left = 474
Top = 592
Width = 343
Height = 132
Anchors = [akTop, akRight]
Caption = 'Fonctions primitives'
Color = cl3DLight
Font.Charset = DEFAULT_CHARSET
@@ -206,78 +212,118 @@ object FormDebug: TFormDebug
ParentColor = False
ParentFont = False
TabOrder = 10
object ButtonSigSuiv: TButton
Left = 16
Top = 24
Width = 97
Height = 25
Hint = 'Etat du signal suivant'
Caption = 'Etat signal suivant'
ParentShowHint = False
ShowHint = True
TabOrder = 0
OnClick = ButtonSigSuivClick
end
object EditSigSuiv: TEdit
Left = 280
Top = 24
Width = 49
Height = 21
Hint = 'Indiquer l'#39'adresse du signal '
ParentShowHint = False
ShowHint = True
TabOrder = 1
end
object EditPrec: TEdit
Left = 224
Top = 58
Width = 49
Height = 21
Hint = 'Element pr'#233'c'#233'dent'
ParentShowHint = False
ShowHint = True
TabOrder = 2
end
object EditActuel: TEdit
Left = 288
Top = 58
Width = 49
Height = 21
Hint = 'Element actuel'
ParentShowHint = False
ShowHint = True
TabOrder = 3
end
object ButtonDetSuiv: TButton
Left = 16
Top = 56
Width = 201
Height = 25
Hint =
'Renvoie l'#39#233'l'#233'ment suivant aux deux '#233'l'#233'ments (d'#233'tecteurs ou aigui' +
'llages) '
Caption = 'D'#233'tecteur suivant aux '#233'l'#233'ments'
ParentShowHint = False
ShowHint = True
TabOrder = 4
OnClick = ButtonDetSuivClick
end
object ButtonCanSuivSig: TButton
Left = 128
object GroupBox3: TGroupBox
Left = 8
Top = 16
Width = 105
Height = 33
Hint = 'Renvoie l'#39'occupation du canton suivant le signal'
Caption = 'Etat canton suivant signal occup'#233
ParentShowHint = False
ShowHint = True
TabOrder = 5
WordWrap = True
OnClick = ButtonCanSuivSigClick
Width = 329
Height = 57
Caption = 'Signal'
TabOrder = 0
object Label4: TLabel
Left = 241
Top = 26
Width = 32
Height = 13
Caption = 'Signal:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
end
object ButtonSigSuiv: TButton
Left = 8
Top = 16
Width = 65
Height = 33
Hint = 'Etat du signal suivant'
Caption = 'Etat signal suivant'
ParentShowHint = False
ShowHint = True
TabOrder = 0
WordWrap = True
OnClick = ButtonSigSuivClick
end
object ButtonCanSuivSig: TButton
Left = 72
Top = 8
Width = 81
Height = 41
Hint = 'Renvoie l'#39'occupation du canton suivant le signal'
Caption = 'Etat canton suivant signal'
ParentShowHint = False
ShowHint = True
TabOrder = 1
WordWrap = True
OnClick = ButtonCanSuivSigClick
end
object EditSigSuiv: TEdit
Left = 272
Top = 24
Width = 41
Height = 21
Hint = 'Indiquer l'#39'adresse du signal '
ParentShowHint = False
ShowHint = True
TabOrder = 2
end
object Button1: TButton
Left = 152
Top = 8
Width = 81
Height = 41
Caption = 'Etat 3 cantons pr'#233'c'#233'dents signal'
TabOrder = 3
WordWrap = True
OnClick = Button1Click
end
end
object GroupBox4: TGroupBox
Left = 8
Top = 72
Width = 329
Height = 49
Caption = 'D'#233'tecteur suivant'
TabOrder = 1
object ButtonDetSuiv: TButton
Left = 16
Top = 16
Width = 185
Height = 25
Hint =
'Renvoie l'#39#233'l'#233'ment suivant aux deux '#233'l'#233'ments (d'#233'tecteurs ou aigui' +
'llages) '
Caption = 'D'#233'tecteur suivant aux '#233'l'#233'ments'
ParentShowHint = False
ShowHint = True
TabOrder = 0
OnClick = ButtonDetSuivClick
end
object EditPrec: TEdit
Left = 216
Top = 18
Width = 49
Height = 21
Hint = 'Element pr'#233'c'#233'dent'
ParentShowHint = False
ShowHint = True
TabOrder = 1
end
object EditActuel: TEdit
Left = 272
Top = 18
Width = 49
Height = 21
Hint = 'Element actuel'
ParentShowHint = False
ShowHint = True
TabOrder = 2
end
end
end
object GroupBox2: TGroupBox
Left = 433
Left = 472
Top = 24
Width = 345
Height = 137
@@ -293,9 +339,9 @@ object FormDebug: TFormDebug
ParentFont = False
TabOrder = 11
object CheckAffSig: TCheckBox
Left = 24
Left = 8
Top = 16
Width = 297
Width = 161
Height = 17
Caption = 'Fonctionnement des signaux'
Font.Charset = DEFAULT_CHARSET
@@ -308,9 +354,9 @@ object FormDebug: TFormDebug
OnClick = CheckAffSigClick
end
object CheckBoxEvtDetAig: TCheckBox
Left = 24
Left = 8
Top = 32
Width = 281
Width = 201
Height = 17
Caption = 'Ev'#232'nements d'#233'tecteurs et aiguillages'
Font.Charset = DEFAULT_CHARSET
@@ -323,9 +369,9 @@ object FormDebug: TFormDebug
OnClick = CheckBoxEvtDetAigClick
end
object CheckBoxTraceLIste: TCheckBox
Left = 24
Left = 8
Top = 112
Width = 289
Width = 185
Height = 17
Caption = 'Evaluations des routes des trains'
Font.Charset = DEFAULT_CHARSET
@@ -338,9 +384,9 @@ object FormDebug: TFormDebug
OnClick = CheckBoxTraceLIsteClick
end
object CheckTrame: TCheckBox
Left = 24
Left = 8
Top = 80
Width = 305
Width = 233
Height = 17
Caption = 'Trames '#233'chang'#233'es avec l'#39'interface ou CDM'
Font.Charset = DEFAULT_CHARSET
@@ -353,9 +399,9 @@ object FormDebug: TFormDebug
OnClick = CheckTrameClick
end
object CheckBoxAct: TCheckBox
Left = 24
Left = 8
Top = 48
Width = 257
Width = 153
Height = 17
Caption = 'Ev'#232'vements actionneurs'
Font.Charset = DEFAULT_CHARSET
@@ -368,9 +414,9 @@ object FormDebug: TFormDebug
OnClick = CheckBoxActClick
end
object CheckBoxAffFD: TCheckBox
Left = 24
Left = 8
Top = 96
Width = 297
Width = 193
Height = 17
Caption = 'Fronts descendants des d'#233'tecteurs'
Color = cl3DLight
@@ -385,9 +431,9 @@ object FormDebug: TFormDebug
OnClick = CheckBoxAffFDClick
end
object CheckBoxAffDebDecSig: TCheckBox
Left = 24
Left = 8
Top = 64
Width = 265
Width = 193
Height = 17
Caption = 'Pilotage des d'#233'codeurs de signaux'
Font.Charset = DEFAULT_CHARSET
+21 -6
View File
@@ -25,11 +25,6 @@ type
copier1: TMenuItem;
ButtonRazLog: TButton;
GroupBox1: TGroupBox;
ButtonSigSuiv: TButton;
EditSigSuiv: TEdit;
EditPrec: TEdit;
EditActuel: TEdit;
ButtonDetSuiv: TButton;
GroupBox2: TGroupBox;
CheckAffSig: TCheckBox;
CheckBoxEvtDetAig: TCheckBox;
@@ -38,7 +33,16 @@ type
CheckBoxAct: TCheckBox;
CheckBoxAffFD: TCheckBox;
CheckBoxAffDebDecSig: TCheckBox;
GroupBox3: TGroupBox;
ButtonSigSuiv: TButton;
ButtonCanSuivSig: TButton;
EditSigSuiv: TEdit;
Label4: TLabel;
GroupBox4: TGroupBox;
ButtonDetSuiv: TButton;
EditPrec: TEdit;
EditActuel: TEdit;
Button1: TButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure ButtonEcrLogClick(Sender: TObject);
@@ -59,13 +63,14 @@ type
procedure ButtonSigSuivClick(Sender: TObject);
procedure ButtonDetSuivClick(Sender: TObject);
procedure ButtonCanSuivSigClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
Const
Const
Max_Event_det_tick=30000;
Max_event_det=400;
Max_Trains=50;
@@ -356,4 +361,14 @@ end;
procedure TFormDebug.Button1Click(Sender: TObject);
var Adr,erreur,ancdebug : integer ;
begin
Val(EditSigSuiv.Text,Adr,erreur); if erreur<>0 then exit;
ancdebug:=NivDebug;
NivDebug:=3;
PresTrainPrec(Adr);
NivDebug:=AncDebug;
end;
end.
BIN
View File
Binary file not shown.
+381 -265
View File
File diff suppressed because it is too large Load Diff
+1609
View File
File diff suppressed because it is too large Load Diff
+8649
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+6 -6
View File
@@ -552,7 +552,7 @@ begin
Adr:=TCO[x,y].adresse;
if Adr<>0 then
begin
if detecteur[Adr] then
if detecteur[Adr].etat then
begin
Brush.Color:=clAllume;
pen.color:=clAllume;
@@ -1066,7 +1066,7 @@ begin
Adr:=TCO[x,y].adresse;
if Adr<>0 then
begin
if detecteur[Adr] then
if detecteur[Adr].etat then
begin
Brush.Color:=clAllume;
pen.color:=clAllume;
@@ -1114,7 +1114,7 @@ begin
Adr:=TCO[x,y].adresse;
if Adr<>0 then
begin
if detecteur[Adr] then
if detecteur[Adr].etat then
begin
Brush.Color:=clAllume;
pen.color:=clAllume;
@@ -1652,7 +1652,7 @@ begin
Adr:=TCO[x,y].adresse;
if Adr<>0 then
begin
if detecteur[Adr] then
if detecteur[Adr].etat then
begin
Brush.Color:=clAllume;
pen.color:=clAllume;
@@ -4028,14 +4028,14 @@ end;
procedure TFormTCO.Button1Click(Sender: TObject);
begin
Detecteur[569]:=true;
Detecteur[569].etat:=true;
Maj_tco(569);
end;
procedure TFormTCO.Button2Click(Sender: TObject);
begin
Detecteur[569]:=false;
Detecteur[569].etat:=false;
Maj_tco(569);
end;
+16 -16
View File
@@ -77,7 +77,7 @@
<script type="text/javascript" src="./styles/prosilver/template/forum_fn.js"></script>
<link href="./styles/prosilver/theme/print.css" rel="stylesheet" type="text/css" media="print" title="printonly" />
<link href="./style.php?sid=c81070447515d84d3437afdf98a89d47&amp;id=1&amp;lang=en" rel="stylesheet" type="text/css" media="screen, projection" />
<link href="./style.php?sid=e0537f4fdbc9ba2c100f5b9ba31c8e17&amp;id=1&amp;lang=en" rel="stylesheet" type="text/css" media="screen, projection" />
<link href="./styles/prosilver/theme/normal.css" rel="stylesheet" type="text/css" title="A" />
<link href="./styles/prosilver/theme/medium.css" rel="alternate stylesheet" type="text/css" title="A+" />
@@ -167,7 +167,7 @@
</div>
<div class="clear"></div>
<div id="p50499" class="post bg2 online">
<div id="p50499" class="post bg2">
<div class="inner"><span class="corners-top"><span></span></span>
<div class="postbody">
@@ -176,11 +176,11 @@
<p class="author"><a href="./viewtopic.php?p=50499#p50499"><img src="./styles/prosilver/imageset/icon_post_target.gif" width="11" height="9" alt="Message" title="Message" /></a>par <strong><a href="./memberlist.php?mode=viewprofile&amp;u=13164" style="color: #008800;" class="username-coloured">gily</a></strong> &raquo; 20 Janvier 2020, 21:25 </p>
<div class="content">Bonjour<br /><br />attention <span style="font-weight: bold">ne gère plus les aiguillages BIS qui sont problématiques</span>.<br />attention <span style="font-weight: bold">nécessite de nommer les variables du fichier config-gl.cfg - voir le fichier</span><br />attention <span style="font-weight: bold">changement de paramétrage des TJD</span><br /><br />Version 2.1 du 22/10/2020<br />Vous trouverez ici la version graphique du programme signaux_complexes_GL, client de CDM rail mais qui fonctionne aussi de façon autonome si vous disposez d'une centrale LENZ ou compatible. Il permet également de piloter des fonctions F de locomotives et des passages à niveaux à plusieurs voies d'après des actionneurs. Il gère un TCO et peut lancer CDM rail automatiquement avec votre LAY et l'interface choisie. <img src="./images/smilies/icon_mrgreen.gif" alt=":mrgreen:" title="M. Vert" /> <br /><br />Ce logiciel nécessite une installation : faire clic droit en sélectionnant &quot;exécuter en tant qu'administrateur&quot; sur installeur.exe.<br />Vous pouvez voir les nouveautés de chaque version dans le fichier versions.txt.<br /><br />Pour une mise à jour n'oubliez pas de sauvegarder vos deux fichiers de config (.cfg) avant de copier la nouvelle version ; vous pouvez ne copier que le fichier signaux_complexes_GL.exe.<br /><br />Elle est téléchargeable depuis ce lien (droits en contrôle total)<br /><div class="inline-attachment"> <dl class="file">
<dt><img src="./styles/prosilver/imageset/icon_topic_attach.gif" width="7" height="10" alt="" title="" /> <a class="postlink" href="./download/file.php?id=12891">signaux_complexes_V2.1.zip</a></dt>
<dd>(737.11 Kio) Téléchargé 11 fois</dd>
<div class="content">Bonjour<br /><br />attention <span style="font-weight: bold">ne gère plus les aiguillages BIS qui sont problématiques</span>.<br />attention <span style="font-weight: bold">nécessite de nommer les variables du fichier config-gl.cfg - voir le fichier</span><br />attention <span style="font-weight: bold">changement de paramétrage des TJD</span><br /><br />Version 2.11 du 15/11/2020<br />Vous trouverez ici la version graphique du programme signaux_complexes_GL, client de CDM rail mais qui fonctionne aussi de façon autonome si vous disposez d'une centrale LENZ ou compatible. Il permet également de piloter des fonctions F de locomotives et des passages à niveaux à plusieurs voies d'après des actionneurs. Il gère un TCO et peut lancer CDM rail automatiquement avec votre LAY et l'interface choisie. <img src="./images/smilies/icon_mrgreen.gif" alt=":mrgreen:" title="M. Vert" /> <br /><br />Ce logiciel nécessite une installation : faire clic droit en sélectionnant &quot;exécuter en tant qu'administrateur&quot; sur installeur.exe.<br />Vous pouvez voir les nouveautés de chaque version dans le fichier versions.txt.<br /><br />Pour une mise à jour n'oubliez pas de sauvegarder vos deux fichiers de config (.cfg) avant de copier la nouvelle version ; vous pouvez ne copier que le fichier signaux_complexes_GL.exe.<br /><br />Elle est téléchargeable depuis ce lien (droits en contrôle total)<br /><div class="inline-attachment"> <dl class="file">
<dt><img src="./styles/prosilver/imageset/icon_topic_attach.gif" width="7" height="10" alt="" title="" /> <a class="postlink" href="./download/file.php?id=12992">signaux_complexes_V2.11.zip</a></dt>
<dd>(728.73 Kio) Jamais téléchargé</dd>
</dl>
</div><br /><br />Notice: (cliquer dessus lance le téléchargement automatiquement)<br /><a href="https://github.com/f1iwq2/Signaux_complexes_GL/raw/master/Notice%20d'utilisation%20des%20signaux_complexes_GL_V2.1.pdf" class="postlink">https://github.com/f1iwq2/Signaux_complexes_GL/raw/master/Notice%20d'utilisation%20des%20signaux_complexes_GL_V2.1.pdf</a><br /><br />Pour les programmeurs, le zip suivant contient les fichiers source en Delphi, une notice avancée et l'installeur.<br /><a href="https://github.com/f1iwq2/Signaux_complexes_GL/archive/master.zip" class="postlink">https://github.com/f1iwq2/Signaux_complexes_GL/archive/master.zip</a><br /><br />A bientot<br /><br /><div class="inline-attachment"> <dl class="thumbnail">
</div><br /><br />Notice: (cliquer dessus lance le téléchargement automatiquement)<br /><a href="https://github.com/f1iwq2/Signaux_complexes_GL/raw/master/Notice%20d'utilisation%20des%20signaux_complexes_GL_V2.11.pdf" class="postlink">https://github.com/f1iwq2/Signaux_complexes_GL/raw/master/Notice%20d'utilisation%20des%20signaux_complexes_GL_V2.11.pdf</a><br /><br />Pour les programmeurs, le zip suivant contient les fichiers source en Delphi, une notice avancée et l'installeur.<br /><a href="https://github.com/f1iwq2/Signaux_complexes_GL/archive/master.zip" class="postlink">https://github.com/f1iwq2/Signaux_complexes_GL/archive/master.zip</a><br /><br />A bientot<br /><br /><div class="inline-attachment"> <dl class="thumbnail">
<dt><a href="./download/file.php?id=12085&amp;mode=view"><img src="./download/file.php?id=12085&amp;t=1" alt="scgl.jpg" title="scgl.jpg (274.24 Kio) Consulté 45 fois" /></a></dt>
</dl>
</div><br /><br /><div class="inline-attachment"> <dl class="thumbnail">
@@ -188,7 +188,7 @@
</dl>
</div></div>
<div class="notice">Dernière édition par <a href="./memberlist.php?mode=viewprofile&amp;u=13164" style="color: #008800;" class="username-coloured">gily</a> le 05 Novembre 2020, 18:51, édité 104 fois au total. </div>
<div class="notice">Dernière édition par <a href="./memberlist.php?mode=viewprofile&amp;u=13164" style="color: #008800;" class="username-coloured">gily</a> le 15 Novembre 2020, 10:46, édité 105 fois au total. </div>
</div>
@@ -199,7 +199,7 @@
<dd>&nbsp;</dd>
<dd><strong>Messages:</strong> 754</dd><dd><strong>Inscrit le:</strong> 25 Juillet 2014, 14:32</dd><dd><strong>Localisation:</strong> nord</dd>
<dd><strong>Messages:</strong> 755</dd><dd><strong>Inscrit le:</strong> 25 Juillet 2014, 14:32</dd><dd><strong>Localisation:</strong> nord</dd>
</dl>
<div class="back2top"><a href="#wrap" class="top" title="Haut">Haut</a></div>
@@ -238,7 +238,7 @@
</div>
<hr class="divider" />
<div id="p50510" class="post bg2 online">
<div id="p50510" class="post bg2">
<div class="inner"><span class="corners-top"><span></span></span>
<div class="postbody">
@@ -259,7 +259,7 @@
<dd>&nbsp;</dd>
<dd><strong>Messages:</strong> 754</dd><dd><strong>Inscrit le:</strong> 25 Juillet 2014, 14:32</dd><dd><strong>Localisation:</strong> nord</dd>
<dd><strong>Messages:</strong> 755</dd><dd><strong>Inscrit le:</strong> 25 Juillet 2014, 14:32</dd><dd><strong>Localisation:</strong> nord</dd>
</dl>
<div class="back2top"><a href="#wrap" class="top" title="Haut">Haut</a></div>
@@ -349,7 +349,7 @@
<dd>&nbsp;</dd>
<dd><strong>Messages:</strong> 592</dd><dd><strong>Inscrit le:</strong> 10 Avril 2017, 22:34</dd>
<dd><strong>Messages:</strong> 593</dd><dd><strong>Inscrit le:</strong> 10 Avril 2017, 22:34</dd>
</dl>
<div class="back2top"><a href="#wrap" class="top" title="Haut">Haut</a></div>
@@ -358,7 +358,7 @@
</div>
<hr class="divider" />
<div id="p50529" class="post bg2 online">
<div id="p50529" class="post bg2">
<div class="inner"><span class="corners-top"><span></span></span>
<div class="postbody">
@@ -379,7 +379,7 @@
<dd>&nbsp;</dd>
<dd><strong>Messages:</strong> 754</dd><dd><strong>Inscrit le:</strong> 25 Juillet 2014, 14:32</dd><dd><strong>Localisation:</strong> nord</dd>
<dd><strong>Messages:</strong> 755</dd><dd><strong>Inscrit le:</strong> 25 Juillet 2014, 14:32</dd><dd><strong>Localisation:</strong> nord</dd>
</dl>
<div class="back2top"><a href="#wrap" class="top" title="Haut">Haut</a></div>
@@ -448,7 +448,7 @@
</div>
<hr class="divider" />
<div id="p50532" class="post bg1 online">
<div id="p50532" class="post bg1">
<div class="inner"><span class="corners-top"><span></span></span>
<div class="postbody">
@@ -469,7 +469,7 @@
<dd>&nbsp;</dd>
<dd><strong>Messages:</strong> 754</dd><dd><strong>Inscrit le:</strong> 25 Juillet 2014, 14:32</dd><dd><strong>Localisation:</strong> nord</dd>
<dd><strong>Messages:</strong> 755</dd><dd><strong>Inscrit le:</strong> 25 Juillet 2014, 14:32</dd><dd><strong>Localisation:</strong> nord</dd>
</dl>
<div class="back2top"><a href="#wrap" class="top" title="Haut">Haut</a></div>
@@ -508,7 +508,7 @@
<option value="6">Informations générales</option>
<option value="117">&nbsp; &nbsp;Evènements divers</option>
<option value="9">&nbsp; &nbsp;Objet du forum CDM-Rail</option>
<option value="23">&nbsp; &nbsp;Présentation des membres: bienvenue à zio, Fabricemene, Dizom, toundra670, Laurent c., PATRICK42, evariste, sebcool4, jeanmarckiloris</option>
<option value="23">&nbsp; &nbsp;Présentation des membres: bienvenue à Jean Louis</option>
<option value="82">CDM-Rail: notes d'utilisation</option>
<option value="108">&nbsp; &nbsp;COMMENT DEMARRER</option>
<option value="85">&nbsp; &nbsp;Notes d'application pour CDM-Rail</option>
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -23,7 +23,7 @@ var
Lance_verif : integer;
verifVersion,notificationVersion : boolean;
Const Version='2.11'; // sert à la comparaison de la version publiée
Const Version='2.2'; // sert à la comparaison de la version publiée
implementation
+35
View File
@@ -0,0 +1,35 @@
object FormVersion: TFormVersion
Left = 500
Top = 341
Width = 468
Height = 194
Caption = 'V'#233'rification de version'
Color = clBtnFace
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -16
Font.Name = 'Arial Narrow'
Font.Style = []
OldCreateOrder = False
Position = poScreenCenter
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 20
object Memo1: TMemo
Left = 16
Top = 32
Width = 425
Height = 105
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Arial Narrow'
Font.Style = []
ParentFont = False
ScrollBars = ssVertical
TabOrder = 0
end
object TimerVerif: TTimer
OnTimer = TimerVerifTimer
end
end
+210
View File
@@ -0,0 +1,210 @@
unit verif_version;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls , ComCtrls ,WinInet, ExtCtrls;
type
TFormVersion = class(TForm)
TimerVerif: TTimer;
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
procedure TimerVerifTimer(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
FormVersion: TFormVersion;
Lance_verif : integer;
verifVersion,notificationVersion : boolean;
Const Version='2.11'; // sert à la comparaison de la version publiée
implementation
uses UnitPrinc;
{$R *.dfm}
Procedure Aff(s : string);
begin
FormVersion.Memo1.lines.add(s);
end;
function GetCurrentProcessEnvVar(const VariableName: string): string;
var
nSize: DWord;
begin
nSize:=0;
nSize:=GetEnvironmentVariable(PChar(VariableName), nil, nSize);
if nSize=0 then
begin
result:='';
end
else
begin
SetLength(result,nSize-1);
if GetEnvironmentVariable(PChar(VariableName), PChar(result), nSize) <> nSize - 1 then
raise Exception.Create(SysErrorMessage(GetlastError))
end;
end;
// téléchargement d'une page internet sans cache dans un fichier
function DownloadURL_NOCache(aUrl: string;s : string): Boolean;
var
hSession: HINTERNET;
hService: HINTERNET;
Fs:TFileStream;
lpBuffer: array[0..1024 + 1] of byte;
dwBytesRead: DWORD;
dwTimeout : integer;
begin
Result:=False;
DeleteFile(s);
Try Fs:=TFileStream.Create(s,fmCreate,fmShareDenyNone);
hSession:=InternetOpen('MyApp',INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try
if Assigned(hSession) then
begin
// fonction longue
dwTimeout:=2000; //2s
InternetSetOption(hSession,INTERNET_OPTION_CONNECT_TIMEOUT,@dwTimeOut, SizeOf(dwTimeOut));
hService:=InternetOpenUrl(hSession, PChar(aUrl), nil, 0, INTERNET_FLAG_RELOAD, 0);
if Assigned(hService) then
try
while True do
begin
dwBytesRead:=1024;
InternetReadFile(hService,@lpBuffer,1024,dwBytesRead);
fs.WriteBuffer(lpBuffer,dwBytesRead);
if dwBytesRead=0 then break;
end;
Result:=True;
finally
InternetCloseHandle(hService);
end;
end;
finally
InternetCloseHandle(hSession);
end;
finally
fs.Free;
end;
end;
procedure verifie_version;
var s,s2,s3,Version_p,Url,LocalFile : string;
trouve_version,trouve_zip : boolean;
fichier : text;
i,j,erreur : integer;
V_publie,V_utile : real;
begin
//Affiche('vérifie version',clLime);
if not(AvecInit) then exit ;
if not(verifVersion) then exit;
Url:='http://cdmrail.free.fr/ForumCDR/viewtopic.php?f=77&t=3906#p50499';
LocalFile:='page.txt';
trouve_version:=false;
trouve_zip:=false;
if DownloadURL_NOCache(Url,localFile) then
begin
AssignFile(fichier,LocalFile);
reset(fichier);
while not(eof(fichier)) and (not(trouve_version) or not(trouve_zip)) do
begin
readln(fichier,s);
s:=LowerCase(s);
if not(trouve_version) then
begin
i:=pos('version ',s);
trouve_version:=i<>0;
if trouve_version then s2:=s;
end;
if not(trouve_zip) then
begin
i:=pos('.zip',s);
trouve_zip:=i<>0;
if trouve_zip then s3:=s;
end;
// Aff(s)
end;
closefile(fichier);
if trouve_version then
begin
// isoler le champ version
i:=pos('version ',s2);
delete(s2,1,i+7);
j:=pos(' ',s2);
Version_p:=copy(s2,1,j-1); // version dans version_p
// isoler l'url du zip
i:=pos('href="',s3);
delete(s3,1,i+5);
j:=pos('"',s3);
s3:=copy(s3,1,j-1);
i:=pos('.',s3);
if i<>0 then delete(s3,i,1); // supprimer le .
s3:='http://cdmrail.free.fr/ForumCDR'+s3 ;
aff(s3); // lien dans s3
// changer le . en ,
s:=Version_p;
// i:=pos('.',s);if i<>0 then s[i]:=',';
s2:=version;
// i:=pos('.',s2);if i<>0 then s2[i]:=',';
val(s,V_publie,erreur); if erreur<>0 then exit;
val(s2,V_utile,erreur); if erreur<>0 then exit;
if V_utile<V_publie then
begin
FormVersion.show;
s:='Vous utilisez la version '+version+' mais il existe la version '+Version_p;
Aff(s);
if MessageDlg(s+'. Voulez-vous la télécharger?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
// récupérer depuis la variable d'environnement windows USERPROFILE le repertoire de la session ouverte
s:=GetCurrentProcessEnvVar('USERPROFILE')+'\Downloads\Signaux_Complexes_GL.Zip';
Aff('Téléchargement de '+s3+' dans ');
Aff(s);
if DownloadURL_NOCache(s3,s) then
//if true then
begin
Aff('Téléchargement réussi');
Aff('Vous pouvez ouvrir le dossier de téléchargement, décomprimer le zip et l''installer');
end
else Aff('Echec de téléchargement');
end
else formVersion.Free;
end;
if (V_utile=V_publie) and notificationVersion then Affiche('Votre version '+Version_p+' est à jour',clLime);
end;
end
else
begin
if notificationVersion then Affiche('Pas d''accès au site CDM rail',clorange);
end;
end;
procedure TFormVersion.FormCreate(Sender: TObject);
begin
Timerverif.Interval:=1000; // timer à 1 seconde
Lance_verif:=2; // lancer la vérification de version dans 1s
end;
procedure TFormVersion.TimerVerifTimer(Sender: TObject);
begin
if lance_verif>0 then dec(lance_verif);
if lance_verif=1 then verifie_version;
end;
end.
+4
View File
@@ -38,6 +38,10 @@ version 2.1 : Possibilit
Correction d'un bug sur l'écriture du fichier config-gl.cfg lors de la modification de la configuration.
version 2.11 : Suppression du message d'erreur "Element 9999 non trouvé"
Ajout de l'option fenêtre étendue dans le panneau de configuration
Version 2.2 : Correction d'un bug sur le verrouillage des signaux au carré sur les trains en approche.
Mise à jour du fichier de config.cfg si modification des signaux dans la configuration.