📄 intraweb学习笔记(四).htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0034)http://www.51delphi.com/wz/18.html -->
<HTML><HEAD><TITLE>IntraWeb学习笔记(四)</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>.9pt {
FONT-SIZE: 9pt; FONT-FAMILY: "Tahoma", "宋体"
}
BODY {
FONT-SIZE: 10pt; FONT-FAMILY: "Tahoma", "宋体"
}
.Title {
FONT-WEIGHT: bold; FONT-SIZE: 12pt; LINE-HEIGHT: 14pt; FONT-FAMILY: "Tahoma", "宋体"; BACKGROUND-COLOR: #ccccff
}
TD {
TEXT-INDENT: 20pt
}
.prog {
FONT-SIZE: 9pt; TEXT-INDENT: 0pt; FONT-FAMILY: "Courier New", "Courier"
}
.SubTitle {
FONT-SIZE: 10pt; TEXT-INDENT: 0pt; LINE-HEIGHT: 14pt; FONT-FAMILY: "Tahoma", "宋体"; BACKGROUND-COLOR: #cc99ff
}
.body {
FONT-SIZE: 10pt; FONT-FAMILY: "Tahoma", "宋体"
}
</STYLE>
<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
<BODY>
<TABLE cellSpacing=1 cellPadding=0 width="80%" align=center bgColor=#0033ff
border=0>
<TBODY>
<TR>
<TD class=Title bgColor=#ffffff>
<P align=center>IntraWeb学习笔记(四)</P>
<P align=right><FONT size=-1>作者:bnPYSse(原创)</FONT></P></TD></TR>
<TR>
<TD class=body bgColor=#ffffff>
<P>近几天,在网上发现一个用IntraWeb开发的网站http://www.intrawebdeveloper.com,感觉还不错,只是速度有点太慢了。看来,IntraWeb如果想要走向Internet的真正应用,速度应该是其解决的首要问题。</P>
<P>里面有一些介绍应用经验的小文章,不敢独享,特翻译出来与大家共享(不过,E文水平有限),内容不是很多,大家将就着看吧。并真诚欢迎您给予批评指正。:)</P></TD></TR>
<TR>
<TD class=SubTitle bgColor=#ffffff>16、在IntraWeb中如何使用Cookies</TD></TR>
<TR>
<TD class=body bgColor=#ffffff>
<P>创建Cookies:</P>
<TABLE width="80%" align=center border=0>
<TBODY>
<TR>
<TD class=prog><STRONG>procedure</STRONG>
TIWForm1.CreateTheCookie;<BR><STRONG>var</STRONG><BR> MyCookies:
TstringList;<BR><STRONG>begin<BR> try</STRONG><BR> MyCookies :=
TstringList.create;<BR> MyCookies.Add('<FONT
color=#ff0000>CookieName1</FONT>=CookieValue1');<BR> MyCookies.Add('<FONT
color=#ff0000>CookieName2</FONT>=CookieValue2');<BR> Webapplication.Response.SetCookieField(<BR> MyCookies,
{ <FONT color=#009900>要设置的Cookies</FONT>} <BR> '', { <FONT
color=#009900>发送到Cookies的域名,如果为空的话,则使用当前的</FONT> }<BR> '', { <FONT
color=#009900>发送到Cookies的路径,如果为空的话,则使用任意路径</FONT> }<BR> Now+1, {
<FONT color=#009900>Cookies的有效期</FONT> }<BR> False {<FONT
color=#009900> 是否使用加密的连接 </FONT>}<BR> );
<BR><STRONG> finally</STRONG><BR> MyCookies.free;<BR><STRONG> end;<BR>end;</STRONG></TD></TR></TBODY></TABLE>
<P>读取Cookies:</P>
<TABLE width="80%" align=center border=0>
<TBODY>
<TR>
<TD class=prog><STRONG>procedure</STRONG>
TIWForm1.ReadTheCookie;<BR><STRONG>var</STRONG><BR> Value1:
String;<BR> Value2: String; <BR><STRONG>begin</STRONG><BR> Value1 :=
webapplication.request.cookieFields.values['<FONT
color=#ff0000>CookieName1</FONT>'];<BR> Value2 :=
webapplication.request.cookieFields.values['<FONT
color=#ff0000>CookieName2</FONT>'];<BR><STRONG>end;</STRONG><BR></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD class=SubTitle bgColor=#ffffff>17、在标签如何加上空格</TD></TR>
<TR>
<TD class=body bgColor=#ffffff>
<P>也许有的朋友想在标签上加上空格,但如果只是使用空格键的话,在生成HTML文件时,则会将这个“空白”删掉,而只有使用“&nbsp”,才能确实形成在网页上所想要的“空白”。例如:</P>
<TABLE width="80%" align=center border=0>
<TBODY>
<TR>
<TD class=prog>IWLabel1.Caption := '& nbsp ; & nbsp ; &
nbsp ; Three Spaces';</TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD class=SubTitle bgColor=#ffffff>18、如何在IntraWeb中取用传递的URL参数</TD></TR>
<TR>
<TD class=body bgColor=#ffffff>
<P>例如有这样一个URL地址:http://www.SomePlace.com/SomeApplicationName?<FONT
color=#ff0000>value1</FONT>=Dog&<FONT
color=#ff0000>value2</FONT>=Cat</P>
<P>而想着在IntraWeb中取得这些参数的值,要如何实现呢?可以按以下的思路:</P>
<TABLE width="80%" align=center border=0>
<TBODY>
<TR>
<TD class=prog><STRONG>procedure</STRONG>
TIndex.IWAppFormCreate(Sender:
TObject);<BR><STRONG>var</STRONG><BR> ValueString1, ValueString2:
<STRONG>string</STRONG>;<BR><STRONG>begin</STRONG><BR> ValueString1
:= WebApplication.RunParams.Values[<FONT color=#ff0000> 'value1'
</FONT>];<BR> ValueString2 := WebApplication.RunParams.Values[ <FONT
color=#ff0000>'value2'</FONT> ]; <BR><STRONG>end;
</STRONG></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD class=SubTitle bgColor=#ffffff>19、如果控制Input中的光标</TD></TR>
<TR>
<TD class=body bgColor=#ffffff>
<P>这种情况只发生在IE当中,当页面刷新时,输入盒中的光标会重新回到开始位置上去。下面的方法则可以解决刷新页面时的光标重定位问题。</P>
<P>首先,要为控件的ScriptEvents.OnFocus增加一点代码:</P>
<TABLE width="80%" align=center border=0>
<TBODY>
<TR>
<TD class=prog><STRONG>var</STRONG> range =
this.createTextRange();<BR>range.moveStart('character',
this.value.length);<BR>range.select(); </TD></TR></TBODY></TABLE>
<P>然后,打开窗体的onRender事件,并加入:</P>
<TABLE width="80%" align=center border=0>
<TBODY>
<TR>
<TD class=prog>ComponentName.setFocus;</TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD class=SubTitle bgColor=#ffffff>20、如何获得当前的Session数目</TD></TR>
<TR>
<TD class=body bgColor=#ffffff>
<P>也许有时,需要获得取当前的会话数目,可以借用以下的代码段:</P>
<TABLE class=prog width="80%" align=center border=0>
<TBODY>
<TR>
<TD><STRONG>procedure</STRONG> TIWForm1.IWButton1Click(Sender:
TObject);<BR><STRONG>var</STRONG> <BR> LCount: integer;
<BR><STRONG>begin <BR> try </STRONG><BR> LCount :=
GSessions.LockList.Count; <BR><STRONG> finally
</STRONG><BR> GSessions.UnlockList; <BR><STRONG> end; <BR>end;
</STRONG></TD></TR></TBODY></TABLE>
<P>如想更自由地来实现对所有会话进行计数,则可以在ServerController.OnNewSession或者SeverController.OnCloseSessionk中自主编程。</P></TD></TR>
<TR>
<TD class=body bgColor=#ffffff>实在不好意思,这次的内容并不多。如需交流,请联系我:<A
href="mailto:bnpysse@sina.com">bnpysse@sina.com</A>。</TD></TR></TBODY></TABLE></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -