📄 frmreaderu.pas
字号:
unit frmReaderU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, jpeg, ExtCtrls, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
cxGridLevel, cxClasses, cxControls, cxGridCustomView,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, Menus,
Excel2000,RM_class, RM_dset, RM_dbset;
type
TfrmReader = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
edLeaseNo: TEdit;
Label2: TLabel;
edName: TEdit;
Label3: TLabel;
edIDCard: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
GroupBox2: TGroupBox;
dsReader: TDataSource;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyle2: TcxStyle;
cxStyle3: TcxStyle;
cxgReader: TcxGrid;
cxgReaderDBTableView1: TcxGridDBTableView;
cxgReaderDBTableView1DBColumn1: TcxGridDBColumn;
cxgReaderDBTableView1DBColumn2: TcxGridDBColumn;
cxgReaderDBTableView1DBColumn3: TcxGridDBColumn;
cxgReaderDBTableView1DBColumn4: TcxGridDBColumn;
cxgReaderDBTableView1DBColumn5: TcxGridDBColumn;
cxgReaderDBTableView1DBColumn6: TcxGridDBColumn;
cxgReaderDBTableView1DBColumn7: TcxGridDBColumn;
cxgReaderDBTableView1DBColumn8: TcxGridDBColumn;
cxgReaderLevel1: TcxGridLevel;
PopupMenu: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N4: TMenuItem;
cxgReaderDBTableView1DBColumn9: TcxGridDBColumn;
cxgReaderDBTableView1DBColumn10: TcxGridDBColumn;
N3: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
Excel1: TMenuItem;
N8: TMenuItem;
RMReport1: TRMReport;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure cxgReaderDBTableView1CellDblClick(
Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure N6Click(Sender: TObject);
procedure Excel1Click(Sender: TObject);
procedure N8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure Search();
end;
var
frmReader: TfrmReader;
implementation
uses DMU, frmAddReaderU, frmMainU, frmRechargeableU;
{$R *.dfm}
procedure TfrmReader.Search;
var
LeaseNO,Name,IDCard,mySQL:String;
begin
LeaseNO:=Trim(edLeaseNo.Text);
Name:=Trim(edName.Text);
IDCard:=Trim(edIDCard.Text);
mySQL:='Select LeaseNo,Name,IDCard,BagMonth,BagMoTim,Balance,Sex,PhoneNo,Address,EMail from Reader where LeaseNO';
if LeaseNo=''then
mySQL:=mySQL+' Like '+QuotedStr('%'+LeaseNO+'%')
else
mySQL:=mySQL+'='+QuotedStr(LeaseNO);
if Name<>'' then
mySQL:=mySQL+' and Name Like '+QuotedStr('%'+Name+'%');
if IDCard<>'' then
mySQL:=mySQL+' and IDCard Like '+QuotedStr('%'+IDCard+'%');
Dm.adoReader.Close;
Dm.adoReader.SQL.Clear;
Dm.adoReader.SQL.Text:=mySQL;
Dm.adoReader.Open;
end;
procedure TfrmReader.BitBtn1Click(Sender: TObject);
begin
Search();
end;
procedure TfrmReader.BitBtn2Click(Sender: TObject);
begin
Close;
end;
procedure TfrmReader.FormShow(Sender: TObject);
begin
edLeaseNo.Clear;
edLeaseNO.SetFocus;
edName.Clear;
edIDCard.Clear;
Search();
end;
procedure TfrmReader.N1Click(Sender: TObject);
begin
frmMain.OpenMyForm(frmAddReader);
frmAddReader.Search(Dm.adoReader.FieldByName('LeaseNO').AsString);
end;
procedure TfrmReader.N4Click(Sender: TObject);
begin
frmMain.OpenMyForm(frmAddReader);
frmAddReader.Search(Dm.adoReader.FieldByName('LeaseNO').AsString);
frmAddReader.btnAdd.Click;
end;
procedure TfrmReader.N2Click(Sender: TObject);
begin
frmMain.OpenMyForm(frmAddReader);
frmAddReader.Search(Dm.adoReader.FieldByName('LeaseNO').AsString);
frmAddReader.btnEdit.Click;
end;
procedure TfrmReader.N3Click(Sender: TObject);
var
str:String;
begin
str:='';
str:='真的要删除借书证号为:“'+DM.adoReader.FieldByName('LeaseNo').AsString+'”'+chr(13)+'姓名为:“'+DM.adoReader.FieldByName('Name').AsString+'”'+chr(13)+'的读者吗?';
if MessageBox(0,Pchar(str),'提示',mb_okCancel+MB_ICONQUESTION+MB_DEFBUTTON2+MB_TASKMODAL)=IDOK then
begin
Dm.adoReader.Delete;
end;
end;
procedure TfrmReader.cxgReaderDBTableView1CellDblClick(
Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
N1.Click;
end;
procedure TfrmReader.N6Click(Sender: TObject);
begin
frmRechargeable.Search(Dm.adoReader.FieldByName('LeaseNo').AsString);
frmRechargeable.ShowModal;
end;
procedure TfrmReader.Excel1Click(Sender: TObject);
var
ea:TExcelApplication;
ewb:TExcelWorkbook;
ews:TExcelWorksheet;
i,j:integer;
begin
ea:=TExcelApplication.Create(nil);
ewb:=TExcelWorkbook.Create(nil);
ews:=TExcelWorksheet.Create(nil);
ea.Connect;
ea.Visible[0]:=false;
ea.Workbooks.Add(varNull,0);
ewb.ConnectTo(ea.Workbooks[ea.Workbooks.Count]);
ews.ConnectTo(ewb.Worksheets[1] as _worksheet);
Self.Enabled:=false;
ews.Cells.Item[1,1]:='借书证号';
ews.Cells.Item[1,2]:='姓名';
ews.Cells.Item[1,3]:='身份证号';
ews.Cells.Item[1,4]:='是否包月';
ews.Cells.Item[1,5]:='包月到期日';
ews.Cells.Item[1,6]:='余额';
ews.Cells.Item[1,7]:='性别';
ews.Cells.Item[1,8]:='电话号码';
ews.Cells.Item[1,9]:='地址';
ews.Cells.Item[1,10]:='E-Mail';
j:=0;
Dm.adoReader.First();
try
while not Dm.adoReader.Eof do
begin
for i:=0 to Dm.adoReader.FieldCount-1 do
begin
ews.Cells.Item[j+2,i+1]:=Dm.adoReader.Fields[i].AsString;
end;
j:=j+1;
Dm.adoReader.Next();
end;
ea.Visible[0]:=true;
finally
ea.Disconnect;
ewb.Disconnect;
ews.Disconnect;
Self.Enabled:=true;
end;
MessageBox(0,'导出完成','提示',mb_ok+mb_taskmodal+mb_iconquestion);
end;
procedure TfrmReader.N8Click(Sender: TObject);
var
rmReport: TRMReport;
rmDBDataSet: TRMDBDataSet;
begin
try
rmDBDataSet:=TRMDBDataSet.Create(self);
rmDBDataSet.DataSet:=Dm.adoReader;
rmDBDataSet.RangeBegin:=rbFirst;
rmDBDataSet.RangeEnd:=reLast;
rmReport:=TRMReport.Create(self);
rmReport.Dataset:=rmDBDataSet;
rmReport.LoadFromFile(ExtractFilePath(Application.ExeName)+'Data\PrintReader.rmf');
rmReport.ShowReport;
except
ShowMessage('初始化打印出错。');
rmDBDataSet.Destroy;
rmReport.Destroy;
exit;
end;
rmDBDataSet.Destroy;
rmReport.Destroy;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -