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

📄 ufrminout.pas

📁 本文件采用了c/s结构的分布式应用系统
💻 PAS
字号:
unit ufrminout;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, Grids, DBGrids, ExtCtrls;

type
  TfrmInOut = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    GroupBox2: TGroupBox;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    Label1: TLabel;
    ComboBox1: TComboBox;
    GroupBox3: TGroupBox;
    Label2: TLabel;
    Edit1: TEdit;
    Label3: TLabel;
    Edit2: TEdit;
    Label4: TLabel;
    Edit3: TEdit;
    GroupBox4: TGroupBox;
    Label6: TLabel;
    Label5: TLabel;
    Edit4: TEdit;
    Panel1: TPanel;
    Button1: TButton;
    Button2: TButton;
    Panel2: TPanel;
    DBGrid1: TDBGrid;
    Timer1: TTimer;
    TabSheet2: TTabSheet;
    Label7: TLabel;
    ComboBox2: TComboBox;
    GroupBox1: TGroupBox;
    Label8: TLabel;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    Label9: TLabel;
    Label10: TLabel;
    Edit5: TEdit;
    Panel3: TPanel;
    DBGrid2: TDBGrid;
    Label11: TLabel;
    Button3: TButton;
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    //procedure Edit3Exit(Sender: TObject);
    //procedure FormCreate(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmInOut: TfrmInOut;

implementation

uses udmclient;

{$R *.dfm}

//显示当前时间
procedure TfrmInOut.Timer1Timer(Sender: TObject);
begin
label6.Caption:=datetimetostr(now);
end;

//添加出入纪录
procedure TfrmInOut.Button1Click(Sender: TObject);
begin
  if radiobutton3.Checked then //人出小区
  begin
   dmclient.cdsInOut.Active:=false;
   dmclient.cdsInOut.CommandText:='select *from inoutinfo where idcardno=:cardno';
   dmclient.cdsInOut.Params.ParamByName('cardno').Value:=edit2.Text;//证件号码
   dmclient.cdsInOut.Open;
   if dmclient.cdsInOut.RecordCount=1 then
   begin
    dmclient.cdsInOut.Edit;
    dmclient.cdsInOut.FieldByName('outtime').Value:=now;//出小区时间
    dmclient.cdsInOut.Post;
   end
   else
    messagedlg('没有找到进入小区的记录',mterror,[mbok],0);
  end
  else
    if radiobutton4.Checked then //人进入小区信息
    begin
      if (edit1.Text<>'')and(edit2.Text<>'')and
      (length(edit2.Text)=15) or (length(edit2.Text)=18)
      and (edit3.Text<>'') then
      begin
      dmclient.cdsInOut.Append;
      dmclient.cdsInOut.FieldByName('name').Value:=edit1.Text;
      dmclient.cdsInOut.FieldByName('idcardno').Value:=edit2.Text;
      dmclient.cdsInOut.FieldByName('carno').Value:=edit4.Text;
      dmclient.cdsInOut.FieldByName('findwho').Value:=edit3.Text;
      dmclient.cdsInOut.FieldByName('intime').Value:=now;
      dmclient.cdsInOut.FieldByName('outtime').Value:=now;
      dmclient.cdsInOut.FieldByName('indoorno').Value:=combobox1.Text;
      dmclient.cdsInOut.Post;
      end
      else
      begin
      messagedlg('输入了非法数据',mterror,[mbok],0);
      exit;
      end;
    end;//
end;

//提交到数据源
procedure TfrmInOut.Button2Click(Sender: TObject);
begin
 dmclient.cdsInOut.ApplyUpdates(0);
 dmclient.cdsInOut.Active:=false;
 dmclient.cdsInOut.CommandText:='select *from inoutinfo';
 dmclient.cdsInOut.Open;
end;


//查找出入纪录
procedure TfrmInOut.Button3Click(Sender: TObject);
var
 dt1,dt2:tdatetime;
begin
if combobox2.Text='来访人姓名' then
begin
 dmclient.cdsInOut.Active:=false;
 dmclient.cdsInOut.CommandText:='select *from inoutinfo where name=:name';
 dmclient.cdsInOut.Params.ParamByName('name').Value:=edit5.Text;
 dmclient.cdsInOut.Open;
 if dmclient.cdsInOut.RecordCount=0 then
  messagedlg('查无此人',mterror,[mbok],0);
end;
if combobox2.Text='所有记录' then
begin
  dmclient.cdsInOut.Active:=false;
  dmclient.cdsInOut.CommandText:='select *from inoutinfo ';
  dmclient.cdsInOut.Open;
end;
if combobox2.Text='进入小区时间' then
begin
  dt1:=datetimepicker1.DateTime;
  dt2:=datetimepicker2.DateTime;
  dmclient.cdsInOut.Active:=false;
 dmclient.cdsInOut.CommandText:='select *from inoutinfo where '
  +'intime>=:dt3 and intime<=:dt4';
 dmclient.cdsInOut.Params.ParamByName('dt3').Value:=dt1;
 dmclient.cdsInOut.Params.ParamByName('dt4').Value:=dt2;
 dmclient.cdsInOut.Open;
 if dmclient.cdsInOut.RecordCount=0 then
  messagedlg('查无时间段的信息',mterror,[mbok],0);
end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -