?? changeunt.pas
字號:
unit changeunt;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Grids, BaseGrid, AdvGrid, ExtCtrls;
type
Tchangefrm = class(TForm)
Label4: TLabel;
Label3: TLabel;
Label5: TLabel;
Label6: TLabel;
Bevel1: TBevel;
Label1: TLabel;
Label2: TLabel;
GroupBox1: TGroupBox;
Label13: TLabel;
Edit1: TEdit;
Label14: TLabel;
Edit2: TEdit;
Label12: TLabel;
Label15: TLabel;
AdvStringGrid1: TAdvStringGrid;
Edit3: TEdit;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
GroupBox2: TGroupBox;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
AdvStringGrid2: TAdvStringGrid;
Edit4: TEdit;
BitBtn8: TBitBtn;
BitBtn1: TBitBtn;
BitBtn7: TBitBtn;
BitBtn6: TBitBtn;
Label21: TLabel;
Edit5: TEdit;
Timer1: TTimer;
procedure FormActivate(Sender: TObject);
procedure AdvStringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure Edit3Enter(Sender: TObject);
procedure Edit3Exit(Sender: TObject);
procedure Edit2Exit(Sender: TObject);
procedure Edit4Exit(Sender: TObject);
procedure Edit2Enter(Sender: TObject);
procedure Edit4Enter(Sender: TObject);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn8Click(Sender: TObject);
procedure AdvStringGrid2DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure BitBtn7Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
changefrm: Tchangefrm;
implementation
uses data,datam,maind, mainunt;
var
hhno,yhno:integer;
{$R *.dfm}
procedure Tchangefrm.FormActivate(Sender: TObject);
var
i:integer;
begin
Label6.caption:=create_change_no('changem');
hhno:=1;
yhno:=1;
label4.Caption:=formatdatetime('yyyy-mm-dd',date);
advstringgrid1.Cells[1,0]:='商品條形碼';
advstringgrid1.Cells[2,0]:='單價';
advstringgrid1.Cells[3,0]:='數量';
advstringgrid1.Cells[4,0]:='金額';
advstringgrid2.Cells[1,0]:='商品條形碼';
advstringgrid2.Cells[2,0]:='單價';
advstringgrid2.Cells[3,0]:='數量';
advstringgrid2.Cells[4,0]:='金額';
for i:=1 to 5 do
begin
advstringgrid1.Cells[0,i]:=inttostr(i);
advstringgrid2.Cells[0,i]:=inttostr(i);
end;
edit1.Text:='0';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
label10.Caption:='0';
label11.Caption:='0';
label20.Caption:='0';
label19.Caption:='0';
label12.Caption:='';
edit5.Text:=main.Edit8.Text;
edit2.SetFocus;
end;
procedure Tchangefrm.AdvStringGrid1DrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
var
s:string;
r:TRect;
begin
with advStringGrid1 do
begin
Canvas.FillRect(Rect);
if ACol = 4 then
begin
Canvas.Font.Color := clred;
canvas.Font.Style:=[fsBold];
end;
s:=Cells[ACol,ARow];
r:=Rect;
DrawText(Canvas.Handle,PChar(s),Length(s),r,DT_CENTER or DT_SINGLELINE or DT_VCENTER);
end;
end;
procedure Tchangefrm.Edit3Enter(Sender: TObject);
begin
Edit3.Color:=clSkyBlue;
end;
procedure Tchangefrm.Edit3Exit(Sender: TObject);
begin
Edit3.color:=clWindow;
end;
procedure Tchangefrm.Edit2Exit(Sender: TObject);
begin
Edit2.color:=clWindow;
if trim(edit2.Text)<>'' then
begin
with dataman.thmainQuery do
begin
close;
sql.Clear;
sql.Add('select 打折比例 from menber where VIP卡號='''+edit2.Text+'''');
open;
if not isempty then
label12.Caption:=floattostr(fields[0].value)
else
begin
showmessage('沒有這位'+edit2.Text+'會員');
edit2.SetFocus;
end;
end;
end;
end;
procedure Tchangefrm.Edit4Exit(Sender: TObject);
begin
Edit4.color:=clWindow;
end;
procedure Tchangefrm.Edit2Enter(Sender: TObject);
begin
Edit2.Color:=clSkyBlue;
end;
procedure Tchangefrm.Edit4Enter(Sender: TObject);
begin
Edit2.Color:=clSkyBlue;
end;
procedure Tchangefrm.Edit3KeyPress(Sender: TObject; var Key: Char);
var
i:integer;
begin
if trim(edit3.Text)='' then exit;
if not (key in ['0'..'9',#8,#39,#13]) then key:=#0;
if key=#13 then
begin
with dataman.thmainQuery do
begin
close;
sql.Clear;
sql.Add('select distinct 單價 from kc where 貨物條形碼='''+edit3.text+'''');
open;
end;
if dataman.thmainQuery.IsEmpty then
begin
showmessage('庫存里沒有'+trim(edit3.text)+'商品');
edit3.SelectAll;
edit3.SetFocus;
end
else
begin
//第一條記錄
if advstringgrid1.Cells[1,1]='' then
begin
advstringgrid1.Cells[1,hhno]:=trim(edit3.Text);
advstringgrid1.Cells[2,hhno]:=floattostr(dataman.thmainQuery.Fields[0].value);
advstringgrid1.Cells[3,hhno]:='1';
yhno:=yhno+1;
edit3.Text:='';
end
else
//不是第一條記錄
begin
for i:=1 to 5 do
begin
if advstringgrid1.Cells[1,i]='' then break;
if trim(edit3.Text)=advstringgrid1.Cells[1,i] then
begin
advstringgrid1.Cells[3,i]:=inttostr(strtoint(trim(advstringgrid1.Cells[3,i]))+1);
edit3.Text:='';
break;
exit;
end
else
begin
advstringgrid1.Cells[1,hhno]:=trim(edit3.Text);
advstringgrid1.Cells[2,hhno]:=floattostr(dataman.thmainQuery.Fields[0].value);
advstringgrid1.Cells[3,hhno]:='1';
yhno:=yhno+1;
edit3.Text:='';
end;
end;
end;
end;
end;
end;
procedure Tchangefrm.Edit4KeyPress(Sender: TObject; var Key: Char);
var
i:integer;
begin
if trim(edit4.Text)='' then exit;
if not (key in ['0'..'9',#8,#39,#13]) then key:=#0;
if key=#13 then
begin
with dataman.thmainQuery do
begin
close;
sql.Clear;
sql.Add('select distinct 單價 from kc where 貨物條形碼='''+edit4.text+'''');
open;
end;
if dataman.thmainQuery.IsEmpty then
begin
showmessage('庫存里沒有'+trim(edit4.text)+'商品');
edit4.SelectAll;
edit4.SetFocus;
end
else
begin
//第一條記錄
if advstringgrid2.Cells[1,1]='' then
begin
advstringgrid2.Cells[1,hhno]:=trim(edit4.Text);
advstringgrid2.Cells[2,hhno]:=floattostr(dataman.thmainQuery.Fields[0].value);
advstringgrid2.Cells[3,hhno]:='1';
//advstringgrid1.Cells[5,i]:='';
hhno:=hhno+1;
edit4.Text:='';
end
else
//不是第一條記錄
begin
for i:=1 to 5 do
begin
if advstringgrid2.Cells[1,i]='' then break;
if trim(edit4.Text)=advstringgrid2.Cells[1,i] then
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -