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

📄 usyslog.pas

📁 这是一个三层的进销存系统
💻 PAS
字号:
unit usyslog;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, MDIbase, Buttons, StdCtrls, wwdblook, ToolWin, ComCtrls, Grids,
  DBGridEh, DB, DBClient, Menus, ActnList, ExtCtrls, FR_Desgn, FR_DSet,
  FR_DBSet, FR_Class;

type
  Tfrmsyslog = class(TfrmMDIbase)
    CoolBar1: TCoolBar;
    CDSprint: TClientDataSet;
    Grid: TDBGridEh;
    CDSprintField: TStringField;
    ActionList1: TActionList;
    PopupMenu: TPopupMenu;
    s01: TAction;
    s02: TAction;
    s03: TAction;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    Panel1: TPanel;
    spbtnEdit: TSpeedButton;
    paprint: TPanel;
    Label1: TLabel;
    comboPrint: TwwDBLookupCombo;
    CDSbaseinfo: TClientDataSet;
    DSbaseinfo: TDataSource;
    frBaseinfo: TfrReport;
    frDBDSbaseinfo: TfrDBDataSet;
    N4: TMenuItem;
    N5: TMenuItem;
    CDSbaseinfofid: TAutoIncField;
    CDSbaseinfoftype: TWideStringField;
    CDSbaseinfoftime: TDateTimeField;
    CDSbaseinfofform: TWideStringField;
    CDSbaseinfofevent: TWideStringField;
    CDSbaseinfofuser: TWideStringField;
    CDSbaseinfofpcname: TWideStringField;
    procedure GridGetCellParams(Sender: TObject; Column: TColumnEh;
      AFont: TFont; var Background: TColor; State: TGridDrawState);
    procedure spbtnEditClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure comboPrintChange(Sender: TObject);
    procedure s02Execute(Sender: TObject);
    procedure s03Execute(Sender: TObject);
    procedure s01Execute(Sender: TObject);
  private
    MainView:string;
    Keyfield:string;
    ReportName:string;
    procedure printSelect;
    procedure Createprintdata;
    function getscreenpoint(sender:Tcontrol):Tpoint;    
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmsyslog: Tfrmsyslog;

implementation

uses Global, common, usearch;

{$R *.dfm}

procedure Tfrmsyslog.Createprintdata;
begin
  With CDSprint do
    begin
      Close;
      FieldDefs.Add('打印选项',ftString,8);
      CreateDataSet;
      AppendRecord(['退出打印']);
      AppendRecord(['打印预览']);
      AppendRecord(['直接打印']);
      AppendRecord(['打印设置']);
      AppendRecord(['报表设置']);
      AppendRecord(['电子表格']);
      Open;
    end;
end;

function Tfrmsyslog.getscreenpoint(sender: Tcontrol): Tpoint;
var
  clientpoint:Tpoint;
begin
  clientpoint:=point(0,sender.Height);
  while sender.Parent<>nil do
    begin
      clientpoint:=point(sender.Left+clientpoint.X,sender.Top+clientpoint.Y);
      sender:=sender.Parent;
    end;
  clientpoint:=sender.ClientToScreen(clientpoint);
  Result:=clientpoint;
end;

procedure Tfrmsyslog.GridGetCellParams(Sender: TObject;
  Column: TColumnEh; AFont: TFont; var Background: TColor;
  State: TGridDrawState);
begin
  inherited;
  if Grid.SumList.RecNo mod 2=1 then
    BackGround:=$00EAEFED
    else
    BackGround:=clWhite;
end;

procedure Tfrmsyslog.spbtnEditClick(Sender: TObject);
var
  Point:Tpoint;
begin
  inherited;
  Point:=GetScreenpoint(spbtnEdit);
  popupmenu.Popup(point.X,point.Y); 
end;

procedure Tfrmsyslog.FormCreate(Sender: TObject);
begin
  inherited;
  Createprintdata;
  LockCount:=0;
  Mainview:='Vsyslog';
  keyfield:='fid';
  ReportName:=gs_appPath+'\prints\frsyslog.frf';
end;

procedure Tfrmsyslog.FormShow(Sender: TObject);
begin
  inherited;
  GetaddData(CDSBaseinfo,Mainview,Keyfield,20);
  s01.Enabled:=bcanadd;
  s02.Enabled:=bcanadd;
  s03.Enabled:=bcanmodify;
  comboPrint.Enabled:=bcanprint;
end;

procedure Tfrmsyslog.comboPrintChange(Sender: TObject);
begin
  inherited;
  printSelect;
end;

procedure Tfrmsyslog.printSelect;
Begin
  if Trim(comboprint.Text)='打印预览' then
    begin
        CDSbaseinfo.DisableControls;
        frbaseinfo.LoadFromFile(ReportName);
        frbaseinfo.ShowReport;
        CDSbaseinfo.EnableControls;
    end;

  if Trim(comboprint.Text)='直接打印' then
    begin
       CDSbaseinfo.DisableControls;
       frbaseinfo.LoadFromFile(ReportName);
       frbaseinfo.PrepareReport;
       frbaseinfo.PrintPreparedReport('',1,True,frAll);
       CDSbaseinfo.EnableControls;
    end;

  if Trim(comboprint.Text)='打印设置' then
     begin
       CDSbaseinfo.DisableControls;
       frbaseinfo.LoadFromFile(ReportName);
       frbaseinfo.PrepareReport;
       frbaseinfo.PrintPreparedReportDlg;
       CDSbaseinfo.EnableControls;
     end;

  if Trim(comboprint.Text)='报表设置' then
     begin
       CDSbaseinfo.DisableControls;
       frbaseinfo.LoadFromFile(ReportName);
       frbaseinfo.DesignReport;
       CDSbaseinfo.EnableControls;
     end;

  if Trim(comboprint.Text)='电子表格' then
     begin
     end;

  if Trim(comboprint.Text)='退出打印' then
      Exit;
end;

procedure Tfrmsyslog.s02Execute(Sender: TObject);
var
  i,j:integer;
begin
  inherited;
  initArray;
  for i:=0 to CDSbaseinfo.FieldCount - 1 do
    FindArray1[i]:=CDSbaseinfo.Fields[i].FieldName;
  for j:=0 to Grid.Columns.Count - 1 do
    FindArray2[j]:=Grid.Columns[j].Title.Caption;

  if not Assigned(frmSearch) then
    frmSearch:=TfrmSearch.Create(application);
    frmSearch.ShowModal;

  if Trim(Searchtiao)<>'' then
    begin
      try
        Getsqldata(CDSbaseinfo,MainView,Keyfield,Searchtiao,20);
      except
        GetAddData(CDSbaseinfo,MainView,Keyfield,20);
      end;
    end;
end;

procedure Tfrmsyslog.s03Execute(Sender: TObject);
var
  Tiaos:string;
begin
  inherited;
  tiaos:='';
  tiaos:='convert(Varchar(10),ftime,120)=';
  tiaos:=tiaos+quotedstr(formatDatetime('yyyy-MM-dd',workdate));
  GetSqldata(CDSbaseinfo,'Vsyslog','Fid',tiaos,20);
end;

procedure Tfrmsyslog.s01Execute(Sender: TObject);
var
  cmdStr:string;
begin
  inherited;
  cmdStr:='';
  if Application.MessageBox('是否确认清除当日所有记录  ! ','确认信息',
                MB_OKCANCEL+MB_iconquestion+MB_systemModal)=idok then
  begin
    cmdStr:='Delete from tsyslog where convert(Varchar(10),ftime,120)=';
    cmdStr:=cmdStr+quotedstr(formatDatetime('yyyy-MM-dd',workdate));
    if Execsql(cmdStr) then
      syslog(self.Name,'清除 '+Datetimetostr(WorkDate)+' 的事件日志 ');
  end;
  GetaddData(CDSBaseinfo,Mainview,Keyfield,20);
end;

end.

⌨️ 快捷键说明

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