2005年10月11日

没有特别原因,将不在对这个网站做更新

可以访问我的新blog

http://hardrock.cnblogs.com/

英文博客请访问

http://blog.rubypdf.com

软件下载请访问

http://soft.rubypdf.com

 

2005年08月11日

主题是PDF的应用与开发以及纺织服装行业信息化。

http://gmail.512j.com/forum

欢迎光临

2005年08月08日

 

利用dataset relationshipsscript设计有subreport的报表

  1. 在工程中添加两个报表文件

Add New item方式,一个命名为rptMain,为主报表,一个命名为rptSub,subreport,想获得的效果如下。



  1. 设计报表

  1. 添加 GroupHeader/Footer sectionrptMain.

  2. group header做如下修改:

    1. 名字改为 ghCompanies

    2. DataField 改为 CompanyName

    3. GroupKeepTogether property All

  1. 再次添加 GroupHeader/Footer section rptMain.

  2. group header做如下修改:

  1. 名字改为ghOrders

  2. Change the DataField to OrderDate

  3. Change the GroupKeepTogether property to All

  1. 添加下面的控件到rptMain,并按指示命名控件:

    Control

    DataField

    Name

    Text/Caption

    Section

    Location

    TextBox

    CompanyName

    txtCompanyName

    Company Name

    ghCompanies

    0, 0

    TextBox

    OrderDate

    txtOrderDate

    Order Date

    ghOrders

    1, 0

    TextBox

    RequiredDate

    txtRequiredDate

    Required Date

    ghOrders

    3.5, 0

    TextBox

    ShippedDate

    txtShippedDate

    Shipped Date

    ghOrders

    5.5, 0

    Label

    (Empty string)

    lblOrderDate

    Ordered:

    ghOrders

    0, 0

    Label

    (Empty string)

    lblRequiredDate

    Required:

    ghOrders

    2.5, 0

    Label

    (Empty string)

    lblShippedDate

    Shipped:

    ghOrders

    4.875, 0

    Subreport

    (Empty string)

    Subreport1

    (Empty string)

    Detail

    0, 0

  2. 添加 GroupHeader/Footer sectionrptSub.

  3. group header做如下修改:

  1. 名字改为 ghOrderDetails

  2. DataField 改为 [order details].orderID

  1. GroupHeader section部分添加如下控件:

    Control

    Name

    Text/Caption

    Location

    Label

    lblUnitPrice

    Unit Price

    4.375, 0

    Label

    lblDiscount

    Discount

    5.5, 0

    Label

    lblProductName

    Product Name

    0.0625, 0

    Label

    lblQuantity

    Quantity

    3.25, 0

    Line

    Line1

    (Empty string)

    X1 = 3.1875

    Y1 = 0

    X2 = 3.1875

    Y2 = 0.1875

    Line

    Line2

    (Empty string)

    X1 = 4.3125

    Y1 = 0

    X2 = 4.3125

    Y2 = 0.1875

    Line

    Line3

    (Empty string)

    X1 = 5.4375

    Y1 = 0

    X2 = 5.4375

    Y2 = 0.1875

    Line

    Line4

    (Empty string)

    X1 = 0

    Y1 = 0.1875

    X2 = 6.5

    Y2 = 0.1875

  2. Detail section部分添加如下控件:

Control

DataField

Name

Text/Caption

Misc Details

Location

TextBox

ProductName

txtProductName

Product Name

(Empty string)

0.0625, 0

TextBox

Quantity

txtQuantity

Quantity

(Empty string)

3.25, 0

TextBox

order details.UnitPrice

txtUnitPrice

Unit Price

OutputFormat = Currency

4.375, 0

TextBox

Discount

txtDiscount

Discount

OutputFormat = Currency

5.5, 0

Line

(Empty string)

Line5

(Empty string)

(Empty string)

X1 = 3.1875

Y1 = 0

X2 = 3.1875

Y2 = 0.1875

Line

(Empty string)

Line6

(Empty string)

(Empty string)

X1 = 4.3125

Y1 = 0

X2 = 4.3125

Y2 = 0.1875

Line

(Empty string)

Line7

(Empty string)

(Empty string)

X1 = 5.4375

Y1 = 0

X2 = 5.4375

Y2 = 0.1875

Line

(Empty string)

Line8

(Empty string)

(Empty string)

X1 = 0

Y1 = 0.1875

X2 = 6.5

Y2 = 0.1875

  1. rptMain报表中添加脚本

  1. 点击report toolbar上的修改脚本图标。

  1. 添加如下代码

[C#]
int cnt;

public void Detail_Format()

{

System.Data.DataRow dr = null;

if(((System.Data.DataSet)rpt.DataSource).Tables["orders"].Rows.Count>cnt)

{

dr = ((System.Data.DataSet)rpt.DataSource).Tables["orders"].Rows[cnt];

cnt++;

}

DataDynamics.ActiveReports.ActiveReport rptSub = new DataDynamics.ActiveReports.ActiveReport();

rptSub.LoadLayout(rptPath);

((DataDynamics.ActiveReports.SubReport)rpt.Sections["Detail"].Controls["SubReport1"]).Report= rptSub;

((DataDynamics.ActiveReports.SubReport)rpt.Sections["Detail"].Controls["SubReport1"]).Report.DataSource = dr.GetChildRows(((System.Data.DataSet)rpt.DataSource).Relations["Order_Details"]);

3.点 OK 继续.

4.在rptSub报表中添加脚本

[C#]

int cnt;

public void Detail_Format()

{

cnt++;

if(cnt % 2 == 0)

{

rpt.Sections["Detail"].BackColor = System.Drawing.Color.White;

}

else

{

rpt.Sections["Detail"].BackColor = System.Drawing.Color.BlanchedAlmond;

}

}

5.进行主程序设计

    1. 获得dataset,参考getDataSet方法

    2. 组建脚本,给rptMain传递subreport路径,详见buildScript函数,注意路径必须使用正斜线(/),而不是反斜线(\),否则脚本报错。(实际设计报表时,subreport可能不止一个,可以根据需要来调用buildScript,增加参数传递)

    3. 加载主报表,指定路径,datasetdataMember(即表名),调用预览窗体预览报表。

6.一些注意事项

  1. 如果subreport中有参数(参数的设置方法为“<%para%>”),需要把subreportShowParameterUI property改为false(如果你的确希望它弹出窗口,可以保留设置不变)

  2. 建立dataset时不要忽略了dataRelation,因为在主表的脚本中需要根据该relationships来格式化subreport的输出。

  3. 因为报表脚本中不能使用using,所以如果要使用到特定的类,需要把完整的namespace也写上,可以在IDE中书写脚本,然后拷贝到脚本编辑器里。

2005年08月07日

希望有这方面信息或者愿意提供帮助的朋友和我联系,谢谢了,在下主要想做些iTextSharp方面的测试。

2005年07月17日

需要软件的请到http://soft.rubypdf.com下载

2005年07月15日

仍然需要努力,我写的软件还没有上传和添加到页面中。

http://gmail.512j.com/friend/rocsky

http://www.steedsoft.com指向到上面的页面似乎总是时断时续的感觉。

另外今天有注册两个免费空间,支持php+mysql

http://www.host.sk

演示:http://steedsoft.host.sk

http://www.freewebsitehost.net

演示:http://www.ghostword.com

第二个支持定级域名绑定。

缺点就是都速度很慢,不知道国内是否有好的php+mysql空间,当然是免费的了。

另外http://steedsoft.hostrs.com/download/页面也做些处理,就是不再是每次访问的时候都要连接gmail信箱,只是在需要预览或者下载的时候才去连接,这样大大提高了速度,当然后台还需要做些改动,能在需要的时候重新生成这个页面(把原来的首页变为生成首页的管理页面),代码还没有改好。

2005年07月13日

FreeSQL.Org – Free Database Hosting For Developers(为程序员提供的免费数据库空间)

       目前支持的空间有Mysql和PostgreSQL,允许远程访问,将来的宏伟计划是增加SAPDB, Sybase, DB2, Oracle

       服务器同时提供了phpMyAdmin,phpPgAdmin

创建方法:

Create a new account and database

Account Creation code账号创建号码
username用户名
password密码
confirm密码确认
database name 数据库名称
email address email地址
your email address will only be used to notify you when something important changes你的email地址仅用于在发生重大变化的时候提醒你
MySQL
PostgreSQL
Experimental PostgreSQL Server (running on an Alpha XL266)

注册非常简单。

Arial Unicode MS 字体,支持多数语言中的字符显示,其中包括双字节语言。该字体放在一个单独的文件中,默认情况下,字体不用安装到用户的系统上。为了使用这种字体,可能需要 Windows 的国际化支持特性。

The Arial Unicode MS (ARIALUNI.TTF) font allows the display of characters in most languages. This font contains glyphs for all code points within the Unicode Standard, version 2.1.

重量:23M,比一般的中文字体都要大很多,比如我们常用的simKai(楷体字)只有4M多些。

openoffice在中文环境下对中文字的支持就是默认使用这款字体

一些下载地址,更多请到google上搜索,当然你可以从office安装光盘的某个cab文件中找到它。

http://seba.ulyssis.org/thesis/down/arialuni.ttf

http://seba.studentenweb.org/thesis/down/arialuni.ttf

缺点:

  1. 使用这种字体的缺点是加载解析慢,这个在一些PDF生成的时候感觉非常明显,
  2. 字形不怎么好看。

优点:

就是当你找不到合适的字体时就用它来顶替,比如我在做PDF2SWF的转换时对一些不知名的字体就可以用它来帮忙。

2005年07月02日

        从网上新闻得知oneworldonedream相关的数个域名被恶性抢注,奥运组委会准备付诸法律手段来讨回,结果如何我也是不怎么关心,我想表达的一点自己的看法。

        这个发布会我是看的中央五套的转播,当时听到这个消息后的第一反映就是域名注册了没有,当然我知道肯定晚了,但我没有想到的是注册这个域名的不是奥运组委会,他们在想什么,喜欢事后给自己找麻烦还是……

       既然这个口号是他们定的,那他们为什么不能在对外发布之前就先注册下来,难道想fair play?

      从注册信息看,这个域名应该是个中国人在6.26日当天听到这个口号后注册的,所有信息中好像名字和联系用的手机号码还多少有点意义。这系列域名一注册就是4年,如果斗不过政府就有点损失大了,希望奥运组委会能考虑下这些,唤作如果是被国外抢注的话就更麻烦了,到时候奥运组委会能否讨回就更很难讲了。

       对外发布是否就等于拥有呢?发布之前是否注册过商标呢?如果都没有的话,从法律上如何认定归属呢?

       下面是注册人的手机信息。

手机号段:

1393643
所属地区: 黑龙江省哈尔滨市
卡类型: 移动全球通卡
电话区号: 0451
邮政编码: 015010
2005年07月01日

本机用Gmailfs上传文件,用PhpGmailDrive在线浏览和下载,共享的新模式。

PhpGmailDrive:http://pgd.sourceforge.net

GmailFS:Gmail Drive Shell-extension

Demo:http://www.rahat-ayub.com/pgd/pgd_0_3_1/

同样,空间需要php_curl的支持,以及需要使用最新版版本的libgmailer.php(http://gmail-lite.sourceforge.net/)。

不过有些遗憾的是本人还没有测试成功,哪位测试成功了指导下在下,谢谢了。

下载地址汇总一下:

http://fileforum.betanews.com/sendfile/1097807577/1/gmailfs_105.zip

http://switch.dl.sourceforge.net/sourceforge/pgd/PGD-0.3.1.zip

http://switch.dl.sourceforge.net/sourceforge/gmail-lite/libgmailer.php