📄 kcsxx.~pas
字号:
unit kcsxx;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons;
type
TForm20 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Label1: TLabel;
ComboBox1: TComboBox;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Panel3: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Label5: TLabel;
ComboBox2: TComboBox;
Panel4: TPanel;
Label4: TLabel;
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure Edit2Exit(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure BitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ComboBox2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form20: TForm20;
implementation
uses DataModal;
{$R *.dfm}
procedure TForm20.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
Key := #0;
end;
procedure TForm20.Edit1KeyPress(Sender: TObject; var Key: Char);
var
a: Boolean;
begin
a := (Key <#8)or(Key >#8)and(Key<#48)or(Key>#57);
if a then
Key := #0;
end;
procedure TForm20.FormShow(Sender: TObject);
begin
ComboBox2.Clear;
with Data.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select distinct 商品名称 from 商品基础信息表');
Open;
end;
While Not Data.ADOQuery1.Eof do
begin
ComboBox2.Items.Add(Data.ADOQuery1.FieldByName('商品名称').Value);
Data.ADOQuery1.Next;
end;
ComboBox1.Clear;
end;
procedure TForm20.ComboBox1Change(Sender: TObject);
begin
if Trim(ComboBox1.Text)<>'' then
begin
with Data.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from 库存上下限表 where 商品编号 = :a');
Parameters.ParamByName('a').Value := Trim(ComboBox1.Text);
Open;
end;
if Data.ADOQuery1.RecordCount <1 then
begin
Edit1.Clear;
Edit2.Clear;
BitBtn1.Enabled := True;
BitBtn2.Enabled := False;
end
else
begin
Edit1.Text := IntToStr(Data.ADOQuery1.FieldByName('库存上限').Value);
Edit2.Text := IntToStr(Data.ADOQuery1.FieldByName('库存下限').Value);
BitBtn2.Enabled := True;
BitBtn1.Enabled := False;
end;
end;
end;
procedure TForm20.Edit1Exit(Sender: TObject);
begin
if Trim(Edit1.Text)<>'' then
if StrToInt(Edit1.Text)<1 then
begin
Application.MessageBox('库存上限不能小于1。','提示',0+64);
Edit1.SetFocus;
end;
end;
procedure TForm20.Edit2Exit(Sender: TObject);
begin
if Trim(Edit2.Text)<>'' then
begin
if StrToInt(Edit2.Text)<1 then
begin
Application.MessageBox('库存下限不能小于1。','提示',0+64);
Edit2.SetFocus;
end;
if StrToInt(Edit2.Text)>= StrToInt(Edit1.Text)then
begin
Application.MessageBox('库存下限不能大于等于库存上限。','提示',0+64);
Edit2.SetFocus;
end;
end;
end;
procedure TForm20.BitBtn1Click(Sender: TObject);
begin
if (Trim(ComboBox2.Text)<>'')and(Trim(ComboBox1.Text)<>'')and(Trim(Edit1.Text)<>'') and(Trim(Edit2.Text)<>'')then
begin
Try
with Data.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Insert 库存上下限表 values (:a,:b,:c,:d)');
Parameters.ParamByName('a').Value := Trim(ComboBox1.Text);
Parameters.ParamByName('b').Value := Trim(ComboBox2.Text);
Parameters.ParamByName('c').Value := StrToInt(Edit1.Text);
Parameters.ParamByName('d').Value := StrToInt(Edit2.Text);
ExecSQL;
end;
Application.MessageBox('添加成功。','提示',0+64);
BitBtn1.Enabled := False;
ComboBox2.SetFocus;
Except
Application.MessageBox('系统出错。','提示',0+64);
Close;
end;
end
else
begin
Application.MessageBox('请输入库存上下限。','提示',0+64);
Edit1.SetFocus;
end;
end;
procedure TForm20.BitBtn2Click(Sender: TObject);
begin
if (Trim(ComboBox2.Text)<>'')and(Trim(ComboBox1.Text)<>'')and(Trim(Edit1.Text)<>'') and(Trim(Edit2.Text)<>'')then
begin
try
with Data.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('update 库存上下限表 set 库存上限 = :a ,库存下限 = :b where 商品编号 = :c');
Parameters.ParamByName('a').Value := StrToInt(Edit1.Text);
Parameters.ParamByName('b').Value := StrToInt(Edit2.Text);
Parameters.ParamByName('c').Value := Trim(ComboBox1.Text);
ExecSQL;
end;
Application.MessageBox('修改成功。','提示',0+64);
BitBtn2.Enabled := False;
except
Application.MessageBox('系统出错。','提示',0+64);
Close;
end;
end;
end;
procedure TForm20.ComboBox2Change(Sender: TObject);
begin
if Trim(ComboBox2.Text)<>''then
begin
with Data.ADOQuery2 do
begin
Close;
SQL.Clear;
SQL.Add('select * from 商品基础信息表 where 商品名称 = :a');
Parameters.ParamByName('a').Value := Trim(ComboBox2.Text);
Open;
end;
ComboBox1.Clear;
while Not Data.ADOQuery2.Eof do
begin
ComboBox1.Items.Add(Data.ADOQuery2.FieldByName('商品编号').Value);
Data.ADOQuery2.Next;
end;
end;
end;
procedure TForm20.BitBtn1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
TBitBtn(Sender).Font.Color := clRed;
end;
procedure TForm20.BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
TBitBtn(Sender).Font.Color := clBlue;
end;
procedure TForm20.ComboBox2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = VK_Return then
if Trim(ComboBox2.Text)<>'' then
ComboBox1.SetFocus;
end;
procedure TForm20.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = vk_Return then
if (Trim(ComboBox1.Text)<>'')and(BitBtn1.Enabled = True) then
BitBtn1.SetFocus;
end;
procedure TForm20.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = vk_return then
Edit2.SetFocus;
end;
procedure TForm20.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = vk_reTurn then
if (Trim(Edit2.Text)<>'')and(BitBtn1.Enabled = True) then
BitBtn1.SetFocus;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -