📄 tjlj.pas
字号:
unit TJLJ;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Grids, DBGrids, StdCtrls;
type
Tcarlingjian = class(TForm)
Label14: TLabel;
Panel5: TPanel;
Panel6: TPanel;
Panel7: TPanel;
Panel8: TPanel;
Panel1: TPanel;
Label1: TLabel;
Label6: TLabel;
Edit1: TEdit;
Edit2: TEdit;
DBGrid1: TDBGrid;
Panel2: TPanel;
procedure Panel5MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel5MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormShow(Sender: TObject);
procedure chkedit;
procedure Panel5Click(Sender: TObject);
procedure Panel8Click(Sender: TObject);
procedure Panel7Click(Sender: TObject);
procedure Panel6Click(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure DBGrid1CellClick(Column: TColumn);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Panel2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
carlingjian: Tcarlingjian;
editreadonly,insertorupdate:boolean;
oldlingjiannm :string;
implementation
uses unit2;
{$R *.dfm}
procedure Tcarlingjian.Panel5MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
Tpanel(sender).BevelOuter:=bvLowered;
end;
procedure Tcarlingjian.Panel5MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
tpanel(sender).BevelOuter:=bvSpace;
end;
procedure Tcarlingjian.FormShow(Sender: TObject);
begin
insertorupdate:=true;
editreadonly:=true;
with datamodule2.CarclassQ do
begin
close;
sql.Clear;
sql.Add('select * from carlingjian.dbf');
open;
oldlingjiannm:=fieldbyname('lingjiannm').AsString;
edit1.Text:=fieldbyname('lingjiannm').AsString;
edit2.Text:=floattostr(fieldbyname('jiage').AsFloat);
end;
end;
procedure Tcarlingjian.Panel5Click(Sender: TObject);
begin
if editreadonly then
begin
edit1.text:='';
edit2.text:='';
editreadonly:=false;
chkedit;
edit1.SetFocus;
end
else
begin
if insertorupdate then //添加
begin
if (trim(edit1.Text)='') or (trim(edit2.Text)='') then
showmessage('资料不完整!!')
else
begin
with datamodule2.CarclassQ do
begin
close;
sql.Clear;
sql.Add('select * from carlingjian.dbf where lingjiannm=:nm');
parambyname('nm').AsString:=edit1.Text;
open;
if recordcount < 1 then
begin
close;
sql.Clear;
sql.Add('insert into carlingjian.dbf');
sql.Add('(lingjiannm,jiage)');
sql.Add(' values(:lnm,:jg)');
parambyname('lnm').AsString:=edit1.Text;
parambyname('jg').AsFloat:=strtofloat(edit2.text);
execsql;
close;
end
else
showmessage('对不起!此零件已经存在!!');
end;
carlingjian.FormShow(sender);
editreadonly:=true;
chkedit;
end;
end
else
if (trim(edit1.Text)='') or (trim(edit2.Text)='') then
showmessage('资料不完整!!')
else
begin
if messagebox(carlingjian.Handle,'确定要修改此记录吗','提示',MB_YESNO)=ID_YES then
begin //修改
with datamodule2.CarclassQ do
begin
close;
sql.Clear;
sql.Add('update carlingjian.dbf set');
sql.add(' lingjiannm=:ljn,jiage=:jg');
sql.Add(' where lingjiannm=(:oldname)');
parambyname('oldname').asstring:=oldlingjiannm;
parambyname('ljn').asstring:=edit1.text;
parambyname('jg').asfloat:=strtofloat(edit2.text);
execsql;
end;
insertorupdate:=true;
carlingjian.FormShow(sender);
editreadonly:=true;;
chkedit;
end;
end;
end;
end;
procedure Tcarlingjian.chkedit;
begin
if editreadonly then
begin
panel6.Enabled:=true;
panel6.Color:=clmoneygreen;
panel7.Enabled:=true;
panel7.Color:=clmoneygreen;
edit1.enabled:=false;
edit2.enabled:=false;
edit1.color:=clinfobk;
edit2.color:=clinfobk;
panel5.Caption:='添加';
end
else
begin
panel6.Enabled:=false;
panel6.Color:=clwindow;
panel7.Enabled:=false;
panel7.Color:=clwindow;
edit1.enabled:=true;
edit2.enabled:=true;
edit1.color:=clwindow;
edit2.color:=clwindow;
panel5.Caption:='保存';
end;
end;
procedure Tcarlingjian.Panel8Click(Sender: TObject);
begin
insertorupdate:=true;
editreadonly:=true;
chkedit;
carlingjian.FormShow(sender);
end;
procedure Tcarlingjian.Panel7Click(Sender: TObject);
begin
if ((datamodule2.carclassQ.RecordCount >0) and (messagebox(carlingjian.Handle,'确定要删除吗?','提示',MB_YESNO) = ID_YES)) then
begin
with datamodule2.CarclassQ do
begin
close;
sql.Clear;
sql.Add('delete from carlingjian.dbf where lingjiannm=:num1');
parambyname('num1').value:=edit1.Text;
execsql;
end;
carlingjian.FormShow(sender);
chkedit;
end;
end;
procedure Tcarlingjian.Panel6Click(Sender: TObject);
begin
if datamodule2.CarclassQ.RecordCount > 0 then
begin
insertorupdate:=false;
editreadonly:=false;
chkedit;
edit1.SetFocus;
end
else showmessage('无记录');
end;
procedure Tcarlingjian.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
panel5.SetFocus
else
if not (key in ['0'..'9','.',char(VK_BACK)]) then
key:=#0;
end;
procedure Tcarlingjian.DBGrid1CellClick(Column: TColumn);
begin
with datamodule2.CarclassQ do
begin
oldlingjiannm:=fieldbyname('lingjiannm').AsString;
edit1.Text:=fieldbyname('lingjiannm').AsString;
edit2.Text:=floattostr(fieldbyname('jiage').AsFloat);
end;
end;
procedure Tcarlingjian.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
edit2.SetFocus;
end;
procedure Tcarlingjian.Panel2Click(Sender: TObject);
begin
carlingjian.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -