⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iccardmain.pas

📁 立方酒店管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  IniFile := TIniFile.Create(APP_DIR+'\'+INI_FILENAME);
  PORTNUM := IniFile.ReadInteger('PORT','ICPORTNUM',0);
  IniFile.Free;
  tblCard.Open;
  edtWXkr.Text := CZY.CzyXm;
  PageControl1.ActivePageIndex := 0;
end;

procedure TIcCardForm.PageControl1Change(Sender: TObject);
begin
  if PageControl1.ActivePageIndex = 1 then
    if not CardData.CheckYgqx(CZY.CzyBh,'发卡') then
      PageControl1.ActivePageIndex := 0;
  if PageControl1.ActivePageIndex = 2 then
    if not CardData.CheckYgqx(CZY.CzyBh,'充值') then
      PageControl1.ActivePageIndex := 0;

  if PageControl1.ActivePageIndex = 3 then
  begin
    with qrySum do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select sum(D_ZE),sum(D_JE),sum(D_YE) from CARD');
      Open;
      lblZe.Caption := '卡内总额:'+qrySum.Fields[0].AsString+'元';
      lblJe.Caption := '消费总额:'+qrySum.Fields[1].AsString+'元';
      lblYe.Caption := '卡内余额:'+qrySum.Fields[2].AsString+'元';
      Close;
    end;
  end;
end;

procedure TIcCardForm.BitBtn1Click(Sender: TObject);
var
  st : SmallInt;
  s: string;
  Je: single;
begin
  LabeledEdit1.Text := '';
  LabeledEdit2.Text := '';
  LabeledEdit3.Text := '';
  LabeledEdit4.Text := '';
  LabeledEdit5.Text := '';
  LabeledEdit6.Text := '';
  LabeledEdit7.Text := '';
  try
    InitStatus(PORTNUM);
    GetMem(OutBuf,6);
    if not IsCardExists then
    begin
      memCz.Lines.Add('请插入贵宾卡!');
      Exit;
    end;
    st := IC_Read(IcDev,32,6,OutBuf);
    if st <> 0 then
      raise Exception.Create('读卡错误!');
    s := StrPas(OutBuf);
    LabeledEdit1.Text := s;
    st := IC_Read_Float(IcDev,38,@Je);
    if st <> 0 then
      raise Exception.Create('读卡错误!');
    LabeledEdit2.Text := FloatToStr(Je);
    memCz.Lines.Add('读卡成功!');
    if tblCard.FindKey([s]) then
    begin
      LabeledEdit3.Text := tblCard.FieldByName('D_CARDID').AsString;
      LabeledEdit4.Text := tblCard.FieldByName('D_KRXM').AsString;
      LabeledEdit5.Text := tblCard.FieldByName('D_ZJHM').AsString;
      LabeledEdit6.Text := tblCard.FieldByName('D_ZE').AsString;
      LabeledEdit7.Text := tblCard.FieldByName('D_XKR').AsString;
    end;
    BitBtn2.Enabled := True;
  finally
    FreeMem(OutBuf);
    //ICDown;
    ExitComm;
  end;
end;

procedure TIcCardForm.BitBtn2Click(Sender: TObject);
var
  st : SmallInt;
  Ye : Single;
begin

  if edtCzje.Text = '' then
  begin
    ShowMessage('充值金额必须大于零!');
    edtCzje.SetFocus;
    Exit;
  end;
  Je := StrToFloat(edtCzje.Text);
  Ye := StrToFloat(LabeledEdit2.Text);
  if Je<=0 then
  begin
    ShowMessage('写卡金额必须大于零!');
    Exit;
  end;
  try

    InitStatus(PORTNUM);

    if not IsCardExists then
    begin
      memWrite.Lines.Add('请插入贵宾卡!');
      Exit;
    end;
    //if IC_CheckPass_4442hex(IcDev,PChar(Pass_Word))=0 then
    {if CheckPass then
    begin
      st := IC_Read(IcDev,32,6,OutBuf);
      if st <> 0 then
        raise Exception.Create('读卡错误!');
      s := StrPas(OutBuf);
      if s<> LabeledEdit1.Text then
      begin
        ShowMessage('卡号不符!');
        Exit;
      end;
    end;}
    if CheckPass then
    begin
      st := IC_Write_Float(IcDev,38,Je+Ye);
      if st <> 0 then
        raise Exception.Create('写卡错误!');
      memCz.Lines.Add('充值成功');
    end;
    if tblCard.FindKey([LabeledEdit1.Text]) then
    begin
      tblCard.Edit;
      tblCard.FieldByName('D_ZE').AsCurrency := tblCard.FieldByName('D_ZE').AsCurrency+Je;
      tblCard.FieldByName('D_YE').AsCurrency := tblCard.FieldByName('D_YE').AsCurrency+Je;
      tblCard.FieldByName('D_XKRQ').AsDateTime := Date;
      tblCard.FieldByName('D_XKSJ').AsDateTime := Time;
      tblCard.Post;
    end;
    UpdateKrjz(LabeledEdit4.Text);
    LabeledEdit1.Text := '';
    LabeledEdit2.Text := '';
    LabeledEdit3.Text := '';
    LabeledEdit4.Text := '';
    LabeledEdit5.Text := '';
    LabeledEdit6.Text := '';
    LabeledEdit7.Text := '';
    edtCzje.Text := '';
    BitBtn2.Enabled := False;
    
  finally
    //IcDown;
    ExitComm;
  end;
end;

procedure TIcCardForm.BitBtn3Click(Sender: TObject);
var
  ACardId : string;
begin
  ACardId := edtCardId.Text;
  if ACardId = '' then Exit;
  with qryCardXf do
  begin
    if Active then Active := False;
    ParamByName('CARDID').AsString := ACardId;
    Open;
  end;
  with qrySum do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select sum(D_XFJE) from CARDXF');
    Open;
    lblXfje.Caption := '消费总额:'+Fields[0].AsString+'元';
    Close;
  end;
end;

procedure TIcCardForm.btnPrintClick(Sender: TObject);
var
  I         : Integer;
  APrintStru: TPrintStru;
  AColumns  : TStringList;
  APosition : TStringList;
  AFields   : TStringList;
begin
  APrintStru.ATitle := '贵宾卡数据库信息('+DateToStr(Date)+')';
  APrintStru.ASub := lblZe.Caption + ' ' + lblJe.Caption + ' ' + lblYe.Caption;
  APrintStru.ADataSet := tblCard;
  AColumns := TStringList.Create;
  try
    APosition := TStringList.Create;
    try
      AFields := TStringList.Create;
      try
        for I:= 0 to 8 do
        begin
          AColumns.Add(DBGrid1.Columns[I].Title.Caption);
          AFields.Add(DBGrid1.Columns[I].FieldName);
        end;
        APosition.Add('10');
        APosition.Add('80');
        APosition.Add('160');
        APosition.Add('240');
        APosition.Add('320');
        APosition.Add('400');
        APosition.Add('480');
        APosition.Add('560');
        APosition.Add('640');

        APrintStru.AColumns := AColumns;
        APrintStru.AFields  := AFields;
        APrintStru.APosition:= APosition;
        APrintStru.AFs      := PRN_Portrait;
        SysPrint(APrintStru);
      finally
        AFields.Free;
      end;
    finally
      APosition.Free;
    end;
  finally
    AColumns.Free;
  end;
end;

procedure TIcCardForm.BitBtn4Click(Sender: TObject);
var
  I         : Integer;
  APrintStru: TPrintStru;
  AColumns  : TStringList;
  APosition : TStringList;
  AFields   : TStringList;
begin
  APrintStru.ATitle := '贵宾卡消费明细(卡号:'+edtCardId.Text+')';
  APrintStru.ADataSet := qryCardXf;
  AColumns := TStringList.Create;
  try
    APosition := TStringList.Create;
    try
      AFields := TStringList.Create;
      try
        for I:= 0 to 5 do
        begin
          AColumns.Add(DBGrid2.Columns[I].Title.Caption);
          AFields.Add(DBGrid2.Columns[I].FieldName);
        end;
        APosition.Add('10');
        APosition.Add('110');
        APosition.Add('210');
        APosition.Add('310');
        APosition.Add('420');
        APosition.Add('520');

        APrintStru.AColumns := AColumns;
        APrintStru.AFields  := AFields;
        APrintStru.APosition:= APosition;
        APrintStru.AFs      := PRN_Portrait;
        SysPrint(APrintStru);
      finally
        AFields.Free;
      end;
    finally
      APosition.Free;
    end;
  finally
    AColumns.Free;
  end;
end;

procedure TIcCardForm.N10Click(Sender: TObject);
begin
  PageControl1.ActivePageIndex := 0;
end;

procedure TIcCardForm.N11Click(Sender: TObject);
begin
  if not CardData.CheckYgqx(CZY.CzyBh,'发卡') then Exit;
  PageControl1.ActivePageIndex := 1;
end;

procedure TIcCardForm.N12Click(Sender: TObject);
begin
  if not CardData.CheckYgqx(CZY.CzyBh,'充值') then
  PageControl1.ActivePageIndex := 2;
end;

procedure TIcCardForm.N8Click(Sender: TObject);
begin
  PageControl1.ActivePageIndex := 3;
end;

procedure TIcCardForm.N9Click(Sender: TObject);
begin
  PageControl1.ActivePageIndex := 4;
end;

procedure TIcCardForm.N5Click(Sender: TObject);
begin
  Klsz(CZY.CzyBh);
end;

procedure TIcCardForm.N6Click(Sender: TObject);
begin
  if (not Czydl)or(not CardData.CheckYgqx(CZY.CzyBh,'贵宾卡管理系统')) then
    Application.Terminate;
  Caption := '贵宾卡管理系统(操作员:' + CZY.CzyXm+')';    
end;

procedure TIcCardForm.N7Click(Sender: TObject);
begin
  Xtsz;
end;

procedure TIcCardForm.A1Click(Sender: TObject);
begin
  About;
end;

procedure TIcCardForm.N14Click(Sender: TObject);
begin
  Close;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -