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

📄 browse.pas

📁 一个会员管理系统delphi源代码,非常好
💻 PAS
字号:
unit browse;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, dxtree, dxdbtree, ImgList, cxStyles, cxCustomData,
  cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
  cxSplitter, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
  cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, Menus,
  cxGridCustomPopupMenu, cxGridPopupMenu, dxPSGlbl, dxPSUtl, dxPSEngn,
  dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
  dxPSEdgePatterns, dxPgsDlg, dxPSCore, dxPScxCommon, dxPScxGridLnk,
  cxTextEdit, cxGridCardView, cxGridDBCardView, cxMemo, ExtCtrls, RpCon,
  RpConDS, RpBase, RpSystem, RpDefine, RpRave;

type
  TfrmBrowse = class(TForm)
    DBTreeView1: TdxDBTreeView;
    il1: TImageList;
    GridPopupMenu: TcxGridPopupMenu;
    PopupMenu: TPopupMenu;
    miInsert: TMenuItem;
    miDelete: TMenuItem;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    m1: TMenuItem;
    dxComponentPrinter1: TdxComponentPrinter;
    dxPrintStyleManager1: TdxPrintStyleManager;
    dxComponentPrinter1Link1: TdxGridReportLink;
    dxPrintStyleManager1Style1: TdxPSPrintStyle;
    N5: TMenuItem;
    cxGridPopupMenu1: TcxGridPopupMenu;
    N6: TMenuItem;
    N7: TMenuItem;
    m2: TMenuItem;
    Panel1: TPanel;
    cxGrid1: TcxGrid;
    tv1: TcxGridDBTableView;
    tv1DBColumn1: TcxGridDBColumn;
    tv1DBColumn2: TcxGridDBColumn;
    tv1DBColumn3: TcxGridDBColumn;
    tv1DBColumn4: TcxGridDBColumn;
    tv1DBColumn5: TcxGridDBColumn;
    tv1DBColumn6: TcxGridDBColumn;
    tv1DBColumn7: TcxGridDBColumn;
    tv1DBColumn8: TcxGridDBColumn;
    tv1DBColumn9: TcxGridDBColumn;
    tv1DBColumn10: TcxGridDBColumn;
    tv1DBColumn11: TcxGridDBColumn;
    tv1DBColumn12: TcxGridDBColumn;
    tv1DBColumn13: TcxGridDBColumn;
    tv1DBColumn14: TcxGridDBColumn;
    tv1DBColumn15: TcxGridDBColumn;
    tv1DBColumn16: TcxGridDBColumn;
    lv1: TcxGridLevel;
    cxGrid2: TcxGrid;
    tv2: TcxGridDBTableView;
    DV1: TcxGridDBCardView;
    DV1DBCardViewRow1: TcxGridDBCardViewRow;
    DV1DBCardViewRow2: TcxGridDBCardViewRow;
    DV1DBCardViewRow3: TcxGridDBCardViewRow;
    DV1DBCardViewRow4: TcxGridDBCardViewRow;
    DV1DBCardViewRow5: TcxGridDBCardViewRow;
    DV1DBCardViewRow6: TcxGridDBCardViewRow;
    DV1DBCardViewRow7: TcxGridDBCardViewRow;
    DV1DBCardViewRow8: TcxGridDBCardViewRow;
    DV1DBCardViewRow9: TcxGridDBCardViewRow;
    DV1DBCardViewRow10: TcxGridDBCardViewRow;
    DV1DBCardViewRow11: TcxGridDBCardViewRow;
    DV1DBCardViewRow12: TcxGridDBCardViewRow;
    DV1DBCardViewRow13: TcxGridDBCardViewRow;
    DV1DBCardViewRow14: TcxGridDBCardViewRow;
    DV1DBCardViewRow15: TcxGridDBCardViewRow;
    DV1DBCardViewRow16: TcxGridDBCardViewRow;
    lv2: TcxGridLevel;
    cxSplitter1: TcxSplitter;
    dxComponentPrinter1Link2: TdxGridReportLink;
    RvProject1: TRvProject;
    RvSystem1: TRvSystem;
    RvDataSetConnection1: TRvDataSetConnection;
    N8: TMenuItem;
    N9: TMenuItem;
    procedure DBTreeView1AddNewItem(Sender: TObject;
      var DBTreeNode: TdxDBTreeNode);
    procedure FormCreate(Sender: TObject);
    procedure DBTreeView1Change(Sender: TObject; Node: TTreeNode);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure miInsertClick(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure miDeleteClick(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure m1Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure m2Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmBrowse: TfrmBrowse;

implementation

uses md, memo, register, main;

{$R *.dfm}

procedure TfrmBrowse.DBTreeView1AddNewItem(Sender: TObject;
  var DBTreeNode: TdxDBTreeNode);
begin
  if VarIsNull(DBTreeNode.ParentFieldValue) then
    exit;
  DBTreeNode.ImageIndex := 0;
  DBTreeNode.SelectedIndex := 1;
end;

procedure TfrmBrowse.FormCreate(Sender: TObject);
begin
  if not dm1.tblcity.Active then
    dm1.tblcity.Open;
  with Dm1.qryhuiyuan do
  begin
    close;
    SQL.Clear;
    SQL.Text := 'SELECT bm, xm, sex, birth,iif(birth is not null,year(date())-year(birth)+1,null)as age,  star, shuxian, QQ, tel, email,zipcode, address,province , city, sj, bz from huiyuan ';
    Open;
  end;
  tv1.ApplyBestFit(nil);
end;

procedure TfrmBrowse.DBTreeView1Change(Sender: TObject; Node: TTreeNode);
var
  strsql: string;
  szqy: string;
begin
  strsql := 'SELECT bm, xm, sex, birth,iif(birth is not null,year(date())-year(birth)+1,null)as age,  star, shuxian, QQ, tel, email,zipcode, address,province , city, sj, bz from huiyuan ';
  if DBTreeView1.Selected.Parent <> nil then
  begin
    if DBTreeView1.Selected.Level = 1 then
      strsql := strsql + ' where province=''' + Trim(dm1.tblcity.fieldbyname('city').AsString) + ''''
    else
    begin
      szqy := DBTreeView1.Selected.Parent.Text;
      strsql := strsql + ' where (province=''' + szqy + ''') and (city=''' + Trim(dm1.tblcity.fieldbyname('city').AsString) + ''')';
    end;
  end;
  with Dm1.qryhuiyuan do
  begin
    close;
    SQL.Clear;
    SQL.Text := strsql;
    Open;
  end;
end;

procedure TfrmBrowse.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
  frmmain.mmBrowse.AutoGrayScale := True;
  frmmain.mmquery.AutoGrayScale := true;
end;

procedure TfrmBrowse.miInsertClick(Sender: TObject);
begin
  if Dm1.qryhuiyuan.RecordCount <= 0 then
    exit;
  Dm1.qrymemo.Close;
  Dm1.qrymemo.SQL.Clear;
  Dm1.qrymemo.SQL.Text := 'select * from jiaoyou where bm=''' + Dm1.qryhuiyuan.FieldValues['bm'] + '''';
  Dm1.qrymemo.Open;
  if Dm1.qrymemo.RecordCount <= 0 then
  begin
    Dm1.qrymemo.Insert;
    Dm1.qrymemo.FieldByName('bm').AsString := Dm1.qryhuiyuan.FieldValues['bm'];
    Dm1.qrymemo.FieldByName('addfriend').AsString := '';
  end
  else
  begin
    Dm1.qrymemo.edit;
  end;
  frmmemo := Tfrmmemo.Create(Application);
  frmmemo.Label1.Caption := '具体记录:';
  frmmemo.Caption := '会员[ ' + Dm1.qryhuiyuan.FieldValues['xm'] + ' ]交友情况登记';
  frmmemo.memo1.DataBinding.DataSource := Dm1.dsmemo;
  frmmemo.memo1.DataBinding.DataField := 'addfriend';
  frmmemo.ShowModal;
end;

procedure TfrmBrowse.N3Click(Sender: TObject);
begin
  frmregister := Tfrmregister.Create(Application);
  Dm1.qryhuiyuan.close;
  dm1.qryhuiyuan.open;
end;

procedure TfrmBrowse.miDeleteClick(Sender: TObject);
begin
  if Dm1.qryhuiyuan.RecordCount <= 0 then
    exit;
  Dm1.qrymemo.Close;
  Dm1.qrymemo.SQL.Clear;
  Dm1.qrymemo.SQL.Text := 'select * from tougao where bm=''' + Dm1.qryhuiyuan.FieldValues['bm'] + '''';
  Dm1.qrymemo.Open;
  if Dm1.qrymemo.RecordCount <= 0 then
  begin
    Dm1.qrymemo.Insert;
    Dm1.qrymemo.FieldByName('bm').AsString := Dm1.qryhuiyuan.FieldValues['bm'];
    Dm1.qrymemo.FieldByName('tougao').AsString := '';
  end
  else
  begin
    Dm1.qrymemo.edit;
  end;
  frmmemo := Tfrmmemo.Create(Application);
  frmmemo.Label1.Caption := '具体记录:';
  frmmemo.Caption := '会员[ ' + Dm1.qryhuiyuan.FieldValues['xm'] + ' ]投稿情况登记';
  frmmemo.memo1.DataBinding.DataSource := Dm1.dsmemo;
  frmmemo.memo1.DataBinding.DataField := 'tougao';
  frmmemo.ShowModal;
end;

procedure TfrmBrowse.N1Click(Sender: TObject);
begin
  if Dm1.qryhuiyuan.RecordCount <= 0 then
    exit;
  Dm1.qrymemo.Close;
  Dm1.qrymemo.SQL.Clear;
  Dm1.qrymemo.SQL.Text := 'select * from yijian where bm=''' + Dm1.qryhuiyuan.FieldValues['bm'] + '''';
  Dm1.qrymemo.Open;
  if Dm1.qrymemo.RecordCount <= 0 then
  begin
    Dm1.qrymemo.Insert;
    Dm1.qrymemo.FieldByName('bm').AsString := Dm1.qryhuiyuan.FieldValues['bm'];
    Dm1.qrymemo.FieldByName('yijian').AsString := '';
  end
  else
  begin
    Dm1.qrymemo.edit;
  end;
  frmmemo := Tfrmmemo.Create(Application);
  frmmemo.Label1.Caption := '具体记录:';
  frmmemo.Caption := '会员[ ' + Dm1.qryhuiyuan.FieldValues['xm'] + ' ]意见登记';
  frmmemo.memo1.DataBinding.DataSource := Dm1.dsmemo;
  frmmemo.memo1.DataBinding.DataField := 'yijian';
  frmmemo.ShowModal;
end;

procedure TfrmBrowse.N2Click(Sender: TObject);
begin
  if Dm1.qryhuiyuan.RecordCount <= 0 then
    exit;
  Dm1.qrymemo.Close;
  Dm1.qrymemo.SQL.Clear;
  Dm1.qrymemo.SQL.Text := 'select * from huifu where bm=''' + Dm1.qryhuiyuan.FieldValues['bm'] + '''';
  Dm1.qrymemo.Open;
  if Dm1.qrymemo.RecordCount <= 0 then
  begin
    Dm1.qrymemo.Insert;
    Dm1.qrymemo.FieldByName('bm').AsString := Dm1.qryhuiyuan.FieldValues['bm'];
    Dm1.qrymemo.FieldByName('huifu').AsString := '';
  end
  else
  begin
    Dm1.qrymemo.edit;
  end;
  frmmemo := Tfrmmemo.Create(Application);
  frmmemo.Label1.Caption := '具体记录:';
  frmmemo.Caption := '会员[ ' + Dm1.qryhuiyuan.FieldValues['xm'] + ' ]回复情况登记';
  frmmemo.memo1.DataBinding.DataSource := Dm1.dsmemo;
  frmmemo.memo1.DataBinding.DataField := 'huifu';
  frmmemo.ShowModal;
end;

procedure TfrmBrowse.m1Click(Sender: TObject);
begin
  if dm1.qryhuiyuan.RecordCount > 0 then
    Dm1.qryhuiyuan.Delete;
end;

procedure TfrmBrowse.N5Click(Sender: TObject);
begin
  if cxGrid1.Visible then
    dxComponentPrinter1.CurrentLinkIndex := 0
  else
    dxComponentPrinter1.CurrentLinkIndex := 1;
  dxComponentPrinter1.Preview(True, nil);
end;

procedure TfrmBrowse.N7Click(Sender: TObject);
begin
  N7.Checked := true;
  m2.Checked := false;
  if not cxGrid1.Visible then
  begin
    cxGrid2.Visible := false;
    dv1.DataController.DataSource := nil;
    cxGrid1.Visible := true;
    tv1.DataController.DataSource := Dm1.dsqryhuiyuan;
  end;
end;

procedure TfrmBrowse.m2Click(Sender: TObject);
begin
  m2.Checked := true;
  n7.Checked := false;
  if not cxGrid2.Visible then
  begin
    cxGrid1.Visible := false;
    tv1.DataController.DataSource := nil;
    cxGrid2.Visible := true;
    dv1.DataController.DataSource := Dm1.dsqryhuiyuan;
  end;
end;

procedure TfrmBrowse.N8Click(Sender: TObject);
var
  strsql: string;
  reportname: string;
begin
  strsql := 'SELECT huiyuan.bm, huiyuan.xm, huiyuan.sex, huiyuan.age, huiyuan.birth, huiyuan.star, ';
  strsql := strsql + 'huiyuan.shuxian, huiyuan.QQ, huiyuan.tel, huiyuan.email, huiyuan.zipcode,';
  strsql := strsql + ' huiyuan.address, huiyuan.province, huiyuan.city, huiyuan.sj, huiyuan.bz,';
  strsql := strsql + ' jiaoyou.addfriend, tougao.tougao, yijian.yijian, huifu.huifu ';
  strsql := strsql + ' FROM (((huiyuan INNER JOIN huifu ON huiyuan.bm = huifu.bm) INNER JOIN ';
  strsql := strsql + ' jiaoyou ON huiyuan.bm = jiaoyou.bm) INNER JOIN tougao ON huiyuan.bm = tougao.bm)';
  strsql := strsql + ' INNER JOIN yijian ON huiyuan.bm = yijian.bm ';
  strsql := strsql + ' where  huiyuan.bm=''' + Dm1.qryhuiyuan.FieldValues['bm'] + '''';
  dm1.qryhydetail.Close;
  Dm1.qryhydetail.SQL.Clear;
  Dm1.qryhydetail.SQL.text := strsql;
  dm1.qryhydetail.Open;
  reportname := getcurrentdir + '\report.rav';
  RvProject1.ProjectFile := reportname;
  RvProject1.Execute;
  Dm1.qryhydetail.Close;
end;

end.

⌨️ 快捷键说明

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