近几天,在网上发现一个用IntraWeb开发的网站http://www.intrawebdeveloper.com,感觉还不错,只是速度有点太慢了。看来,IntraWeb如果想要走向Internet的真正应用,速度应该是其解决的首要问题。
里面有一些介绍应用经验的小文章,不敢独享,特翻译出来与大家共享(不过,E文水平有限),内容不是很多,大家将就着看吧。并真诚欢迎您给予批评指正。:)
16、在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;
17、在标签如何加上空格
也许有的朋友想在标签上加上空格,但如果只是使用空格键的话,在生成HTML文件时,则会将这个“空白”删掉,而只有使用“ ”,才能确实形成在网页上所想要的“空白”。例如:
IWLabel1.Caption := ‘& nbsp ; & nbsp ; & nbsp ; Three Spaces‘;
18、如何在IntraWeb中取用传递的URL参数
例如有这样一个URL地址:http://www.SomePlace.com/SomeApplicationName?value1=Dog&value2=Cat
而想着在IntraWeb中取得这些参数的值,要如何实现呢?可以按以下的思路:
procedure TIndex.IWAppFormCreate(Sender: TObject);
var
ValueString1, ValueString2: string;
begin
ValueString1 := WebApplication.RunParams.Values[ ‘value1‘ ];
ValueString2 := WebApplication.RunParams.Values[ ‘value2‘ ];
end;
19、如果控制Input中的光标
这种情况只发生在IE当中,当页面刷新时,输入盒中的光标会重新回到开始位置上去。下面的方法则可以解决刷新页面时的光标重定位问题。
首先,要为控件的ScriptEvents.OnFocus增加一点代码:
var range = this.createTextRange();
range.moveStart(‘character‘, this.value.length);
range.select();
然后,打开窗体的onRender事件,并加入:
ComponentName.setFocus;
20、如何获得当前的Session数目
也许有时,需要获得取当前的会话数目,可以借用以下的代码段:
procedure TIWForm1.IWButton1Click(Sender: TObject);
var
LCount: integer;
begin
try
LCount := GSessions.LockList.Count;
finally
GSessions.UnlockList;
end;
end;
如想更自由地来实现对所有会话进行计数,则可以在ServerController.OnNewSession或者SeverController.OnCloseSessionk中自主编程。
转载于:https://blog.51cto.com/rosehacker/450188