📄 uselectpart.pas
字号:
unit uSelectPart;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ActnList, LBCtrls, ExtCtrls, StdCtrls, Grids, LBDBGrid, DB,
jpeg, LBDBScrollBar, DBCtrls, LBMorphVCLBase, LBMorphButton;
type
TfrmSelectPart = class(TForm)
ActionList1: TActionList;
Action1: TAction;
Action2: TAction;
Label3: TLabel;
Label2: TLabel;
Label1: TLabel;
LBEdit1: TLBEdit;
LBEdit2: TLBEdit;
LBEdit3: TLBEdit;
Image2: TImage;
WindowCaption: TLabel;
SysCloseButton: TLBMorphButton;
Panel4: TPanel;
Panel6: TPanel;
Panel3: TPanel;
DataDBGrid: TLBDBGrid;
Panel2: TPanel;
Label17: TLabel;
Label21: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label4: TLabel;
Shape1: TShape;
LBDBScrollBar1: TLBDBScrollBar;
LBSpeecButton2: TLBSpeecButton;
LBSpeecButton1: TLBSpeecButton;
Shape2: TShape;
Panel1: TPanel;
Label16: TLabel;
Label8: TLabel;
Label18: TLabel;
Label22: TLabel;
DBText1: TDBText;
DBText2: TDBText;
DBText3: TDBText;
DBText4: TDBText;
Label9: TLabel;
Label10: TLabel;
procedure FormShow(Sender: TObject);
procedure LBEdit1Change(Sender: TObject);
procedure Action1Execute(Sender: TObject);
procedure LBEdit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DataDBGridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Action2Execute(Sender: TObject);
procedure SysCloseButtonClick(Sender: TObject);
procedure LBEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Image2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
procedure SelectData;
public
isEdit: Boolean;
end;
var
frmSelectPart: TfrmSelectPart;
const
sql='select Code, Borncode, name, Producing, Carmodel, Units, InPutPrice, PartType, '+
'COSTPRICE, DepotPlace, BillQuantity, StockQuantity, StockPrice, SalePrice From PartInfo';
implementation
uses uPublicvar, uMain, uDataMo, uSelectPartEdit, uSelectPartMoveEdit,
uConst;
{$R *.dfm}
procedure TFrmSelectPart.SelectData;
var
sqltext:string;
begin
case SelectPartType of
1:
sqltext:=Sql+' where Code<>'+#39+IPartCode+#39;
2,4,5,7:
sqltext:=Sql+' where not Code is Null';
3:
sqltext:=Sql+' where del<>'''+'1''';
end;
if Trim(LBEdit2.Text)<>'' then
sqltext:=sqltext+' and Code Like '+#39+'%'+Trim(LBEdit2.Text)+'%'+#39;
if Trim(LBEdit3.Text)<>'' then
sqltext:=sqltext+' and NAME Like '+#39+'%'+Trim(LBEdit3.Text)+'%'+#39;
if Trim(LBEdit1.Text)<>'' then
sqltext:=sqltext+' and HELPNOTENO Like '+#39+'%'+Trim(LBEdit1.Text)+'%'+#39;
OpenData(sqlText, dmData.sdsSelectPart);
end;
procedure TfrmSelectPart.FormShow(Sender: TObject);
var
sqltext:string;
begin
case SelectPartType of
1:
sqltext:=Sql+' where Code<>'+#39+IPartCode+#39;
2,4,5,7:
sqltext:=Sql+' where not Code is Null';
3:
sqltext:=Sql+' where del<>'''+'1''';
end;
OpenData(sqltext, dmData.sdsSelectPart);
dmData.ExistData.Data:=SelectPartCds.Data;
isEdit:=False;
LBEdit1.SetFocus;
end;
procedure TfrmSelectPart.LBEdit1Change(Sender: TObject);
begin
SelectData;
end;
procedure TfrmSelectPart.Action1Execute(Sender: TObject);
var
sqltext:string;
begin
case SelectPartType of
1:
sqltext:=Sql+' where Code<>'+#39+IPartCode+#39;
2,4:
sqltext:=Sql+' where not Code is Null';
3:
sqltext:=Sql+' where del<>'''+'1''';
end;
OpenData(sqltext, dmData.sdsSelectPart);
end;
procedure TfrmSelectPart.LBEdit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then Perform(WM_NEXTDLGCTL,0,0);
end;
procedure TfrmSelectPart.DataDBGridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then Action2Execute(Sender);
if key=VK_NEXT then
if dmData.sdsSelectPart.Eof then
dmData.sdsSelectPart.GetNextPacket;
end;
procedure TfrmSelectPart.Action2Execute(Sender: TObject);
begin
if dmData.sdsSelectPart.IsEmpty then
begin
Application.MessageBox('没有选择商品。',Hintinfo,$30);
Exit;
end;
if dmData.sdsSelectPart.Fieldbyname('Code').asstring='' then
begin
Application.MessageBox('商品编号为空,不可选择。',Hintinfo,$30);
Exit;
end;
if SelectPartType=1 then
begin
if dmData.ExistData.Locate('Code', Trim(dmData.sdsSelectPart.Fieldbyname('Code').asstring),[loCaseInsensitive]) then
begin
Application.MessageBox(PChar('已存在编号为“'+
Trim(dmData.sdsSelectPart.Fieldbyname('Code').asstring)+
'”的商品。'),Hintinfo,$30);
Exit;
end;
end
else
begin
if dmData.ExistData.Locate('PartCode', Trim(dmData.sdsSelectPart.Fieldbyname('Code').asstring),[loCaseInsensitive]) then
begin
Application.MessageBox(PChar('已存在编号为“'+
Trim(dmData.sdsSelectPart.Fieldbyname('Code').asstring)+
'”的商品。'),Hintinfo,$30);
Exit;
end;
end;
with SelectPartCds do
begin
case SelectPartType of
1: {1.为互换商品}
begin
if dmData.sdsSelectPart.Fieldbyname('Code').asstring=IPartCode then
begin
Application.MessageBox('不能使用相同的商品做互换件。',Hintinfo,$30);
Exit;
end;
Append;
FieldByName('ICode').asstring:=IPartCode;
FieldByName('CODE').asstring:=dmData.sdsSelectPart.FieldByName('Code').asstring;
FieldByName('NAME').asstring:=dmData.sdsSelectPart.FieldByName('Name').asstring;
Post;
end;
2, 3, 4, 5: {2.为采购订货}
begin
BillIsEdit:=isEdit;
frmSelectPartEdit:=TfrmSelectPartEdit.Create(Application);
frmSelectPartEdit.ShowModal;
isEdit:=frmSelectPartEdit.isSelect;
frmSelectPartEdit.Free;
end;
7:
begin
BillIsEdit:=isEdit;
frmSelectPartMoveEdit:=TfrmSelectPartMoveEdit.Create(Application);
frmSelectPartMoveEdit.ShowModal;
isEdit:=frmSelectPartMoveEdit.isSelect;
frmSelectPartMoveEdit.Free;
end;
end;
dmData.ExistData.Data:=Data;
end;
SelectPartCds.Last;
end;
procedure TfrmSelectPart.SysCloseButtonClick(Sender: TObject);
begin
Close;
end;
procedure TfrmSelectPart.LBEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then DataDBGrid.SetFocus;
end;
procedure TfrmSelectPart.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=27 then Close;
if key=VK_F5 then Panel1.Visible:=not Panel1.Visible;
end;
procedure TfrmSelectPart.Image2MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
SendMessage(Handle, wm_SysCommand ,$F012, 0);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -