📄 baseformunit.pas
字号:
unit BaseFormUnit;
interface
uses
Classes, SysUtils, IWAppForm, IWApplication, IWColor, IWTypes, Controls,
Forms, IWVCLBaseControl, IWBaseControl, IWBaseHTMLControl, dateutils,
IWControl, IWCompRectangle, IWExtCtrls, IWVCLBaseContainer, IWContainer,
IWHTMLContainer, IWRegion, IWVCLComponent, IWBaseLayoutComponent,
IWBaseContainerLayout, IWContainerLayout, IWTemplateProcessorHTML,
IWCompListbox, IWCompLabel, IWCompEdit;
type
TFormBase = class(TIWAppForm)
Top: TIWRectangle;
Bottom: TIWRectangle;
pnllogin: TIWRegion;
edtNickname: TIWEdit;
edtPassword: TIWEdit;
tphLogin: TIWTemplateProcessorHTML;
tphVarInput: TIWTemplateProcessorHTML;
userstat: TIWRectangle;
VarInput: TIWRegion;
edtStartDate: TIWEdit;
edtEndDate: TIWEdit;
btnLogin: TIWImageFile;
procedure IWAppFormRender(Sender: TObject);
procedure IWAppFormDestroy(Sender: TObject);
procedure IWAppFormCreate(Sender: TObject);
procedure btnLoginClick(Sender: TObject);
procedure pnlloginRender(Sender: TObject);
private
procedure SetShow;
procedure ShowLogin;
procedure GetInput;
procedure ShowUserStat;
procedure ShowClientInfo;
function SaveClientInfo: Boolean;
function CheckInput: Boolean;
procedure ShowVarInput;
public
FListBottom, FListTop: TStrings;
FDate: TDateTime;
FProv, FCity: string;
procedure ShowLucky(flag: Integer = 0);
function ProcessClientInfo: Boolean;
procedure DisableInputEdit;
end;
implementation
uses GlobalVar, ServerController, DataModuleUnit, GlobalUnit, adofuncs, xfunc;
{$R *.dfm}
procedure TFormBase.IWAppFormRender(Sender: TObject);
begin
AddLog(logs, AppDir, 'baseform render start.');
Self.SetShow;
Self.ShowLogin;
Self.ShowUserStat;
Self.ShowVarInput;
edtPassword.Clear;
edtNickname.Clear;
if (UserSession.LoginUser.checkin) and (UserSession.LoginUser.name <> '') then
begin
DisableInputEdit;
Self.ShowClientInfo;
end;
try
FListBottom.LoadFromFile(AppDir + '/files/end.html');
FListTop.LoadFromFile(AppDir + '/files/header.html');
Bottom.Text := FListBottom.Text;
Top.Text := FListTop.Text;
except
end;
AddLog(logs, AppDir, 'baseform render finish.');
end;
procedure TFormBase.IWAppFormDestroy(Sender: TObject);
begin
FListBottom.Free;
FListTop.Free;
end;
procedure TFormBase.IWAppFormCreate(Sender: TObject);
begin
AddLog(logs, AppDir, 'baseform create start.');
FListBottom := TStringList.Create;
FListTop := TStringList.Create;
AddLog(logs, AppDir, 'baseform create finish.');
end;
procedure TFormBase.GetInput;
begin
end;
//========================================
procedure TFormBase.SetShow;
begin
end;
function TFormBase.CheckInput: Boolean;
begin
end;
procedure TFormBase.btnLoginClick(Sender: TObject);
var
sql, connstr, nickname, password: string;
procedure CleanEdit;
begin
edtNickname.Text := '';
edtPassword.Text := '';
edtNickname.SetFocus;
end;
begin
// LDB := ReadDbLinks(AppDir, 'userdb');
// connstr := GetConnStr('MDB', LDB.name, LDB.Server, LDB.Pass, LDB.User);
if ConnectADO(FDM.DYConn, connstr) <> 1 then
begin
WebApplication.ShowMessage('数据连接参数有错误,请联系管理员解决...');
WebApplication.Terminate('数据连接参数有错误,请联系管理员解决...');
end;
nickname := trim(edtNickname.Text);
password := trim(edtPassword.Text);
if (nickname = '') or (password = '') then
begin
WebApplication.ShowMessage('嗯, 你没有输入会员信息.');
exit;
end;
if (Pos(' or ', nickname) > 0) or (Pos(')or(', nickname) > 0) then
begin
WebApplication.ShowMessage('嗯, 用户名中有非法字符!');
CleanEdit;
exit;
end;
sql := 'select * from [webuser] where nickname=''' + nickname + ''''; // and password='''+password+'''';
if OpenQuery(FDM.aqLogin, sql) = 1 then
begin
if FDM.aqLogin.Locate('password', password, []) then
begin
UserSession.LoginUser.name := nickname;
UserSession.LoginUser.truename := trim(FDM.aqLogin.FieldByName('truename').AsString);
UserSession.LoginUser.flag := FDM.aqLogin.FieldByName('userflag').AsInteger;
UserSession.LoginUser.audit := FDM.aqLogin.FieldByName('auditing').AsInteger;
end else
begin
WebApplication.ShowMessage('登陆失败! 请检查用户名密码!');
CleanEdit;
exit;
end;
end
else
begin
WebApplication.ShowMessage('对不起! 你可能没有注册哦!');
CleanEdit;
exit;
end;
FDM.DYConn.Close;
if (UserSession.LoginUser.audit = 0) then
begin
WebApplication.ShowMessage('登陆失败! 此用户资料尚未被管理员审核启用!');
CleanEdit;
exit;
end;
//载入用户状态信息模板
ShowUserStat;
Self.ShowLogin;
//UserSession.LoginUser.checkin := FDM.CheckInHaveNickName(UserSession.LoginUser.name);
// VarInput.Enabled := not UserSession.LoginUser.checkin;
if UserSession.LoginUser.checkin then
begin
DisableInputEdit;
Self.ShowClientInfo;
end;
end;
procedure TFormBase.pnlloginRender(Sender: TObject);
begin
//btnLogin.ImageFile.Filename := ReadFileNameText(AppDir, 'skinoption', 'btnlogin');
end;
procedure TFormBase.ShowUserStat;
var
S, sName: string;
begin
S := IIF(UserSession.LoginUser.flag = 1, '正式会员', '免费会员');
sName := IIF(UserSession.LoginUser.truename <> '', UserSession.LoginUser.truename, UserSession.LoginUser.name);
LoadHtml(AppDir, 'skinoption', 'userstat', FListBottom);
FListBottom.Text := StringReplace(FListBottom.Text, '%username%', sName, []);
userstat.Text := StringReplace(FListBottom.Text, '%userstat%', S, []);
end;
procedure TFormBase.ShowLogin;
begin
pnllogin.Visible := (UserSession.LoginUser.flag = 0);
end;
procedure TFormBase.ShowLucky(flag: Integer);
begin
end;
procedure TFormBase.ShowClientInfo;
begin
end;
function TFormBase.SaveClientInfo: Boolean;
begin
end;
function TFormBase.ProcessClientInfo: Boolean;
begin
end;
procedure TFormBase.DisableInputEdit;
begin
end;
procedure TFormBase.ShowVarInput;
begin
// VarInput.Visible:=(UserSession.LoginUser.name<>'');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -