📄 u_frmlist.pas
字号:
unit u_frmlist;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls;
type
TFrmlist = class(TForm)
DBGrid1: TDBGrid;
codeedit: TEdit;
Label1: TLabel;
Label2: TLabel;
numEdit: TEdit;
whyEdit: TEdit;
Label3: TLabel;
DBGrid2: TDBGrid;
Button1: TButton;
Button2: TButton;
SaveDialog1: TSaveDialog;
Button3: TButton;
procedure StringGridKeyPress(Sender: TObject; var Key: Char);
procedure codeeditChange(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure codeeditKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormShow(Sender: TObject);
procedure codeeditEnter(Sender: TObject);
procedure numEditKeyPress(Sender: TObject; var Key: Char);
procedure whyEditKeyPress(Sender: TObject; var Key: Char);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frmlist: TFrmlist;
implementation
uses u_data;
{$R *.dfm}
procedure TFrmlist.StringGridKeyPress(Sender: TObject; var Key: Char);
begin
IF Key=#13 THEN
KEYBD_EVENT(9,0,0,0);
end;
procedure TFrmlist.codeeditChange(Sender: TObject);
begin
if trim(codeedit.Text)='' then
begin
dbgrid1.Visible:=false;
end
else
dbgrid1.Visible:=true;
with data.Qmain do
begin
close;
sql.Clear;
sql.Add('select * from main where picnum like'''+codeedit.Text+'%''');
open;
end;
end;
procedure TFrmlist.DBGrid1CellClick(Column: TColumn);
begin
codeedit.Text:=dbgrid1.Columns[0].Field.asstring;
dbgrid1.Visible:=false;
end;
procedure TFrmlist.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
numedit.SetFocus;
begin
codeedit.Text:=dbgrid1.Columns[0].Field.asstring;
dbgrid1.Visible:=false;
with data.Qlist do
begin
close;
sql.Clear;
sql.Add('insert into requestlist(picnum,name,isfixed,fixednum,chargeperson)');
sql.Add('select picnum,name,isfixed,fixednum,chargeperson from main where picnum='''+codeedit.text+'''');
execsql;
close;
Sql.clear;
sql.add('select * from requestlist');
open;
end;
end;
end;
procedure TFrmlist.codeeditKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = VK_DOWN) then
begin
if dbgrid1.CanFocus then
dbgrid1.SetFocus;
SendMessage(dbGrid1.Handle,WM_KEYDOWN,Key,0);
end;
end;
procedure TFrmlist.FormShow(Sender: TObject);
begin
if trim(codeedit.Text)='' then
begin
dbgrid1.Visible:=false;
end
else
begin
dbgrid1.Visible:=true;
end;
end;
procedure TFrmlist.codeeditEnter(Sender: TObject);
begin
dbgrid1.Visible:=false;
end;
procedure TFrmlist.numEditKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
whyedit.SetFocus;
end;
procedure TFrmlist.whyEditKeyPress(Sender: TObject; var Key: Char);
begin
if trim(numedit.Text)='' then
begin
application.MessageBox('请输入数量','提示',0+64);
numedit.SetFocus;
end
else
if key=#13 then
with data.Qlist do
begin
close;
sql.Clear;
sql.Add('update requestlist set requestnum='''+numedit.Text+''',unusualreason='''+whyedit.Text+'''');
sql.Add('where picnum = '''+codeedit.Text+'''');
execsql;
close;
Sql.clear;
sql.add('select * from requestlist');
open;
codeedit.Clear;
numedit.Clear;
whyedit.Clear;
codeedit.SetFocus;
end;
end;
procedure TFrmlist.Button1Click(Sender: TObject);
begin
with data.Qlist do
begin
close;
sql.Clear;
sql.Add('delete from requestlist');
execsql;
end;
end;
procedure TFrmlist.Button2Click(Sender: TObject);
var i: integer;
s: string;
StringList: TStringList;
begin
if SaveDialog1.Execute then
begin
try
StringList := TStringList.Create;
while not data.Qlist.Eof do
begin
for i := 1 to data.Qlist.FieldCount - 1 do
s := s + data.Qlist.Fields[i].AsString + ',';
StringList.add(s);
s := '';
data.Qlist.Next;
end;
StringList.savetofile(SaveDialog1.FileName { + '.csv'});
finally
FreeAndNil(StringList);
end;
end;
end;
procedure TFrmlist.Button3Click(Sender: TObject);
begin
with data.Qlist do
begin
close;
sql.Clear;
sql.Add('delete from requestlist');
execsql;
close;
end;
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -