📄 unit_cardtrack.pas
字号:
procedure Tfrm_cardtrack.DeleteCustomerCardCurrencyChangeInfo(isClear:boolean) ;
var
temp_sql:string;
begin
if sg_change.Cells [0,sg_change.Row ]='' then exit;
if isClear then
temp_sql:='delete from CustomerCardCurrencyChange '
else
temp_sql:='delete from CustomerCardCurrencyChange where change_no='+#39+sg_change.Cells [0,sg_change.Row ]+#39;
if IsClear then
begin
if MessageBox(handle,'你确定要清空顾客卡金额变化记录吗?','提示',mb_Yesno+mb_iconquestion)<>IDYES then
exit;
end else
if MessageBox(handle,'删除单条顾客卡金额变化记录将使金额变化日志混乱,确定继续吗?','提示',mb_Yesno+mb_iconquestion)<>IDYES then
exit;
with dmod.qrydata do
begin
close;
SQL.Text :=temp_sql;
ExecSQL;
end;
if isClear then
begin
StringGridClear(sg_change);
sbtn_front.Enabled :=false;
sbtn_back.Enabled := false;
end else begin
StringGridDelete(sg_change,sg_change.Row);
if sg_change.Row = sg_change.RowCount - 1 then
begin
if sg_change.RowCount > 2 then
sg_change.Row := sg_change.Row - 1
else
sbtn_back.Enabled := false;
end;
if sg_change.Row = 1 then sbtn_front.Enabled := false;
if sg_change.Row = sg_change.RowCount - 2 then sbtn_back.Enabled := false;
end;
end;
procedure Tfrm_cardtrack.DeleteCustomerCardCurrencyAddInfo(isClear:boolean) ;
var
temp_sql:string;
begin
if sg_Currency.Cells [0,sg_Currency.Row ]='' then exit;
if isClear then
temp_sql:='delete from CustomerCardCurrencyChange where add_or_reduced="0"'
else
temp_sql:='delete from CustomerCardCurrencyChange where add_or_reduced="0" and change_no='+#39+sg_Currency.Cells [0,sg_Currency.Row ]+#39;
if IsClear then
begin
if MessageBox(handle,'你确定要清空顾客卡充值金额变化记录吗?','提示',mb_Yesno+mb_iconquestion)<>IDYES then
exit;
end else
if MessageBox(handle,'删除单条顾客卡充值金额变化记录将使金额变化日志混乱,确定继续吗?','提示',mb_Yesno+mb_iconquestion)<>IDYES then
exit;
with dmod.qrydata do
begin
close;
SQL.Text :=temp_sql;
ExecSQL;
end;
if isClear then
begin
StringGridClear(sg_Currency);
sbtn_front.Enabled :=false;
sbtn_back.Enabled := false;
end else begin
StringGridDelete(sg_Currency,sg_Currency.Row);
if sg_Currency.Row = sg_Currency.RowCount - 1 then
begin
if sg_Currency.RowCount > 2 then
sg_Currency.Row := sg_Currency.Row - 1
else
sbtn_back.Enabled := false;
end;
if sg_Currency.Row = 1 then sbtn_front.Enabled := false;
if sg_Currency.Row = sg_Currency.RowCount - 2 then sbtn_back.Enabled := false;
end;
end;
procedure Tfrm_cardtrack.DeleteCustomerCardCurrencyCostInfo(isClear:boolean) ;
var
temp_sql:string;
begin
if sg_cost.Cells [0,sg_cost.Row ]='' then exit;
if isClear then
temp_sql:='delete from CustomerCardCurrencyChange where add_or_reduced="1"'
else
temp_sql:='delete from CustomerCardCurrencyChange where add_or_reduced="1" and change_no='+#39+sg_cost.Cells [0,sg_cost.Row ]+#39;
if IsClear then
begin
if MessageBox(handle,'你确定要清空顾客卡消费金额变化记录吗?','提示',mb_Yesno+mb_iconquestion)<>IDYES then
exit;
end else
if MessageBox(handle,'删除单条顾客卡消费金额变化记录将使金额变化日志混乱,确定继续吗?','提示',mb_Yesno+mb_iconquestion)<>IDYES then
exit;
with dmod.qrydata do
begin
close;
SQL.Text :=temp_sql;
ExecSQL;
end;
if isClear then
begin
StringGridClear(sg_cost);
sbtn_front.Enabled :=false;
sbtn_back.Enabled := false;
end else begin
StringGridDelete(sg_cost,sg_cost.Row);
if sg_cost.Row = sg_cost.RowCount - 1 then
begin
if sg_cost.RowCount > 2 then
sg_cost.Row := sg_cost.Row - 1
else
sbtn_back.Enabled := false;
end;
if sg_cost.Row = 1 then sbtn_front.Enabled := false;
if sg_cost.Row = sg_cost.RowCount - 2 then sbtn_back.Enabled := false;
end;
end;
{*************************************************}
procedure Tfrm_cardtrack.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
action:=cafree;
frm_cardtrack:=nil;
end;
procedure Tfrm_cardtrack.sbtn_closeClick(Sender: TObject);
begin
close;
end;
procedure Tfrm_cardtrack.sg_CardSelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
if ARow = sg_Card.RowCount - 1 then
CanSelect:= false
else
begin
sbtn_back.Enabled := true;
sbtn_front.Enabled := true;
if ARow = sg_Card.RowCount - 2 then sbtn_back.Enabled := false;
if ARow = 1 then sbtn_front.Enabled := false;
CanSelect := true;
end;
end;
procedure Tfrm_cardtrack.sbtn_backClick(Sender: TObject);
begin
if pagecontrol1.ActivePage = sht_card then
begin
if sg_card.Row > sg_card.RowCount-2 then
begin
sbtn_back.Enabled := false;
exit;
end;
sbtn_front.Enabled := true;
sg_card.Row := sg_card.Row+1 ;
end else if pagecontrol1.ActivePage = sht_change then
begin
if sg_change.Row > sg_change.RowCount-2 then
begin
sbtn_back.Enabled := false;
exit;
end;
sbtn_front.Enabled := true;
sg_change.Row := sg_change.Row+1;
end else if pagecontrol1.ActivePage = sht_currency then
begin
if sg_currency.Row > sg_currency.RowCount-2 then
begin
sbtn_back.Enabled := false;
exit;
end;
sbtn_front.Enabled := true;
sg_currency.Row := sg_currency.Row+1;
end else if pagecontrol1.ActivePage = sht_cost then
begin
if sg_cost.Row > sg_cost.RowCount-2 then
begin
sbtn_back.Enabled := false;
exit;
end;
sbtn_front.Enabled := true;
sg_cost.Row := sg_cost.Row+1;
end;
end;
procedure Tfrm_cardtrack.sbtn_frontClick(Sender: TObject);
begin
if pagecontrol1.ActivePage = sht_card then
begin
if sg_card.Row=1 then
begin
sbtn_front.Enabled := false;
exit;
end;
sbtn_back.Enabled := true;
sg_card.Row := sg_card.Row-1;
end else if pagecontrol1.ActivePage = sht_change then
begin
if sg_change.Row=1 then
begin
sbtn_front.Enabled := false;
exit;
end;
sbtn_back.Enabled := true;
sg_change.Row := sg_change.Row-1;
end else if pagecontrol1.ActivePage = sht_currency then
begin
if sg_currency.Row=1 then
begin
sbtn_front.Enabled := false;
exit;
end;
sbtn_back.Enabled := true;
sg_currency.Row := sg_currency.Row-1;
end else if pagecontrol1.ActivePage = sht_cost then
begin
if sg_cost.Row=1 then
begin
sbtn_front.Enabled := false;
exit;
end;
sbtn_back.Enabled := true;
sg_cost.Row := sg_cost.Row-1;
end;
end;
procedure Tfrm_cardtrack.sg_currencySelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
if ARow = sg_Currency.RowCount - 1 then
CanSelect:= false
else
begin
sbtn_back.Enabled := true;
sbtn_front.Enabled := true;
if ARow = sg_Currency.RowCount - 2 then sbtn_back.Enabled := false;
if ARow = 1 then sbtn_front.Enabled := false;
CanSelect := true;
end;
end;
procedure Tfrm_cardtrack.sbtn_clearClick(Sender: TObject);
begin
if pagecontrol1.ActivePage = sht_Card then
DeleteCustomerCardChangeInfo(true)
else if pagecontrol1.ActivePage = sht_change then
DeleteCustomerCardCurrencyChangeInfo(true)
else if pagecontrol1.ActivePage = sht_Currency then
DeleteCustomerCardCurrencyAddInfo(true)
else if pagecontrol1.ActivePage = sht_cost then
DeleteCustomerCardCurrencyCostInfo(true)
end;
procedure Tfrm_cardtrack.sbtn_deleteClick(Sender: TObject);
begin
if pagecontrol1.ActivePage = sht_Card then
DeleteCustomerCardChangeInfo(false)
else if pagecontrol1.ActivePage = sht_change then
DeleteCustomerCardCurrencyChangeInfo(false)
else if pagecontrol1.ActivePage = sht_Currency then
DeleteCustomerCardCurrencyAddInfo(false)
else if pagecontrol1.ActivePage = sht_cost then
DeleteCustomerCardCurrencyCostInfo(false)
end;
procedure Tfrm_cardtrack.sg_changeSelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
if ARow = sg_Change.RowCount - 1 then
CanSelect:= false
else
begin
sbtn_back.Enabled := true;
sbtn_front.Enabled := true;
if ARow = sg_Change.RowCount - 2 then sbtn_back.Enabled := false;
if ARow = 1 then sbtn_front.Enabled := false;
CanSelect := true;
end;
end;
procedure Tfrm_cardtrack.sg_CostSelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
if ARow = sg_Cost.RowCount - 1 then
CanSelect:= false
else
begin
sbtn_back.Enabled := true;
sbtn_front.Enabled := true;
if ARow = sg_Cost.RowCount - 2 then sbtn_back.Enabled := false;
if ARow = 1 then sbtn_front.Enabled := false;
CanSelect := true;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -