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

📄 unit_jc_set.~pas

📁 DELPHI 编写的绣花厂管理软件
💻 ~PAS
字号:
unit Unit_jc_set;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Unit_jc_child, DB, ADODB, Grids, DBGrids, StdCtrls, Mask,
  DBCtrls, ExtCtrls;

type
  Tform_jc_set = class(TForm_jc_child)
    Panel1: TPanel;
    Label1: TLabel;
    Label3: TLabel;
    Label8: TLabel;
    DBEdit_bm: TDBEdit;
    DBEdit_bz: TDBEdit;
    DBEdit_zhsx: TDBEdit;
    Panel2: TPanel;
    Label4: TLabel;
    Button_new: TButton;
    Button_save: TButton;
    Button_delete: TButton;
    Button_reshow: TButton;
    Button_quit: TButton;
    Edit_query: TEdit;
    DBGrid1: TDBGrid;
    ADOQuery2: TADOQuery;
    DataSource1: TDataSource;
    ADOQuery1: TADOQuery;
    procedure Button_quitClick(Sender: TObject);
    procedure Button_reshowClick(Sender: TObject);
    procedure Button_newClick(Sender: TObject);
    procedure Button_deleteClick(Sender: TObject);
    procedure Button_saveClick(Sender: TObject);
    procedure DBEdit_bmKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBEdit_bzKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit_queryChange(Sender: TObject);
    procedure Edit_queryKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormShow(Sender: TObject);
    procedure ADOQuery1AfterInsert(DataSet: TDataSet);
    procedure ADOQuery1BeforePost(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
    table,key,filter1,filter2,py1,py2 : string;
  end;

var
  form_jc_set: Tform_jc_set;
  function WyQueryPY(HanStr,R: PChar): integer; Stdcall; external 'QueryPY.dll';
implementation

{$R *.dfm}

procedure Tform_jc_set.Button_quitClick(Sender: TObject);
begin
   self.Close;
end;

procedure Tform_jc_set.Button_reshowClick(Sender: TObject);
begin
   //刷新显示
   ADOQuery1.Close;
   ADOQuery1.Open;
end;

procedure Tform_jc_set.Button_newClick(Sender: TObject);
begin
   //插入记录
   ADOQuery2.Close;
   ADOQuery2.sql.text := 'insert into '+table+'('+key+') values('''')';
   ADOQuery2.ExecSQL;
   //刷新显示
   ADOQuery1.Close;
   ADOQuery1.Open;
   ADOQuery1.Last;
   DBEdit_bm.SetFocus;
end;

procedure Tform_jc_set.Button_deleteClick(Sender: TObject);
begin
   if ADOQuery1.Active=false then exit;
   if ADOQuery1.RecordCount = 0 then exit;
   if MessageDlg('您确定要删除当前记录吗?删除之后将不能恢复!',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
      ADOQuery1.Delete;
end;

procedure Tform_jc_set.Button_saveClick(Sender: TObject);
begin
   if ADOQuery1.Active=false then exit;
   if ADOQuery1.RecordCount = 0 then exit;
   ADOQuery1.Edit;
   ADOQuery1.Post;
end;

procedure Tform_jc_set.DBEdit_bmKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key <> 13 then exit; { 判断是按执行键}
   perform(WM_NEXTDLGCTL,0,0);   //移动到下一个控件
end;

procedure Tform_jc_set.DBEdit_bzKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key <> 13 then exit;
   if ADOQuery1.RecordCount > ADOQuery1.recno then
   begin
      ADOQuery1.Next;
      DBEdit_bm.SetFocus;
      exit;
   end;
   button_save.Click;
   if MessageDlg('当前记录保存成功!您想新增一项账户属性吗?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
      button_new.Click;
end;

procedure Tform_jc_set.Edit_queryChange(Sender: TObject);
var str : string;
begin
   str := trim(Edit_query.Text);
   if str='' then
      ADOQuery1.Filter := ''
   else
      ADOQuery1.Filter := '('+filter1+' like ''%'+str+'%'') or ('+filter2+' like ''%'+str+'%'')';
end;

procedure Tform_jc_set.Edit_queryKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   case key of
   38 : ADOQuery1.Prior;
   40 : ADOQuery1.Next;
   27 : self.Close;
   end;
end;

procedure Tform_jc_set.FormShow(Sender: TObject);
begin
  inherited;
   //打开数据集
   ADOQuery1.Close;
   ADOQuery1.Open;
   Edit_query.SetFocus;
end;

procedure Tform_jc_set.ADOQuery1AfterInsert(DataSet: TDataSet);
begin
   DataSet.Delete;
end;

procedure Tform_jc_set.ADOQuery1BeforePost(DataSet: TDataSet);
var str: array[0..100] of char;
begin
   if py1 = '' then exit;
   WyQueryPY(Pchar(DataSet.FieldByName(py1).AsString),str);
   DataSet.edit;
   DataSet.fieldbyname(py2).asstring := str;
end;

end.

⌨️ 快捷键说明

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