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

📄 worker.pas

📁 本图书管理系统一sql server为数据库开发平台
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit Worker;
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ToolWin,ExtCtrls,buttons, ADODB, ImgList,
  MyComboBox;

type
  TWorkerForm = class(TForm)
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    Panel1: TPanel;
    Label5: TLabel;
    Edit3: TEdit;
    Label2: TLabel;
    Edit4: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    GroupBox1: TGroupBox;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    CheckBox5: TCheckBox;
    CheckBox6: TCheckBox;
    ComboBox2: TComboBox;
    Label1: TLabel;
    Edit1: TEdit;
    Label6: TLabel;
    Edit2: TEdit;
    SpeedButton5: TSpeedButton;
    ComboBox1: TMyComboBox;
    procedure CreateParams(var Params: TCreateParams); override;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Customshowfield(const field,str:string);
    procedure showfield;
    procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox11Select(Sender: TObject);
    procedure ComboBox11KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox2Change(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    function IDcreate:string;
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure CheckBox6Click(Sender: TObject);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure Edit4KeyPress(Sender: TObject; var Key: Char);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
 private
   procedure WMPAINT1(var msg:TMESSAGE);message WM_PAINT;
   procedure WMNCPAINT1(var msg:TWMNCPAINT);message WM_NCPAINT;
   procedure Active(var msg:Tmessage);message WM_ACTIVATE;
   procedure WMNCLBUTTONDBLCLK1(var msg:Tmessage);message WM_NCLBUTTONDBLCLK;
       { Private declarations }
  public
    titleBmp:Tbitmap;
    username:String;
    { Public declarations }
  end;

var
  WorkerForm:TWorkerForm;

function UserManagershow:boolean;

implementation

uses MainForm,DataModule;
{$R *.dfm}
function MyShowmessage(text:Pchar):boolean; external 'resource.dll';

procedure TWorkerForm.WMNCLBUTTONDBLCLK1(var msg:Tmessage);
begin
  //
end;
procedure TWorkerForm.Active(var msg:Tmessage);
begin
  self.WMPAINT1(msg);
end;

procedure TWorkerForm.CreateParams(var Params: TCreateParams);
begin
  inherited;
  params.Style:=params.Style-WS_SYSMENU;
end;

procedure TWorkerForm.WMPAINT1(var msg:TMESSAGE);
begin
  sendmessage(self.Handle,WM_NCPAINT,0,0);
  inherited;
end;

procedure TWorkerForm.WMNCPAINT1(var msg:TWMNCPAINT);
var
  dc1:HDC;
  y,frame:integer;
  oldbrush:HBrush;
  oldpen,pen:HPEN;
  canvas:Tcanvas;
begin
  canvas:=Tcanvas.Create;
  dc1:=getwindowdc(Handle);
  y:=GetSystemMetrics(SM_CYSIZE);
  frame:=GetSystemMetrics(SM_CYSIZEFRAME);
  oldbrush:=selectobject(dc1,getstockobject(null_brush));
  pen:=createpen(PS_SOLID,1,rgb(155,155,155));
  oldpen:=selectobject(dc1,pen);
  RoundRect(dc1,0,0,Width,Height,12,12);
  pen:=createpen(PS_SOLID,frame*2-5,rgb(255,255,255));
  selectobject(dc1,pen);
  RoundRect(dc1,2,2,Width-2,Height-2,8,10);
  StretchBlt(dc1,frame,frame,Width-2*frame,y+frame div 2,titlebmp.Canvas.Handle,0,0,titlebmp.Width,titlebmp.Height,srccopy);
  canvas.Handle:=dc1;
  canvas.Brush.Style:=bsclear;
  canvas.TextOut(frame*3,(y-frame)div 2,self.Caption);
  selectobject(dc1,oldbrush);
  selectobject(dc1,oldpen);
  deleteObject(pen);
  canvas.Handle:=0;
  canvas.Free;
  releasedc(Handle,dc1);
end;

procedure TWorkerForm.FormCreate(Sender: TObject);
begin
  titlebmp:=Tbitmap.Create;
  titlebmp.LoadFromResourceName(main.resource,'TItle');
end;

procedure TWorkerForm.FormShow(Sender: TObject);
begin
  combobox1.Clear;
  combobox2.Clear;
  with data.PublicQuery do
  begin
    close;
    sql.Clear;
    sql.Add('select distinct * from Worker,userpower where WOrker.username=Userpower.Username');
    open;
    while not Eof do
    begin
      combobox1.Items.Add(fieldbyname('username').AsString);
      combobox2.Items.Add(fieldbyname('ID').AsString);
      next;
    end;
    first;
  end;
  combobox2.Enabled:=true;
  label1.Visible:=false;
  label6.Visible:=false;
  edit1.Visible:=false;
  edit2.Visible:=false;
  edit3.Enabled:=false;
  edit4.Enabled:=false;
  speedbutton1.Enabled:=true;
  speedbutton3.Enabled:=true;
  speedbutton5.Enabled:=true;
  speedbutton4.Caption:='&X退出';
  showfield;
end;

procedure TWorkerForm.showfield;
begin
  with data.PublicQuery do
  begin
    username:=fieldbyname('username').AsString;
    combobox1.Text:=fieldbyname('username').AsString;
    combobox2.Text:=fieldbyname('ID').AsString;
    Edit3.Text:=fieldbyname('Name').AsString;
    Edit4.Text:=fieldbyname('personID').AsString;
    if fieldbyname('Base').AsInteger = 1 then
    begin
      checkbox1.Checked:=true;
    end
    else
      checkbox1.Checked:=false;
    if fieldbyname('InManage').AsInteger= 1 then
    begin
      checkbox2.Checked:=true;
    end
    else
       checkbox2.Checked:=false;
    if fieldbyname('Lendandsell').AsInteger= 1 then
    begin
       checkbox3.Checked:=true;
    end
    else
       checkbox3.Checked:=false;
    if fieldbyname('analyze').AsInteger= 1 then
    begin
        checkbox4.Checked:=true;
    end
    else
       checkbox4.Checked:=false;
    if fieldbyname('system').AsInteger= 1 then
    begin
      checkbox5.Checked:=true;
    end
    else
      checkbox5.Checked:=false;
    if fieldbyname('supervisor').AsInteger= 1 then
    begin
      checkbox6.Checked:=true;
    end
    else
       checkbox6.Checked:=false;
  end;
end;


procedure TWorkerForm.Customshowfield(const field,str:string);
begin
  with data.PublicQuery do
  begin
    close;
    sql.Clear;
    sql.Add('select * from worker,userpower where worker.'+field+'=:value and WOrker.username=Userpower.Username');
    parameters.ParamByName('value').Value:=str;
    open;
    if recordcount <1 then
    begin
      myshowmessage('对不起!没有找到您所输入的纪录!');
    end;
  end;
  showfield;
end;

function UserManagershow:boolean;
begin
  result:=false;
  try
    workerform:=TWorkerForm.Create(application);
    workerform.ShowModal;
  finally
     workerform.Free;
  end;
  result:=true;
end;


procedure TWorkerForm.ComboBox2KeyPress(Sender: TObject; var Key: Char);
begin
  key:=#0;
end;

procedure TWorkerForm.ComboBox11Select(Sender: TObject);
begin
  if (trim(combobox1.Text) <> '')and (speedbutton3.Enabled)and(speedbutton1.Enabled)then
    customshowfield('username',combobox1.Text);
end;

procedure TWorkerForm.ComboBox11KeyPress(Sender: TObject; var Key: Char);
begin
  {if (trim(sender as Tmycombobox).Text) <> '') and (key=#13)and (speedbutton3.enabled)and(speedbutton1.enabled) then
  begin
    customshowfield('username',combobox1.Text);
    edit3.SetFocus;
  end;  }

  if speedbutton3.Enabled then
  if (trim((sender as Tmycombobox).Text) <> '') and (key=#13)and (speedbutton3.enabled)and(speedbutton1.enabled) then
  begin
    if not (sender as Tmycombobox).DroppedDown then
      customshowfield('username',(sender as Tmycombobox).Text);
        if edit3.Enabled then
          edit3.SetFocus;
  end
  else
    (sender as Tmycombobox).DroppedDown:=true;


end;

procedure TWorkerForm.ComboBox2Change(Sender: TObject);
begin
  if (trim(combobox1.Text) <> '') then
    customshowfield('ID',combobox2.Text);
end;

procedure TWorkerForm.SpeedButton4Click(Sender: TObject);
begin
  if speedbutton3.Enabled and speedbutton1.Enabled then
  begin
    data.PublicQuery.Close;
    close;
  end;
  formshow(self);
  speedbutton4.Caption:='&X退出';
end;

function TWorkerForm.IDcreate:string;
var
 i:integer;
begin
  with data.PublicQuery do
  begin
    result:='0001';
    close;
    sql.Clear;
    sql.Add('select ID from Worker order by ID');
    open;
    for i:=1  to 9999 do
    begin  //for
      while not eof do

⌨️ 快捷键说明

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