请问我要使用 TIWHTMLTag 时需要申明什么单元? ( 积分: 100 )

  • 主题发起人 主题发起人 michaelfm
  • 开始时间 开始时间
M

michaelfm

Unregistered / Unconfirmed
GUEST, unregistred user!
请问我要使用 TIWHTMLTag 时需要申明什么单元?
我是想在登陆界面做一个cookie功能
使用procedure IWEdit1HTMLTag(ASender: TObject; ATag: TIWHTMLTag);
事件可以吗?
 
请问我要使用 TIWHTMLTag 时需要申明什么单元?
我是想在登陆界面做一个cookie功能
使用procedure IWEdit1HTMLTag(ASender: TObject; ATag: TIWHTMLTag);
事件可以吗?
 
IntraWeb登陆界面cookie功能我做過,HTMLTag功能沒有用過
等我整理一下代碼再貼上來
 
我也是菜鳥
下面貼點我項目裡面的代碼

procedure TIWServerController.IWServerControllerBaseNewSession(
ASession: TIWApplication; var VMainForm: TIWBaseForm);
var
i: integer;
vPtr: TIWApplication;
vList: TList;
ms: string;
UserID, password: string;
begin
ASession.Data := TUserSession.Create(nil);

//------------根據config.ini中參數連接ADO
with UserSession.DM.adoconn do begin
Connected := false;
ConnectionString := '';
ConnectionString :=
'Provider=SQLOLEDB.1;' +
'Persist Security Info=False;' +
'User ID=' + CUSERID + ';' +
'Password=' + CPASSWORD + ';' +
'Initial Catalog=' + DATABASENAME + ';' +
'Data Source=' + SERVERNAME;
Connected := true;
end;

//------------剔除相同IP冗余Session,減少程式服務器Loading
vList := GSessions.LockList;
try
for i := 0 to vList.Count - 1 do begin
vPtr := TIWApplication(vList);
if (vPtr.ip = WebApplication.ip) and
(vPtr.SessionTimeStamp <> WebApplication.SessionTimeStamp) then begin
vList.Remove(vPtr);
vPtr.Free;
break;
end;
end;
finally
GSessions.UnlockList;
end;
....
procedure Tfrmbase.SaveToCookie;
begin
with WebApplication.Response.Cookies.Add do begin
Expires := now + 10;
Name := sUserID;
Value := UserSession.UserName;
end;

with WebApplication.Response.Cookies.Add do begin
Expires := now + 10;
Name := sUserPassword;
Value := UserSession.UserPassword;
end;

with WebApplication.Response.Cookies.Add do begin
Expires := now + 10;
Name := sSessionID;
Value := WebApplication.AppID;
end;
end;

procedure Tfrmbase.LoadFromCookie;
begin
with WebApplication.Request.CookieFields do begin
if Values[sUserID] <> '' then begin
if CheckUser(Values[sUserID], Values[sUserPassword]) then begin
UserSession.UserName := Values[sUserID];
UserSession.UserPassword := Values[sUserPassword];
UserSession.LastSession := Values[sSessionID];
end;
end
else begin
UserSession.UserName := '';
UserSession.UserPassword := '';
UserSession.LastSession := '';
end;
end;
end;

其中
const
sUserID = 'UserID';
sSessionID = 'LastSessionID';
sUserPassword = 'UserPassword';


可以參考 [深入探討Session] Write By 黃忠成(原文刊登於台灣Run PC!)
這篇文章,網上有下載的,如果找不到我發給你,我就是參考它做的
 
這篇是選自 IntraWeb開發筆記裡面的,很有用的

在IntraWeb中如何使用Cookies
创建Cookies:

procedure TIWForm1.CreateTheCookie;
var
 MyCookies: TstringList;
begin
 try
  MyCookies := TstringList.create;
  MyCookies.Add('CookieName1=CookieValue1');
  MyCookies.Add('CookieName2=CookieValue2');
  Webapplication.Response.SetCookieField(
  MyCookies, { 要设置的Cookies}
  '', { 发送到Cookies的域名,如果为空的话,则使用当前的 }
  '', { 发送到Cookies的路径,如果为空的话,则使用任意路径 }
  Now+1, { Cookies的有效期 }
  False { 是否使用加密的连接 }
  );
 finally
  MyCookies.free;
 end;
end;

读取Cookies:

procedure TIWForm1.ReadTheCookie;
var
 Value1: String;
 Value2: String;
begin
 Value1 := webapplication.request.cookieFields.values['CookieName1'];
 Value2 := webapplication.request.cookieFields.values['CookieName2'];
end;


 
接受答案了.
 
后退
顶部