📄 readermanage.pas
字号:
unit ReaderManage;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ToolWin,ExtCtrls,buttons, ADODB, ImgList,MYclass,
ExtDlgs,inputbox, MyComboBox;
type
TReaderForm = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label7: TLabel;
Label9: TLabel;
Edit3: TEdit;
Memo1: TMemo;
GroupBox1: TGroupBox;
Image1: TImage;
Edit1: TEdit;
Edit5: TEdit;
Edit6: TEdit;
ComboBox2: TComboBox;
SpeedButton3: TSpeedButton;
TabSheet2: TTabSheet;
Panel2: TPanel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Edit2: TEdit;
Memo2: TMemo;
GroupBox2: TGroupBox;
Image2: TImage;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
ComboBox4: TComboBox;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
SpeedButton11: TSpeedButton;
SpeedButton12: TSpeedButton;
SpeedButton14: TSpeedButton;
SpeedButton15: TSpeedButton;
SpeedButton16: TSpeedButton;
SpeedButton1: TSpeedButton;
Edit11: TEdit;
Label8: TLabel;
Edit12: TEdit;
Label10: TLabel;
Edit13: TEdit;
Edit14: TEdit;
OPDialog1: TOpenPictureDialog;
ComboBox3: TMyComboBox;
procedure CreateParams(var Params: TCreateParams); override;
procedure TabSheet1Show(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton11Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
procedure Image1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ComboBox31Select(Sender: TObject);
procedure showfield;
procedure Customshowfield(const field,str:string);
procedure SpeedButton9Click(Sender: TObject);
procedure ComboBox2Select(Sender: TObject);
procedure ComboBox4Select(Sender: TObject);
procedure ComboBox31KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox4KeyPress(Sender: TObject; var Key: Char);
procedure setedit(value:Boolean);
procedure writefield(test:boolean;fieldname:string;value:variant);
procedure SpeedButton10Click(Sender: TObject);
procedure Image2Click(Sender: TObject);
procedure imagetotable;
procedure kindchange;
function Dateadd(Vardate:Tdatetime;varmonth:integer):Tdatetime;
procedure SpeedButton12Click(Sender: TObject);
procedure SpeedButton14Click(Sender: TObject);
procedure SpeedButton15Click(Sender: TObject);
procedure SpeedButton16Click(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit7KeyPress(Sender: TObject; var Key: Char);
procedure Edit11KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit12KeyPress(Sender: TObject; var Key: Char);
procedure Edit5KeyPress(Sender: TObject; var Key: Char);
procedure Edit6KeyPress(Sender: TObject; var Key: Char);
procedure Edit13KeyPress(Sender: TObject; var Key: Char);
procedure Edit14KeyPress(Sender: TObject; var Key: Char);
procedure Edit10KeyPress(Sender: TObject; var Key: Char);
private
procedure WMPAINT1(var msg:TMESSAGE);message WM_PAINT;
procedure WMNCPAINT1(var msg:TWMNCPAINT);message WM_NCPAINT;
procedure Active(var msg:Tmessage);message WM_ACTIVATE;
procedure WMNCLBUTTONDBLCLK1(var msg:Tmessage);message WM_NCLBUTTONDBLCLK;
{ Private declarations }
public
titleBmp:Tbitmap;
{ Public declarations }
end;
var
cardinfo:RCarkKindinfo;
recordmemory:string;
imagechanged:boolean;
implementation
uses MainForm,DataModule;
{$R *.dfm}
function MyShowmessage(text:Pchar):boolean; external 'resource.dll';
procedure TReaderForm.WMNCLBUTTONDBLCLK1(var msg:Tmessage);
begin
//
end;
procedure TReaderForm.Active(var msg:Tmessage);
begin
self.WMPAINT1(msg);
end;
procedure TReaderForm.CreateParams(var Params: TCreateParams);
begin
inherited;
params.Style:=params.Style-WS_SYSMENU;
end;
procedure TReaderForm.WMPAINT1(var msg:TMESSAGE);
begin
sendmessage(self.Handle,WM_NCPAINT,0,0);
inherited;
end;
procedure TReaderForm.WMNCPAINT1(var msg:TWMNCPAINT);
var
dc1:HDC;
y,frame:integer;
oldbrush:HBrush;
oldpen,pen:HPEN;
canvas:Tcanvas;
begin
canvas:=Tcanvas.Create;
dc1:=getwindowdc(Handle);
y:=GetSystemMetrics(SM_CYSIZE);
frame:=GetSystemMetrics(SM_CYSIZEFRAME);
oldbrush:=selectobject(dc1,getstockobject(null_brush));
pen:=createpen(PS_SOLID,1,rgb(155,155,155));
oldpen:=selectobject(dc1,pen);
RoundRect(dc1,0,0,Width,Height,12,12);
pen:=createpen(PS_SOLID,frame*2-5,rgb(255,255,255));
selectobject(dc1,pen);
RoundRect(dc1,2,2,Width-2,Height-2,8,10);
StretchBlt(dc1,frame,frame,Width-2*frame,y+frame div 2,titlebmp.Canvas.Handle,0,0,titlebmp.Width,titlebmp.Height,srccopy);
canvas.Handle:=dc1;
canvas.Brush.Style:=bsclear;
canvas.TextOut(frame*3,(y-frame)div 2,self.Caption);
selectobject(dc1,oldbrush);
selectobject(dc1,oldpen);
deleteObject(pen);
canvas.Handle:=0;
canvas.Free;
releasedc(Handle,dc1);
end;
procedure TReaderForm.FormCreate(Sender: TObject);
begin
titlebmp:=Tbitmap.Create;
titlebmp.LoadFromResourceName(main.resource,'TItle');
end;
procedure TReaderForm.TabSheet1Show(Sender: TObject);
begin
combobox2.Clear;
with data.PublicQuery do
begin
close;
sql.Clear;
sql.Add('select KindName from lendcardKind');
open;
while not eof do
begin
combobox2.Items.Add(fieldbyname('kindname').AsString);
next;
end;
end;
end;
procedure TReaderForm.SpeedButton3Click(Sender: TObject);
begin
close;
end;
procedure TReaderForm.SpeedButton11Click(Sender: TObject);
begin
data.PublicQuery.Close;
close;
end;
procedure TReaderForm.SpeedButton1Click(Sender: TObject);
var
i:integer;
begin
try
if (trim(Edit11.Text)<>'')And(trim(Edit1.Text)<>'')and(trim(Edit12.Text)<>'')and(trim(Edit12.Text)<>'') then
begin
with data.PublicQuery do
begin
close;
sql.Clear;
sql.Add('select * from lendcardinfo where cardid=:cardid');
parameters.ParamByName('cardid').Value:=edit11.Text;
open;
if recordcount>0 then
begin
myshowmessage('输入的卡号重复!!');
exit;
end;
close;
sql.Clear;
sql.Add('insert into Lendcardinfo ');
sql.Add('values(:CardID,:Name,:ID,:Picture,:Live,:Worker,:Phone,:CardKind,1,:Enddate,:CreateDate,:Memo,0,null)');
parameters.ParamByName('CardID').Value:=edit11.Text;
parameters.ParamByName('Name').Value:=edit3.Text;
parameters.ParamByName('ID').Value:=edit1.Text;
parameters.ParamByName('Picture').Assign(image1.Picture);
parameters.ParamByName('Live').Value:=edit6.Text;
parameters.ParamByName('Worker').Value:=edit5.Text;
parameters.ParamByName('Phone').Value:=edit12.Text;
parameters.ParamByName('CardKind').Value:=combobox2.Text;
parameters.ParamByName('EndDate').Value:=dateadd(date,cardinfo.TimeLong);
parameters.ParamByName('CreateDate').Value:=date;
parameters.ParamByName('Memo').Value:=memo1.Text;
execsql;
close;
sql.Clear;
sql.Add('insert into lendcardrecord values(:CardID,:Worker,:CardKind,:consignDate,:Timelong,:Memo)');
parameters.ParamByName('CardID').Value:=edit11.Text;
parameters.ParamByName('Worker').Value:=edit5.Text;
parameters.ParamByName('CardKind').Value:=combobox2.Text;
parameters.ParamByName('consignDate').Value:=date;
parameters.ParamByName('Timelong').Value:=cardinfo.TimeLong;
parameters.ParamByName('Memo').Value:=memo1.Text;
execsql;
end;
myshowmessage('添加完成!!');
for i:=0 to panel1.ControlCount-1 do
begin
if panel1.Controls[i] is Tedit then
(panel1.Controls[i] as Tedit).Clear;
end;
image2.Picture.Assign(nil);
memo1.Clear;
end;
except
myshowmessage('系统错误!!');
end;
end;
procedure TReaderForm.ComboBox2KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
Edit3.SetFocus;
end;
key:=#0;
end;
procedure TReaderForm.Image1Click(Sender: TObject);
begin
if opdialog1.Execute then
image1.Picture.LoadFromFile(opdialog1.FileName);
end;
procedure TReaderForm.FormShow(Sender: TObject);
begin
combobox3.Clear;
combobox4.Clear;
with data.PublicQuery do
begin
close;
sql.Clear;
sql.Add('select KindName from lendcardKind');
open;
while not eof do
begin
combobox4.Items.Add(fieldbyname('kindname').AsString);
next;
end;
close;
sql.Clear;
sql.Add('select * from LendCardInfo');
open;
while not eof do
begin
combobox3.Items.Add(fieldbyname('CardID').AsString);
next;
end;
end;
showfield;
end;
procedure TReaderForm.ComboBox31Select(Sender: TObject);
begin
if speedbutton9.Enabled then
customshowfield('cardid',(sender as TMycombobox).Text);
end;
procedure TReaderForm.showfield;
begin
if data.PublicQuery.Active then
begin
with data.PublicQuery do
begin
combobox3.Text:=fieldbyname('cardid').AsString;
recordmemory:=combobox3.Text;
if fieldbyname('usesing').AsInteger=0 then
begin
label11.Font.Color:=clred;
end
else
begin
label11.Font.Color:=clWindowText;
end;
combobox4.Text:=fieldbyname('cardkind').AsString;
edit2.Text:=fieldbyname('name').AsString;
edit7.Text:=fieldbyname('ID').AsString;
edit8.Text:=fieldbyname('CreateDate').AsString;
edit9.Text:=fieldbyname('enddate').AsString;
edit13.Text:=fieldbyname('Phone').AsString;
edit14.Text:=fieldbyname('worker').AsString;
edit10.Text:=fieldbyname('Live').AsString;
memo2.Text:=fieldbyname('memo').AsString;
image2.Picture.Assign(nil);
image2.Picture.Assign(fieldbyname('picture'));
if fieldbyname('usesing').AsInteger = 0 then
speedbutton16.Caption:='&P恢复使用'
else speedbutton16.Caption:='&P报停';
ComboBox4Select(combobox4);
end;
end;
end;
procedure TreaderForm.Customshowfield(const field,str:string);
begin
with data.PublicQuery do
begin
close;
sql.Clear;
sql.Add('select * from lendcardinfo where '+field+'=:value');
parameters.ParamByName('value').Value:=str;
open;
if recordcount <1 then
begin
myshowmessage('对不起!没有找到您所输入的纪录!');
end;
end;
showfield;
end;
procedure TReaderForm.SpeedButton9Click(Sender: TObject);
begin
if edit2.Text <>'' then
begin // star
setedit(true);
speedbutton9.Enabled:=false;
speedbutton12.Caption:='&C取消';
end; //star
end;
procedure TReaderForm.ComboBox2Select(Sender: TObject);
begin
with data.PublicQuery do
begin
close;
sql.Clear;
sql.Add('select * from Lendcardkind where KindName=:kindname');
parameters.ParamByName('kindname').Value:=(sender as Tcombobox).Text;
open;
cardinfo.Deposit:=fieldbyname('deposit').asfloat;
cardinfo.Rent:=fieldbyname('rent').AsFloat;
cardinfo.AllowNum:=fieldbyname('allownum').AsInteger;
cardinfo.TimeLong:=fieldbyname('timelong').AsInteger;
end;
end;
procedure TReaderForm.ComboBox4Select(Sender: TObject);
begin
with data.PublicQuery do
begin
close;
sql.Clear;
sql.Add('select * from Lendcardkind where KindName=:kindname');
parameters.ParamByName('kindname').Value:=(sender as Tcombobox).Text;
open;
cardinfo.Deposit:=fieldbyname('deposit').asfloat;
cardinfo.Rent:=fieldbyname('rent').AsFloat;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -