关于IntraWeb的几点体会和经验

      玩的看的 2006-11-24 8:45

最后那个是转帖。

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.

标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commenttime}{commentauthor}

{CommentUrl}
{commentcontent}