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

📄 pas_client.pas

📁 比较详细的功能
💻 PAS
字号:
unit pas_client;

interface

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

type
  TForm_client = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Edit_no: TEdit;
    Edit_name: TEdit;
    Edit_phone: TEdit;
    Edit_tel: TEdit;
    Edit_addr: TEdit;
    Label9: TLabel;
    Edit_remarks: TEdit;
    DBGrid: TDBGrid;
    ToolBar1: TToolBar;
    valid: TSpeedButton;
    ToolButton1: TToolButton;
    unValid: TSpeedButton;
    ToolButton2: TToolButton;
    setUnvalid: TSpeedButton;
    ToolButton4: TToolButton;
    setvalid: TSpeedButton;
    ToolButton7: TToolButton;
    selecteveryth: TSpeedButton;
    ToolButton3: TToolButton;
    add: TSpeedButton;
    ToolButton5: TToolButton;
    select: TSpeedButton;
    DBNavigator1: TDBNavigator;
    procedure addClick(Sender: TObject);
    procedure selecteverything();
    procedure selectvalid();
    procedure selectunvalid();
    procedure selecteverythClick(Sender: TObject);
    procedure validClick(Sender: TObject);
    procedure unValidClick(Sender: TObject);
    procedure setUnvalidClick(Sender: TObject);
    procedure setvalidClick(Sender: TObject);
    procedure selectClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure DBGridCellClick(Column: TColumn);
    procedure DBGridDblClick(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form_client: TForm_client;

implementation
   uses pas_dm;
   
{$R *.dfm}

procedure TForm_client.addClick(Sender: TObject);
var
   s:string;
begin
    if (edit_no.Text='') or (edit_name.Text='') or (edit_phone.Text='')
    then
    begin
        showmessage('编号/中文名/手机不能为空');
        exit;
    end;
    with pas_dm.DM.Query_client do
    begin
      try
          with pas_dm.DM.Query_client do
          begin
          Close;
          SQL.Clear;
          s:='insert into client(c_no,c_name,c_ename,c_phone,c_tel,c_addr,c_remarks,c_validorno) values('''+trim(edit_no.Text)+''','''+
                edit_name.Text+''','''','''+edit_phone.Text+''','''+
                edit_tel.Text+''','''+edit_addr.Text+''','''+edit_remarks.Text+''',1)';
          SQL.Add(s);
          ExecSQL;
          showmessage('添加 '+edit_name.Text+' 成功!');
          end;
          except
          showmessage('添加'+edit_name.Text+'失败!可能是编号重复');
      end;

      selectvalid;
end;
end;


procedure TForm_client.selecteverything;
begin
  with pas_dm.DM.Query_client do
  begin
    close;
    sql.Clear;
    sql.Add('select c_no 客户编号,c_name 客户姓名,c_phone 客户手机,c_tel 客户电话,c_addr 客户地址,c_remarks 客户备注 from client ');
    open;
  end;
end;

procedure TForm_client.selectunvalid;
begin
  with pas_dm.DM.Query_client do
  begin
    close;
    sql.Clear;
    sql.Add('select c_no 客户编号,c_name 客户姓名,c_phone 客户手机,c_tel 客户电话,c_addr 客户地址,c_remarks 客户备注 from client where c_validorno=0 ');
    open;
  end;
end;

procedure TForm_client.selectvalid;
begin
     with pas_dm.DM.Query_client do
  begin
    close;
    sql.Clear;
    sql.Add('select c_no 客户编号,c_name 客户姓名,c_phone 客户手机,c_tel 客户电话,c_addr 客户地址,c_remarks 客户备注 from client where c_validorno=1 ');
    open;
  end;
end;

procedure TForm_client.selecteverythClick(Sender: TObject);
begin
   selecteverything();
end;

procedure TForm_client.validClick(Sender: TObject);
begin
  selectvalid;
end;

procedure TForm_client.unValidClick(Sender: TObject);
begin
  selectunvalid;
end;

procedure TForm_client.setUnvalidClick(Sender: TObject);
var
  s:string;
begin
   with pas_dm.DM.Query_client do
   begin
   if IDOK=messagebox(handle,pchar('编号为 '+dbgrid.Fields[0].AsString+' 的客户将被设为无效'),'警告', MB_OKCANCEL)
   then
   begin
   try
   s:=dbgrid.Fields[0].AsString;
   Close;
   SQL.Clear;
   SQL.Add('update client set c_validorno=0 where c_no='''+s+'''');
   ExecSQL;
   except
      showmessage('出错');
   end;
   if  RowsAffected=1 then
   begin
      showmessage(s+'设置无效成功');
   end;
   end;
   end;
   selectvalid();
end;

procedure TForm_client.setvalidClick(Sender: TObject);
var
  s:string;
begin
   with pas_dm.DM.Query_client do
   begin
   if IDOK=messagebox(handle,pchar('编号为 '+dbgrid.Fields[0].AsString+' 的客户将被设为有效'),'警告', MB_OKCANCEL)
   then
   begin
   try
   s:=dbgrid.Fields[0].AsString;
   Close;
   SQL.Clear;
   SQL.Add('update client set c_validorno=1 where c_no='''+s+'''');
   ExecSQL;
   except
      showmessage('出错');
   end;
   if  RowsAffected=1 then
   begin
      showmessage(s+'设置有效成功');
   end;
   end;
   end;
   selectvalid();
end;


procedure TForm_client.selectClick(Sender: TObject);
var
  s:string;
begin
    
     s:= ' where c_name like ''%'+trim(edit_name.Text)+'%'' '+
        'and c_phone like ''%'+trim(edit_phone.Text)+'%'' ';

     with pas_dm.DM.Query_client do
     begin
        close;
        sql.Clear;
        sql.Add(' select c_no as 客户编号,'+
          ' c_name as 客户姓名 ,'+
          ' c_phone as 手机,'+
          ' c_tel as 电话,'+
          ' c_addr as 地址,'+
          ' c_remarks as 备注'+
          '   from client '+s);
     //     showmessage(sql.Text);
        open;
     end;
end;

procedure TForm_client.FormShow(Sender: TObject);
begin
  selectvalid();
end;

procedure TForm_client.DBGridCellClick(Column: TColumn);
begin
with pas_dm.DM.Query_client do
   begin
   if dbgrid.FieldCount=0 then
   begin
    showmessage('没有打开数据库');
    exit;
   end;
    if dbgrid.Fields[0].AsString='' then
    begin
    showmessage('数据库没有数据');
    exit;
    end;
    edit_no.Text:=Fields.Fields[0].AsString;
    edit_name.Text:=Fields.Fields[1].AsString;
    edit_phone.Text:=Fields.Fields[2].AsString;
    edit_tel.Text:=Fields.Fields[3].AsString;
    edit_addr.Text:=Fields.Fields[4].AsString;
    edit_remarks.Text:=Fields.Fields[5].AsString;
  end;
 end;
procedure TForm_client.DBGridDblClick(Sender: TObject);
var
  s: string;
begin 
with pas_dm.DM.Query_client do
 begin
 if dbgrid.FieldCount=0 then
   begin
    showmessage('没有打开数据库');
    exit;
   end;
    if dbgrid.Fields[0].AsString='' then
    begin
    showmessage('数据库没有数据');
    exit;
    end;
    s:= dbgrid.Fields[0].AsString;
 end;
   with pas_dm.DM.AQ1 do
   begin
    close;
    sql.Clear;
    sql.Add('select c_name,valid= case c_validorno when ''1'' then ''有效'' else ''无效'' end from client where c_no='''+trim(s)+'''');
    open;
    showmessage(trim(dm.AQ1.Fields.Fields[0].AsString)+' 是'+dm.AQ1.Fields.Fields[1].AsString+'的');
    close;
    sql.Clear;
 end;
end;
procedure TForm_client.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if   Key   =   VK_F4   then
      begin
          add.Click;
          Key   :=   0;
          exit;
      end;
end;

end.

⌨️ 快捷键说明

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