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

📄 mrwx_bjrk.~pas

📁 这是用Delphi编写的维修管理系统。主要功能包括业务管理
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit MRWX_BJRK;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, ExtCtrls, StdCtrls, Buttons, Grids, DBGrids, Db, ADODB, Mask,
  DBCtrls;

type
  TMR_WXBJ_RK = class(TForm)
    PageControl1: TPageControl;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn6: TBitBtn;
    Bevel1: TBevel;
    TabSheet1: TTabSheet;
    DBGrid1: TDBGrid;
    ADOTable1: TADOTable;
    ADOTable1DSDesigner: TStringField;
    ADOTable1DSDesigner2: TStringField;
    ADOTable1DSDesigner3: TStringField;
    ADOTable1DSDesigner4: TStringField;
    ADOTable1DSDesigner5: TStringField;
    ADOTable1DSDesigner6: TIntegerField;
    ADOTable1DSDesigner7: TBCDField;
    ADOTable1DSDesigner8: TBCDField;
    ADOTable1DSDesigner9: TIntegerField;
    ADOTable1DSDesigner10: TIntegerField;
    DataSource1: TDataSource;
    TabSheet2: TTabSheet;
    StringGrid1: TStringGrid;
    TabSheet3: TTabSheet;
    DBGrid2: TDBGrid;
    ADOTable2: TADOTable;
    DataSource2: TDataSource;
    DataSource3: TDataSource;
    ADOTable2DSDesigner: TDateTimeField;
    ADOTable2DSDesigner2: TStringField;
    ADOTable2DSDesigner3: TStringField;
    ADOTable2DSDesigner4: TStringField;
    ADOTable2DSDesigner5: TStringField;
    ADOTable2DSDesigner6: TStringField;
    ADOTable2DSDesigner7: TIntegerField;
    ADOTable2DSDesigner8: TIntegerField;
    ADOTable2DSDesigner9: TBCDField;
    ADOTable2DSDesigner10: TBCDField;
    ADOTable2DSDesigner12: TBCDField;
    ADOTable2DSDesigner13: TIntegerField;
    ADOTable2DSDesigner14: TStringField;
    ADOTable2DSDesigner15: TStringField;
    ADOTable2DSDesigner16: TStringField;
    ADOTable4: TADOTable;
    ADOTable4DSDesigner: TStringField;
    ADOTable4DSDesigner2: TStringField;
    ADOTable4DSDesigner3: TStringField;
    ADOTable4DSDesigner4: TStringField;
    ADOTable4DSDesigner5: TStringField;
    ADOTable4DSDesigner6: TStringField;
    ADOTable4DSDesigner7: TStringField;
    ADOTable6: TADOTable;
    ADOTable6DSDesigner: TStringField;
    ADOTable6DSDesigner2: TStringField;
    ADOTable6DSDesigner3: TStringField;
    ADOTable6DSDesigner4: TStringField;
    ADOTable6DSDesigner5: TStringField;
    ADOTable6DSDesigner6: TStringField;
    ADOTable6DSDesigner7: TStringField;
    ADOTable6DSDesigner8: TStringField;
    ADOTable7: TADOTable;
    ADOTable7DSDesigner: TStringField;
    ADOTable7DSDesigner2: TStringField;
    ADOTable7DSDesigner3: TStringField;
    ADOTable7DSDesigner4: TStringField;
    ADOTable7DSDesigner5: TDateTimeField;
    ADOTable7DSDesigner6: TStringField;
    ADOTable7DSDesigner7: TStringField;
    ADOTable7DSDesigner8: TStringField;
    ADOTable7DSDesigner9: TStringField;
    ADOTable7DSDesigner10: TStringField;
    DBGrid3: TDBGrid;
    ADOTable8: TADOTable;
    DataSource5: TDataSource;
    DBGrid4: TDBGrid;
    ADOTable3: TADOTable;
    ADOTable3DSDesigner: TDateTimeField;
    ADOTable3DSDesigner2: TStringField;
    ADOTable3DSDesigner3: TStringField;
    ADOTable3DSDesigner4: TStringField;
    ADOTable3DSDesigner5: TStringField;
    ADOTable3DSDesigner6: TStringField;
    ADOTable3DSDesigner7: TStringField;
    ADOTable3DSDesigner8: TIntegerField;
    ADOTable3DSDesigner9: TBCDField;
    ADOTable3DSDesigner11: TBCDField;
    ADOTable3DSDesigner12: TStringField;
    ADOTable3DSDesigner13: TStringField;
    ADOTable3DSDesigner14: TStringField;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    DataSource4: TDataSource;
    DataSource6: TDataSource;
    ADOTable1DSDesigner11: TStringField;
    Label1: TLabel;
    ComboBox3: TComboBox;
    ADOQuery1: TADOQuery;
    ADOTable2DSDesigner11: TStringField;
    ADOTable3DSDesigner10: TStringField;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure StringGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure StringGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure StringGrid1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGrid3DblClick(Sender: TObject);
    procedure StringGrid1GetEditMask(Sender: TObject; ACol, ARow: Integer;
      var Value: String);
    procedure StringGrid1DblClick(Sender: TObject);
    procedure StringGrid1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure DBGrid3KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox1Exit(Sender: TObject);
    procedure ComboBox2Exit(Sender: TObject);
    procedure ComboBox3Click(Sender: TObject);
    procedure ComboBox2Enter(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure DataSource3DataChange(Sender: TObject; Field: TField);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ComboBox2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
  private
     x,y:integer;
     jin:double;
    { Private declarations }
  public
    { Public declarations }
  end;

var  MR_WXBJ_RK: TMR_WXBJ_RK;

implementation

uses MRWX_BJRK_TJ, MRWX_BJRKXX_XX;

{uses MR_WXUnit, MRWX_BJRK_TJ, MRWX_BJRKXX_XX, MRWX_LLDRK;   }

{$R *.DFM}

procedure TMR_WXBJ_RK.FormClose(Sender: TObject; var Action: TCloseAction);
begin
animatewindow(handle,300,AW_VER_NEGATIVE+AW_HOR_POSITIVE+AW_HIDE);
mr_wxbj_rk.Release;
mr_wxbjrk_tj.Release;
MR_WXBJRKXX_XX.Release;
MR_WXBJRKXX_XX:=nil;
mr_wxbjrk_tj:=nil;
mr_wxbj_rk:=nil;
end;

procedure TMR_WXBJ_RK.FormCreate(Sender: TObject);
var metricsy:integer;
begin
{y:=1;
metricsy:=getsystemmetrics(sm_cyscreen);
if metricsy>600 then begin
   height:=height+100;
   pagecontrol1.Height:=pagecontrol1.Height+100;
   Dbgrid3.Height:=Dbgrid3.Height+100;
   stringgrid1.Height:=stringgrid1.Height+100;
end else begin
   constraints.MaxHeight:=440;
end; }

end;

procedure TMR_WXBJ_RK.FormShow(Sender: TObject);
var z:integer;
begin
{animatewindow(handle,200,AW_VER_NEGATIVE-AW_HOR_POSITIVE);
bevel1.Left:=Bevel1.Left+1; }
TAbsheet1.Show;
dbgrid1.Refresh;
label1.Refresh;
adoquery1.First;
combobox3.Items.clear;
while not adoquery1.Eof do begin
   combobox3.Items.add(adoquery1.fieldbyname('库房').asstring);
   adoquery1.Next;
end;
combobox3.ItemIndex:=0;
adotable1.filter:=format('部门'+'='+'''%S''',[combobox3.text]);
adotable2.Filter:=adotable1.Filter;
adotable3.Filter:=adotable1.Filter;
for z:=1 to 100 do begin
   stringGrid1.Cells[0,z]:=inttostr(z);
end;
StringGrid1.Cells[1,0]:='物品名称';
StringGrid1.Cells[2,0]:='型号';
StringGrid1.Cells[3,0]:='规格';
StringGrid1.Cells[4,0]:='单位';
StringGrid1.Cells[5,0]:='备件来历';
StringGrid1.Cells[6,0]:='入库单价';
StringGrid1.Cells[7,0]:='入库数量';
StringGrid1.Cells[8,0]:='经手人';
StringGrid1.Cells[9,0]:='金额';
StringGrid1.Cells[10,0]:='损耗';
StringGrid1.Cells[11,0]:='详细说明';
Bitbtn1.Click;

end;

procedure TMR_WXBJ_RK.BitBtn6Click(Sender: TObject);
begin
close;
end;

procedure TMR_WXBJ_RK.BitBtn1Click(Sender: TObject);
var strx,stry:integer;
begin
if tbitbtn(sender).caption='刷 新 表 [&R]' then begin
    for stry:=1 to 100 do begin
        for strx:=1 to 12 do begin
            stringgrid1.cells[strx,stry]:='';
        end;
    end;
    stringgrid1.Col:=1;
    stringgrid1.row:=1;
end else begin
    tbitbtn(sender).caption:='刷 新 表 [&R]';
    bitbtn2.caption:='取消添加[&C]';
    bitbtn3.caption:='保存信息[&P]';
    Tabsheet2.show;
    bitbtn4.enabled:=false;
    bitbtn6.enabled:=false;
end;
end;

procedure TMR_WXBJ_RK.TabSheet2Show(Sender: TObject);
var strx,stry:integer;
begin
    for stry:=1 to 100 do begin
        for strx:=1 to 12 do begin
            stringgrid1.cells[strx,stry]:='';
        end;
    end;
    stringgrid1.Col:=1;
    stringgrid1.row:=1;
    combobox1.Items.Clear;
    adotable6.First;
    while not adotable6.eof do begin
       combobox1.items.add(adotable6.fieldbyname('商家名称').asstring);
       adotable6.Next;
    end;
    combobox2.Items.clear;
    adotable7.First;
    while not adotable7.Eof do begin
       combobox2.items.add(adotable7.FieldByName('职员名称').asstring);
       adotable7.next;
    end;
//    stringgrid1.Col:=1;
//    stringgrid1.row:=1;
end;

procedure TMR_WXBJ_RK.StringGrid1KeyPress(Sender: TObject; var Key: Char);
var stri:integer;
begin
{if length(stringgrid1.cells[1,y-1])<>0 then begin
//  if y=5 then begin
//    ComboBox1.SetFocus;
//    SendMessage(ComboBox1.Handle,WM_Char,word(Key),0);
//  end;
//  if y=8 then begin
//    combobox2.setfocus;
//    sendmessage(combobox2.handle,wm_char,word(key),0);
//  end;
 { case x of
      1:begin
         if key<>#27 then begin
             dbgrid3.Visible:=true;
             if length(stringgrid1.cells[x,y])<>0 then begin
                if key=#13 then begin
                    stringgrid1.Cells[1,y]:=adotable4.fieldbyname('备件名称').asstring;
                    stringgrid1.Cells[2,y]:=adotable4.fieldbyname('备件型号').asstring;
                    stringgrid1.Cells[3,y]:=adotable4.fieldbyname('备件规格').asstring;
                    stringgrid1.cells[4,y]:=adotable4.fieldbyname('单位').asstring;
                    stringgrid1.Cells[6,y]:='0';
                    stringgrid1.cells[7,y]:='0';
                    stringgrid1.cells[9,y]:='0';
                    stringgrid1.cells[10,y]:='0';
                    dbgrid3.Visible:=false;
//                    adotable4.Close;
                    stringgrid1.Col:=5;
                end;
             end;
             stringgrid1.Cells[1,y]:=adotable4.fieldbyname('备件名称').asstring;
             key:=#0;
         end else begin
             dbgrid3.Visible:=false;
             stringgrid1.Cells[1,y]:='';
             stringgrid1.Cells[2,y]:='';
             stringgrid1.Cells[3,y]:='';
             stringgrid1.Cells[4,y]:='';
             stringgrid1.Cells[5,y]:='';
             stringgrid1.Cells[6,y]:='';
             stringgrid1.Cells[7,y]:='';
             stringgrid1.Cells[8,y]:='';
             stringgrid1.Cells[9,y]:='';
             stringgrid1.Cells[10,y]:='';
         end;
      end;
      1:begin
        dbgrid4.Top:=(stringgrid1.Row-stringgrid1.TopRow)*16+stringgrid1.top;;
        dbgrid4.visible:=true;
        if length(stringgrid1.cells[x,y])<>0 then begin
           if key=#13 then
               stringgrid1.cells[1,y]:=adotable8.fieldbyname('备件名').asstring;
               adotable4.Filter:=format('备件名称'+'='+'''%s''',[stringgrid1.cells[1,y]]);
               adotable4.Open;
               stringgrid1.Col:=stringgrid1.Col+1;
           end;
      end;
      2:begin
        if key=#13 then
          stringgrid1.Col:=stringgrid1.Col+1;
      end;
      3:begin
        if key=#13 then
          stringgrid1.Col:=stringgrid1.Col+1;
      end;
      4:begin
        if key=#13 then
          stringgrid1.Col:=stringgrid1.Col+1;
      end;
      5:begin
        if key=#13 then
          stringgrid1.Col:=stringgrid1.Col+1;
//        key:=#0;
      end;
      6:begin
        if key=#13 then begin
          stringgrid1.Col:=stringgrid1.Col+1;
          if stringgrid1.Cells[6,y]='' then stringgrid1.Cells[6,y]:='0';
          if stringgrid1.cells[7,y]='' then stringgrid1.Cells[7,y]:='0';
          stringgrid1.Cells[9,y]:=floattostr(strtofloat(stringgrid1.cells[6,y])*
                      strtofloat(stringgrid1.Cells[7,y]));
        end;
        if key<>#8 then begin
           if key='.' then begin
              for stri:=1 to length(stringgrid1.cells[6,y]) do begin
                  if stringgrid1.Cells[6,y][stri]='.' then key:=#0;
              end;
           end else begin
              if (key>'9') or (key<'0') then key:=#0;
           end;
        end;
      end;
      7:begin
        if key=#13 then begin
        if adotable1.Locate('物品名称;型号;规格',vararrayof([stringgrid1.cells[1,y],
              stringgrid1.cells[2,y],stringgrid1.cells[3,y]]),[loCaseInsensitive])
              then begin
                  if strtoint(stringgrid1.cells[7,y])+adotable1.fieldbyname('数量').asinteger
                       >adotable1.fieldbyname('提示上限').asinteger then begin
                          showmessage('该备件的库存数量以超出了提示上限,请三思。');
                  end;
              end else begin
                  if strtoint(stringgrid1.cells[7,y])>mr_wxform.ADOTable2.fieldbyname('库存上限').asinteger
                      then begin
                          showmessage('该备件的库存数量以超出了提示上限,请三思。');
                      end;
              end;
          stringgrid1.Col:=stringgrid1.Col+1;
          if stringgrid1.Cells[6,y]='' then stringgrid1.Cells[6,y]:='0';
          if stringgrid1.cells[7,y]='' then stringgrid1.Cells[7,y]:='0';
          stringgrid1.Cells[9,y]:=floattostr(strtofloat(stringgrid1.cells[6,y])*
                      strtofloat(stringgrid1.Cells[7,y]));
        end;
        if key<>#8 then begin
           if (key>'9') or (key<'0') then key:=#0;
        end;
      end;
      8:begin
        if key=#13 then begin

⌨️ 快捷键说明

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