witheasy blog

September 5, 2010

AjAx 最简单的用法

Filed under: Ajax — admin @ 9:12 pm

var http_request=false;
    function send_request(url){//初始化,指定处理函数,发送请求的函数
    http_request=false;
        //开始初始化XMLHttpRequest对象
        if(window.XMLHttpRequest){//Mozilla浏览器
         http_request=new XMLHttpRequest();
         if(http_request.overrideMimeType){//设置MIME类别
           http_request.overrideMimeType("text/xml");
         }
        }
        else if(window.ActiveXObject){//IE浏览器
         try{
          http_request=new ActiveXObject("Msxml2.XMLHttp");
         }catch(e){
          try{
          http_request=new ActiveXobject("Microsoft.XMLHttp");
          }catch(e){}
         }
    }
        if(!http_request){//异常,创建对象实例失败
         window.alert("创建XMLHttp对象失败!");
         return false;
        }
}
//处理返回信息的函数
var xmlHttp;
function S_xmlhttprequest() {
 if(window.ActiveXObject) {
  xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
 } else if(window.XMLHttpRequest) {
  xmlHttp = new XMLHttpRequest();
 }
}function checkusername() {   var f=document.myform.select.value;
 S_xmlhttprequest();
 //xmlHttp.open("GET","create_row_catalogue.php?username="+f,true);
 xmlHttp.open("GET","create_row_article.php?username="+f,true);
 xmlHttp.onreadystatechange = checkingname;
 xmlHttp.send(null);
 
}function checkingname() {  if(xmlHttp.readyState == 1) {
   document.getElementById('showname').innerHTML = "<img src='images/loading.gif'>生成中…";
 }   if(xmlHttp.readyState == 4 ){
  if(xmlHttp.status == 200) {
          var checkresult =  xmlHttp.responseText;
          document.getElementById('showname').innerHTML = checkresult;
    //document.getElementById('showname').innerHTML = "<img src='images/loading.gif'>";
  }
 }
}

HTML CODE

 <a onclick="checkusername('showname')">生成所有文章</a> </p>

August 23, 2010

2010年8月全球计算机语言排行榜

Filed under: Network — admin @ 12:51 am

 2010年8月全球计算机语言排行榜

Position
Aug 2010
Position
Aug 2009
Delta in Position Programming Language Ratings
Jul 2010
Delta
Jul 2009
Status
1 1 Java 17.994% -1.53%   A
2 2 C 17.866% +0.65%   A
3 3 C++ 9.658% -0.84%   A
4 4 PHP 9.180% -0.21%   A
5 5 (Visual) Basic 5.413% -3.07%   A
6 7 C# 4.986% +0.54%   A
7 6 Python 4.223% -0.27%   A
8 8 Perl 3.427% -0.60%   A
9 19 Objective-C 3.150% +2.54%   A
10 11 Delphi 2.428% +0.09%   A
11 9 JavaScript 2.401% -0.41%   A
12 10 Ruby 1.979% -0.51%   A
13 12 PL/SQL 0.757% -0.23%   A
14 13 SAS 0.715% -0.10%   A
15 20 MATLAB 0.627% +0.07%   B
16 18 Lisp/Scheme/Clojure 0.626% 0.00%   B
17 16 Pascal 0.622% -0.05%   B
18 15 ABAP 0.616% -0.12%   B
19 14 RPG (OS/400) 0.606% -0.15%   B
20 - Go 0.603% 0.00%   B

 

August 10, 2010

MySQL的联结(Join)语法

Filed under: Chitchat — admin @ 10:58 pm

1.内联结、外联结、左联结、右联结的含义及区别:

 

SQL标准中规划的(Join)联结大致分为下面四种:

1.  内联结:将两个表中存在联结关系的字段符合联结关系的那些记录形成记录集的联结。

2.  外联结:分为外左联结和外右联结。

左联结AB表的意思就是将表A中的全部记录和表B中联结的字段与表A的联结字段符合联结条件的那些记录形成的记录集的联结,这里注意的是最后出来的记录集会包括表A的全部记录。

右联结AB表的结果和左联结BA的结果是一样的,也就是说:

Select A.name B.name From A Left Join B On A.id=B.id

Select A.name B.name From B Right Join A on B.id=A.id执行后的结果是一样的。

3.全联结:将两个表中存在联结关系的字段的所有记录取出形成记录集的联结(这个不需要记忆,只要是查询中提到了的表的字段都会取出,无论是否符合联结条件,因此意义不大)。

4.无联结:不用解释了吧,就是没有使用联结功能呗,也有自联结的说法。

 

这里我有个比较简便的记忆方法,内外联结的区别是内联结将去除所有不符合条件的记录,而外联结则保留其中部分。外左联结与外右联结的区别在于如果用A左联结BA中所有记录都会保留在结果中,此时B中只有符合联结条件的记录,而右联结相反,这样也就不会混淆了。 

2.  MySQL联结(Join)的语法

 

MySQL支持Select和某些UpdateDelete情况下的Join语法,具体语法上的细节有:

 

table_references:

    table_reference [, table_reference] …

 

table_reference:

    table_factor

  | join_table

 

