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

📄 zzy.pas

📁 一个关于VCD销售的系统
💻 PAS
字号:
unit zzy;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, Menus, ComCtrls, ToolWin, Buttons, StdCtrls, AppEvnts,
  LabelButton, TradeImage, MaskImageButton, MoveImageButton, DB, Grids,
  DBGrids;

type
  Tfrm_zzy = class(TForm)
    palUp: TPanel;
    palLeftUp: TPanel;
    imgLeftUp: TImage;
    palRightUp: TPanel;
    imgRightUp: TImage;
    palUpMid: TPanel;
    imgCaption: TImage;
    palDown: TPanel;
    imgLeftDown: TImage;
    imgRightDown: TImage;
    imgDownMin: TImage;
    palLeft: TPanel;
    palRight: TPanel;
    imgRight: TImage;
    imgCloseButton: TImage;
    imgMinButton: TImage;
    imgSizeButton: TImage;
    imgMaxButton: TImage;
    imgRestoreButton: TImage;
    imgSysIcon: TImage;
    popSystemMenu: TPopupMenu;
    N_Restore: TMenuItem;
    N_Max: TMenuItem;
    N_Min: TMenuItem;
    N_Move: TMenuItem;
    N_Size: TMenuItem;
    N_Speater: TMenuItem;
    N_Close: TMenuItem;
    palClient: TPanel;
    lbCaption: TLabel;
    CoolBarMenu: TCoolBar;
    ToolBarMenu: TToolBar;
    imgLeft: TImage;
    imgColorLeftUp: TImage;
    imgGrayCaption: TImage;
    imgGrayMenuBar: TImage;
    imgGrayRightUp: TImage;
    imgColorCaption: TImage;
    imgGrayLeftUp: TImage;
    imgColorRightUp: TImage;
    imgRightUp1: TImage;
    imgLeftUp1: TImage;
    imgColorMenubar: TImage;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    e_id: TEdit;
    e_name: TEdit;
    Image1: TImage;
    b_edit: TMoveImgBtn;
    b_new: TMoveImgBtn;
    blabel_new: TLabelBtn;
    blabel_edit: TLabelBtn;
    blabel_save: TLabelBtn;
    b_save: TMoveImgBtn;
    b_del: TMoveImgBtn;
    bLabel_del: TLabelBtn;
    procedure imgMinButtonClick(Sender: TObject);
    procedure imgSizeButtonClick(Sender: TObject);
    procedure imgCloseButtonClick(Sender: TObject);
    procedure imgCaptionMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure imgCaptionMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure imgCaptionMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormCreate(Sender: TObject);
    procedure imgSysIconMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure popSystemMenuPopup(Sender: TObject);
    procedure N_SizeClick(Sender: TObject);
    procedure N_MoveClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
    procedure b_newClick(Sender: TObject);
    procedure b_saveClick(Sender: TObject);
    procedure DBGrid1Enter(Sender: TObject);
    procedure b_editClick(Sender: TObject);
    procedure b_delClick(Sender: TObject);
    procedure e_nameKeyPress(Sender: TObject; var Key: Char);
    procedure e_idKeyPress(Sender: TObject; var Key: Char);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
    canmove:boolean;
    curPoint:TPoint;
    oldPoint:TPoint;
    Canvas:TCanvas;
  protected
    procedure CreateParams(var Params:TCreateParams);override;
    procedure WMActivate(var Msg:TWMACTIVATE); message WM_ACTIVATE;
  public
    { Public declarations }
  end;

var
  frm_zzy: Tfrm_zzy;
  mes:string;//提示文字

implementation

uses datam;

{$R *.dfm}

procedure Tfrm_zzy.CreateParams(var Params:TCreateParams);
begin
  inherited CreateParams(Params);
  if BorderStyle<>bsNone then
    Params.Style :=WS_THICKFRAME or WS_POPUP or WS_BORDER;
end;

