📄 capteur.~pas
字号:
unit capteur;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, StdCtrls, Mask, Buttons,db, Menus, jpeg, OleCtrls,
vcfi;
type
Tcapteurf = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
DBNavigator1: TDBNavigator;
SpeedButton6: TSpeedButton;
SpeedButton11: TSpeedButton;
Edit1: TEdit;
GroupBox1: TGroupBox;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
SpeedButton7: TSpeedButton;
SpeedButton16: TSpeedButton;
MainMenu1: TMainMenu;
Voir1: TMenuItem;
Tables1: TMenuItem;
Cible1: TMenuItem;
Graphes1: TMenuItem;
Parametrerseau1: TMenuItem;
Conextion1: TMenuItem;
N1: TMenuItem;
Dploiment1: TMenuItem;
Capteur1: TMenuItem;
Cible2: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
Quitter1: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
Image1: TImage;
Image2: TImage;
N8: TMenuItem;
capteurparcible1: TMenuItem;
SpeedButton8: TSpeedButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure Voirefiche1Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure Ouvrire1Click(Sender: TObject);
procedure Quitter1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton11Click(Sender: TObject);
procedure DBEdit5KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit6KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit7KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton7Click(Sender: TObject);
procedure SpeedButton16Click(Sender: TObject);
procedure Cible1Click(Sender: TObject);
procedure Parametrerseau1Click(Sender: TObject);
procedure Conextion1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure Capteur1Click(Sender: TObject);
procedure Cible2Click(Sender: TObject);
procedure capteurparcible1Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ D閏larations priv閑s }
public
{ D閏larations publiques }
end;
var
capteurf: Tcapteurf;
implementation
uses menu, moajou, os, cible, parametre, Liste;
{$R *.DFM}
procedure Tcapteurf.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if menuf.Capteur.state in [dsedit,dsinsert]then
begin
case messagedlg ('voulez vous enregistrer?',mtconfirmation,[mbyes,mbno,mbcancel],0)of
mryes:menuf.capteur.post;
mrno:menuf.capteur.Cancel;
mrcancel:action:=canone;
end;
end;
end;
procedure Tcapteurf.SpeedButton5Click(Sender: TObject);
begin
capteurf.Close;
end;
procedure Tcapteurf.SpeedButton1Click(Sender: TObject);
begin
menuf.capteur.Insert;
capteurf.SpeedButton3.Enabled:=false;
capteurf.SpeedButton2.Enabled:=false;
capteurf.SpeedButton6.Enabled:=false;
capteurf.SpeedButton8.Enabled:=false;
capteurf.SpeedButton1.Enabled:=false;
capteurf.SpeedButton16.Enabled:=false;
capteurf.SpeedButton7.Enabled:=true;
capteurf.SpeedButton4.Enabled:=true;
end;
procedure Tcapteurf.SpeedButton3Click(Sender: TObject);
begin
menuf.capteur.edit;
capteurf.SpeedButton1.Enabled:=false;
capteurf.SpeedButton4.Enabled:=true;
capteurf.SpeedButton7.Enabled:=true;
capteurf.SpeedButton2.Enabled:=false;
capteurf.SpeedButton6.Enabled:=true;
capteurf.SpeedButton8.Enabled:=true;
capteurf.SpeedButton3.Enabled:=false;
capteurf.SpeedButton16.Enabled:=false;
end;
procedure Tcapteurf.SpeedButton2Click(Sender: TObject);
begin
case messagedlg('voulez vous supprimer?',mtconfirmation,[mbyes,mbno],0)of
mryes:menuf.capteur.delete;
mrno:menuf.capteur.Cancel;
end;
capteurf.SpeedButton1.Enabled:=true;
capteurf.SpeedButton3.Enabled:=true;
capteurf.SpeedButton7.Enabled:=false;
capteurf.SpeedButton6.Enabled:=true;
capteurf.SpeedButton8.Enabled:=true;
capteurf.SpeedButton4.Enabled:=false;
capteurf.SpeedButton2.Enabled:=true;
capteurf.SpeedButton16.Enabled:=false;
end;
procedure Tcapteurf.SpeedButton6Click(Sender: TObject);
begin
if osf.ShowModal=mrok then
begin
if not menuf.capteur.findkey ([osf.edit1.text]) then messagedlg('capteur inixistant',mtinformation,[mbok],0);
end;
capteurf.SpeedButton1.Enabled:=true;
capteurf.SpeedButton3.Enabled:=true;
capteurf.SpeedButton4.Enabled:=false;
capteurf.SpeedButton7.Enabled:=false;
capteurf.SpeedButton2.Enabled:=true;
capteurf.SpeedButton8.Enabled:=true;
capteurf.SpeedButton6.Enabled:=true;
capteurf.SpeedButton16.Enabled:=false;
end;
procedure Tcapteurf.Voirefiche1Click(Sender: TObject);
begin
ciblef.showmodal;
end;
procedure Tcapteurf.SpeedButton4Click(Sender: TObject);
begin
menuf.capteur.Post;
capteurf.SpeedButton7.Enabled:=false;
capteurf.SpeedButton1.Enabled:=true;
capteurf.SpeedButton3.Enabled:=true;
capteurf.SpeedButton2.Enabled:=true;
capteurf.SpeedButton6.Enabled:=true;
capteurf.SpeedButton8.Enabled:=true;
capteurf.SpeedButton4.Enabled:=false;
capteurf.SpeedButton16.Enabled:=true;
end;
procedure Tcapteurf.Ouvrire1Click(Sender: TObject);
begin
ciblef.ShowModal;
end;
procedure Tcapteurf.Quitter1Click(Sender: TObject);
begin
capteurf.Close;
end;
procedure Tcapteurf.FormShow(Sender: TObject);
begin
capteurf.Edit1.Clear;
end;
procedure Tcapteurf.SpeedButton11Click(Sender: TObject);
var nbrca:double;
begin
nbrca:=0;
menuf.Capteur.first;
while not menuf.capteur.Eof do
begin
nbrca:=nbrca+1;
menuf.capteur.next;
end;
edit1.text:=floattostr(nbrca);
end;
procedure Tcapteurf.DBEdit5KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then dbedit6.setfocus;
end;
procedure Tcapteurf.DBEdit6KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then dbedit7.setfocus;
end;
procedure Tcapteurf.DBEdit7KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then dbedit8.setfocus;
end;
procedure Tcapteurf.SpeedButton7Click(Sender: TObject);
begin
menuf.capteur.cancel;
capteurf.SpeedButton1.Enabled:=true;
capteurf.SpeedButton3.Enabled:=true;
capteurf.SpeedButton2.Enabled:=true;
capteurf.SpeedButton6.Enabled:=true;
capteurf.SpeedButton8.Enabled:=true;
capteurf.SpeedButton4.Enabled:=false;
capteurf.SpeedButton7.Enabled:=false;
capteurf.SpeedButton16.Enabled:=true;
end;
procedure Tcapteurf.SpeedButton16Click(Sender: TObject);
begin
image1.canvas.Rectangle(-1,-1,image1.width+20,image1.Height+20);
canvas.brush.color:=clwhite;
canvas.Rectangle(-1,-1,image2.width+20,image2.Height+20);
end;
procedure Tcapteurf.Cible1Click(Sender: TObject);
begin
ciblef.showmodal;
end;
procedure Tcapteurf.Parametrerseau1Click(Sender: TObject);
begin
parametref.showmodal;
end;
procedure Tcapteurf.Conextion1Click(Sender: TObject);
var i,j: integer;
x,y: integer;
char: string;
begin
capteurf.SpeedButton16.Enabled:=true;
image1.canvas.textout(1,1,'Graphe de conexion' );
image1.canvas.textout(1,20,'Rayant de conexion = 400' );
image1.canvas.textout(1,40,' 1R =5 pixels' );
menuf.capteur.first;
while not menuf.capteur.eof do
begin
char:= floattostr(menuf.capteurcodecapt.value);
canvas.brush.color:=clmenu;
canvas.textout(6+menuf.capteurposxca.value,6+menuf.capteurposyca.value,char);
menuf.capteur.next;
end;
i:=0;
menuf.capteur.first;
while not menuf.capteur.eof do
begin
canvas.brush.color:=clblack;
canvas.rectangle(menuf.capteurposxca.value,menuf.capteurposyca.value,10+menuf.capteurposxca.value,10+menuf.capteurposyca.value);
menuf.capteur.next;
end;
menuf.capteur.First;
while not menuf.capteur.eof do
begin
x:= menuf.capteurposxca.value;
y:=menuf.capteurposyca.value;
while not menuf.capteur.eof do
begin
menuf.Parametre.first;
if sqr(menuf.capteurposxca.value-x)<=sqr(menuf.Parametrerayantcon.value/5) then
if sqr(menuf.capteurposyca.value-y)<=sqr(menuf.Parametrerayantcon.value/5)then
begin
canvas.moveto(5+x,5+y);
canvas.lineto(5+menuf.capteurposxca.value,5+menuf.capteurposyca.value);
end;
menuf.capteur.next;
end;
i:=i+1;
menuf.capteur.First;
for j:=1 to i do menuf.capteur.next;
end;
end;
procedure Tcapteurf.N1Click(Sender: TObject);
var x,y: integer;
char: string;
begin
capteurf.SpeedButton16.Enabled:=true;
image1.canvas.textout(1,1,'Graphe de couverture' );
image1.canvas.textout(1,20,'Rayant de couverture = 200' );
image1.canvas.textout(1,40,' 1R =5 pixels' );
{menuf.capteur.first;
while not menuf.capteur.eof do
begin
char:= floattostr(menuf.capteurcodecapt.value);
canvas.brush.color:=clmenu;
canvas.textout(6+menuf.capteurposxca.value,6+menuf.capteurposyca.value,char);
menuf.capteur.next;}
end;
{menuf.cible.first;
while not menuf.cible.eof do
begin
char:= floattostr(menuf.ciblecodecib.value);
canvas.brush.color:=clmenu;
canvas.textout(6+menuf.cibleposxci.value,6+menuf.cibleposyci.value,char);
menuf.cible.next;
end;}
{menuf.capteur.first;
while not menuf.capteur.eof do
begin
canvas.brush.color:=clblack;
canvas.rectangle(menuf.capteurposxca.value,menuf.capteurposyca.value,10+menuf.capteurposxca.value,10+menuf.capteurposyca.value);
menuf.capteur.next;
end;
menuf.cible.first;
while not menuf.cible.eof do
begin
canvas.brush.color:=clred;
canvas.ellipse(menuf.cibleposxci.value,menuf.cibleposyci.value,11+menuf.cibleposxci.value,11+menuf.cibleposyci.value);
menuf.cible.next;
end;
menuf.cible.first;
while not Menuf.cible.Eof do
begin
x:= menuf.cibleposxci.value;
y:= menuf.cibleposyci.value;
menuf.capteur.first;
while not menuf.capteur.eof do
begin
menuf.parametre.First;
if sqr(menuf.capteurposxca.value-x)<=sqr(menuf.Parametrerayantcouv.value/5) then
if sqr(menuf.capteurposyca.value-y)<=sqr(menuf.Parametrerayantcouv.value/5)then
begin
canvas.moveto(5+x,5+y);
canvas.lineto(5+menuf.capteurposxca.value,5+menuf.capteurposyca.value);
end;
menuf.capteur.next;
end;
menuf.Cible.Next;
end;
end;}
procedure Tcapteurf.Capteur1Click(Sender: TObject);
var char: string;
begin
capteurf.SpeedButton16.Enabled:=true;
image1.canvas.Rectangle(-1,-1,image1.width+20,image1.Height+20);
menuf.capteur.first;
while not menuf.capteur.eof do
begin
char:= floattostr(menuf.capteurcodecapt.value);
canvas.brush.color:=clmenu;
canvas.textout(6+menuf.capteurposxca.value,6+menuf.capteurposyca.value,char);
menuf.capteur.next;
end;
menuf.capteur.first;
while not menuf.capteur.eof do
begin
canvas.brush.color:=clblack;
canvas.rectangle(menuf.capteurposxca.value,menuf.capteurposyca.value,10+menuf.capteurposxca.value,10+menuf.capteurposyca.value);
menuf.capteur.next;
end;
end;
procedure Tcapteurf.Cible2Click(Sender: TObject);
var char: string;
begin
capteurf.SpeedButton16.Enabled:=true;
image1.canvas.Rectangle(-1,-1,image1.width+20,image1.Height+20);
menuf.cible.first;
while not menuf.cible.eof do
begin
char:= floattostr(menuf.ciblecodecib.value);
canvas.brush.color:=clmenu;
canvas.textout(6+menuf.cibleposxci.value,6+menuf.cibleposyci.value,char);
menuf.cible.next;
end;
menuf.cible.first;
while not menuf.cible.eof do
begin
canvas.brush.color:=clred;
canvas.ellipse(menuf.cibleposxci.value,menuf.cibleposyci.value,11+menuf.cibleposxci.value,11+menuf.cibleposyci.value);
menuf.cible.next;
end;
end;
procedure Tcapteurf.capteurparcible1Click(Sender: TObject);
var i,j,x,y,x1,y1:integer;
char: string;
begin
capteurf.SpeedButton16.Enabled:=true;
canvas.brush.color:=clmenu;
image1.canvas.textout(1,1,'Histogramme .........' );
image1.canvas.textout(1,20,'Nombre de capteur par cible' );
image2.Canvas.moveto(20,1);
image2.Canvas.lineto (20,image2.Height-20);
image2.Canvas.lineto (image2.width,image2.Height-20);
x:=30;
i:=1;
y:=image2.Height-50;
menuf.Capteur.First;
while not menuf.Capteur.eof do
begin
char:= floattostr(i);
image2.canvas.textout(2,y,char);
menuf.Capteur.next;
i:=i+1;
y:=y-30;
end;
x1:=35;
y1:= (image2.Height)-20;
menuf.cible.first;
while not Menuf.cible.Eof do
begin
j:=1;
x:= menuf.cibleposxci.value;
y:= menuf.cibleposyci.value;
menuf.capteur.first;
while not menuf.capteur.eof do
begin
menuf.parametre.First;
if sqr(menuf.capteurposxca.value-x)<=sqr(menuf.Parametrerayantcouv.value/5) then
if sqr(menuf.capteurposyca.value-y)<=sqr(menuf.Parametrerayantcouv.value/5)then
begin
image2.canvas.pen.color:=clblack;
image2.canvas.brush.color:=clblue;
image2.canvas.Rectangle(x1,y1-(j*25),x1+30,y1);
j:=j+1;
end;
menuf.capteur.next;
end;
char:= floattostr(menuf.ciblecodecib.value);
image2.canvas.brush.color:=clmenu;
image2.canvas.textout(x1+15,image2.Height-15,char);
x1:=x1+45;
menuf.cible.Next;
end;
end;
procedure Tcapteurf.SpeedButton8Click(Sender: TObject);
begin
listecaf.QuickRep1.preview;
end;
procedure Tcapteurf.FormActivate(Sender: TObject);
begin
{capteurf.SpeedButton1.Enabled:=true;
capteurf.SpeedButton2.Enabled:=true;
capteurf.SpeedButton3.Enabled:=true;
capteurf.SpeedButton4.Enabled:=false;
capteurf.SpeedButton6.Enabled:=true;
capteurf.SpeedButton7.Enabled:=false;
capteurf.SpeedButton8.Enabled:=true;
capteurf.SpeedButton16.Enabled:=false;}
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -