?? select_goods.pas
字號(hào):
unit SELECT_GOODS;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
SELECT_TEMPLET, Grids, Buttons, ExtCtrls, Db, DBTables,stdctrls,myself,
ComCtrls, MenuBar, ToolWin;
type
TFrm_select_goods = class(TFrm_select_templet)
Query_basemess: TQuery;
Label2: TLabel;
CB_NAME: TComboBox;
Panel2: TPanel;
Label1: TLabel;
SB_next: TSpeedButton;
E_find: TEdit;
Query_data: TQuery;
procedure FormCreate(Sender: TObject);
procedure SG_dataSelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
procedure SG_dataDblClick(Sender: TObject);
procedure E_findChange(Sender: TObject);
procedure SB_nextClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure E_findKeyPress(Sender: TObject; var Key: Char);
procedure User_addlist(S_name:string);
procedure CB_NAMEChange(Sender: TObject);
procedure SB_addClick(Sender: TObject);
procedure SB_PRINTClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_select_goods: TFrm_select_goods;
implementation
uses EDIT_goods, frmmain;
{$R *.DFM}
procedure TFrm_select_goods.FormCreate(Sender: TObject);
var
I_temp:integer;
B_find:Boolean;
begin
inherited;
self.Caption :=Application.Title +' - 產(chǎn)品列表';
Query_basemess.DatabaseName :=HWSHOPDATA;
query_data.DatabaseName :=HWSHOPDATA;
with sg_data do
begin
colcount:=8;
colwidths[0]:=width*8 div 100;
colwidths[1]:=width*25 div 100;
colwidths[2]:=width*25 div 100;
colwidths[3]:=width*25 div 100;
colwidths[4]:=width*25 div 100;
colwidths[5]:=width*15 div 100;
colwidths[6]:=width*15 div 100;
colwidths[7]:=width*25 div 100;
cols[0].Text :='序號(hào)';
cols[1].text :='產(chǎn)品編碼';
cols[2].text :='產(chǎn)品名稱';
cols[3].text :='產(chǎn)品型號(hào)';
cols[4].text :='最近單價(jià)';
cols[5].text :='提成';
cols[6].text :='單位';
cols[7].text :='備注';
end;
with query_data do
begin
close;
sql.Clear ;
sql.text:='select * from goodsmessage order by name';
open;
CB_NAME.Items.add('所有商品');
while not eof do
begin
B_find:=false;
for I_temp:=0 to CB_NAME.items.Count-1 do
begin
if CB_NAME.Items[I_temp]=fieldbyname('name').asstring then
B_find:=true; //找到相同名稱
end;
if not B_find then //沒(méi)有找到時(shí)增加
CB_NAME.Items.add(fieldbyname('name').asstring);
next;
end;
close;
end;
User_addlist('所有商品');
end;
procedure TFrm_select_goods.SG_dataSelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
inherited;
if sg_data.Cells[1,arow]='' then
canselect:=false
else
e_find.SetFocus ;
end;
procedure TFrm_select_goods.SG_dataDblClick(Sender: TObject);
begin
inherited;
ModalResult := mrOK;
end;
procedure TFrm_select_goods.E_findChange(Sender: TObject);
var
I_line:integer;
S_source,S_find:string;
begin
inherited;
if trim(e_find.text)='' then
begin
if sg_data.RowCount >1 then
sg_data.Row :=1
else
sg_data.Row :=0;
end
else
begin
S_find:=uppercase(trim(e_find.Text ));
for I_line:=1 to sg_data.RowCount - 1 do
begin
S_SOURCE:='';
S_source:=uppercase(trim(sg_data.cells[1,I_line]+sg_data.cells[2,I_line]+sg_data.cells[3,I_line]));
if (strpos(pchar(getstringpy(s_source)),pchar(S_find))<>nil) or
(strpos(pchar(s_source),pchar(s_find))<>nil) then
begin
sg_data.row :=I_line;
exit;
end;
end;
messagedlg('所有商品信息中沒(méi)有找到含“'+e_find.text+'”字符的記錄!',mtwarning,[mbok],0);
e_find.Text:='';
end;
end;
procedure TFrm_select_goods.SB_nextClick(Sender: TObject);
var
I_line:integer;
S_source,S_find:string;
begin
inherited;
if sg_data.RowCount <1 then
exit;
if trim(e_find.text)='' then
begin
if sg_data.row <sg_data.RowCount -1 then
sg_data.Row :=sg_data.Row +1
else
sg_data.Row :=1;
end
else
begin
if sg_data.Row =sg_data.RowCount -1 then
sg_data.Row :=1;
S_find:=uppercase(trim(e_find.Text ));
for I_line:=sg_data.Row+1 to sg_data.RowCount - 1 do
begin
S_SOURCE:='';
S_source:=uppercase(trim(sg_data.cells[1,I_line]+sg_data.cells[2,I_line]+sg_data.cells[3,I_line]));
if (strpos(pchar(getstringpy(s_source)),pchar(S_find))<>nil) or
(strpos(pchar(s_source),pchar(s_find))<>nil) then
begin
sg_data.row :=I_line;
exit;
end;
end;
messagedlg('沒(méi)有再找到含“'+e_find.text+'”字符的記錄!',mtwarning,[mbok],0);
sg_data.Row :=sg_data.RowCount -1;
end;
end;
procedure TFrm_select_goods.FormShow(Sender: TObject);
begin
inherited;
SB_PRINT.Enabled :=Checkrights(USERRIGHTS,'編輯');
SB_ADD.Enabled :=Checkrights(USERRIGHTS,'增加');
E_find.SetFocus ;
end;
procedure TFrm_select_goods.E_findKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if word(key)=13 then sb_select.Click ;
end;
procedure Tfrm_select_goods.User_addlist(S_name:string);
var
I_lines:integer;
begin
for I_lines:=1 to sg_data.RowCount do
begin
sg_data.Rows[I_lines].Clear ;
end;
//增加查找列表
with query_basemess do
begin
close;
if (s_name='所有商品') or (trim(s_name)='') then
sql.text:='select * from goodsmessage order by name'
else
sql.text:='select * from goodsmessage where name="'+s_name+'" order by name';
open;
if recordcount>0 then
sg_data.rowcount:=recordcount+1
else
sg_data.RowCount :=2;
first;
I_lines:=1;
while not eof do
begin
sg_data.Cells[0,I_lines]:=inttostr(I_lines);
sg_data.cells[1,I_lines]:=fieldbyname('id').asstring;
sg_data.cells[2,I_lines]:=fieldbyname('name').asstring;
sg_data.Cells[3,I_lines]:=fieldbyname('type').asstring;
sg_data.Cells[4,I_lines]:=fieldbyname('price').asstring;
sg_data.Cells[5,I_lines]:=fieldbyname('sellprice').asstring;
sg_data.Cells[6,I_lines]:=fieldbyname('unit').asstring;
sg_data.Cells[7,I_lines]:=fieldbyname('memo').asstring;
I_lines:=I_lines+1;
next;
end;
close;
end;
sg_data.Row :=1;
if sg_data.RowCount >1 then
sg_data.FixedRows :=1
else
sg_data.FixedRows :=0;
end;
procedure TFrm_select_goods.CB_NAMEChange(Sender: TObject);
begin
inherited;
User_addlist(cb_name.Text );
end;
procedure TFrm_select_goods.SB_addClick(Sender: TObject);
var
I_temp:integer;
B_find:Boolean;
begin
inherited;
Application.CreateForm(TFrm_edit_goods, Frm_edit_goods);
Frm_edit_goods.E_name.Text :=SG_data.Cells[2,SG_data.Row];
frm_edit_goods.Caption :='商品信息(增加)';
Frm_edit_goods.P_state :=0;
Frm_edit_goods.showmodal;
with query_data do
begin
close;
sql.Clear ;
sql.text:='select * from goodsmessage order by name';
open;
CB_NAME.Items.add('所有商品');
while not eof do
begin
B_find:=false;
for I_temp:=0 to CB_NAME.items.Count-1 do
begin
if CB_NAME.Items[I_temp]=fieldbyname('name').asstring then
B_find:=true; //找到相同名稱
end;
if not B_find then //沒(méi)有找到時(shí)增加
CB_NAME.Items.add(fieldbyname('name').asstring);
next;
end;
close;
end;
Frm_edit_goods.free;
CB_NAMEChange(self);
end;
procedure TFrm_select_goods.SB_PRINTClick(Sender: TObject);
var
I_temp:integer;
B_find:Boolean;
begin
inherited;
if SG_data.Cells[1,1]='' then exit;
Application.CreateForm(TFrm_edit_GOODS, Frm_edit_goods);
frm_edit_goods.Caption :='商品信息(編輯)';
frm_edit_goods.P_state :=1;
with Frm_edit_goods do
begin
P_state:=1;
e_id.Text :=SG_data.Cells[1,SG_data.Row];
e_name.Text :=SG_data.Cells[2,SG_data.Row];
e_type.text :=SG_data.Cells[3,SG_data.Row];
e_price.Text :=sg_data.cells[4,sg_data.Row];
e_sellprice.Text :=sg_data.cells[5,sg_data.Row];
e_unit.Text :=SG_data.Cells[6,SG_data.Row];
e_memo.Text :=SG_data.Cells[7,SG_data.Row];
end;
Frm_edit_goods.showmodal;
with query_data do
begin
close;
sql.Clear ;
sql.text:='select * from goodsmessage order by name';
open;
CB_NAME.Items.add('所有商品');
while not eof do
begin
B_find:=false;
for I_temp:=0 to CB_NAME.items.Count-1 do
begin
if CB_NAME.Items[I_temp]=fieldbyname('name').asstring then
B_find:=true; //找到相同名稱
end;
if not B_find then //沒(méi)有找到時(shí)增加
CB_NAME.Items.add(fieldbyname('name').asstring);
next;
end;
close;
end;
Frm_edit_goods.free;
CB_NAMEChange(self);
end;
procedure TFrm_select_goods.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
Query_basemess.Free ;
query_data.Free ;
end;
end.
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -