V9.77
This commit is contained in:
159
UnitMemZone.pas
Normal file
159
UnitMemZone.pas
Normal file
@@ -0,0 +1,159 @@
|
||||
unit UnitMemZone;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, StdCtrls, ExtCtrls;
|
||||
|
||||
type
|
||||
TFormMemZone = class(TForm)
|
||||
ButtonOk: TButton;
|
||||
LabeledEditDet1: TLabeledEdit;
|
||||
LabeledEditDet2: TLabeledEdit;
|
||||
Label1: TLabel;
|
||||
LabelInfo: TLabel;
|
||||
ButtonAct: TButton;
|
||||
ButtonDes: TButton;
|
||||
Shape1: TShape;
|
||||
Shape2: TShape;
|
||||
Shape3: TShape;
|
||||
Label2: TLabel;
|
||||
Label3: TLabel;
|
||||
ButtonClicDet1: TButton;
|
||||
Button1: TButton;
|
||||
procedure ButtonOkClick(Sender: TObject);
|
||||
procedure ButtonActClick(Sender: TObject);
|
||||
procedure ButtonDesClick(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormActivate(Sender: TObject);
|
||||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||
procedure ButtonClicDet1Click(Sender: TObject);
|
||||
procedure Button1Click(Sender: TObject);
|
||||
private
|
||||
{ Déclarations privées }
|
||||
public
|
||||
{ Déclarations publiques }
|
||||
end;
|
||||
|
||||
var
|
||||
FormMemZone: TFormMemZone;
|
||||
det1Z,det2Z: integer;
|
||||
formZone,clicDet1,clicDet2 : boolean;
|
||||
|
||||
procedure actualise_memZone(indexTCO : integer);
|
||||
|
||||
implementation
|
||||
|
||||
uses UnitPrinc, unitTCO;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
procedure actualise_memZone(indexTCO : integer);
|
||||
var adr,x,y,Bim : integer;
|
||||
begin
|
||||
if (indexTCO=0) or (formMemZone=nil) or not(FormZone) then exit;
|
||||
x:=XclicCell[indexTCO];
|
||||
y:=YclicCell[indexTCO];
|
||||
Bim:=Tco[indexTCO,x,y].bimage;
|
||||
if IsVoieDroite(bim) then
|
||||
begin
|
||||
Adr:=tco[indexTCO,x,y].Adresse;
|
||||
if (adr>0) and FormZone then
|
||||
begin
|
||||
if clicDet1 then formMemZone.LabeledEditdet1.Text:=intToStr(Adr);
|
||||
if clicDet2 then formMemZone.LabeledEditdet2.Text:=intToStr(Adr);
|
||||
clicDet1:=false;
|
||||
clicDet2:=false;
|
||||
Screen.Cursor:=crDefault;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFormMemZone.ButtonOkClick(Sender: TObject);
|
||||
begin
|
||||
FormZone:=false;
|
||||
close;
|
||||
end;
|
||||
|
||||
function valide_det : boolean;
|
||||
var erreur : integer;
|
||||
elsuiv : tEquipement;
|
||||
begin
|
||||
result:=false;
|
||||
val(FormMemZone.labeledEditDet1.text,det1Z,erreur);
|
||||
if (erreur<>0) or (det1Z<1) or (det1Z>NbMaxDet) then
|
||||
begin
|
||||
FormMemZone.LabelInfo.Caption:='Erreur détecteur 1';exit;
|
||||
end;
|
||||
val(FormMemZone.labeledEditDet2.text,det2Z,erreur);
|
||||
if (erreur<>0) or (det2Z<1) or (det2Z>NbMaxDet) then
|
||||
begin
|
||||
FormMemZone.LabelInfo.Caption:='Erreur détecteur 2';exit;
|
||||
end;
|
||||
|
||||
val(FormMemZone.labeledEditDet2.text,det2Z,erreur);
|
||||
det_contigu(det1Z,det2Z,suivant,ElSuiv);
|
||||
|
||||
if suivant=0 then
|
||||
begin
|
||||
FormMemZone.LabelInfo.Caption:='Les détecteurs '+intToSTR(det1Z)+' / '+intToSTR(det2Z)+' ne sont pas contigus';
|
||||
exit;
|
||||
end;
|
||||
FormMemZone.LabelInfo.caption:='';
|
||||
result:=true;
|
||||
end;
|
||||
|
||||
procedure TFormMemZone.ButtonActClick(Sender: TObject);
|
||||
begin
|
||||
if valide_det then
|
||||
begin
|
||||
Memzone[det1Z,det2Z].etat:=true;
|
||||
LabelInfo.caption:='MemZone '+intToSTR(det1Z)+' -> '+intToSTR(det2Z)+' à 1';
|
||||
Maj_Signaux(false);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFormMemZone.ButtonDesClick(Sender: TObject);
|
||||
begin
|
||||
if valide_det then
|
||||
begin
|
||||
Memzone[det1Z,det2Z].etat:=false;
|
||||
LabelInfo.caption:='MemZone '+intToSTR(det1Z)+' -> '+intToSTR(det2Z)+' à 0';
|
||||
Maj_Signaux(false);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFormMemZone.FormCreate(Sender: TObject);
|
||||
begin
|
||||
// fenêtre toujours devant
|
||||
SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NoMove or SWP_NoSize);
|
||||
end;
|
||||
|
||||
procedure TFormMemZone.FormActivate(Sender: TObject);
|
||||
begin
|
||||
FormZone:=true;
|
||||
end;
|
||||
|
||||
procedure TFormMemZone.FormClose(Sender: TObject;
|
||||
var Action: TCloseAction);
|
||||
begin
|
||||
clicDet1:=false;
|
||||
clicDet2:=false;
|
||||
Screen.Cursor:=crDefault;
|
||||
FormZone:=false;
|
||||
end;
|
||||
|
||||
procedure TFormMemZone.ButtonClicDet1Click(Sender: TObject);
|
||||
begin
|
||||
clicDet1:=true;
|
||||
Screen.Cursor:=crHandPoint; //crHourGlass;
|
||||
end;
|
||||
|
||||
procedure TFormMemZone.Button1Click(Sender: TObject);
|
||||
begin
|
||||
clicDet2:=true;
|
||||
Screen.Cursor:=crHandPoint;
|
||||
end;
|
||||
|
||||
end.
|
||||
Reference in New Issue
Block a user