procedure Tfrm_zzy.imgMinButtonClick(Sender: TObject);
begin
  if Application.MainForm =self then
    Application.Minimize
  else
    DefWindowProc(Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
end;

procedure Tfrm_zzy.imgSizeButtonClick(Sender: TObject);
begin
  if self.WindowState = wsNormal then
  begin
    DefWindowProc(Handle, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
    imgSizeButton.Picture :=imgRestoreButton.Picture;
  end
  else
  begin
    DefWindowProc(Handle, WM_SYSCOMMAND, SC_RESTORE, 0);
    imgSizeButton.Picture :=imgMaxButton.Picture;
  end;

end;

procedure Tfrm_zzy.imgCloseButtonClick(Sender: TObject);
begin
  DefWindowProc(Handle, WM_SYSCOMMAND, SC_CLOSE, 0);
end;

procedure Tfrm_zzy.imgCaptionMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if (Button=mbLeft)and(ssLeft in Shift)then
  begin
    canmove:=true;
    Canvas:=TCanvas.Create;
    with Canvas do
    begin
      pen.Style :=psdot;
      brush.Style :=bsClear;
      pen.Width :=2;
      Pen.Mode :=pmNotXor;
      Handle :=GetDC(0);
      Rectangle(left,top,Left+width,top+height);
      curPoint.X :=X;
      curPoint.Y :=Y;
      oldPoint.X :=Left;
      oldPoint.Y :=Top;
    end;        //end with
  end;  //end if
end;

procedure Tfrm_zzy.imgCaptionMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  if not canmove then exit;
  with Canvas do
  begin
    Rectangle(oldPoint.x,oldPoint.y,oldPoint.x+Width,oldPoint.y+Height);
    oldPoint.x :=Left +X-curPoint.x;
    oldPoint.y :=Top +Y-curPoint.y;
    Rectangle(oldPoint.x,oldPoint.y,oldPoint.x+Width,oldPoint.y+Height);
  end;
end;

procedure Tfrm_zzy.imgCaptionMouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if not canmove then exit;
  with Canvas do
  begin
    Rectangle(oldPoint.x,oldPoint.y,oldPoint.x+Width,oldPoint.y+Height);
    Left :=oldPoint.x;
    Top :=oldPoint.y;
    Free;
  end;
  canmove:=not canmove;
end;

procedure Tfrm_zzy.FormCreate(Sender: TObject);
begin
  lbCaption.Caption :=Caption;
  dm.ado_user.Open;
  dm.ADO_user.Sort:='编号';
  dm.ADO_user.First;
end;

procedure Tfrm_zzy.imgSysIconMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  PopSystemMenu.Popup(Left+ImgSysIcon.Left,Top+ImgSysIcon.Top+ImgSysIcon.Height);
end;

procedure Tfrm_zzy.popSystemMenuPopup(Sender: TObject);
begin

  N_Restore.Enabled :=imgSizeButton.Visible and (WindowState =wsMaximized);
  N_Max.Enabled :=imgSizeButton.Visible and (WindowState =wsNormal);
  N_Size.Enabled :=imgSizeButton.Visible ;
  n_min.Enabled:=imgMinButton.Visible;
end;

procedure Tfrm_zzy.N_SizeClick(Sender: TObject);
begin
  DefWindowProc(Handle, WM_SYSCOMMAND, SC_SIZE, 0);
end;

procedure Tfrm_zzy.N_MoveClick(Sender: TObject);
begin
  DefWindowProc(Handle, WM_SYSCOMMAND, SC_MOVE, 0);
end;

procedure Tfrm_zzy.FormShow(Sender: TObject);
begin
  if WindowState=wsNormal then
    imgSizeButton.Picture.Bitmap :=imgMaxButton.Picture.Bitmap
  else if WindowState=wsMaximized then
    imgSizeButton.Picture.Bitmap :=imgRestoreButton.Picture.Bitmap
end;

procedure Tfrm_zzy.WMActivate(var Msg: TWMACTIVATE);
begin
  if (Msg.Active =WA_ACTIVE) or (Msg.Active =WA_CLICKACTIVE) then
  begin
    imgCaption.Picture.Bitmap :=imgColorCaption.Picture.Bitmap;
    imgLeftUp1.Picture.Bitmap :=imgColorLeftUp.Picture.Bitmap;
    imgRightUp1.Picture.Bitmap :=imgColorRightUp.Picture.Bitmap;
    coolBarMenu.Bitmap :=imgColorMenubar.Picture.Bitmap;
  end
  else begin
    imgCaption.Picture.Bitmap :=imgGrayCaption.Picture.Bitmap;
    imgLeftUp1.Picture.Bitmap :=imgGrayLeftUp.Picture.Bitmap;
    imgRightUp1.Picture.Bitmap :=imgGrayRightUp.Picture.Bitmap;
    coolBarMenu.Bitmap :=imgGrayMenubar.Picture.Bitmap;
  end;
end;

procedure Tfrm_zzy.FormActivate(Sender: TObject);
begin
  dbgrid1.SetFocus();
end;

procedure Tfrm_zzy.DataSource1DataChange(Sender: TObject; Field: TField);
begin
 e_id.Text:=dm.ADO_user.fieldbyname('编号').asstring;
 e_name.text:=dm.ADO_user.fieldbyname('操作员').asstring;
 if dm.ADO_user.fieldbyname('主管').AsBoolean=true then
    image1.Visible:=true
  else
    image1.Visible:=false;

end;

procedure Tfrm_zzy.b_newClick(Sender: TObject);
begin
  b_save.Tag:=1;
  e_id.Enabled:=true;
  e_name.Enabled:=true;
  e_id.Text:='';
  e_name.text:='';
  b_new.enabled:=false;
  blabel_new.Enabled:=false;
  b_edit.Enabled:=false;
  blabel_edit.Enabled:=false;
  b_save.Enabled:=true;
  blabel_save.Enabled:=true;
  b_del.Enabled:=false;
  blabel_del.Enabled:=false;
  e_id.SetFocus();
end;

procedure Tfrm_zzy.b_saveClick(Sender: TObject);
var
 bh,xm:string;
begin
  bh:=e_id.Text;
  xm:=e_name.text;
  if b_save.Tag=1 then
    begin
     try
      dm.ADO_user.AppendRecord([bh,xm]);
     except
     e_id.SetFocus;
     e_id.text:='';
     e_name.Text:='';
     mes:='录入错误!'+#13+#13+'注意:<编号>、<姓名>均不能为空'
     +#13+'     且不可重复,请重新录入!';
     application.messagebox(pchar(mes),pchar('提示'),MB_ICONEXCLAMATION);
     exit;
     end;
     dm.ADO_user.Sort:='编号';
     e_id.text:='';
     e_name.Text:='';
     e_id.SetFocus();
    end
   else
    begin
    dm.ADO_user.Edit;
    dm.ADO_user.fieldbyname('编号').AsString:=bh;
    dm.ADO_user.fieldbyname('操作员').AsString:=xm;
    try
     dm.ADO_user.Post;
    except
     mes:='录入错误!'+#13+#13+'注意:<编号>、<姓名>均不能为空'
     +#13+'     且不可重复,请重新录入!';
     application.messagebox(pchar(mes),pchar('提示'),MB_ICONEXCLAMATION);
     dm.ADO_user.Cancel;
     exit;
    end;
   dm.ADO_user.Sort:='编号';
   end;
end;

procedure Tfrm_zzy.DBGrid1Enter(Sender: TObject);
begin
  b_new.Enabled:=true;
  blabel_new.Enabled:=true;
  b_edit.Enabled:=true;
  blabel_edit.Enabled:=true;
  b_del.Enabled:=true;
  blabel_del.Enabled:=true;
  b_save.Enabled:=false;
  blabel_save.Enabled:=false;
  e_id.Enabled:=false;
  e_name.enabled:=false;
  //
  e_id.Text:=dm.ADO_user.fieldbyname('编号').asstring;
  e_name.text:=dm.ADO_user.fieldbyname('操作员').asstring;
  if dm.ADO_user.fieldbyname('主管').AsBoolean=true then
    image1.Visible:=true
  else
    image1.Visible:=false;
end;

procedure Tfrm_zzy.b_editClick(Sender: TObject);
begin
  b_save.Tag:=2;
  b_save.Enabled:=true;
  blabel_save.Enabled:=true;
  e_id.Enabled:=true;
  e_name.Enabled:=true;
  b_edit.Enabled:=false;
  blabel_edit.Enabled:=false;
  b_new.Enabled:=false;
  blabel_new.Enabled:=false;



end;

procedure Tfrm_zzy.b_delClick(Sender: TObject);
begin
 if dm.ADO_user.FieldByName('主管').AsBoolean=true then
    begin
     application.MessageBox(pchar('系统管理员,不可删除!')
      ,pchar('提示'),MB_ICONEXCLAMATION+mb_ok);
     exit;
    end;
 mes:='是否要删除操作员<'+dm.ADO_user.fieldbyname('操作员').AsString
       +'>';
 if application.MessageBox(pchar(mes),pchar('等待确认')
    ,+MB_ICONQUESTION+mb_okcancel)=idok then
    dm.ADO_user.Delete;

end;

procedure Tfrm_zzy.e_nameKeyPress(Sender: TObject; var Key: Char);
begin
   if key=#13 then
   begin
    b_save.OnClick(b_save);
   end;
end;


procedure Tfrm_zzy.e_idKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
   begin
    e_name.SetFocus();
   end;
end;

procedure Tfrm_zzy.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  dm.ADO_user.close;
  release;
end;

end.

⌨️ 快捷键说明

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