table_factor:

    tbl_name [[AS] alias]

        [{USE|IGNORE|FORCE} INDEX (key_list)]

  | ( table_references )

  | { OJ table_reference LEFT OUTER JOIN table_reference

        ON conditional_expr }

 

join_table:

    table_reference [INNER | CROSS] JOIN table_factor [join_condition]

  | table_reference STRAIGHT_JOIN table_factor

  | table_reference STRAIGHT_JOIN table_factor ON condition

  | table_reference LEFT [OUTER] JOIN table_reference join_condition

  | table_reference NATURAL [LEFT [OUTER]] JOIN table_factor

  | table_reference RIGHT [OUTER] JOIN table_reference join_condition

  | table_reference NATURAL [RIGHT [OUTER]] JOIN table_factor

 

join_condition:

    ON conditional_expr | USING (column_list)

 

上面的用法摘自权威资料,不过大家看了是否有点晕呢?呵呵,应该问题主要还在于table_reference是什么,table_factor又是什么?这里的table_reference其实就是表的引用的意思,因为在MySQL看来,联结就是一种对表的引用,因此把需要联结的表定义为table_reference,同时在SQL Standard中也是如此看待的。而table_factor则是MySQL对这个引用的功能上的增强和扩充,使得引用的表可以是括号内的一系列表,如下面例子中的JOIN后面括号:

 

SELECT * FROM t1 LEFT JOIN (t2, t3, t4) ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)

 

这个语句的执行结果和下面语句其实是一样的:

 

SELECT * FROM t1 LEFT JOIN (t2 CROSS JOIN t3 CROSS JOIN t4)

                 ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)

 

这两个例子不仅让我们了解了MySQLtable_factortable_reference含义,同时能理解一点CROSS JOIN的用法,我要补充的是在MySQL现有版本中CROSS JOIN的作用和INNER JOIN是一样的(虽然在SQL Standard中是不一样的,然而在MySQL中他们的区别仅仅是INNER JOIN需要附加ON参数的语句,而CROSS JOIN不需要)。

既然说到了ON语句,那就解释一下吧,ON语句其实和WHERE语句功能大致相当,只是这里的ON语句是专门针对联结表的,ON语句后面的条件的要求和书写方式和WHERE语句的要求是一样的,大家基本上可以把ON当作WHERE用。

大家也许也看到了OJ table_reference LEFT OUTER JOIN table_reference这个句子,这不是MySQL的标准写法,只是为了和ODBCSQL语法兼容而设定的,我很少用,Java的人更是不会用,所以也不多解释了。

那下面就具体讲讲简单的JOIN的用法了。首先我们假设有2个表AB,他们的表结构和字段分别为:

 

A

 

ID

Name

1

Tim

2

Jimmy

3

John

4

Tom

B

 

ID

Hobby

1

Football

2

Basketball

2

Tennis

4

Soccer

 

1.  内联结:

Select A.Name B.Hobby from A, B where A.id = B.id,这是隐式的内联结,查询的结果是:

 

Name

Hobby

Tim

Football

Jimmy

Basketball

Jimmy

Tennis

Tom

Soccer

它的作用和 Select A.Name from A INNER JOIN B ON A.id = B.id是一样的。这里的INNER JOIN换成CROSS JOIN也是可以的。

2.  外左联结

Select A.Name from A Left JOIN B ON A.id = B.id,典型的外左联结,这样查询得到的结果将会是保留所有A表中联结字段的记录,若无与其相对应的B表中的字段记录则留空,结果如下:

 

Name

Hobby

Tim

Football

Jimmy

BasketballTennis

John

 

Tom

Soccer

所以从上面结果看出,因为A表中的John记录的ID没有在B表中有对应ID,因此为空,但Name栏仍有John记录。

3.  外右联结

如果把上面查询改成外右联结:Select A.Name from A Right JOIN B ON A.id = B.id,则结果将会是:

 

Name

Hobby

Tim

Football

Jimmy

Basketball

Jimmy

Tennis

Tom

Soccer

这样的结果都是我们可以从外左联结的结果中猜到的了。

说到这里大家是否对联结查询了解多了?这个原本看来高深的概念一下子就理解了,恍然大悟了吧(呵呵,开玩笑了)?最后给大家讲讲MySQL联结查询中的某些参数的作用:

 

1USING (column_list):其作用是为了方便书写联结的多对应关系,大部分情况下USING语句可以用ON语句来代替,如下面例子:

 

a LEFT JOIN b USING (c1,c2,c3),其作用相当于下面语句

a LEFT JOIN b ON a.c1=b.c1 AND a.c2=b.c2 AND a.c3=b.c3

 

只是用ON来代替会书写比较麻烦而已。

 

2NATURAL [LEFT] JOIN:这个句子的作用相当于INNER JOIN,或者是在USING子句中包含了联结的表中所有字段的Left JOIN(左联结)。

 

3STRAIGHT_JOIN:由于默认情况下MySQL在进行表的联结的时候会先读入左表,当使用了这个参数后MySQL将会先读入右表,这是个MySQL的内置优化参数,大家应该在特定情况下使用,譬如已经确认右表中的记录数量少,在筛选后能大大提高查询速度。

 

