使用 IntraWeb (33) - Cookie
在 IW.HTTP.Cookie 单元提供有两个相关类: THTTPCookie、TCookieList; 另外 IWServerController 还有一个 CookieOptions 选项.
但实用起来一般用不到它们.
测试:
{读取 Cookie; 放在 OnCreate 中不太合适, 因为在切换页面时, 如果窗口没被销毁时 OnCreate 也不执行} procedure TIWForm1.IWAppFormRender(Sender: TObject); //OnRender begin IWEdit1.Text := WebApplication.Request.CookieFields.Values['IWEdit1']; end; {写入 Cookie; 应该把它放在什么事件中呢? 很伤脑筋, 譬如 OnDestroy 就不大合适, 因为在关掉页面时它并不执行} procedure TIWForm1.IWEdit1AsyncChange(Sender: TObject; EventParams: TStringList); //IWEdit1.OnAsyncChange begin WebApplication.Response.Cookies.AddCookie('IWEdit1', IWEdit1.Text, '', Now+30); //参数 1: Cookie 名; //参数 2: Cookie 值; //参数 3: 有效范围, 空表示当前站点; //参数 4: 有效时间, Now+30 表示 30 天内有效 end; {遍历 Cookie} procedure TIWForm1.IWButton1Click(Sender: TObject); var str: string; begin for str in WebApplication.Request.CookieFields do IWMemo1.Lines.Add(str); end; {关闭窗口} procedure TIWForm1.IWButton2Click(Sender: TObject); begin WebApplication.Terminate; end;