2007年5月31日星期四

制作一个自动登录Blogger的快捷方式

每次登录Blogger都要输入长长的用户名和密码(我数了一下,一共要输入28个字母),实在是很麻烦。于是我作了一个放在桌面上的网页文件,双击它即可自动登录到我的Blogger上。




它的制作方法是这样的,
第一步:在桌面上新建一个文本文档,然后把扩展名由.txt改为.htm,我建的是MyBlog.htm。
第二步:用记事本打开MyBlog.htm,在里面输入如下内容

<form action="https://www.google.com/accounts/ServiceLoginBoxAuth" id="start-login" name="login" method="post">
<input type="hidden" name="continue" value="http://www.blogger.com/loginz?d=%2Fstart">
<input type="hidden" name="service" value="blogger">
<input type="hidden" name="nui" value="8">
<input type="hidden" name="naui" value="8">
<input type="hidden" name="fpui" value="2">
<input type="hidden" name="uilel" value="3">
<input type="hidden" name="skipvpage" value="true">
<input type="hidden" name="rm" value="false">
<input type="hidden" name="hl" value="zh_CN">
<input type="hidden" name="alwf" value="true">
<input type="hidden" name="roeu" value="https://www.blogger.com/login.g"> <input type="hidden" name="GA3T" value="DJY310qrAc8">
<input type="hidden" name="Email" value="你的mailto:zahuifan@163.com" tabindex="1" id="Email" size="10">
<input type="hidden" name="Passwd" value="你的密码" autocomplete="off" tabindex="2" id="Passwd" size="10">
</form>
<script type='text/javascript'>
document.forms[
0].submit();
</script>

第三步:保存。
然后当我想登录Blogger的时候,只要双击桌面上的MyBlog.htm就可以了。

2007年5月26日星期六

在进入和离开网页时应用CSS滤镜

只要把下面这两行放到网页的HEAD区中,就可以在进入和离开网页时应用相应的CSS的滤镜了。本例中应用的是动态的马赛克效果。

<meta content="progid:DXImageTransform.Microsoft.Pixelate(Duration=3)" http-equiv="Page-Enter">
<meta content="progid:DXImageTransform.Microsoft.Pixelate(Duration=3)" http-equiv="Page-Exit">

2007年5月19日星期六

我的 Formatter

你如何将 DateTime 对象转换成 String?这是我的答案:

// 那个"?"不是乱码呦!这个相当

// 于写Nullbale<DateTime> birthday...

DateTime? birthday = new DateTime(2007, 1, 1);

DateTime? birthday2 = null;

string s = Formatter.New("d") ¦ birthday; // s = "2007-1-1"

string s2 = Formatter.New("d") ¦ birthday2; // s2 = ""

string s3 = Formatter.New("d", "不详") ¦ birthday2; // s3 = "不详"


怎么样,是不是很酷? 其实 Formatter 的实现相当的简单,下面是全部源代码

public class Formatter

{

  private string _fmt = "";

  private string _nullString = "";

  public Formatter(string fmt, string nullString)

  {

    _fmt = fmt;

    _nullString = nullString;

  }

  public static Formatter New(string fmt)

  {

    return new Formatter(fmt, "");

  }

  public static Formatter New(string fmt, string nullString)

  {

    return new Formatter(fmt, nullString);

  }

  public static string operator ¦(Formatter lhs, Nullable<DateTime> rhs)

  {

    if (rhs.HasValue)

    {

      return rhs.Value.ToString(lhs._fmt);

    }

    else

    {

      return lhs._nullString;

    }

  }

} // class Formatter


其实就是重载了竖线操作符而已。其实我想重载“<<”来着,可惜 .Net 规定“<<”操作符的右操作数必须是 int,真TNND气死我了,杀死比尔。