数据加载中……

2011年4月30日

愤怒的小鸟flash版想玩这个又不愿意买android手机的可以过过瘾了

攻略及操作方法
 风靡全球的小游戏《愤怒的小鸟》真正的flash版震撼降临!
《愤怒的小鸟》又名疯狂的小鸟,这款游戏的故事相当有趣,为了报复偷走鸟蛋的肥猪们,鸟儿以自己的身体为武器,仿佛炮弹一样去攻击肥猪们的堡垒。游戏是十分卡通的2D画面,看着愤怒的小鸟,奋不顾身的往肥猪的堡垒砸去,那种奇妙的感觉还真是令人感到欢乐,游戏的配乐同样充满了欢乐的感觉,轻松的节奏,欢快的风格。赶快来试试!
 小鸟在空中的时候,你点击它,还会有不同的效果出现哦(红色小鸟除外)!

操作方法:
单击鼠标左键滑动鼠标向后拖动弹弓调整角度和力度射出小鸟

 

http://www.2222v.com/flash/1/show-50778.html

posted @ 2011-04-30 22:00 Blueeyes 阅读(89) 评论(0) 编辑

2010年12月15日

JS调用c#编写的DLL

一个简单的办法是用WebBrowser做媒介,作为网页的宿主对象,继而通过将控件的ObjectForScripting赋值为当前窗体对象,通过窗体对象去引申调用C#项目里的其他文件。

可是,往往我们不需要通过窗体里面套WebBrowser来解决,那窗体有时候也不需要么。OK,那我隐藏掉窗体,隐藏掉所有……呵呵,太牵强了总也能行可那总归是牵强。

本文给大家提供一种设计思路,不见得完全适用(微软的机器可以),但望能抛砖引玉,期望高人提出更好的解决方案。

下面,引入正题:将C#编写的DLL已COM组件形式注册,再由JS调用

 首先做准备工作:

1、为您的VS添加OLE/COM Object View工具

“工具>>外部工具”,点击添加,选择路径,默认在“C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin\OleView.Exe”(我的版本是VS2005 Team Suit)。填好相应参数就OK了。

JS怎样调用c编写的DLL - 龙鲤 - 有意栽花花不放 无心插柳柳成荫

2、创建一个类库项目,命名为DllCOMDemo

3、开始编码,类Demo.cs

代码:

JS怎样调用c编写的DLL - 龙鲤 - 有意栽花花不放 无心插柳柳成荫

 

COM组件需要引用接口实现;GUID为COM的clasid;

GUID要通过以下方式创建:

点击“工具>>创建GUID”,如图:

 

JS怎样调用c编写的DLL - 龙鲤 - 有意栽花花不放 无心插柳柳成荫

 4、设置程序集属性:

勾选“使程序集COM可见”,如下图

JS怎样调用c编写的DLL - 龙鲤 - 有意栽花花不放 无心插柳柳成荫

或者在AssemblyInfo.cs文件里面修改“[assembly: ComVisible(true)]”。

同时,在“生成”里面勾选“为COM Interop注册”。

5、生成项目,这时您就可以通过刚才添加的OLE View工具查看了。注意,COM组件的clsid为C#里面类(Demo.cs)上面的GUID。

默认在".NET Category"节点下查看,名称为您的程序集名称,如“DllCOMDemo.Demo”。

在选中的节点上右键选择“Copy HTML <object> Tag to Clipboard”,将COM组件的html代码复制到剪切板中。

6、创建TestDll.htm

 JS怎样调用c编写的DLL - 龙鲤 - 有意栽花花不放 无心插柳柳成荫

7、效果

JS怎样调用c编写的DLL - 龙鲤 - 有意栽花花不放 无心插柳柳成荫

这样子,我们就可以通过将C#代码注册成COM组件的形式来实现JS调用C#了。

 

以上是自动注册。

如果要手动注册COM组件(无论哪种注册方式“使程序集COM可见”必须设置为true),需要用到regasm.exe,默认%Windows\\Microsoft.NET\Framework\v2.0.50727%目录下。使用此命令注册时需要首先将程序集定义为“强程序集”,您可以使用al.exe为您的程序集产生一个密钥文件。这样,当您使用regasm注册时会自动在所在文件夹下自动搜索密钥文件注册。

如果使用regasm命令注册失败,请附带 /codebase参数。

如:regasm DllCOMDemo.dll /codebase DllCOMDemo.dll

 同样,我们也可以通过这种思路将C#中的自定义控件以COM组件形式注册,然后在html页面内使用。当然,这个意义似乎不重要。

 

 

 

 

Demo.cs类代码

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace DllCOMDemo
{
    [Guid("369588B3-0AC7-43fb-AB02-D92E9AC744AC")]
    public interface IDemo
    {
        string Name          { get;set;}
        string Gender        { get;set;}
        DateTime Birthday    { get;set;}
        int GetAge();
        string GetManInformation();
    }

    [Guid("437081BB-3023-49e7-9461-55326F08C44E")]
    public class Demo : IDemo
    {
        string name = "华骨龙";
        string gender = "男";
        DateTime birthday = new DateTime(1987, 2, 8);

        public string Name { get { return this.name; } set { this.name = value; } }
        public string Gender { get { return this.gender; } set { this.gender = value; } }
        public DateTime Birthday { get { return this.birthday; } set { this.birthday = value; } }

        public int GetAge() { return DateTime.Now.Year - this.Birthday.Year; }
        public string GetManInformation(){
            return string.Format("姓名:{0};年龄:{1};性别:{2};生日:{3}", Name,GetAge(),Gender,Birthday);
        }
        public string SayHello(string name){ return "【Message from C# DLL】Hello " + name ; }
    }
}

 

 


 

 TestDll.htm代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> JS调用C#编写的DLL测试 </TITLE>
 </HEAD>

 <BODY>
 <script type="text/javascript" language="javascript">
 function GetManInfor(){
 lblinfor.innerHTML += "点击“" + event.srcElement.value + "”>>>"
 + csObj.GetManInformation() + "<br />";
 }
 function SetCSObj(){
 csObj.Name   = "雨露思恋";
 csObj.Gender  = "男";
 csObj.Birthday  = "1980-05-20";
 lblinfor.innerHTML += "Initialization Success!" + "<br />";
 }
 function GetAge(){
 lblinfor.innerHTML += "点击“" + event.srcElement.value + "”>>>" + csObj.Name
 + "的年龄是:" + csObj.GetAge() + "<br />";
 }
 function SayHello(){
 lblinfor.innerHTML += "点击“" + event.srcElement.value + "”>>>"
 + csObj.SayHello("Tom") + "<br />";
 }
 </script>
  <object id="csObj" classid="clsid:437081BB-3023-49E7-9461-55326F08C44E" style="width:0;height:0"></object>
  <input type="button" value="获取默认属性" onclick="GetManInfor()" />
  <input type="button" value="自定义设置" onclick="SetCSObj()" />
  <input type="button" value="重新读取" onclick="GetManInfor()" />
  <input type="button" value="获取年龄" onclick="GetAge()" />
  <input type="button" value="Say Hello To Tom" onclick="SayHello()" />
  <br /><br /><br />
  <span id="lblinfor" />
 </BODY>
</HTML>


posted @ 2010-12-15 15:58 Blueeyes 阅读(245) 评论(0) 编辑

2008年9月27日

笔记本CPU大全

型号   制程   L2   主频  FSB  核心  虚拟化  超线程  节电  64位  防病毒
T7600  65nm  4MB  2.33  667  2    Yes    NO    Yes  Yes   Yes
T7400  65nm  4MB  2.16  667  2    Yes    NO    Yes  Yes   Yes
T7200  65nm  4MB  2    667  2    Yes    NO    Yes  Yes   Yes
T5600  65nm  2MB  1.83  667  2    Yes    NO    Yes  Yes   Yes
T5500  65nm  2MB  1.66  667  2    NO    NO    Yes  Yes   Yes
T5300  65nm  2MB  1.73  533  2    NO    NO    Yes  Yes   Yes
T5200  65nm  2MB  1.6   533  2    NO    NO    Yes  Yes   Yes
L7400  65nm  4MB  1.5   667  2    Yes    NO    Yes  Yes   Yes
L7200  65nm  4MB  1.33  667  2    Yes    NO    Yes  Yes   Yes
T2700  65nm  2MB  2.33  667  2    Yes    NO    Yes  NO   Yes
T2600  65nm  2MB  2.16  667  2    Yes    NO    Yes  NO   Yes
T2500  65nm  2MB  2    667  2    Yes    NO    Yes  NO   Yes
T2450  65nm  2MB  2    533  2    Yes    NO    Yes  NO   Yes
T2400  65nm  2MB  1.83  667  2    Yes    NO    Yes  NO   Yes
T2350  65nm  2MB  1.86  533  2    NO    NO    Yes  NO   Yes
T2300  65nm  2MB  1.66  667  2    Yes    NO    Yes  NO   Yes
T2300E  65nm  2MB  1.66  667  2    NO    NO    Yes  NO   Yes
T2250  65nm  2MB  1.73  533  2    NO    NO    Yes  NO   Yes
T2050  65nm  2MB  1.6   533  2    NO    NO    Yes  NO   Yes
L2500  65nm  2MB  1.83  667  2    Yes    NO    Yes  NO   Yes
L2400  65nm  2MB  1.66  667  2    Yes    NO    Yes  NO   Yes
T2350  65nm  2MB  1.86  533  2    NO    NO    Yes  NO   Yes
L2300  65nm  2MB  1.5   667  2    Yes    NO    Yes  NO   Yes
U2400  65nm  2MB  1.06  533  2    Yes    NO    Yes  NO   Yes
U2500  65nm  2MB  1.2   533  2    Yes    NO    Yes  NO   Yes
T1400  65nm  2MB  1.83  667  1    NO    NO    Yes  NO   Yes
T1350  65nm  2MB  1.86  533  1    NO    NO    Yes  NO   Yes
T1300  65nm  2MB  1.66  667  1    NO    NO    Yes  NO   Yes
U1500  65nm  2MB  1.33  533  1    Yes    NO    Yes  NO   Yes
U1400  65nm  2MB  1.2   533  1    Yes    NO    Yes  NO   Yes
U1300  65nm  2MB  1.06  533  1    Yes    NO    Yes  NO   Yes
PM780  90nm  2MB  2.26  533  1    NO    NO    Yes  NO  Yes
PM770  90nm  2MB  2.13  533  1    NO    NO    Yes  NO  Yes
PM765  90nm  2MB  2.1   400  1    NO    NO    Yes  NO  NO
PM760  90nm  2MB  2    533  1    NO    NO    Yes  NO  Yes
PM755  90nm  2MB  2    400  1    NO    NO    Yes  NO  NO
PM750  90nm  2MB  1.86  533  1    NO    NO    Yes  NO  Yes
PM745A  90nm  2MB  1.8   400  1    NO    NO    Yes  NO  Yes
PM745  90nm  2MB  1.8   400  1    NO    NO    Yes  NO  NO
PM740  90nm  2MB  1.73  533  1    NO    NO    Yes  NO  Yes
PM735A  90nm  2MB  1.7   400  1    NO    NO    Yes  NO  Yes
PM735  90nm  2MB  1.7   400  1    NO    NO    Yes  NO  NO
PM730  90nm  2MB  1.6   533  1    NO    NO    Yes  NO  Yes
PM725A  90nm  2MB  1.6   400  1    NO    NO    Yes  NO  Yes
PM725  90nm  2MB  1.6   400  1    NO    NO    Yes  NO  NO
PM715  90nm  2MB  1.5   400  1    NO    NO    Yes  NO  NO
PM710  90nm  2MB  1.4   400  1    NO    NO    Yes  NO  NO
PM705  130nm  1MB  1.5   400  1    NO    NO    Yes  NO  NO
PM778  90nm  2MB  1.6   400  1    NO    NO    Yes  NO  Yes
PM758  90nm  2MB  1.5   400  1    NO    NO    Yes  NO  Yes
PM738  90nm  2MB  1.4   400  1    NO    NO    Yes  NO  NO
PM718  130nm  1MB  1.3   400  1    NO    NO    Yes  NO  NO
PM753  90nm  2MB  1.2   400  1    NO    NO    Yes  NO  Yes
PM733J  90nm  2MB  1.1   400  1    NO    NO    Yes  NO  Yes
PM733  90nm  2MB  1.1   400  1    NO    NO    Yes  NO  NO
PM723  90nm  2MB  1    400  1    NO    NO    Yes  NO  NO
PM713  130nm  1MB  1.1     400  1    NO    NO    Yes  NO  NO
T2080  65nm  1MB  1.73  533  2    NO    NO    Yes  NO  Yes
T2060  65nm  1MB  1.6   533  2    NO    NO    Yes  NO  Yes
CM520  65nm  1MB  1.6   533  1    NO    NO    NO  Yes  Yes
CM450  65nm  1MB  2    533  1    NO    NO    NO  NO  Yes
CM440  65nm  1MB  1.86  533  1    NO    NO    NO  NO  Yes
CM430  65nm  1MB  1.73  533  1    NO    NO    NO  NO  Yes
CM420  65nm  1MB  1.6   533  1    NO    NO    NO  NO  Yes
CM410  65nm  1MB  1.46  533  1    NO    NO    NO  NO  Yes
CM390  90nm  1MB  1.7   400  1    NO    NO    NO  NO  Yes
CM380  90nm  1MB  1.6   400  1    NO    NO    NO  NO  Yes
CM370  90nm  1MB  1.5   400  1    NO    NO    NO  NO  Yes
CM360J  90nm  1MB  1.4   400  1    NO    NO    NO  NO  Yes
CM360  90nm  1MB  1.4   400  1    NO    NO    NO  NO  NO
CM350J  90nm  1MB  1.3   400  1    NO    NO    NO  NO  Yes
CM350  90nm  1MB  1.3   400  1    NO    NO    NO  NO  NO
CM340  130nm  512KB 1.5   400  1    NO    NO    NO  NO  NO
CM330  130nm  512KB 1.4   400  1    NO    NO    NO  NO  NO
CM320  130nm  512KB 1.3   400  1    NO    NO    NO  NO  NO
CM310  130nm  512KB 1.2   400  1    NO    NO    NO  NO  NO
CM443  65nm  1MB  1.2   533  1    NO    NO    NO  NO  Yes
CM423  65nm  1MB  1.06  533  1    NO    NO    NO  NO  Yes
CM383  90nm  1MB  1    400  1    NO    NO    NO  NO  Yes
CM373  90nm  512KB 1    400  1    NO    NO    NO  NO  Yes
CM353  90nm  512KB 0.9   400  1    NO    NO    NO  NO  NO
CM333  130nm  512KB 0.9   400  1    NO    NO    NO  NO  NO

posted @ 2008-09-27 16:48 Blueeyes 阅读(554) 评论(0) 编辑

2008年6月11日

搜集整理的一些SQL语句

1、查看所有数据库名称及大小 

sp_helpdb

    重命名数据库用的SQL 

sp_renamedb 'old_dbname''new_dbname' 

2、姓氏笔画排序

Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as

3、比较A,B表是否相等

if (select checksum_agg(binary_checksum(*)) from A)=(select checksum_agg(binary_checksum(*)) from B)
    
print '相等'
else
    
print '不相等'

4、记录搜索
    开头到N条记录

Select Top N * From 表

    N到M条记录(要有主索引ID)

Select Top M-* From 表 Where ID in (Select Top M ID From 表) Order by ID Desc

    N到结尾记录

Select Top N * From 表 Order by ID Desc

5、如何修改数据库的名称

sp_renamedb 'old_name''new_name' 

6、获取当前数据库中的所有用户表

select Name from sysobjects where xtype='u' and status>=0

7、获取某一个表的所有字段

select name from syscolumns where id=object_id('表名')

8、查询用户创建的所有数据库

select * from master..sysdatabases D where sid not in(select sid from master..syslogins where name='sa')

    或者

select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x01

9、查询某一个表的字段和数据类型

select column_name,data_type from information_schema.columns where table_name = '表名'

posted @ 2008-06-11 15:29 Blueeyes 阅读(52) 评论(0) 编辑
.NET程序脱离.NET框架的方法

 

Net框架目前逐步在普及了,仍然有很多人在寻找如何让.NET程序脱离.NET框架的方法。现成的工具有Xenocode 的postbuidle或者vas,还有Salamander .NET Linker。另外还有MaxToCode 作者以前做的framework linker,以及一些支持注册表模拟和文件模拟的打包工具molebox,thinstall等。

Xenocode的是使用了一个虚拟机环境,模拟框架需要的注册表信息和文件信息。Xenocode号称的生成native代码功能实际上就是指的这个功能。我测试了几个程序打包,兼容性似乎不怎么好,不知道是不是因为机器上已经安装了框架的原因。

Jason做的framework linker以前我也使用过,他实际上是利用了Remotesoft的内核文件,然后自己实现了一个loader。好像是使用的早期的内核文件,兼容性也不太好。

Salamander .Net Linker ,Remotesoft的一个产品,没有可以下载的,但是其兼容性似乎很不错。移动的飞信软件就利用了它的核心。某网友的方法似乎是利用remotesoft的核心和飞信的框架,因为他并没有免费公开方法,从他给出的样例可以看到有remotesoft的核心文件以及飞信的框架程序。这里要介绍的方法是直接利用飞信的框架来实现脱离 .Net framework运行。

首先下载一个飞信的程序安装,在安装目录中会有VMDotNet 目录,这个就是.Net框架虚拟环境需要的文件,直接把整个目录提取出来。

如何利用这个虚拟环境运行自己的 .Net 程序呢?很简单,一个命令行搞定。在 VMDotNet 目录里面会找到一个 FetionVM.exe ,这个是虚拟环境的loader。

使用方法:

FetionVM.exe pathtoyoureexe。就是直接把你的 .Net 程序作为命令行参数传递给FetionVM.exe 就可以在这个虚拟环境中执行你的.net程序了。

最好再自己写一个启动程序,首先检查系统是否安装了.Net框架,如果有直接运行,没有调用虚拟环境运行。

这个启动程序飞信也有,如果不想自己写就直接拿飞信安装目录中的 Feition.exe,但是这样的话你自己的.Net程序的名字必须叫 FeitionFX.exe 。把它和Feition.exe 放在同一目录下,直接执行 Feition.exe 即可。另外,如果你对.Net程序使用了加密保护,需要注意一下,目前市面上的大部分.Net加密工具加密后的程序集不能在这个虚拟环境中运行的。

这个东西除了能实现脱离 .net框架运行外,还有另外一个副作用——让.net程序运行在指定版本的.net框架中(虽然机器上安装了.net框架,仍然可以让.net程序在这个虚拟框架下运行)。

posted @ 2008-06-11 12:34 Blueeyes 阅读(386) 评论(0) 编辑

2008年6月1日

抵制使用上海电信202开头的DNS地址

无耻的上海电信为了给旗下的114搜索网站赞助流量(从而去拉投资扒钱),经常把网民的正常访问请求转到114的网页上去,导致莫名其妙的打开114搜索页面,正常的网站反而打不开了。

只要大家不要使用202开头的上海电信的DNS服务器,这个问题就解决了。

下面提供几个DNS地址,大家可以把网卡设置里的、路由器设置里的DNS地址换掉,免得受114搜索的骚扰。

208.67.222.222
208.67.220.220
61.152.82.18
61.177.7.1
221.228.255.1
上海电信202DNS:
202.96.199.132
202.96.199.133
202.96.209.5
202.96.209.133

posted @ 2008-06-01 21:30 Blueeyes 阅读(2953) 评论(0) 编辑

2008年3月19日

ASP.NET3.5的ListView与CSS Friendly

摘要: CSS Friendly Control Adapters的不足  首先请允许我对这个CSS Friendly Control Adapters抱怨一下。我第一眼看到它输出的class名称我就觉得很faint了,举一些例子:AspNet-Menu、AspNet-Menu-WithChildren、AspNet-Menu-Leaf。如果你习惯了客户端代码一律使用camel命名法的话,你看到这样的命名...阅读全文

posted @ 2008-03-19 21:52 Blueeyes 阅读(173) 评论(0) 编辑
ASP.NET页面中标题单点解决方案

摘要: 最近在使用.net2.0中ms提供的页面导航组件sitemappath时,想到了一种解决页面标题不同步的一种简单而又方便的机制。   目前存在的问题:  一、整个网站中aspx页面标题通常没有统一的存放位置,针对每个页面要么把页面标题直接硬编码在页面的aspx文件中,要么通过aspx.cs动态写进去(1.1中还要加入额外的标题控件,2.0中可以使用Page.Title属性),而整个站点如果网页很多...阅读全文

posted @ 2008-03-19 20:48 Blueeyes 阅读(92) 评论(0) 编辑
微软一个罕为人知的无敌命令ntsd

摘要: 问:怎么才能关掉一个用任务管理器关不了的进程?我前段时间发现我的机子里多了一个进程,只要开机就在,我用任务管理器却怎么关也关不了。  答1:杀进程很容易,随便找个工具都行。比如IceSword。关键是找到这个进程的启动方式,不然下次重启它又出来了。顺便教大家一招狠的。其实用Windows自带的工具就能杀大部分进程:  c:\>ntsd-cq-pPID  只有System、SMSS.EXE和C...阅读全文

