goodsindetail.pas
来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 206 行
PAS
206 行
unit goodsindetail;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, DBCtrls, Buttons,adodb,db;
type
TFormgoodsindetail = class(TForm)
GroupBox1: TGroupBox;
Label4: TLabel;
GroupBox3: TGroupBox;
Label1: TLabel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
Label2: TLabel;
Label3: TLabel;
Label25: TLabel;
ListBox1: TListBox;
ListBox2: TListBox;
Button1: TButton;
Label5: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
procedure FormCreate(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Formgoodsindetail: TFormgoodsindetail;
implementation
uses datamol, publicfunction;
{$R *.DFM}
procedure TFormgoodsindetail.FormCreate(Sender: TObject);
var query1:tadoquery;
begin
query1:=tadoquery.Create(nil);
query1.Connection:=datamod.Database1;
query1.Close;
query1.SQL.Text:='select goodsid,goodsname from goods';
query1.open;
if not query1.Eof then
begin
while not query1.Eof do
begin
listbox1.Items.add(query1.fieldbyname('goodsid').asstring+copychar(' ',query1.fieldbyname('goodsid').size-length(query1.fieldbyname('goodsid').asstring))+' '+query1.fieldbyname('goodsname').asstring);
query1.Next;
end;
end;
query1.Destroy;
datamod.Adoindetail.Append;
end;
procedure TFormgoodsindetail.SpeedButton1Click(Sender: TObject);
var i:integer;
begin
for i:=0 to listbox1.items.count-1 do
begin
if listbox1.Selected[i] then
if listbox2.items.indexof(listbox1.items[i])<0 then
listbox2.Items.add(listbox1.items[i]);
end;
label25.caption:=inttostr(listbox2.items.count);
label25.update;
end;
procedure TFormgoodsindetail.SpeedButton2Click(Sender: TObject);
var i:integer;
begin
for i:=0 to listbox1.items.count-1 do
if listbox2.items.indexof(listbox1.items[i])<0 then
listbox2.items.add(listbox1.items[i]);
label25.caption:=inttostr(listbox2.items.count);
label25.update;
end;
procedure TFormgoodsindetail.SpeedButton3Click(Sender: TObject);
var i,j,k:integer;
list:TStringList;
begin
j:=0;
list:=TStringList.Create;
for i:=0 to listbox2.items.count-1 do
list.add(listbox2.items[i]);
//for i:=0 to listbox2.items.count-1 do
// begin
//j:=i;
// break;
// end;
k:=0;
for i:=0 to listbox2.items.count-1 do
if listbox2.Selected[i] then
begin
j:=i;
list.delete(j-k);
inc(k);
end;
listbox2.items.clear;
for i:=0 to list.Count-1 do
listbox2.Items.Add(list.Strings[i]);
for i:=0 to list.count-1 do
if j=list.count then
begin
//listbox2.itemindex:=j-1 ;
listbox2.selected[j-1]:=true;
end
else
begin
//listbox2.itemindex:=j;
listbox2.selected[j]:=true;
break;
end;
////////////////////////////////
label25.caption:=inttostr(listbox2.items.count);
label25.update;
end;
procedure TFormgoodsindetail.SpeedButton4Click(Sender: TObject);
begin
listbox2.clear;
label25.caption:=inttostr(listbox2.items.count);
label25.update;
end;
procedure TFormgoodsindetail.Button1Click(Sender: TObject);
var goodsid:string;
query1,query:tadoquery;
i:integer;
begin
query1:=tadoquery.Create(self);
query1.Connection:=datamod.Database1;
query:=tadoquery.Create(self);
query.Connection:=datamod.Database1;
if trim(dbedit1.Text)='' then
begin
application.MessageBox('系数号不能为空!','提示',mb_ok+mb_iconwarning);
exit;
end;
try
query1.close;
query1.SQL.Text:='select * from indetail where indetailno='''+dbedit1.text+'''';
query1.Open;
if not query1.eof then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Text:='delete indetailb where indetailno='''+dbedit1.text+'''';
query1.ExecSQL;
end
else
datamod.adoindetail.Post;
query1.Close;
for i:=0 to listbox2.Items.Count-1 do
begin
goodsid:=copy(listbox2.items[i],1,pos(' ',listbox2.items[i])-1);
query.close;
query.SQL.Clear;
query.SQL.Text:='select prices from goods where goodsid='''+goodsid+'''';
query.open;
query1.SQL.Clear;
query1.SQL.Text:='insert into indetailb(indetailno,goodsid,prices) values('''+dbedit1.text+''','''+goodsid+''','''+query.fieldbyname('prices').asstring+''')';
query1.ExecSQL;
// datamod.adoindetailb.Refresh;
end;
application.MessageBox('操作成功!','提示',mb_ok);
close;
except
application.MessageBox('操作失败!','提示',mb_ok);
end;
end;
procedure TFormgoodsindetail.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
selectnext(activecontrol,true,true);
end;
end;
procedure TFormgoodsindetail.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
datamod.adoindetailb.close;
datamod.adoindetailb.open;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?