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

📄 ywgl_bjlqform.pas

📁 明日腾龙编修管理系统,对于做相关软件的朋友是一个非常好的参考
💻 PAS
字号:
unit YWGL_BJLQFORM;

interface

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

type
  TYWGL_BJLQ = class(TForm)
    PageControl1: TPageControl;
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
    TabSheet1: TTabSheet;
    DBGrid1: TDBGrid;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    BitBtn2: TBitBtn;
    Bevel1: TBevel;
    Label1: TLabel;
    Label2: TLabel;
    BitBtn3: TBitBtn;
    BitBtn5: TBitBtn;
    ADOTable2: TADOTable;
    DataSource2: TDataSource;
    DBGrid2: TDBGrid;
    BitBtn7: TBitBtn;
    BitBtn8: TBitBtn;
    BitBtn9: TBitBtn;
    BitBtn10: TBitBtn;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    StringGrid1: TStringGrid;
    Timer1: TTimer;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    BitBtn1: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn11: TBitBtn;
    Bevel2: TBevel;
    Edit4: TEdit;
    Label10: TLabel;
    ComboBox1: TComboBox;
    Label11: TLabel;
    ADOTable1DSDesigner: TDateTimeField;
    ADOTable1DSDesigner2: TStringField;
    ADOTable1DSDesigner3: TStringField;
    ADOTable1DSDesigner4: TStringField;
    ADOTable1ru: TBooleanField;
    ADOTable2DSDesigner: TStringField;
    ADOTable2DSDesigner2: TStringField;
    ADOTable2DSDesigner3: TStringField;
    ADOTable2DSDesigner4: TStringField;
    ADOTable2DSDesigner5: TStringField;
    ADOTable2DSDesigner6: TIntegerField;
    ADOTable2DSDesigner7: TStringField;
    ADOTable2DSDesigner8: TStringField;
    ADOTable2DSDesigner9: TStringField;
    ADOTable4: TADOTable;
    DataSource3: TDataSource;
    DBGrid3: TDBGrid;
    ADOTable4DSDesigner: TStringField;
    ADOTable4DSDesigner2: TStringField;
    ADOTable4DSDesigner3: TStringField;
    ADOTable4DSDesigner4: TStringField;
    ADOTable4DSDesigner5: TStringField;
    ADOTable4DSDesigner6: TStringField;
    ADOTable4DSDesigner7: TStringField;
    QuickRep1: TQuickRep;
    ColumnHeaderBand1: TQRBand;
    QRShape1: TQRShape;
    QRLabel1: TQRLabel;
    QRLabel2: TQRLabel;
    QRLabel3: TQRLabel;
    QRLabel4: TQRLabel;
    QRLabel5: TQRLabel;
    QRLabel6: TQRLabel;
    QRLabel7: TQRLabel;
    QRLabel8: TQRLabel;
    QRShape2: TQRShape;
    QRShape3: TQRShape;
    QRShape4: TQRShape;
    QRShape5: TQRShape;
    QRShape6: TQRShape;
    QRShape7: TQRShape;
    QRShape8: TQRShape;
    QRShape9: TQRShape;
    QRShape10: TQRShape;
    DetailBand1: TQRBand;
    QRShape20: TQRShape;
    QRDBText1: TQRDBText;
    QRDBText2: TQRDBText;
    QRDBText3: TQRDBText;
    QRDBText4: TQRDBText;
    QRDBText5: TQRDBText;
    QRDBText6: TQRDBText;
    QRDBText7: TQRDBText;
    QRDBText8: TQRDBText;
    QRShape11: TQRShape;
    QRShape12: TQRShape;
    QRShape13: TQRShape;
    QRShape14: TQRShape;
    QRShape15: TQRShape;
    QRShape16: TQRShape;
    QRShape17: TQRShape;
    QRShape18: TQRShape;
    QRShape19: TQRShape;
    PageFooterBand1: TQRBand;
    TitleBand1: TQRBand;
    QRLabel9: TQRLabel;
    QRShape21: TQRShape;
    QRLabel10: TQRLabel;
    QRLabel11: TQRLabel;
    QRSysData1: TQRSysData;
    QRLabel13: TQRLabel;
    Label12: TLabel;
    ComboBox2: TComboBox;
    ADOTable1DSDesigner5: TStringField;
    QRLabel14: TQRLabel;
    QRLabel15: TQRLabel;
    QRLabel16: TQRLabel;
    QRLabel17: TQRLabel;
    QRLabel18: TQRLabel;
    QRLabel19: TQRLabel;
    QRLabel20: TQRLabel;
    QRLabel21: TQRLabel;
    QRLabel22: TQRLabel;
    QRLabel23: TQRLabel;
    QRLabel24: TQRLabel;
    QRSysData2: TQRSysData;
    ADOTable5: TADOTable;
    ADOTable5DSDesigner: TStringField;
    ADOTable5DSDesigner2: TStringField;
    ADOTable5DSDesigner3: TStringField;
    ADOTable5DSDesigner4: TStringField;
    ADOTable5DSDesigner5: TDateTimeField;
    ADOTable5DSDesigner6: TStringField;
    ADOTable5DSDesigner7: TStringField;
    ADOTable5DSDesigner8: TStringField;
    ADOTable5DSDesigner9: TStringField;
    ADOTable5DSDesigner10: TStringField;
    DataSource4: TDataSource;
    ADOQuery1: TADOQuery;
    ADOTable3: TADOTable;
    ADOTable3DSDesigner: TStringField;
    Bevel3: TBevel;
    procedure  menuyp(sc:string);
    procedure FormShow(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn11Click(Sender: TObject);
    procedure TabSheet3Show(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure ComboBox1Exit(Sender: TObject);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn10Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure StringGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure StringGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure BitBtn8Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure DBGrid2DblClick(Sender: TObject);
    procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid3KeyPress(Sender: TObject; var Key: Char);
    procedure StringGrid1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure BitBtn5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  YWGL_BJLQ: TYWGL_BJLQ;
  danhao:string;
  strx,stry:integer;
implementation

{uses YWGL_LLDFORM;  }

{MRWX_BJXXLLKD ,MRWX_BB,}

{$R *.DFM}
PROCEDURE  TYWGL_BJLQ.menuyp(sc:string);//准备并显示列表窗体
Var
sql1:string;
begin
 sql1:='select top 12 *  from 备件基本信息 where 备件编号  like '+''''+sc+'%'+''''+' or '+' 备件名称 like'+''''+sc+'%'+'''';//查询键盘输入相似的语句
 ADOQuery1.SQL.Clear;//准备查询
 ADOQuery1.SQL.Add(sql1);//设置查询语句
 ADOQuery1.Active:=true;//开始查询
 if ADOquery1.FieldByName('备件编号').AsString<>'' then //将查询到的结果附给列表
 begin
  dbgrid3.Visible:=true;
 End
 else if dbgrid3.Visible=true then dbgrid3.Visible:=false;
end; //列表窗体准备完毕
procedure TYWGL_BJLQ.FormShow(Sender: TObject);
var si:integer;
begin
 animatewindow(handle,200,AW_VER_NEGATIVE-AW_HOR_POSITIVE);
 dbgrid1.columns[0].Width:=dbgrid1.columns[0].Width+1;
 bevel1.Left:=bevel1.Left+1;
 label1.Left:=label1.Left+1;
 label6.left:=label6.left+1;
 label7.left:=label7.left+1;
 label8.Left:=label8.Left+1;
 label9.left:=label9.left+1;
 label11.left:=label11.left+1;
 label12.left:=label12.left+1;
 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]:='备注';
 for si:=1 to 50 do begin
  stringgrid1.cells[0,si]:=inttostr(si);
 end;
 tabsheet1.show;
 combobox1.items.Clear;
 adotable3.First;
 while not adotable3.Eof do begin
 combobox1.Items.add(adotable3.fieldbyname('商家名称').asstring);
 adotable3.next;
 end;
 adotable5.First;
 combobox2.items.Clear;
 while not adotable5.Eof do begin
 combobox2.Items.Add(adotable5.fieldbyname('职员名称').asstring);
 adotable5.Next;
 end;
 adotable4.indexfieldnames:='备件名称';
end;
procedure TYWGL_BJLQ.BitBtn1Click(Sender: TObject);   //重新填单
var x,y:integer;
begin
for y:=1 to 50 do begin
 for x:=1 to 8 do begin
    stringgrid1.Cells[x,y]:='';
 end;
end;
stringgrid1.Col:=1;
stringgrid1.Row:=1;
stringgrid1.SetFocus ;
end;
procedure TYWGL_BJLQ.Timer1Timer(Sender: TObject);  //显示当前日期和时间
begin
 label8.caption:=formatdatetime('yyyy"年"mm"月"dd"日"',now);
 label9.caption:=formatdatetime('hh:nn:ss  am/pm',now);
end;
procedure TYWGL_BJLQ.BitBtn2Click(Sender: TObject);  //领料开单
begin
 if (combobox1.text<>'') and (combobox2.text<>'') then begin
 adotable1.Last;
 danhao:=adotable1.fieldbyname('单号').asstring;
 if danhao='' then begin
   danhao:='00001';
 end else begin
   danhao:=inttostr(strtoint(danhao)+1);
   while length(danhao)<5 do begin
         danhao:='0'+danhao;
   end;
 end;
 edit4.text:=danhao;
 tabsheet3.Show;
 end else begin
 showmessage('请先选择或填写发料单位名称和申请人名称。');
 combobox1.setfocus;
 end;
end;
procedure TYWGL_BJLQ.BitBtn11Click(Sender: TObject);   //取消添单
begin
 tabsheet1.show;
end;
procedure TYWGL_BJLQ.TabSheet3Show(Sender: TObject);
begin
 bitbtn1.Click;
 Dbgrid3.Visible:=False;
end;
procedure TYWGL_BJLQ.BitBtn3Click(Sender: TObject);  //领料单查询
begin
 If adotable1.RecordCount = 0 Then begin
 messagedlg('系统无领料单记录',mterror,[mbok],0);
 end else begin
 adotable2.filter:=format('单号'+'='+'''%s''',[adotable1.fieldbyname('单号').asstring]);
 tabsheet2.show;
 Edit1.Text:=AdoTable1.FieldByname('单号').Asstring;
 Edit2.Text:=DateToStr(AdoTable1.FieldByname('日期').asdatetime);
 Edit3.Text:=AdoTable1.Fieldbyname('发料单位').asstring;
 end;
end;
procedure TYWGL_BJLQ.ComboBox1Exit(Sender: TObject);   //添加商家名称
begin
 if combobox1.text<>'' then begin
 if not adotable3.Locate('商家名称',combobox1.text,[loCaseInsensitive]) then begin
  adotable3.Insert;
  adotable3.FieldByName('商家名称').asstring:=combobox1.text;
  adotable3.post;
  combobox1.items.add(combobox1.text);
 end;
 end;
end;
procedure TYWGL_BJLQ.ComboBox1KeyPress(Sender: TObject;
var Key: Char);
begin
 if key=#13 then begin        //回车
 combobox2.setfocus;
 end;
end;
procedure TYWGL_BJLQ.BitBtn10Click(Sender: TObject);   // 返回并保存
begin
 TAbSheet1.Show;
end;
procedure TYWGL_BJLQ.BitBtn4Click(Sender: TObject);  //保存添单
var dan:integer;
begin
 adotable1.Append;
 adotable1.fieldbyname('日期').asdatetime:=date;
 adotable1.FieldByName('单号').asstring:=edit4.text;
 adotable1.fieldbyname('发料单位').asstring:=combobox1.text;
 adotable1.fieldbyname('是否入库').asstring:='否';
 adotable1.fieldbyname('申请人').asstring:=combobox2.text;
 adotable1.Post;
 for dan:=1 to 50 do begin
   if stringgrid1.Cells[1,dan]<>'' then begin
    adotable2.Append;
    AdoTable2.FieldByname('单号').Asstring:=edit4.text;
    adotable2.fieldbyname('名称').asstring:=stringgrid1.cells[1,dan];
    adotable2.fieldbyname('物料编码').asstring:=stringgrid1.cells[2,dan];
    adotable2.fieldbyname('规格型号').asstring:=stringgrid1.cells[3,dan];
    adotable2.fieldbyname('单位').asstring:=stringgrid1.Cells[4,dan];
    AdoTAble2.FieldByname('机型').Asstring:=StringGrid1.Cells[5,Dan];
    AdoTable2.FieldByname('位号').Asstring:=StringGrid1.Cells[6,dan];
    adotable2.fieldbyname('数量').asstring:=stringgrid1.cells[7,dan];
    AdoTAble2.FieldByname('备注').Asstring:=StringGrid1.Cells[8,dan];
    AdoTable2.Post;
   end;
 end;
 TabSheet1.Show;
end;
procedure TYWGL_BJLQ.StringGrid1KeyPress(Sender: TObject;var Key: Char);
begin
  if (key=#13) AND (StringGrid1.Col=8) then begin     //回车移动焦点
   StringGrid1.ROW:=StringGrid1.ROW+1;
   StringGrid1.Col:=1;
  END ;
  if (key=#13) AND (StringGrid1.Col<8)AND  (StringGrid1.Col>1) then begin
   StringGrid1.Col:=StringGrid1.Col+1;
  END ;
end;
procedure TYWGL_BJLQ.StringGrid1KeyDown(Sender: TObject;var Key: Word; Shift: TShiftState);
begin
If Key = 39 Then    //使用方向键(右)
begin
If (stringgrid1.Col = 1) And (Dbgrid3.Visible = True) Then
 begin
  DBGRID3.SetFocus ;
 END;
END;
end;
procedure TYWGL_BJLQ.DBGrid1DblClick(Sender: TObject); //查阅领料单
begin
 Bitbtn3.Click;
end;
procedure TYWGL_BJLQ.BitBtn8Click(Sender: TObject);   //删除备件信息
begin
 If AdoTable2.RecordCount <> 0 Then begin
 if messagedlg('您确定要删除该记录吗?',mtInformation,[mbyes,mbok],0)=mryes then begin
   AdoTable2.Delete;
 end;
 end else begin
  if  messagedlg('系统无纪录,是否将该单号废除',mterror,[mbyes,mbno],0)=mryes then begin
     adotable1.Delete;
     tabsheet1.Show;
  end;
 end;
end;
procedure TYWGL_BJLQ.BitBtn7Click(Sender: TObject);   //修改领料单
begin
 Adotable2.edit;
 DBGRID2.ReadOnly:=TRUE;
end;
procedure TYWGL_BJLQ.DBGrid2DblClick(Sender: TObject);
begin
 bitbtn7.Click;  //领料单修改
end;
procedure TYWGL_BJLQ.ComboBox2KeyPress(Sender: TObject;
var Key: Char);
begin
 if key=#13 then begin    //回车
 bitbtn2.setfocus;
 end;
end;
Procedure TYWGL_BJLQ.DBGrid3KeyPress(Sender: TObject; var Key: Char);  //选择备件
begin
 if key<>#27 then  begin     //如果非ESC 键
 if key=#13 then begin
  StringGrid1.Cells[1,StringGrid1.Row]:=AdoTable4.FieldByname('备件名称').Asstring;
  StringGrid1.Cells[2,StringGrid1.Row]:=AdoTable4.FieldByname('备件编号').Asstring;
  StringGrid1.Cells[3,StringGrid1.Row]:=AdoTable4.FieldByname('备件型号').Asstring;
  StringGrid1.Cells[4,StringGrid1.Row]:=AdoTable4.Fieldbyname('单位').Asstring;
  Dbgrid3.Visible:=false;
  StringGrid1.Col:=5;
  stringgrid1.SetFocus;
  exit;
 end;
 key:=#0;
 end else begin
 dbgrid3.Visible:=false;
 stringgrid1.Cells[1,StringGrid1.Row]:='';
 stringgrid1.Cells[2,StringGrid1.Row]:='';
 stringgrid1.Cells[3,StringGrid1.Row]:='';
 stringgrid1.Cells[4,StringGrid1.Row]:='';
 stringgrid1.Cells[5,StringGrid1.Row]:='';
 stringgrid1.Cells[6,StringGrid1.Row]:='';
 stringgrid1.Cells[7,StringGrid1.Row]:='';
 stringgrid1.Cells[8,StringGrid1.Row]:='';
 end;
end;
procedure TYWGL_BJLQ.StringGrid1KeyUp(Sender: TObject; var Key: Word;Shift: TShiftState);
type
tkeyset=set of 0..255;
Var
keyset:tkeyset;
begin
 keyset:=[48..57,65..90,96..105,8];
If (stringgrid1.Col > 1) Then
begin
DBGRID3.Visible:=FALSE
END ;
If (stringgrid1.Col = 1) Then
 if StringGrid1.Cells[1,StringGrid1.Row]<>'' then
  menuyp(StringGrid1.Cells[1,StringGrid1.row])
    else  dbgrid3.Visible:=false;
end ;
procedure TYWGL_BJLQ.BitBtn5Click(Sender: TObject);
begin
close;
end;
end.

⌨️ 快捷键说明

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