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

📄 cj_main.pas

📁 亚惠快餐管理信息系统 包括亚惠快餐管理的各项功能
💻 PAS
📖 第 1 页 / 共 4 页
字号:
    resultmsg := resultmsg + '商品数量为' + FloatToStr(spsl) + '个' + #13 + #10;
    resultmsg := resultmsg + '折扣额为' + FloatToStr(zke) + '元' + #13 + #10;
    resultmsg := resultmsg + '原销售额' + FloatToStr(yxse) + '元' + #13 + #10;
    resultmsg := resultmsg + '实销售额' + FloatToStr(sxse) + '元';
    ShowMessage(resultmsg);
    EnableControls;
  end;
end;

{---------------------------数据浏览-------------------------------------}

procedure TFrmCJ_Main.SjScan(FromDate, ToDate: TDate; jqh, jqh1: integer);
begin
  with FrmCJ_DataModule.ADOQuery1 do
  begin
    Close;
    Sql.Clear;
    Sql.Add('Select * From SCSJ_DSYJXSXX1');
    Sql.Add('Where Convert(char(10),日期,20)>=''' + DateToStr(FromDate) + '''');
    Sql.Add(' And Convert(char(10),日期,20)<=''' + DateToStr(ToDate) + '''');
    Sql.Add(' And 设备编码>=' + IntToStr(jqh));
    Sql.Add(' And 设备编码<=' + IntToStr(jqh1) + 'Order By 设备编码,日期');
    try
      Open;
    except
      Screen.Cursor := crDefault;
      ShowMessage('无法打开收银机销售明细表!');
      Exit;
    end;
  end;
  FrmCJ_DataModule.DataSource1.DataSet := FrmCJ_DataModule.ADOQuery1;
  DbGrid1.DataSource := FrmCJ_DataModule.DataSource1;
  AdjustGrid;
  SetDBGridFieldsDisplay(DbGrid1);
end;

procedure TFrmCJ_Main.AdjustGrid;
var
  k, wid: integer;
begin
  for k := 0 to FrmCJ_DataModule.ADOQuery1.FieldCount - 1 do
  begin
    case k of
      0, 15, 16: wid := 0;
      1: wid := 120;
    else
      wid := 40;
    end;
    DBGrid1.Columns[k].Title.Alignment := taCenter;
    DBGrid1.Columns[k].Width := DBGrid1.Columns[k].Field.DisplayWidth + wid;
  end;
end;

procedure TFrmCJ_Main.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_RETURN then
  begin
    if DBGrid1.SelectedIndex = DBGrid1.Columns.Count - 1 then
    begin
      DBGrid1.SelectedIndex := 0;
      if DBGrid1.DataSource.DataSet <> nil then
        with DBGrid1.DataSource.DataSet do
        begin
          Next;
          if EOF and CanModify then
            Append;
        end;
    end
    else
      DBGrid1.SelectedIndex := DBGrid1.SelectedIndex + 1;
  end;
end;

{------------------部分清空数据库中的销售记录-----------------------------}

procedure TFrmCJ_Main.Button1Click(Sender: TObject);
var
  rq1, rq2: TDate;
  Jqh, Jqh1, i: Integer;
begin
  rq1 := StrToDate(DateToStr(DateTimePicker1.Date));
  rq2 := StrToDate(DateToStr(DateTimePicker2.Date));
  Jqh := StrToInt(Trim(ComboBox1.Text));
  Jqh1 := StrToInt(Trim(ComboBox2.Text));
  for i := Jqh to Jqh1 do
  begin
    DeletePart(i, rq1, rq2);
    EmptyTh(Jqh, rq1, rq2);
    EmptyJyfs(Jqh, rq1, rq2);
  end;
  Button3Click(Self);
end;

procedure TFrmCJ_Main.ClearLS(Jqh: smallint);
var
  returnvalue: smallint;
begin
  if MessageDlg('此操作将会清除收银机中的全部流水信息,是否继续?',
    mtconfirmation, mbokcancel, 0) = mrcancel then
    Exit;
  with FrmCJ_DataModule.ADOQuery2 do
  begin
    Close;
    Sql.Clear;
    Sql.Add('Select * ');
    Sql.Add('From SCSJ_DSYJXSXX1');
    Sql.Add('Where Convert(char(10),日期,20)<=''' + DateToStr(Now) + '''');
    try
      Open;
    except
      Screen.Cursor := crDefault;
      ShowMessage('无法读取' + DateToStr(Now) + '日的数据!');
      Exit;
    end;
    if RecordCount = 0 then
    begin
      Screen.Cursor := crDefault;
      ShowMessage(DateToStr(Now) +
        '日数据还未入库,请先采集该日数据再清除流水!');
      Exit;
    end;
    returnvalue := ReadFromDll('SC0014', 'c:\aa.txt', 0, 0, Jqh, 0, 10, 10);
    if returnvalue <> -1 then
    begin
      Screen.Cursor := crDefault;
      ShowMessage('无法清除' + IntToStr(Jqh) + '号机器内的流水信息!');
      Exit;
    end;
    ShowMessage('已经成功的清除了' + IntToStr(Jqh) + '号机器的流水信息!');
    DeleteFile('c:\aa.txt');
  end;
end;

function TFrmCJ_Main.IfValid: Boolean;
begin
  Result := False;
  case NoteBook1.PageIndex of
    1: if RadioButton1.Checked then
      begin
        DateTimePicker1.Enabled := True;
        DateTimePicker2.Enabled := True;
        Button1.Enabled := True;
        Button5.Enabled := False;
      end
      else
      begin
        DateTimePicker1.Enabled := False;
        DateTimePicker2.Enabled := False;
        Button1.Enabled := False;
        Button5.Enabled := True;
      end;
    2: if Trim(ComboBox1.Text) > Trim(ComboBox2.Text) then
      begin
        ShowMessage('起始机器号应小于终止机器号,请重新选择!');
        Exit;
      end;
    3: if RadioButton1.Checked then
        if DateTimePicker1.Date > DateTimePicker2.Date then
        begin
          ShowMessage('起始日期不能超过终止日期,请重新选择!');
          Exit;
        end;
  end;
  Result := True;
end;

procedure TFrmCJ_Main.IniJqList;
var
  ti: TInifile;
  JqCount, i: integer;
begin
  ComboBox1.Clear;
  ComboBox2.Clear;
  ti := TIniFile.Create(ExtractFilePath(Application.ExeName) + '\System.ini');
  JqCount := ti.ReadInteger('默认选项', 'MaxJqCount', 9);
  for i := 1 to JqCount do
  begin
    ComboBox1.Items.Add(IntToStr(i));
    ComboBox2.Items.Add(IntToStr(i));
  end;
  if ComboBox1.Items.Count > 0 then
    ComboBox1.ItemIndex := 0;
  if ComboBox2.Items.Count > 0 then
    ComboBox2.ItemIndex := 0;
end;

{---------------------------------------------------------------------------}

procedure TFrmCJ_Main.Button2Click(Sender: TObject);
begin
  Close;
end;

procedure TFrmCJ_Main.Button3Click(Sender: TObject);
var
  Jqh, Jqh1: integer;
begin
  Jqh := StrToInt(Trim(ComboBox1.Text));
  Jqh1 := StrToInt(Trim(ComboBox2.Text));
  if RadioButton2.Checked then
    SjScan(StrToDateTime('2001-08-27'), Now, Jqh, Jqh1)
  else
    SjScan(StrToDate(DateToStr(DateTimePicker1.Date)),
      StrToDate(DateToStr(DateTimePicker2.Date)), Jqh, Jqh1);
  SetDBGridFieldsDisplay(DbGrid1);
end;
//清空到系统当前时间为止的指定机器号的全部售餐数据

procedure TFrmCJ_Main.Button5Click(Sender: TObject);
var
  Jqh, Jqh1, i: integer;
  Rq1, Rq2: TDate;
begin
  Jqh := StrToInt(Trim(ComboBox1.Text));
  Jqh1 := StrToInt(Trim(ComboBox2.Text));
  Rq1 := StrToDate('2001-07-28');
  Rq2 := Now;
  for i := Jqh to Jqh1 do
  begin
    EmptyTh(i, Rq1, Rq2);
    EmptyJyfs(i, Rq1, Rq2);
    DeletePart(i, rq1, rq2);
  end;
  Button3Click(Self);
end;

procedure TFrmCJ_Main.Button70Click(Sender: TObject);
var
  QsJqh, ZzJqh: integer;
  CjSj: TDate;
begin
  CjSj := Now;
  PublicUnit.WriteToHistroy('数据采集', Now, Time, '用户《' + FrmMain.UserName +
    '登陆本系统进行数据采集', FrmMain.UserName);
  QsJqh := StrToInt(Trim(ComboBox1.Text));
  ZzJqh := StrToInt(Trim(ComboBox2.Text));
  if QsJqh > ZzJqh then
  begin
    ShowMessage('起始机器号不能大于终止机器号!');
    Exit;
  end;
  if RadioButton1.Checked then
  begin
    if DateTimePicker1.DateTime > DateTimePicker2.DateTime then
    begin
      ShowMessage('起始日期不能大于终止日期');
      Exit;
    end;
    CjCxThread := CjThread.Create(CjSj,
      StrToDate(DateToStr(DateTimePicker1.Date)),
      StrToDate(DateToStr(DateTimePicker2.Date)), 2, QsJqh, ZzJqh, TForm(Self))
  end
  else
    CjCxThread := CjThread.Create(CjSj, StrToDate('2001-07-28'), Now, 1, QsJqh,
      ZzJqh,
      TForm(Self));
end;

procedure TFrmCJ_Main.Button7Click(Sender: TObject);
begin
  with FrmCJ_DataModule.ADOQuery1 do
  begin
    Close;
    Sql.Clear;
    Sql.Add('Select * From SCSJ_DLogFile Order By 采集时间');
    try
      Open;
    except
      ShowMessage('无法打开日志表');
      Exit;
    end;
  end;
  FrmCJ_DataModule.DataSource1.DataSet := FrmCJ_DataModule.ADOQuery1;
  DbGrid1.DataSource := FrmCJ_DataModule.DataSource1;
end;

procedure TFrmCJ_Main.RadioButton1Click(Sender: TObject);
begin
  if RadioButton1.Checked then
  begin
    DateTimePicker1.Enabled := True;
    DateTimePicker2.Enabled := True;
    Button1.Enabled := True;
    Button5.Enabled := False;
  end;
end;

procedure TFrmCJ_Main.RadioButton2Click(Sender: TObject);
begin
  if RadioButton2.Checked then
  begin
    DateTimePicker1.Enabled := False;
    DateTimePicker2.Enabled := False;
    Button1.Enabled := False;
    Button5.Enabled := True;
  end;
end;

procedure TFrmCJ_Main.DBGrid1DblClick(Sender: TObject);
var
  AForm: TForm;
  ADbGrid: TDbGrid;
begin
  Application.CreateForm(TForm, AForm);
  AForm.Caption := '数据采集结果';
  ADbGrid := TDbGrid.Create(AForm);
  with ADbGrid do
  begin
    Parent := AForm;
    Align := alClient;
    Font.Name := '宋体';
    Font.Size := 9;
    TitleFont.Name := '宋体';
    TitleFont.Size := 9;
    DataSource := DbGrid1.DataSource;
    ReadOnly := True;
  end;
  SetDBGridFieldsDisplay(ADbGrid);
  AForm.WindowState := wsMaximized;
  AForm.BorderIcons := [biSystemMenu];
  AForm.ShowModal;
  AForm.Free;
end;
{清空流水}

procedure TFrmCJ_Main.Button13Click(Sender: TObject);
var
  QsJqh, ZzJqh, i: integer;
begin
  QsJqh := StrToInt(Trim(ComboBox1.Text));
  ZzJqh := StrToInt(Trim(ComboBox2.Text));
  for i := QsJqh to ZzJqh do
    ClearLS(i);
end;

procedure TFrmCJ_Main.Button21Click(Sender: TObject);
begin
  with FrmCJ_DataModule.ADOQuery1 do
  begin
    Close;
    Sql.Clear;
    Sql.Add('Delete From SCSJ_DLogFile');
    try
      ExecSQL;
    except
      ShowMessage('无法打开日志表');
      Exit;
    end;
  end;
  Button7Click(Self);
end;

procedure TFrmCJ_Main.Button22Click(Sender: TObject);
begin
  Close;
end;

procedure TFrmCJ_Main.ToolButton4Click(Sender: TObject);
begin
  Close;
end;

procedure TFrmCJ_Main.Button60Click(Sender: TObject);
begin
  Close;
end;

procedure TFrmCJ_Main.Button90Click(Sender: TObject);
begin
  Close;
end;

procedure TFrmCJ_Main.Button30Click(Sender: TObject);
begin
  Button40.Enabled := True;
  if NoteBook1.PageIndex <> 0 then
    NoteBook1.PageIndex := NoteBook1.PageIndex - 1;
  if NoteBook1.PageIndex = 0 then
    Button30.Enabled := False;
end;

procedure TFrmCJ_Main.Button40Click(Sender: TObject);
begin
  if not IfValid then
    Exit;
  Button30.Enabled := True;
  if NoteBook1.PageIndex <> NoteBook1.Pages.Count - 1 then
    NoteBook1.PageIndex := NoteBook1.PageIndex + 1;
  if NoteBook1.PageIndex = NoteBook1.Pages.Count - 1 then
  begin
    Button40.Enabled := False;
    Button3Click(Self);
  end;
end;

end.

⌨️ 快捷键说明

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