最后要说的就是,在MySQL5.0以后,运算顺序得到了重视,所以对多表的联结查询可能会错误以子联结查询的方式进行。譬如你需要进行多表联结,因此你输入了下面的联结查询:

 

SELECT t1.id,t2.id,t3.id

    FROM t1,t2

    LEFT JOIN t3 ON (t3.id=t1.id)

    WHERE t1.id=t2.id;

 

但是MySQL并不是这样执行的,其后台的真正执行方式是下面的语句:

 

SELECT t1.id,t2.id,t3.id

    FROM t1,(  t2 LEFT JOIN t3 ON (t3.id=t1.id)  )

    WHERE t1.id=t2.id;

 

这并不是我们想要的效果,所以我们需要这样输入:

 

SELECT t1.id,t2.id,t3.id

    FROM (t1,t2)

    LEFT JOIN t3 ON (t3.id=t1.id)

    WHERE t1.id=t2.id;

 

在这里括号是相当重要的,因此以后在写这样的查询的时候我们不要忘记了多写几个括号,至少这样能避免很多错误(因为这样的错误是很难被开发人员发现的)。

May 8, 2010

什么是CDN?

Filed under: Network — admin @ 2:32 pm

CDN的全称是Content Delivery Network,即内容分发网络。

简单地说。就是把你的网站内容,存到全世界的服务器上面。

各地区的客户访问您的网站时,自动读取最近的服务器内容。

这样做可以加快网站的访问速度,也减少了只有一台服务器时的压力。

May 4, 2010

百度第一页【潮】

Filed under: SEO/SEM — admin @ 5:55 pm

在一亿篇文章之中,我的网站 www.zzzha.net 排第一页。超过Mpo。但我都不知道我做什么了?

April 30, 2010

PHP获取地址栏信息的代码

Filed under: PHP — admin @ 11:42 am

<?php
//获取域名或主机地址
echo$_SERVER['HTTP_HOST']."<br>";
//获取网页地址
echo$_SERVER['PHP_SELF']."<br>";
//获取网址参数
echo$_SERVER["QUERY_STRING"]."<br>";
//来源网页的详细地址
echo$_SERVER['HTTP_REFERER']."<br>";
?>

April 26, 2010

量子统计被挂马,可能得罪了杀毒软件

Filed under: Chitchat — admin @ 1:13 pm

显示 tongji.js有木马。但是,以yahoo的技术,不至于犯这些错误,或者真的是功力不够。所以不有排除yahoo得罪了一些杀毒软件公司。

这次量子被挂马,我换成51.la ,51.la没什么事我也不会再回来了,换来换去好麻烦。加油,量子!

April 19, 2010

A5 博百优 SEO大赛进行中

Filed under: SEO/SEM — admin @ 4:13 pm

可惜没时间参加。要不也玩一下。要到 7月份才有结果。最高也只是5000元。辛苦啊!!不过最要紧就是证明一下自己的实力。

以下是大赛信息 

大赛时间    2010年4月12日至2010年7月13日

   大赛举办方: admin5站长网

   大赛赞助 挚盟     如果还有现金赞助包括奖品赞助请联系 qq  886128 强子

       比赛关键词:博百优

       参赛规则如下:

  1. 所有参赛网站域名注册时间不限。

  2. 所有参赛网站所做内容不限,但不能违反我国互联网相关政策。

  3. 所有参赛网站优化手法不限,但不能恶意竞争,打击他人。

  4. 必须是主域名首页页面关键词(例如 www.xxx.com  或xxx.com ),三级域名和二级页面无效(my.xxx.com  bbs.xxx.com 等都无效)。

  5. 本次大赛无需报名,团队或者个人均可直接参赛。

  6. 所有排名应为搜索引擎自然排名(非竞价)。

  7. 所有参赛站详细填写联系方式,方便发放奖品时准确核对相关信息。

  8.本次大赛最后结束日期为:2010年7月13日12:00 到时由admin5站长网工作人员统计结果并截图公示。

      9.参赛网站需要挂官方统一参赛宣传标识 (图片)。

  比赛奖励:

  百度自然排名前5名(考虑谷歌的退出,谷歌组的优化比赛取消):

  第一名 奖励 ¥5000元

  第二名 奖励 ¥3000元

  第三名 奖励 ¥2000元

  第四名 奖励 ¥1000元

  第五名 奖励  ¥500元

     同时增设最佳设计,最佳创意,最实用网站 最活跃用户等奖项。其他外加奖励,视赞助情况而定,请关注比赛期间公告。
 

小结就是

  第一 站内优化。信息的权重位置,站点结构规划,关键词的部署,信息更新发布频率,合理避免某些信息的干扰,常见的细节。信息的权重位置也就是那些Title,H1,Strong……它们的权重是依次减小的,好的站点结构规划,可以大大提升网页收录数量,一般网站都需要辅助导航,如:面包屑导航,热点推荐,相关推荐。好的网站模板主题也是一方面。url设置问题,并非所有的站点都需要进行url伪静态化处理,不用考虑在url中进行中文关键词设置。关键词对于优化是重中之重,选择什么样的核心关键词对于首页,栏目页,专题页是关键,内容页面一般可以选择长尾关键词。好多人为了seo优化而优化,在首页堆砌了好多关键词,这些百度认为是作弊行为,最好合理的分布关键词的个数,一般3-5个。信息定时更新,可以招来蜘蛛及机器爬虫查看你的网站信息,对于文章,原创最好,百度有个嗜好:喜新厌旧!站内优化细节问题无非就是些:关键词、描述、站点地图、百度快照、收录数量等等。

  第二 站外优化。好多站长都通过友情链接,发布软文(写一些高质量的软文发布到各大网站),提交网址,提交分类目录,互动平台(论坛,SNS,博客),问答类网站(ask爱问,百度知道,天涯问答)购买链接等等来增加反向链接。外链要讲究质量,不要过于追求数量。外部链接对于网站优化来说是非常重要的一个过程。外部链接的质量直接决定了我们的网站在搜索引擎中的权重。

April 14, 2010

PHP域名查询程序代码

Filed under: PHP — admin @ 9:57 pm

没钱做代理商,用这个做一下简单查询也可以凑合着用。

<?php
 if(isset($_POST[domain])){
 $con1 = 'http://www.checkdomain.com/cgi-bin/checkdomain.pl?domain='.$_POST[domain].$_POST[select].'';
    $html = file_get_contents($con1);
    $checked = strpos($html,"has already been registered");
    if($checked<>null){echo $_POST[domain].$_POST[select].'已经被注册';}else{echo $_POST[domain].$_POST[select].'可以注册';}
    }
?>
<form id="form1" name="form1" method="post" action="">
  <label>
    <input name="domain" id="domain" type="text" value="<? echo $_POST[domain]; ?>"/>
  </label>
  <label>
        <select name="select" id="select">
              <option value="<? echo $_POST[select]; ?>" selected="selected"><? echo $_POST[select]; ?></option>
      <option value=".com">.com</option>
      <option value=".net">.net</option>
      <option value=".org">.org</option>
      <option value=".cc">.cc</option>
      <option value=".info">.info</option>
    </select>
  </label>
  <label>
    <input type="submit" name="button" id="button" value="提交" />
  </label>
</form>

April 11, 2010

用js控制网页打印区域

Filed under: Javascript — admin @ 10:14 pm

网页打印按钮的源代码:javascript:window.print();

可以用css控制,看孟老大写的。
@media print
.a {display:block}
.b {display:hidden}
好像是这样。把你不想打印的部分class设为b

首先在网页中添加:

      <OBJECT id="WebBrowser" height="0" width="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"
       VIEWASTEXT>
      </OBJECT>

然后就可以依次加入功能按钮了:

<input onclick="document.all.WebBrowser.ExecWB(6,1)" type="button" value="打印"> <input onclick="document.all.WebBrowser.ExecWB(6,6)" type="button" value="直接打印">
      <input onclick="document.all.WebBrowser.ExecWB(8,1)" type="button" value="页面设置">
      <input onclick="document.all.WebBrowser.ExecWB(7,1)" type="button" value="打印预览">&nbsp;<INPUT type="button" value="关闭窗口" onclick="javascript:window.close()">

将这两块东西放到<center class=noprint></center>就不会打印这些按钮了。当然要定义noprint了:

<style media="print">.Noprint { DISPLAY: none }</style>只要把不想打印的东西的css设置成noprint就可以了。

现在就实现了基本的web打印,需要注意的情况如下:

必须将ie的internet选项的安全设置中对于没有标记为安全的ActiveX控件进行…设置成提示或者启用,否则会报错,导致不可用。
如果在vs.net编辑环境下编辑该页面,它经常自动的给object添加多余的参数,有了这些东西,打印就会出错,所以要记得最后保存的时候删除它们。
为了简便并且达到最好的效果,我们可以在一个页面实现编辑和打印,这时候会需要很多的textbox,我们把它的css设置成.edittext
{
overflow-y:visible;
width: 100%;
border-top: none;
border-right: none;
border-bottom: none;
border-left: none;
}就可以实现在打印的时候不显示边框和multiline的textbox不显示滚动条了。

还有一些小经验就是在设置标格宽度的时候,对于A4纸张,横打用920,竖打用640,效果最好。

相信用B/S方式做过应用的人都可能会遇到这样一个问题,如何方便、美观地实现报表打印。如果使用浏览器的打印菜单打印的话,将把网页上的一些无用的东西打到报表上,比如应用菜单等。因为选择打印菜单打印网页将会把网页中的所有内容全部打印出来,如果你的应用有分帧则打印内容将包括各帧中的内容,而你实际要的内容只是其中一部分。所以有很多应用就只能把打印功能放到后台完成了。   针对这种情况,我们该怎么办?其实可以有多种方法实现网页打印功能。

  一种方法就是使用专业的打印工具,如Crystal Reports(水晶报表)。用过Visual Studio 5.0的朋友肯定记得这个工具,不过那时的版本只有4.几。现在的最新版本已达9了,近几个版本的水晶报表都支持WEB打印。最简单的方法是先用水晶报表制作好模板,然后使用ASP带参数调用制作好的模板即可。水晶报表在网页上生成报表后,可以直接打印,也可以转存为其它的比较通过的文件如Excel文件。使用水晶报表可以制作出非常漂亮的样式,关键在你对水晶报表的开发能力上,但由于水晶报表价格较高,只有当项目很赚钱时才买得起。

  第二种方法是购买第三方的网上打印控件,费用同水晶报表相比便宜,但效果性能到底如何则仁者见仁了。

  第三种方法是利用样式表及JavaScript自定义函数实现。通过样式表及JavaScript,实现网页打印,效果也还可以。在此有一个实例请大家看看。下面是打印函数实现详解:
<script language="JavaScript" type="text/JavaScript">
<!–
function DP() {
if (window.print)
{
var Div1 = document.all.Div1.innerHTML;
var Div2 = document.all.Div2.innerHTML;
// *****************************************************
// Div1、Div2即为你在打印的区域
// 这里根据你要打印的哪些内容,从原显示页面中用
// <div id=Div1>Div1….</div><div id=Div2>Div2…</div>
// 等标示出来,要打印多少项目就标示多少
// ***************************************************** var css = '<style type="text/css" media=all>' +
'p { line-height: 120%}' +
'.ftitle { line-height: 120%; font-size: 18px; color: #000000}' +
'td { font-size: 10px; color: #000000}' +
'</style>' ;
// *****************************************************
// 定义打印用的CSS,具体你想打印出什么样的格式全看你自己
// 了,但要注意:如果此处有什么同网页中不一致的,可能打印
// 出来的页面同网页格式、字体可能会有所不同
// *****************************************************

var body ='<table width="640" border="0" cellspacing="0" cellpadding="5">' +
' <tr> ' +
' <td class="fbody"> ' +
' <div align="center" class=ftitle>' + Div1 + '</div>' + Div2 +
' </td>' +
' </tr>' +
'</table>';
// ******************************************************
// 在此处重新设置的打印格式,根据你的打印要求,将原显示的
// 网页的DIV内容重新组合,可以根据你原来的表格内容,去掉
// 不要打印的,你也可以能下面定义的noprint忽略掉你不想打
// 印的东西,只调用你要打印的内容,但这样被忽略掉的地方将
// 打印出空,不是很美观。表格宽度要同打印的纸张宽度匹配。
// ******************************************************

document.body.innerHTML = '<center>' + css + body + '</center>';
// ******************************************************
// 重设document.body,打印文档准备就绪
// ******************************************************

window.print();
window.history.go(0);
// ******************************************************
// 调用打印命令,打印当前窗口内容。当你打印时其实是一张新
// 的网页了,但网页文件还是原先的。紧接着调用
// window.history.go(0),再回到打印前的页面,效果相当不差
// ******************************************************
}
}
–>
</script>

<style>
@media print {
.noprint {display:none}
}
</style>
<!–//.noprint 定义了noprint,在以下不需要打印的地方加入 class="noprint"后,用window.print()打印就会忽略–>
  好了,一切就绪了,现在要做的就是调用DP函数,如果你将实现调用的按钮设计在同一张网页上,则直接调用即可;如果你用了分帧方法,实现调用的按钮是在另一张网页上,则在DP函数的第一行加入window.focus()命令,否则打印的只是有按钮的网页。

  第四种方法,实现是一种取巧的方法。一样还是通过调用window.print()实现,只是将你要打印的内容专门生成一张网页,而打印按钮在另一帧上。假设报表网页在mainFrame上,按钮在topFrame上,按钮调用PrintReports()函数,PrintReports()函数如下即可实现打印工作。
function PrintReports() //topFrame网页中的函数
{
try
// *******************************************************
// 错误处理,如果在mainFrame中的网页没有DP函数则不打印
// *******************************************************
{
window.parent.frames("mainFrame").DP();
}
catch(e)
{
alert("no object to print!");
}
}
function DP() // mainFrame网页中函数
{
window.focus();
if (window.print)
{
window.print();
}
}

WEB打印大全
1、控制"纵打"、 横打”和“页面的边距。
(1)<script defer>
function SetPrintSettings() {
 // — advanced features
 factory.printing.SetMarginMeasure(2) // measure margins in inches
 factory.SetPageRange(false, 1, 3) // need pages from 1 to 3
 factory.printing.printer = "HP DeskJet 870C"
 factory.printing.copies = 2
 factory.printing.collate = true
 factory.printing.paperSize = "A4"
 factory.printing.paperSource = "Manual feed"

 // — basic features
 factory.printing.header = "This is MeadCo"
 factory.printing.footer = "Advanced Printing by ScriptX"
 factory.printing.portrait = false
 factory.printing.leftMargin = 1.0
 factory.printing.topMargin = 1.0
 factory.printing.rightMargin = 1.0
 factory.printing.bottomMargin = 1.0
}
</script>

(2)
<script language="javascript">
  function printsetup(){
  // 打印页面设置
  wb.execwb(8,1);
  }
  function printpreview(){
  // 打印页面预览
    
  wb.execwb(7,1);
     
    
  }

  function printit()
  {
  if (confirm('确定打印吗?')) {
  wb.execwb(6,6)
  }
  }
  </script>
</head>
<body>
<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"

height=0 id=wb name=wb width=0></OBJECT>
<input type=button name=button_print value="打印"

