?? unit2.pas
字號:
ADOQuery1.FieldByName('SellPrice').AsString := ADOQuery2.FieldByName('SellPrice').AsString;
ADOQuery1.FieldByName('Gift').AsString := '-';
ADOQuery1.FieldByName('UntreadFlag').AsString := '-';
QH1;
QH2;
end;
procedure TMain.QH2;
begin
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('Select SUM(Subtotal) from Sell_Minor Where InvoiceID="'+Label26.Caption+'"');
ADOQuery2.Open;
Label7.Caption := FormatFloat('0.00',ADOQuery2.Fields[0].AsCurrency)
end;
procedure TMain.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
SID : String;
i : Integer;
begin
case key of
VK_ESCAPE:SpeedButton1.Click;
VK_SPACE :
begin
//檢查貨物數量
if ADOQuery1.RecordCount<1 then begin
ShowMessage('沒有商品記錄~~!');
Exit;
end else begin
Gathering:=TGathering.Create(Application);
Gathering.ShowModal;
end;
end;
VK_F1:RzEdit4.SetFocus;
VK_F2:RzEdit1.SetFocus;
VK_F3:RzEdit2.SetFocus;
VK_F4:RzEdit3.SetFocus;
VK_F5: begin
if ADOQuery1.FieldByName('Gift').AsString='-' then begin
if ADOQuery1.RecordCount>0 then begin
ADOQuery1.Edit;
ADOQuery1.FieldByName('Gift').AsString:='贈品';
end;
QH1;
QH2;
end else begin
if ADOQuery1.RecordCount>0 then begin
ADOQuery1.Edit;
ADOQuery1.FieldByName('Gift').AsString:='-';
end;
QH1;
QH2;
end;
end;
VK_F6:begin
//初始單號
for i:=1 to 9999 do
begin
SID:=FormatdateTime('yymmdd', Now)+FormatFloat('0000',i);
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('Select * from Sell_Main Where InvoiceID="'+SID+'"');
ADOQuery2.Open;
if ADOQuery2.RecordCount=0 then
begin
Break;
end;
end;
//讀取單號
Label26.Caption:=SID;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from Sell_Minor Where InvoiceID="'+Label26.Caption+'"');
ADOQuery1.Open;
QH2;
end;
VK_F7:begin
if QD<>nil then
QD.ShowModal
else begin
QD:=TQD.Create(Application);
QD.ShowModal;
end;
end;
VK_F9:begin
if Pos_Setup<>nil then
Pos_Setup.ShowModal
else begin
Pos_Setup:=TPos_Setup.Create(Application);
Pos_Setup.ShowModal;
end;
end;
VK_UP:
begin
DBGrid1.SetFocus;
end;
VK_DOWN:
begin
DBGrid1.SetFocus;
end;
VK_DELETE: begin
if ADOQuery1.RecordCount>0 then begin
if messagedlg('確認刪除"'+ADOQuery1.FieldByName('GoodsName').AsString+'"嗎?',mtconfirmation,[mbyes,mbno],0)=mryes then begin
ADOQuery1.Delete;
QH2;
end;
end else begin
ShowMessage('沒有商品記錄~~!');
end;
end;
VK_ADD: begin
ADOQuery1.Edit;
ADOQuery1.FieldByName('SellScalar').AsCurrency:=ADOQuery1.FieldByName('SellScalar').AsCurrency+1;
QH1;
QH2;
end;
VK_SUBTRACT: begin
if ADOQuery1.FieldByName('SellScalar').AsCurrency>1 then begin
ADOQuery1.Edit;
ADOQuery1.FieldByName('SellScalar').AsCurrency:=ADOQuery1.FieldByName('SellScalar').AsCurrency-1;
QH1;
QH2;
end;
end;
end;
end;
procedure TMain.RzEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin
key:=#0;
if ADOQuery1.RecordCount>0 then begin
//輸入數據檢查
try
StrToInt(RzEdit1.Text);
if StrToInt(RzEdit1.Text)<1 then begin
ShowMessage('折扣不能小于1~~!');
RzEdit1.Text:='100';
Exit;
end;
Except
ShowMessage('輸入非法字符~~!');
RzEdit1.Text:='100';
Exit;
end;
ADOQuery1.Edit;
ADOQuery1.FieldByName('Agio').AsString:=RzEdit1.Text;
ADOQuery1.Post;
QH1;
QH2;
end;
RzEdit1.Text:='100';
RzEdit4.SetFocus;
end;
end;
procedure TMain.RzEdit3KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
if ADOQuery1.RecordCount>0 then begin
//輸入數據檢查
try
StrToCurr(RzEdit3.Text);
if StrToCurr(RzEdit3.Text)<0 then begin
ShowMessage('商品數量不能小于零~~!');
RzEdit3.Text:='1';
Exit;
end;
Except
ShowMessage('輸入非法字符~~!');
Exit;
end;
ADOQuery1.Edit;
ADOQuery1.FieldByName('SellScalar').AsString:=RzEdit3.Text;
ADOQuery1.Post;
QH1;
QH2;
end;
RzEdit3.Text:='1';
RzEdit4.SetFocus;
end;
end;
procedure TMain.RzEdit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
if ADOQuery1.RecordCount>0 then begin
//輸入數據檢查
try
StrToCurr(RzEdit2.Text);
if StrToCurr(RzEdit2.Text)<0 then begin
ShowMessage('商品售價不能為負數~~!');
RzEdit1.Text:='100';
Exit;
end;
Except
ShowMessage('輸入非法字符~~!');
Exit;
end;
ADOQuery1.Edit;
ADOQuery1.FieldByName('SellPrice').AsString:=RzEdit2.Text;
ADOQuery1.Post;
QH1;
QH2;
end;
RzEdit4.SetFocus;
end;
end;
procedure TMain.DBGrid1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
RzEdit1.Text:=ADOQuery1.FieldByName('Agio').AsString;
RzEdit2.Text:=ADOQuery1.FieldByName('SellPrice').AsString;
RzEdit3.Text:=ADOQuery1.FieldByName('SellScalar').AsString;
end;
procedure TMain.DBGrid1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
RzEdit1.Text:=ADOQuery1.FieldByName('Agio').AsString;
RzEdit2.Text:=ADOQuery1.FieldByName('SellPrice').AsString;
RzEdit3.Text:=ADOQuery1.FieldByName('SellScalar').AsString;
end;
procedure TMain.RzEdit4KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin
//當輸入為空則結賬
if (RzEdit4.Text='')and(ADOQuery1.RecordCount>0) then begin
Gathering:=TGathering.create(application);
Gathering.showmodal;
Exit;
end;
//在庫存中按條碼查找商品
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('Select * from Stock Where BarCode="'+RzEdit4.Text+'"');
ADOQuery2.Open;
if ADOQuery2.RecordCount<>0 then begin
WRecord;
RzEdit4.Text:='';
RzEdit4.SetFocus;
end else begin
//如果按條碼查找沒有則按拼音查找
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('Select * from Stock Where PYBrevity="'+RzEdit4.Text+'"');
ADOQuery2.Open;
if ADOQuery2.RecordCount<>0 then begin
if ADOQuery2.RecordCount>1 then begin
Sele:=TSele.Create(Application);
Sele.showmodal;
Exit;
end;
WRecord;
RzEdit4.Text:='';
RzEdit4.SetFocus;
end else begin
//拼音查找沒有提示
showmessage('無此商品ID'+#13#13+'注意核對~~!');
RzEdit4.Text:='';
RzEdit4.SetFocus;
end;
end;
end;
if (key=#43) or (key=#45) then
key:=#0;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -