?? ywgl_bjlqform.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 + -