onclick="javascript:printit()">
<input type=button name=button_setup value="打印页面设置"

onclick="javascript:printsetup();">
<input type=button name=button_show value="打印预览"

onclick="javascript:printpreview();">
<input type=button name=button_fh value="关闭"

onclick="javascript:window.close();">

————————————————
关于这个组件还有其他的用法,列举如下:
WebBrowser.ExecWB(1,1) 打开
Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
Web.ExecWB(4,1) 保存网页
Web.ExecWB(6,1) 打印
Web.ExecWB(7,1) 打印预览
Web.ExecWB(8,1) 打印页面设置
Web.ExecWB(10,1) 查看页面属性
Web.ExecWB(15,1) 好像是撤销,有待确认
Web.ExecWB(17,1) 全选
Web.ExecWB(22,1) 刷新
Web.ExecWB(45,1) 关闭窗体无提示

2、分页打印
<HTML>
<HEAD>
<STYLE>  
  P {page-break-after: always}
</STYLE>
</HEAD>
<BODY>
<%while not rs.eof%>
<P><%=rs(0)%></P>
<%rs.movenext%>
<%wend%>
</BODY>
</HTML>

3、ASP页面打印时如何去掉页面底部的路径和顶端的页码编号
(1)ie的文件-〉页面设置-〉讲里面的页眉和页脚里面的东西都去掉,打印就不出来了。
(2)<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="YC">
<script language="VBScript">
dim hkey_root,hkey_path,hkey_key
hkey_root="HKEY_CURRENT_USER"
hkey_path="\Software\Microsoft\Internet Explorer\PageSetup"
'//设置网页打印的页眉页脚为空
function pagesetup_null()
  on error resume next
  Set RegWsh = CreateObject("WScript.Shell")
  hkey_key="\header"  
  RegWsh.RegWrite hkey_root+hkey_path+hkey_key,""
  hkey_key="\footer"
  RegWsh.RegWrite hkey_root+hkey_path+hkey_key,""
end function
'//设置网页打印的页眉页脚为默认值
function pagesetup_default()
  on error resume next
  Set RegWsh = CreateObject("WScript.Shell")
  hkey_key="\header"  
  RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"&w&b页码,&p/&P"
  hkey_key="\footer"
  RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"&u&b&d"
end function
</script>
</HEAD>

<BODY>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/><p align=center>
<input type="button" value="清空页码" onclick=pagesetup_null()> <input type="button" value="恢复页吗" onclick=pagesetup_default()><br/>

</p>
</BODY>
</HTML>
4、浮动帧打印
<SCRIPT LANGUAGE=javascript>
function button1_onclick() {
  var odoc=window.iframe1.document;
  var r=odoc.body.createTextRange();
  var stxt=r.htmlText;
  alert(stxt)
  var pwin=window.open("","print");
  pwin.document.write(stxt);
  pwin.print();
}
</SCRIPT>
4、用FileSystem组件实现WEB应用中的本地特定打印
<script Language=VBScript>
function print_onclick //打印函数
dim label
label=document.printinfo.label.value //获得HTML页面的数据
set objfs=CreateObject("Scripting.FileSystemObject") //创建FileSystem组件对象的实例
set objprinter=objfs.CreateTextFile ("LPT1:",true) //建立与打印机的连接
objprinter.Writeline("__________________________________") //输出打印的内容
objprinter.Writeline("| |")
objprinter.Writeline("| 您打印的数据是:"&label& " |”)
objprinter.Writeline("| |")
objprinter.Writeline("|_________________________________|")
objprinter.close //断开与打印机的连接
set objprinter=nothing
set objfs=nothing // 关闭FileSystem组件对象
end function
</script>
服务器端脚本:
<%………
set conn=server.CreateObject ("adodb.connection")
conn.Open "DSN=name;UID=XXXX;PWD=XXXX;"
set rs=server.CreateObject("adodb.recordset")
rs.Open(“select ……”),conn,1,1
……….%> //与数据库进行交互
HTML页面编码:
<HTML>
………
<FORM ID=printinfo NAME="printinfo" >
<INPUT type="button" value="打印>>" id=print name=print > //调用打印函数
<INPUT type=hidden id=text1 name=label value=<%=………%>> //保存服务器端传来的数据
………
</HTML>

======================================================

以前用户在打印网页内容时,一般直接选择IE的打印功能就行。有的WEB页面上也有“打印此文档”的链接功能,引用的也是“window.print();”,类似于手工打印页面。

一般我们用到网页的打印,都仅对页面上的主要内容感兴趣,一些相关的广告图片、无用的文字信息等都可以排除。如果需要实现这样的效果,则使用上面的方法肯定是不可取的。所以我们尝试着对网页打印进行“截取”处理一下了。方法如下:

1、在页面的代码头(必须在<head>与</head>之间,否则代码出错)部处加入JavaScript:

function doPrint() {
bdhtml=window.document.body.innerHTML;
sprnstr="<!–startprint–>";
eprnstr="<!–endprint–>";
prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
window.document.body.innerHTML=prnhtml;
window.print();
}
</script>

2、在页面正文所需要打印保存的内容两端加上<!–startprint–>与<!–endprint–>标识。
比如,我们的《网页打印代码/打印网页特定区域》这篇文章 http://www.laoqiang.net/blog/article.asp?id=370 ,仅需要输出打印《网页打印代码/打印网页特定区域》文章的内容区域,则在该段区域起始处加上“<!–startprint–>”,在结束段加上<!–endprint–>。

3、截取内容部分已完成,现在加个“打印”的链接:

这样,打印网页特定区域的功能就实现了,你可以马上试一下。

4、以上是最基本的步骤,测试后你就会发现,点击“打印文章”链接后就跳到了仅显示打印区域的新页面,网页原先的菜单导航什么的都没有了,这会让对网页代码不是很熟悉的用户感觉很不方便,所以我们就在<!–startprint–>与<!–endprint–>之间找一个合适的地方加上一个返回按钮,代码如下:

同时将“打印”的链接代码修改成:

如此一来,代码就完善多了。

==================================================================================

ASP开发必备:WEB打印代码大全这篇文章主要介绍了如何使用ASP控制Web的各种打印效果,它能够控制纵打、横打和页面边距等。

  1、控制"纵打"、 "横打"和"页面的边距"。 

  (1)

<script defer> 
  function SetPrintSettings() { 
  // — advanced features 
  factory.printing.SetMarginMeasure(2) // measure margins in inches 
  factory.SetPageRange(false, 1, 3) // need pages from 1 to 3 
  factory.printing.printer = "HP DeskJet 870C" 
  factory.printing.copies = 2 
  factory.printing.collate = true 
  factory.printing.paperSize = "A4" 
  factory.printing.paperSource = "Manual feed" 

  // — basic features 
  factory.printing.header = "This is MeadCo" 
  factory.printing.footer = "Advanced Printing by ScriptX" 
  factory.printing.portrait = false 
  factory.printing.leftMargin = 1.0 
  factory.printing.topMargin = 1.0 
  factory.printing.rightMargin = 1.0 
  factory.printing.bottomMargin = 1.0 
  } 
  </script> 

  (2) 

  <script language="javascript"> 
  function printsetup(){ 
  // 打印页面设置 
  wb.execwb(8,1); 
  } 
  function printpreview(){ 
  // 打印页面预览 
  
  wb.execwb(7,1); 
  
  
  } 

  function printit() 
  { 
  if (confirm('确定打印吗?')) { 
  wb.execwb(6,6) 
  } 
  } 
  </script> 
  </head> 
  <body> 

<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" 

  height=0 id=wb name=wb width=0></OBJECT> 
  <input type=button name=button_print value="打印" 

  onclick="javascript:printit()"> 
  <input type=button name=button_setup value="打印页面设置" 

  onclick="javascript:printsetup();"> 
  <input type=button name=button_show value="打印预览" 

  onclick="javascript:printpreview();"> 
  <input type=button name=button_fh value="关闭" 

  onclick="javascript:window.close();"> 

  ———————————————— 
  关于这个组件还有其他的用法,列举如下: 
  WebBrowser.ExecWB(1,1) 打开 
  Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口 
  Web.ExecWB(4,1) 保存网页 
  Web.ExecWB(6,1) 打印 
  Web.ExecWB(7,1) 打印预览 
  Web.ExecWB(8,1) 打印页面设置 
  Web.ExecWB(10,1) 查看页面属性 
  Web.ExecWB(15,1) 好像是撤销,有待确认 
  Web.ExecWB(17,1) 全选 
  Web.ExecWB(22,1) 刷新 
  Web.ExecWB(45,1) 关闭窗体无提示 

  2、分页打印 

  <HTML> 
  <HEAD> 
  <STYLE>   
  P {page-break-after: always} 
  </STYLE> 
  </HEAD> 
  <BODY> 
  <%while not rs.eof%> 
  <P><%=rs(0)%></P> 
  <%rs.movenext%> 
  <%wend%> 
  </BODY> 
  </HTML> 

  3、ASP页面打印时如何去掉页面底部的路径和顶端的页码编号 
  (1)ie的文件-〉页面设置-〉讲里面的页眉和页脚里面的东西都去掉,打印就不出来了。 
  (2)

<HTML> 
  <HEAD> 
  <TITLE> New Document </TITLE> 
  <META NAME="Generator" CONTENT="EditPlus"> 
  <META NAME="Author" CONTENT="YC"> 
  <script language="VBScript"> 

dim hkey_root,hkey_path,hkey_key 
  hkey_root="HKEY_CURRENT_USER" 
  hkey_path="\Software\Microsoft\Internet Explorer\PageSetup" 
  '//设置网页打印的页眉页脚为空 
  function pagesetup_null() 
  on error resume next 
  Set RegWsh = CreateObject("WScript.Shell") 
  hkey_key="\header"   
  RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"" 
  hkey_key="\footer" 
  RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"" 
  end function 
  '//设置网页打印的页眉页脚为默认值 
  function pagesetup_default() 
  on error resume next 
  Set RegWsh = CreateObject("WScript.Shell") 
  hkey_key="\header"   
  RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"&w&b页码,&p/&P" 
  hkey_key="\footer" 
  RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"&u&b&d" 
  end function 
  </script> 
  </HEAD> 

  <BODY> 
  <br/> 
  <br/> 
  <br/> 
  <br/> 
  <br/> 
  <br/><p align=center> 
  <input type="button" value="清空页码" onclick=pagesetup_null()> <input type="button" value="恢复页吗" onclick=pagesetup_default()><br/> 

  </p> 
  </BODY> 
  </HTML>

  4、浮动帧打印 

  <SCRIPT LANGUAGE=javascript> 
  function button1_onclick() { 
  var odoc=window.iframe1.document; 
  var r=odoc.body.createTextRange(); 
  var stxt=r.htmlText; 
  alert(stxt) 
  var pwin=window.open("","print"); 
  pwin.document.write(stxt); 
  pwin.print(); 
  } 
  </SCRIPT> 

4、用FileSystem组件实现WEB应用中的本地特定打印 

  <script Language=VBScript> 
  function print_onclick //打印函数 
  dim label 
  label=document.printinfo.label.value //获得HTML页面的数据 
  set objfs=CreateObject("Scripting.FileSystemObject") //创建FileSystem组件对象的实例 
  set objprinter=objfs.CreateTextFile ("LPT1:",true) //建立与打印机的连接 
  objprinter.Writeline("__________________________________") //输出打印的内容 
  objprinter.Writeline("| |") 
  objprinter.Writeline("| 您打印的数据是:"&label& " |”) 
  objprinter.Writeline("| |") 
  objprinter.Writeline("|_________________________________|") 
  objprinter.close //断开与打印机的连接 
  set objprinter=nothing 
  set objfs=nothing // 关闭FileSystem组件对象 
  end function 
  </script> 
  服务器端脚本: 
  <%……… 
  set conn=server.CreateObject ("adodb.connection") 
  conn.Open "DSN=name;UID=XXXX;PWD=XXXX;" 
  set rs=server.CreateObject("adodb.recordset") 
  rs.Open(“select ……”),conn,1,1 
  ……….%> //与数据库进行交互 
  HTML页面编码: 
  <HTML> 
  ……… 
  <FORM ID=printinfo NAME="printinfo" > 
  <INPUT type="button" value="打印>>" id=print name=print > //调用打印函数 
  <INPUT type=hidden id=text1 name=label value=<%=………%>> //保存服务器端传来的数据 
  ……… 
  </HTML>

=============================================================================

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script>
var hkey_root,hkey_path,hkey_key
hkey_root="HKEY_CURRENT_USER"
hkey_path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\"
//设置网页打印的页眉页脚为空
function pagesetup_null(){
try{
var RegWsh = new ActiveXObject("WScript.Shell")
hkey_key="header"
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"")
hkey_key="footer"
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"")
}catch(e){}
}
//设置网页打印的页眉页脚为默认值
function pagesetup_default(){
try{
var RegWsh = new ActiveXObject("WScript.Shell")
hkey_key="header"
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"&w&b页码,&p/&P")
hkey_key="footer"
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"&u&b&d")
}catch(e){}
}
function setdivhidden(id){//把指定id以外的层统统隐藏
    var divs=document.getElementsByTagName("DIV");
    for(var i=0;i<divs.length;i++)
    {
        if(divs.item(i).id!=id)
            divs.item(i).style.display="none";
    }
}
function setdivvisible(id){//把指定id以外的层统统显示
    var divs=document.getElementsByTagName("DIV");
    for(var i=0;i<divs.length;i++)
    {
        if(divs.item(i).id!=id)
            divs.item(i).style.display="block";
    }
}
function printpr() //预览函数
{
pagesetup_null();//预览之前去掉页眉,页脚
setdivhidden("div1");//打印之前先隐藏不想打印输出的元素

var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser);//在body标签内加入html(WebBrowser activeX控件)
WebBrowser1.ExecWB(7, 1);//打印预览
WebBrowser1.outerHTML = "";//从代码中清除插入的html代码
pagesetup_default();//预览结束后页眉页脚恢复默认值
setdivvisible("div1");//预览结束后显示按钮
}
function print() //打印函数
{
pagesetup_null();//打印之前去掉页眉,页脚
setdivhidden("div1"); //打印之前先隐藏不想打印输出的元素

var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser);//在body标签内加入html(WebBrowser activeX控件)
WebBrowser1.ExecWB(6, 1);//打印
WebBrowser1.outerHTML = "";//从代码中清除插入的html代码
pagesetup_default();//打印结束后页眉页脚恢复默认值
setdivvisible("div1");//打印结束后显示按钮
}

function funPrint() {
            bdhtml=window.document.body.innerHTML;
            sprnstr="<!–startprint–>";
            eprnstr="<!–endprint–>";
            prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
            prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
            window.document.body.innerHTML=prnhtml;
            window.print();
            return false;
        }
</script>
<body>
<div id=div0>
<input type=button value=打印预览 onclick="printpr()">
<input type=button onClick="print()" value="打印1">
<input type=button onClick="funPrint()" value="打印2">
</div>
<div id=div1>
<!–startprint–>
表格一:<br>
<table>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
<tr><td>1111</td><td>1111</td><td>1111</td></tr>
</table>
<!–endprint–>
</div>
</body>
</HTML>

Older Posts »

Powered by WordPress