📄 ql1.pas
字号:
unit ql1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, Mask, DBCtrls, Buttons, DB, ADODB,
DBActns, ActnList, scExcelExport, bsSkinShellCtrls, DBGridEh, RzEdit,
RzDBEdit, RzButton, RzPanel, ExtCtrls, Menus, ComCtrls, DosMove;
type
Twl = class(TForm)
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DataSource1: TDataSource;
ADODataSet1: TADODataSet;
scExcelExport1: TscExcelExport;
Label7: TLabel;
Label8: TLabel;
ComboBox1: TComboBox;
bsSkinSaveDialog1: TSaveDialog;
ADOCommand1: TADOCommand;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
DateTimePicker1: TDateTimePicker;
RzToolbar2: TRzToolbar;
RzToolButton2: TRzToolButton;
RzSpacer2: TRzSpacer;
RzToolButton7: TRzToolButton;
RzSpacer6: TRzSpacer;
RzToolButton8: TRzToolButton;
RzSpacer7: TRzSpacer;
RzToolButton9: TRzToolButton;
RzSpacer8: TRzSpacer;
RzToolButton10: TRzToolButton;
RzSpacer9: TRzSpacer;
RzToolButton11: TRzToolButton;
DBGridEh1: TDBGridEh;
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure RzToolButton11Click(Sender: TObject);
procedure RzToolButton10Click(Sender: TObject);
procedure RzToolButton9Click(Sender: TObject);
procedure RzToolButton2Click(Sender: TObject);
procedure RzToolButton7Click(Sender: TObject);
procedure DBGridEh1DblClick(Sender: TObject);
procedure RzToolButton8Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure Edit5KeyPress(Sender: TObject; var Key: Char);
procedure Edit6KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
wl: Twl;
implementation
uses rk1, adodm;
{$R *.dfm}
procedure Twl.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if gdselected in state then//如果当前区域是被选区域
begin
//设置被选区域颜色
tdbgrid(sender).Canvas.Brush.Color:=clinfobk;
//设置被选区域字体颜色
tdbgrid(sender).Canvas.Font.Color:=clfuchsia;
end
else //如果是当前区域不是被选择区域
begin
//如果是偶数行,则背景颜色为 clskyblue
if tdbgrid(sender).DataSource.DataSet.RecNo mod 2 =0 then
tdbgrid(sender).Canvas.Brush.Color:=clskyblue
else
//如果是奇数行,则背景颜色为 clinactivecaptiontext
tdbgrid(sender).Canvas.Brush.Color:=clWhite;
end;
//调用默认的绘图函数
tdbgrid(sender).DefaultDrawColumnCell(rect,datacol,column,state);
end;
procedure Twl.FormCreate(Sender: TObject);
begin
DBGridEh1.Columns[0].Width:=120;
DBGridEh1.Columns[1].Width:=80;
DBGridEh1.Columns[2].Width:=80;
DBGridEh1.Columns[3].Width:=40;
DBGridEh1.Columns[4].Width:=40;
DBGridEh1.Columns[5].Width:=40;
DBGridEh1.Columns[6].Width:=60;
DBGridEh1.Columns[7].Width:=60;
datetimepicker1.DateTime:=now+365;
end;
procedure Twl.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DM.wl.Active:=FALSE;
DM.wl.Active:=TRUE;
end;
procedure Twl.RzToolButton11Click(Sender: TObject);
begin
close;
end;
procedure Twl.RzToolButton10Click(Sender: TObject);
begin
bsskinSaveDialog1 := bsSkinSaveDialog1.Create(nil);
bsskinSaveDialog1.Filter := 'Execl 文件(*.XLS)|*.XLS|Word 文件(*.doc)|*.doc|HTML 文件(*.HTM)|*.HTM|TXT 文件 (*.txt)|*.TXT';
if bsskinSaveDialog1.Execute then
begin
if fileexists(bsskinSaveDialog1.FileName) then
if application.MessageBox('目标文件已经存在,要覆盖吗?',pchar(application.Title),mb_yesno+mb_iconquestion) <> 6 then exit;
try
scExcelExport1.LoadDefaultProperties;
scExcelExport1.ExcelVisible:=False;
scExcelExport1.WorksheetName := 'sheet1';
scExcelExport1.ExportDataset;
scExcelExport1.SaveAs(bsskinSaveDialog1.FileName,ffXLS);
//scExcelExport1.SaveAs('c:\ExcelExport.htm',ffHTM);
//scExcelExport1.SaveAs('c:\ExcelExport.csv',ffCSV);
finally
scExcelExport1.Disconnect;
showmessage('数据导出成功!'+bsskinSaveDialog1.FileName);
end;
end;
end;
procedure Twl.RzToolButton9Click(Sender: TObject);
var
a:string;
begin
if adodataset1.IsEmpty=false then
begin
a:=dbgrideh1.DataSource.DataSet.FieldValues[dbgrideh1.Columns[0].FieldName];
if messagedlg('您确认要删除:'+#13+'物料代码:'+a,mtwarning,[mbyes,mbno],0)=mryes then
begin
dm.ADOCommand1.CommandText:='delete from wldata where 物料代码='''+a+'''';
dm.ADOCommand1.Execute;
adodataset1.Active:=false;
adodataset1.Active:=true;
end;
end
else
showmessage('没有相应数据!');
end;
procedure Twl.RzToolButton2Click(Sender: TObject);
begin
edit1.Enabled:=true;
edit2.Enabled:=true;
edit3.Enabled:=true;
edit4.Enabled:=true;
edit5.Enabled:=true;
edit6.Enabled:=true;
combobox1.Enabled:=true;
combobox1.Text:='';
datetimepicker1.Enabled:=true;
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
edit6.Clear;
rztoolbutton7.Enabled:=true;
rztoolbutton2.Enabled:=false;
edit1.SetFocus;
end;
procedure Twl.RzToolButton7Click(Sender: TObject);
begin
adocommand1.CommandText:='insert into wldata (物料代码,品名,规格,单位,单价,工价,wllb,wdate) values ('''+trim(uppercase(edit1.Text))+''','''+trim(edit2.Text)+''','''+trim(edit3.Text)+''','
+''''+trim(edit4.Text)+''','''+trim(edit5.Text)+''','''+trim(edit6.Text)+''','''+trim(combobox1.Text)+''','''+formatdatetime('yyyy-mm-dd',datetimepicker1.DateTime)+''')';
adocommand1.Execute;
showmessage('操作成功!');
rztoolbutton2.Enabled:=true;
rztoolbutton7.Enabled:=false;
adodataset1.Active:=false;
adodataset1.Active:=true;
end;
procedure Twl.DBGridEh1DblClick(Sender: TObject);
begin
rztoolbutton8.Enabled:=true;
rztoolbutton7.Enabled:=false;
edit1.Enabled:=false;
edit1.Text:=adodataset1.Fields[0].AsString;
edit2.Text:=adodataset1.Fields[1].AsString;
edit3.Text:=adodataset1.Fields[2].AsString;
edit4.Text:=adodataset1.Fields[3].AsString;
edit5.Text:=adodataset1.Fields[4].AsString;
edit6.Text:=adodataset1.Fields[5].AsString;
combobox1.Text:=adodataset1.Fields[6].AsString;
edit2.Enabled:=true;
edit3.Enabled:=true;
edit4.Enabled:=true;
edit5.Enabled:=true;
edit6.Enabled:=true;
combobox1.Enabled:=true;
datetimepicker1.Enabled:=true;
adodataset1.Active:=false;
adodataset1.Active:=true;
end;
procedure Twl.RzToolButton8Click(Sender: TObject);
begin
adocommand1.CommandText:='update wldata set 品名='''+trim(edit2.Text)+''',规格='''+trim(edit3.Text)+''',单位='''+trim(edit4.Text)+''',单价='''+trim(edit5.Text)+''',工价='''+trim(edit6.Text)+''',wllb='''+trim(combobox1.Text)+''',wdate='''+formatdatetime('yyyy-mm-dd',datetimepicker1.DateTime)+''' where 物料代码='''+trim(edit1.text)+'''';
adocommand1.Execute;
adodataset1.Active:=false;
adodataset1.Active:=true;
rztoolbutton8.Enabled:=false;
end;
procedure Twl.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
edit2.SetFocus;
end;
procedure Twl.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
edit3.SetFocus;
end;
procedure Twl.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
edit4.SetFocus;
end;
procedure Twl.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
edit5.SetFocus;
end;
procedure Twl.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
edit6.SetFocus;
end;
procedure Twl.Edit6KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
combobox1.SetFocus;
end;
procedure Twl.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
datetimepicker1.SetFocus;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -