最后那个是转帖。
1.IntraWeb里面有个IWTabControl控件,就是与Win32程序里的TabControl是一样功能的,也就是有多个页,点击不同的标签,实现页的切换,这在实现多页控制程序时是非常有用的。但是,我在D7下用Intraweb 7.2.10写的程序,如果不能一次写完,那么下一次打开DPR文件时是正常的,但打开DFM窗体文件后,就会报错,然后这个IWTabControl就不能用了,写好的东西,只剩下pas代码,只好重新来过。估计是控件程序本身的问题,我用BDS2006里面的IntraWeb 8.0.1试验,发现一切正常,不再报错,看来,要是用到这个控件,最好还是用8.0.1版本以上的,7.2.36和7.2.41我手上也有Cr版的,但一样没用过。
2、IntraWeb里面的IWDBGrid的Columns属性经常要动态修改名称,比如使用一个IWDBGrid显示表1的内容,列名可能是'姓名'、'班级',而表2则可能要显示'姓名'、'成绩',这时就要动态修改列名。可是用常规的DBGrid控件的代码是不能通过的,下面代码可以参照:
//清除字段名列表
IWDBGrid1.Columns.Clear;
//关掉表文件
table1.Active:=false;table1.Close;
//修改成要显示的表名
table1.TableName:='tkpc.dbf';
//把各字段名放在字符串列表里
list:=TStringList.Create;
list.Append('教师姓名');list.Append('所在年级');list.Append('任教学科');
list.Append('授课班级');list.Append('评测分数');list.Append('测试人数');
list.Append('及格人数');list.Append('误报标记');list.Append('提交时间');
//动态改变显示数据表格里的列名
for i:=0 to list.Count-1 do begin
IWDBGrid1.Columns.Insert(i);
//这一句就是关键,看到Items的类型转换了吧?TIWDBGridColumn!
TIWDBGridColumn(IWDBGrid1.Columns.Items[i]).DataField:=list.Strings[i];
end;
//要显示的数据的标题
IWDBGrid1.Caption:='年级听课小组听课评测数据汇总';
//激活表
table1.Active:=true;
//释放字符串列表的资源
list.Free;
end;
3、今天发现DBF表,也就是Visual FoxPro数据表的可爱之处--Delphi或者IntraWeb里应用BDE的Table控件会对它的记录进行逻辑删除,这是很不错的。因为当我们要恢复所删除的记录时,在FoxPro里面打开表就能很轻易的恢复它了。这不象其它数据表,它们会被真的删除,想恢复时,那就没有办法了。我看到过有的论坛程序是对记录加删除的标记字段,这也是个办法,但没有DBF表那么自然。另外,使用BDE直接操纵DBF表也是非常轻松的,看来真的要好好用用这种数据库了。
另:现在有BDE5.01的独立安装程序,才5M多,体积也不是很大,随程序一起发布,也能承受。附带一个Visual FoxPro 8.0的精简版,绿色免安装,大约3.6M,好象绝大部分功能都可用,实际我们主要用它的数据编辑和报表。要是想灵活转换数据,还可以带上Excel和Access,我看专业的数据库管理软件也比不上了。
4、定制IntraWeb的错误页面。IntraWeb程序发生错误时,会跳出ATOZED公司的页面,使我们的程序看起来不是那么专业了。下面是摘自网络的文章:
How to customize the error screen in Intraweb
In order to have Intraweb display your error page instead of the default one, you must take the following steps:
Create a file named "IWError.html"
Fill it with something like this:
<html>
<head><title>Da error is in da house</title></head>
<body>
<p align-"center"><img src="{%ATOZEDLOGO%}">
<p>
<h3>Beware the mighty error!!!</h3>
</body>
</html>
Place IWError.html in the application "Templates" folder.
Use the following placeholders inside, wherever you want them:
{%ATOZEDLOGO%} to display the Atozed logo
{%INTRAWEBLOGO%} to display the Intraweb logo
{%CONTENT%} to display the exception message
{%APPADDRESS%} to display the application address
{%EXCEPTIONSPECIFIC%} to display an exception specific explanation (only a few are defined)
{%APPNAME%} to display the application name
Do not use single quotes
The file IWError.html is output via Javascript. Make sure you don't have single quotes in it, or else you'll end in a Javascript error.