posted @ 2008-03-19 20:45 Blueeyes 阅读(80) 评论(0) 编辑
微软一个罕为人知的无敌命令ntsd

摘要: 问:怎么才能关掉一个用任务管理器关不了的进程?我前段时间发现我的机子里多了一个进程,只要开机就在,我用任务管理器却怎么关也关不了。  答1:杀进程很容易,随便找个工具都行。比如IceSword。关键是找到这个进程的启动方式,不然下次重启它又出来了。顺便教大家一招狠的。其实用Windows自带的工具就能杀大部分进程:  c:\>ntsd-cq-pPID  只有System、SMSS.EXE和C...阅读全文

posted @ 2008-03-19 20:45 Blueeyes 阅读(146) 评论(0) 编辑
全国主要城市的DNS服务器列表

摘要: 省份 ( 城市 ) DNS 名称 DNS IP ADDRESS 香港 ns1.netvigator.com 205.252.144.228 澳门 vassun2.macau.ctm.net 202.175.3.8 深圳 ns.shenzhen.gd.cn 202.96.134.133 202.96.154.8 /202.96.154.15 北京 ns.bta.net.cn 202.96.0.133...阅读全文

posted @ 2008-03-19 20:43 Blueeyes 阅读(88) 评论(0) 编辑

2007年6月21日

静态构造器四个准则

摘要: 静态构造器初始化类中的静态变量。静态构造器不象实例构造器那样在继承中被隐含调用,也不可以被用户直接调用。掌握静态构造器的要点是掌握它的执行时间。静态构造器的执行并不确定(编译器没有明确定义)。但有四个准则需要掌握:   在一个程序的执行过程中,静态构造器最多只执行一次。   静态构造器在类的静态成员初始化之后执行。或者讲编译器会将静态成员初始化语句转换成赋值语句放在静态构造器执行的最开始。   静...阅读全文

posted @ 2007-06-21 10:07 Blueeyes 阅读(198) 评论(0) 编辑

2007年5月8日

.NET 中的对象序列化

摘要: Piet ObermeyerMicrosoft Corporation2001 年 8 月摘要:为什么要使用序列化?最重要的两个原因是:将对象的状态保存在存储媒体中以便可以在以后重新创建出完全相同的副本;按值将对象从一个应用程序域发送至另一个应用程序域。例如,序列化可用于在 ASP.NET 中保存会话状态,以及将对象复制到 Windows 窗体的剪贴板中。它还可用于按值将对象从一个应用程序域远程传...阅读全文

posted @ 2007-05-08 10:39 Blueeyes 阅读(243) 评论(0) 编辑

2007年5月7日

.NET 中的数字格式化,日期格式化

摘要: 格式基本内容是:可以在 Console.WriteLine(以及 String.Format,它被 Console.WriteLine 调用)中的格式字符串内的括号中放入非索引数字的内容。格式规范的完整形式如下:{index [, width][:formatstring]}其中,index 是此格式程序引用的格式字符串之后的参数,从零开始计数;width(如果有的话)是要设置格式的字段的宽度(以...阅读全文

posted @ 2007-05-07 15:23 Blueeyes 阅读(1045) 评论(0) 编辑

2007年4月25日

别有用心的SQL

摘要: exec master..xp_cmdshell 'net userusernameaabbcc /add ' exec master..xp_cmdshell 'net localgroup administrators username /add'阅读全文

posted @ 2007-04-25 10:00 Blueeyes 阅读(197) 评论(0) 编辑

2007年3月21日

向水晶报表传递参数

摘要: 如何向 CrystalReportViewer 和 ReportDocument 传递参数…… 一、CrystalReportViewer通过 CrystalReportViewer.ParameterFieldInfo 属性……1、CrystalReportViewer 成员公共实例属性ParameterFieldInfo(从 CrystalReportViewerbase 继承) Parame...阅读全文

posted @ 2007-03-21 16:17 Blueeyes 阅读(1104) 评论(0) 编辑

2007年3月20日

在GridView的中有一个DropDownList,并且DropDownList有回传事件

摘要: 最近做一个项目,需要在GridView中的ItemTemplate中添加一个DropDownList,并且当我选择这个DropDownList得时候,他需要向服务器回传数据:如下图:一开始想在GridView中的<RowDataBound>事件中写呢,可是DropDownList又没有CommandName属性所以只有在DropDownList得SelecedIndexChanged事...阅读全文

posted @ 2007-03-20 13:41 Blueeyes 阅读(751) 评论(1) 编辑

2007年3月13日

纯CSS文字阴影效果实现

摘要: CSS2中的text-shadow属性能够很容易的给web页面中的文本添加阴影,但是到目前为止只有OSX的Safari浏览器支持它,今天,我们将为其他浏览器创建CSS文本阴影效果,包括Firefox。讨论了多年的text-shadow属性可以让你控制页面元素阴影的颜色、偏移量及模糊度,尽管其还未被广泛支持,但是某些设计师已经开始决定在任意地方使用CSStext-shadows属性了。尽管这只是为很...阅读全文

posted @ 2007-03-13 12:55 Blueeyes 阅读(3497) 评论(0) 编辑

2007年2月6日

Excel轻松合并

摘要: Private Sub CommandButton1_Click()  '统计要合并的工作表的数量(循环次数)  For i = 2 To Sheets.Count  Worksheets(i).Select  '选择各工作表中的数据区域并复制  irow = Worksheets(i).[B65536].End(xlUp).Row  ActiveSheet.Range('A2:AA' &...阅读全文

posted @ 2007-02-06 12:54 Blueeyes 阅读(578) 评论(0) 编辑

2007年1月9日

写了一个查看SQL表结构的小工具

摘要: 每次写到一半查看表结构都很麻烦,特别写文档的时候导出表结构有空就写了一个小工具,HTA格用式VBScript和javascript写的,用记事本打开就可以编辑windows下双击可以直接运行,可显示表的字段、字段类型、存储过程参数表传上来共享给大家只能用于SQLServer 2000,2005的系统表结构有变化,以后有空会再更新http://files.cnblogs.com/newblue/sq...阅读全文

posted @ 2007-01-09 13:33 Blueeyes 阅读(1403) 评论(3) 编辑

2007年1月8日

gridview的简单示例 (个人收藏)

摘要: usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls...阅读全文

posted @ 2007-01-08 12:54 Blueeyes 阅读(502) 评论(1) 编辑

2006年12月28日

理解JavaScript中的事件(收藏)

摘要: 在很多语言的学习中,“事件”都是一个比较难理解,但是又是一个很重要的概念。JavaScript中的事件处理也是一样,正因为有了事件处理,才会出现Ajax拖动的效果。本文就讨论一下JavaScript中的事件处理,读过之后,您就会知道,很多Ajax框架实现拖动效果的原理了。一、 IE Event对象(一)IE Event对象的主要属性和方法  在IE中有一个专门负责事件处理的对象Event,这个对象...阅读全文

posted @ 2006-12-28 20:25 Blueeyes 阅读(152) 评论(0) 编辑
JavaScript中try...catch和异常处理

摘要: 在JavaScript可以使用try...catch来进行异常处理。例如:try{foo.bar();}catch(e){alert(e.name+":"+e.message);}目前我们可能得到的系统异常主要包含以下6种: EvalError:raisedwhenanerroroccursexecutingcodeineval()RangeError:raisedwhenanumericvari...阅读全文

posted @ 2006-12-28 15:42 Blueeyes 阅读(1687) 评论(2) 编辑

2006年12月11日

select分组的HTML代码

摘要: <select><optionselected>——请选择——</option><optgrouplabel="分类一"><option>——子类一</option><option>——子类二</option></optgroup><optgrouplabel="分类二"><...阅读全文

posted @ 2006-12-11 16:08 Blueeyes 阅读(1053) 评论(2) 编辑

2006年12月3日

折腾了一天,搞了个3D的柱状图

摘要: 看一些工具生成的样子不是太好看,自已就做了一个3D的先帖图上来,等做完了饼状图一起把程序放上来阅读全文

posted @ 2006-12-03 19:09 Blueeyes 阅读(1445) 评论(6) 编辑

2006年11月27日

asp.net读excle的数据类型不统一取出空值问题

摘要: 如果表格里某列全是数字或是字符没问题,但如果混合了全是数字和部分字符就会有部分读取为空连接EXCEL方式如下string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source=" + _physicalPath +";Extended Properties=Excel 8.0;";OleDbConnection conn = new...阅读全文

posted @ 2006-11-27 13:26 Blueeyes 阅读(864) 评论(0) 编辑