⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 capteur.~pas

📁 Captor network, a small program for captor network with delphi
💻 ~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 + -