<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4963495270953079363</id><updated>2012-02-17T09:09:21.053+08:00</updated><category term='Windows service'/><category term='vba'/><category term='virtualbox'/><category term='.Net2.0'/><category term='other'/><category term='SQL'/><category term='CSS'/><category term='Javascript'/><category term='Game'/><category term='Xorg'/><category term='Postgresql'/><category term='.Net'/><category term='Asp'/><category term='tomcat'/><category term='Hold'/><category term='Java'/><category term='Ajax'/><category term='Web'/><category term='C#'/><category term='YY'/><category term='Access'/><category term='房'/><category term='excel'/><category term='DB'/><category term='随笔'/><category term='XML， XSLT'/><category term='joke'/><category term='archlinux'/><category term='Asp.net'/><category term='Ubuntu'/><category term='eclipse'/><category term='Windows OS'/><title type='text'>的米-漠石's Blog</title><subtitle type='html'>Demi-MoStone's Blog</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>68</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-7644641292938974733</id><published>2009-04-17T15:54:00.003+08:00</published><updated>2009-04-17T16:08:20.075+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tomcat'/><title type='text'>Tomcat JNDI 资源无法创建的问题</title><content type='html'>　　按 tomcat docs 中 Tomcat Standard Resource Factories 的说明，新建了一个 ServerSettings 类，配置内容如下：&lt;br /&gt;           &amp;lt;resource name="bean/ServerSettings" auth="Container" type="com.lingsmm.framework.config.ServerSettingsBean" factory="org.apache.naming.factory.BeanFactory" uploadfilesavepath="/usr/local/nan/uploadFiles" uploadfiletemppath="/usr/local/nan/temp"/&amp;gt;&lt;br /&gt;&lt;br /&gt;将文件打成 war　文件包进行发布，启动服务时，提示无法创建实例，似乎是类工厂无法取到，具体不是很确定。&lt;br /&gt;&lt;br /&gt;改用直接使用绝对路径，指向应用所在目录，启动服务时，打开 /manager/　看到有两个　/ （应用的 path = "/"），状态都是未启动的。&lt;br /&gt;&lt;br /&gt;将系统默认的　"/" 应用删除，重新启动服务，这回可以取得　JNDI 资源对象了。&lt;br /&gt;&lt;br /&gt;虽然解决问题了，但问题的原因却无法找到，感觉很是郁闷，大致看了下 tomcat 6.0.18 的源代码，对于那个 lookup　对应的 binding　，里面的对象是如何生成的，看得有点糊涂，没有深究。不知道有人遇上没，给个解析就好了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-7644641292938974733?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/7644641292938974733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=7644641292938974733' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/7644641292938974733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/7644641292938974733'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2009/04/tomcat-jndi.html' title='Tomcat JNDI 资源无法创建的问题'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-4054762584148663905</id><published>2009-02-09T17:00:00.002+08:00</published><updated>2009-02-09T18:05:39.185+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vba'/><title type='text'>EXCEL VBA Array Define &amp; compile error</title><content type='html'>EXCEL VBA, EXCEL 2003 EN&lt;br /&gt;&lt;br /&gt;VBA1:&lt;br /&gt;dim a(), b() as string&lt;br /&gt;&lt;br /&gt;call func a&lt;br /&gt;&lt;br /&gt;// compile error:&lt;br /&gt;Type mismatch: array or user-defined type expected&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;VBA2:&lt;br /&gt;dim a() as string&lt;br /&gt;dim b() as string&lt;br /&gt;&lt;br /&gt;call func a&lt;br /&gt;&lt;br /&gt;// compile success&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-4054762584148663905?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/4054762584148663905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=4054762584148663905' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4054762584148663905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4054762584148663905'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2009/02/excel-vba-array-define-compile-error.html' title='EXCEL VBA Array Define &amp; compile error'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-303271491409632114</id><published>2009-01-31T16:41:00.002+08:00</published><updated>2009-01-31T16:45:40.706+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='archlinux'/><title type='text'>【翻译】如何使用 X RESOURCES</title><content type='html'>&lt;pre&gt;&lt;br /&gt;翻译的出发点，一是正好在找相关资料，一是，学习英文吧。&lt;br /&gt;本人虽然是PG，但没上过大学，英语也是很差，翻译非常费时，边查单词边造句，太累了。不过感觉对学习英语没有太大帮助吧。&lt;br /&gt;&lt;br /&gt;疑点；&lt;br /&gt;1. Athena 不知道具体是什么，可能是某种软件／硬件平台吧&lt;br /&gt;2. geometry？几何？不知如何翻译。&lt;br /&gt;&lt;br /&gt;来源：&lt;a href="http://web.mit.edu/answers/xwindows/xwindows_resources.html"&gt;http://web.mit.edu/answers/xwindows/xwindows_resources.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;译稿：&lt;br /&gt;如何使用 X RESOURCES&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;● X-RESOURCES 文件是什么？&lt;br /&gt;&lt;br /&gt;用户可以定制程序的外观，使用了 X 资源文件中的条目的 X 接口的程序。在 Athena 上，这个文件叫 .Xresources，为了能够工作，这个文件需要放在用户目录的最上层。定制内容举例来说，包括改变应用程序的 geometry 和尺寸大小，或者程序所用的颜色。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;● 使用 X RESOURCES 我需要知道什么？&lt;br /&gt;&lt;br /&gt;要使用你的 .Xresource 为某个程序定制资源，你首先要知道你想要定制的资源，以及这个程序的实例或类。&lt;br /&gt;&lt;br /&gt;对于使用 X Toolkit intrinsics 编写的程序，其标准资源，请查阅 X 手册；对于程序的特定资源，请查阅该程序的手册。比如：要查找程序 "xterm" 的资源，你可以输入：&lt;br /&gt;&lt;br /&gt; man xterm&lt;br /&gt;&lt;br /&gt;通常，一个 X 程序，它默认的实例就是它的名字，它的类，就是它的名字并且首字母大写，除非它的首字母是 "X"，这种情况下，其前两个字母大写。比如：程序 "xterm" 的实例是 "xterm"，类是 "XTerm"，程序 "mwm"，"mwm" 作为实例，"Mwm" 作为类。&lt;br /&gt;&lt;br /&gt;相对于使用传统方式的程序，不幸的事情是，许多 X 程序是非传统的。如果是这种情况，只要启动有疑问的 X 程序，在 unix 提示符下输入 "xprop"，再然后点击这个程序。比如，在一个 "xterm" 窗口使用 xprop 会得到：&lt;br /&gt;&lt;br /&gt; WM_CLASS(STRING) = "xterm", "XTerm"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;● 我应当如何使用 X RESOURCES?&lt;br /&gt;&lt;br /&gt;在 .Xresources 文件中，条目有多种差异，但，是类似的，格式化的。说明所有的条目太费事。如果你需要比这里所说的更详细的信息，请查阅 X 手册。&lt;br /&gt;&lt;br /&gt;通常，这些条目的形式如下：&lt;br /&gt; class*resource: value&lt;br /&gt; instance*resource: value&lt;br /&gt; class.resource: value&lt;br /&gt; instance.resource: value&lt;br /&gt;&lt;br /&gt;资源设置的第一个元素可以是 "class（类）" 或者 "instance（实例）"。类包含了通过特定程序启动的所有，实例是一个给定特定名称的进程。&lt;br /&gt;&lt;br /&gt;比如，XTerm 是一个类，所有你启动的 xterm，无论如何，他们都由这个类而来（这个类启动的所有资源都将被应用）。然而，你也可以像这样来启动 xterm:&lt;br /&gt;&lt;br /&gt; xterm -name xterm-big&lt;br /&gt;&lt;br /&gt;这个处理将会产生一个 XTerm 类，但是实例却是 xterm-big。&lt;br /&gt;因此，你可以像这样来创建资源：&lt;br /&gt;&lt;br /&gt; XTerm*reverseVideo:         on&lt;br /&gt; xterm*VT100.geometry:     80x24&lt;br /&gt; xterm-big*VT100.geometry: 80x48&lt;br /&gt; xterm-small*VT100.geometry: 80x10&lt;br /&gt;&lt;br /&gt;这样，所有你启动的 xterm 的 reverse video 被设置为 on，但是使用 "-name xterm-big" 选项启动的，拥有一个 geometry，使用 "-name xterm-small" 选项启动的，拥有另一个，而没有指定名称的则默认名称为 xterm，也拥有一个不同的 geometry。（VT100 指明 geometry 用在主文本窗口，而不是菜单或子窗口。）&lt;br /&gt;&lt;br /&gt;资源名称（如上面例子中的 'geometry'）是 X 程序的特定外观属性。拼写资源名称是要小心。只有特定的拼写才正确。比如：'reverseVideo' 和 'ReverseVideo' 作为 xterm 资源而正确地起作用，而不是其它拼写。&lt;br /&gt;&lt;br /&gt;其它例子：&lt;br /&gt;&lt;br /&gt;   oneko*tora:true&lt;br /&gt;&lt;br /&gt;   matlab*reverseVideo: false   ! matlab windows in "reverse video"&lt;br /&gt;&lt;br /&gt;   emacs*Font: 8x13             ! 字体 8x13, 80 列&lt;br /&gt;   emacs*geometry: 80x48+0+0    !  宽的, 48 行高&lt;br /&gt;&lt;br /&gt;   XTerm*scrollBar: on         ! 带滚动条&lt;br /&gt;   XTerm*saveLines: 250         !   保存 250 行回溯&lt;br /&gt;&lt;br /&gt;   XTerm*VT100.geometry:80x48+0+0  ! 仅主窗口 80x48&lt;br /&gt;&lt;br /&gt;在这些例子中，"*" (宽松绑定) 和 "." (严格绑定) 之间的区别是，＊会让资源应用到顶级窗口之内的所有子窗口（像菜单之类），点则只应用到程序的顶级窗口。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;● 其它信息&lt;br /&gt;&lt;br /&gt;－感叹号（!）用来在 .Xresources 文件中注释一行&lt;br /&gt;－实例的优先级比类高。如果你为一个程序使用不同的值同时指定了类和实例，实例的资源将被使用，如：&lt;br /&gt;   xterm*Background: blue&lt;br /&gt;&lt;br /&gt;将被使用，代替：&lt;br /&gt;&lt;br /&gt;   XTerm*Background: green&lt;br /&gt;&lt;br /&gt;－要重新读入 .Xresources 文件，并且抛弃老的资源，你可以输入：&lt;br /&gt;&lt;br /&gt;   xrdb ~/.Xresources&lt;br /&gt;&lt;br /&gt;－要重新读入 .Xresources 文件，并保持原来的资源，输入：&lt;br /&gt;&lt;br /&gt;   xrdb -merge ~/.Xresources&lt;br /&gt;&lt;br /&gt;    这将合并资源到你当前正在使用的资源中。&lt;br /&gt;&lt;br /&gt;－对于 Athena 程序，X 接口程序的默认资源被放在目录 /usr/athena/lib/X11/app-defaults.&lt;br /&gt;&lt;br /&gt;－事实上，你并不需要通过程序的类或实例名称来作定制。比如，如果你想为所有 X 驱动的程序指定相同设置，只要加入：&lt;br /&gt;&lt;br /&gt;   *resource: value&lt;br /&gt;&lt;br /&gt;   到你的 .Xresources 文件中。&lt;br /&gt;&lt;br /&gt;－避免在 .Xresources 文件的头部和尾部出现空格。&lt;br /&gt;&lt;br /&gt;－输入 "attach dotfiles"，查找 /mit/dotfiles/Xresources 目录，你可以找到 Xresource 文件的示例。&lt;br /&gt;&lt;br /&gt;－你可以改变许多使用 -name 选项启动的 X 程序的实例。比如，你如果输入 "xterm -name XT1" 来启动一个 xterm 窗口，那么你可以在你的 .Xresources 文件中使用 "XT1"　来定制资源，就像这样:&lt;br /&gt;&lt;br /&gt;   XT1*Background: yellow&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-303271491409632114?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/303271491409632114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=303271491409632114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/303271491409632114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/303271491409632114'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2009/01/x-resources.html' title='【翻译】如何使用 X RESOURCES'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-4933452048721174154</id><published>2009-01-31T08:39:00.002+08:00</published><updated>2009-01-31T09:06:08.530+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Xorg'/><title type='text'>Xorg 日文键盘，打不出下划线</title><content type='html'>修改配置文件: /etc/X11/xorg.conf&lt;br /&gt;&lt;br /&gt;修改前:&lt;br /&gt;Section "InputDevice"&lt;br /&gt;   Identifier  "Keyboard0"&lt;br /&gt;   Driver      "keyboard"&lt;br /&gt;       Option      "CoreKeyboard"&lt;br /&gt;   Option "XkbRules" "xorg"&lt;br /&gt;   Option "XkbModel" "pc105"&lt;br /&gt;   Option "XkbLayout" "jp106"&lt;br /&gt;   Option "XkbVariant" ""&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;修改后:&lt;br /&gt;Section "InputDevice"&lt;br /&gt;   Identifier  "Keyboard0"&lt;br /&gt;   Driver      "keyboard"&lt;br /&gt;       Option      "CoreKeyboard"&lt;br /&gt;   Option "XkbRules" "xorg"&lt;br /&gt;   Option "XkbModel" "&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;jp106&lt;/span&gt;"&lt;br /&gt;   Option "XkbLayout" "&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;jp&lt;/span&gt;"&lt;br /&gt;   Option "XkbVariant" ""&lt;br /&gt;EndSection&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-4933452048721174154?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/4933452048721174154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=4933452048721174154' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4933452048721174154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4933452048721174154'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2009/01/xorg.html' title='Xorg 日文键盘，打不出下划线'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-8787694435221243189</id><published>2009-01-30T14:36:00.004+08:00</published><updated>2009-01-30T16:29:35.453+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='archlinux'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualbox'/><title type='text'>Archlinux 安装笔记</title><content type='html'>安装环境：&lt;br /&gt;vista + virtualbox 2.1.2(audio: ICH AC97)&lt;br /&gt;&lt;br /&gt;1.基本系统安装&lt;br /&gt;加载启动光盘：archlinux-2008.10-archboot.iso，手工分区&lt;br /&gt;  /boot : 32M&lt;br /&gt;  swap: 512M&lt;br /&gt;  /: 剩余空间&lt;br /&gt;使用 jp106 keymap, ext3 filesystem&lt;br /&gt;&lt;br /&gt;参考 /cdrom/arch/archdoc.txt&lt;br /&gt;&lt;br /&gt;2.从硬盘启动，更新软件包&lt;br /&gt;编辑 /etc/pacman.conf，添加非官方源 &lt;a href="http://mirror.lupaworld.com/archlinux/" class="external free" title="http://mirror.lupaworld.com/archlinux/" rel="nofollow"&gt;http://mirror.lupaworld.com/archlinux/&lt;/a&gt; 速度较快，adsl，大概 150K － 200K 左右。&lt;br /&gt;参考：http://wiki.archlinux.org/index.php/Mirrors&lt;br /&gt;&lt;br /&gt;#pacman -Syu&lt;br /&gt;&lt;br /&gt;3.创建普通用户&lt;br /&gt;#adduser&lt;br /&gt;&lt;br /&gt;4.安装sudo&lt;br /&gt;#pacman -S sudo&lt;br /&gt;#visudo&lt;br /&gt;（添加sudo用户列表）&lt;br /&gt;参考：http://wiki.archlinux.org/index.php/Sudo&lt;br /&gt;&lt;br /&gt;5.安装 Xorg&lt;br /&gt;#pacman -S xorg&lt;br /&gt;参考：http://wiki.archlinux.org/index.php/Xorg&lt;br /&gt;#pacman -S hwd&lt;br /&gt;#hwd -u&lt;br /&gt;#hwd -xa&lt;br /&gt;&lt;br /&gt;6.安装vbox-addition&lt;br /&gt;在虚拟机菜单中，选择 Devices - Install Guest Additions&lt;br /&gt;#mount /dev/cdrom&lt;br /&gt;#cp /media/VBoxLinuxAdditions-x86.run ~/&lt;br /&gt;#pacman -S gcc make&lt;br /&gt;#~/VBoxLinuxAdditions-x86.run&lt;br /&gt;#nano /etc/X11/xorg.conf&lt;br /&gt;找到 ps/2 mouse，将 Driver 修改为 vboxmouse&lt;br /&gt;&lt;br /&gt;7.安装 openbox&lt;br /&gt;参考：http://wiki.archlinux.org/index.php/Openbox&lt;br /&gt;1) #pacman -S openbox&lt;br /&gt;2) 再按照安装提示，复制配置文件到 ~/.config/openbox&lt;br /&gt;3) 编辑 .xinitrc ，添加 exec openbox-session&lt;br /&gt;4) 可编辑 ./config/openbox/autostart.sh 添加自启动项，别忘了在每个命令后加 &amp;amp;&lt;br /&gt;&lt;br /&gt;8.安装 fbpanel&lt;br /&gt;#pacman -S fbpanel&lt;br /&gt;添加到 ~/.config/openbox/autostart.sh&lt;br /&gt;&lt;br /&gt;9.安装 yaourt&lt;br /&gt;#pacman -U http://repo.archlinux.fr/i686/yaourt-0.9.2.4-1.pkg.tar.gz&lt;br /&gt;&lt;br /&gt;10.安装 ibus 输入法&lt;br /&gt;1) 安装 pkg-config，ibus 的 configure 需要它&lt;br /&gt;  下载: http://pkgconfig.freedesktop.org/releases/?C=M;O=D&lt;br /&gt;  #tar zxvf pkg*.tar.gz&lt;br /&gt;  #cd pkg-config...&lt;br /&gt;  #./configure --prefix /usr&lt;br /&gt;  #make&lt;br /&gt;  #make install&lt;br /&gt;2) 安装 ibus-pinyin ibus-table ibus-anthy&lt;br /&gt;3) 将 ibus 添加到 ~/.config/openbox/autostart.sh&lt;br /&gt;4) 设置环境变量，修改文件 ~/.bashrc，添加:&lt;br /&gt;  export XMODIFIERS=@im=ibus&lt;br /&gt;  export GTK_IM_MODULE=ibus&lt;br /&gt;  export QT_IM_MODULE=ibus&lt;br /&gt;5) 重新登录&lt;br /&gt;&lt;br /&gt;11.安装 firefox&lt;br /&gt;1) #pacman -S firefox&lt;br /&gt;2) 安装扩展 user agent switcher，添加 Firefox 3.0.5，设置内容，参考默认值，将 GranParadiso 修改为 Firefox，appName: Firefox/3.0.5&lt;br /&gt;3) 安装 google toolbar&lt;br /&gt;4) 安装 Torbutton&lt;br /&gt;&lt;br /&gt;12.安装 flashplugin&lt;br /&gt;#pacman -S flashplugin&lt;br /&gt;&lt;br /&gt;13.安装 tor&lt;br /&gt;参考:http://wiki.archlinux.org/index.php/Tor&lt;br /&gt;别忘了 forward-socks4a / localhost:9050 . 最后的这个"."&lt;br /&gt;&lt;br /&gt;14.安装文本编辑器 leafpad&lt;br /&gt;#pacman -S leafpad&lt;br /&gt;&lt;br /&gt;15.安装文件管理器 xfe&lt;br /&gt;#pacman -S xfe&lt;br /&gt;&lt;br /&gt;16.设置ALSA&lt;br /&gt;参考：http://wiki.archlinux.org/index.php/ALSA&lt;br /&gt;别忘了确认，最后加载 snd-pcsp。方法是在 /etc/modprobe.conf 中添加：&lt;br /&gt;options snd-pcsp index=2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-8787694435221243189?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/8787694435221243189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=8787694435221243189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8787694435221243189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8787694435221243189'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2009/01/archlinux.html' title='Archlinux 安装笔记'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-8972551919335583652</id><published>2008-10-28T11:41:00.003+08:00</published><updated>2008-10-28T11:52:58.877+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Postgresql'/><title type='text'>在 Postgresql 中使用正则表达式替换</title><content type='html'>例：&lt;br /&gt;select&lt;br /&gt;regexp_replace('wz-001', '^\\D+-|^\\d{2}-|\\D', '', 'g'),&lt;br /&gt;regexp_replace('01-3001', '^\\D+-|^\\d{2}-|\\D', '', 'g'),&lt;br /&gt;regexp_replace('08001-A', '^\\D+-|^\\d{2}-|\\D', '', 'g'),&lt;br /&gt;regexp_replace('8372A', '^\\D+-|^\\d{2}-|\\D', '', 'g'),&lt;br /&gt;regexp_replace('83j3s9', '^\\D+-|^\\d{2}-|\\D', '', 'g');&lt;br /&gt;&lt;br /&gt;结果：&lt;br /&gt;001, 3001, 08001, 8372, 8339&lt;br /&gt;&lt;br /&gt; 补空例：&lt;br /&gt;select&lt;br /&gt;lpad('329', 10, '0'),&lt;br /&gt;lpad('93', 10, '0');&lt;br /&gt;&lt;br /&gt;结果：&lt;br /&gt;0000000329, 0000000093&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-8972551919335583652?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/8972551919335583652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=8972551919335583652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8972551919335583652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8972551919335583652'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2008/10/postgresql.html' title='在 Postgresql 中使用正则表达式替换'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-2385536019250670726</id><published>2008-10-22T11:16:00.003+08:00</published><updated>2008-10-22T11:45:00.417+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>Eclipse 的代码折叠</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ztYZmxCjHw0/SP6hLM_WEQI/AAAAAAAABqw/cJCiBPhhFNw/s1600-h/codeFoldingSetting.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_ztYZmxCjHw0/SP6hLM_WEQI/AAAAAAAABqw/cJCiBPhhFNw/s320/codeFoldingSetting.jpg" alt="" id="BLOGGER_PHOTO_ID_5259818628652863746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    在使用 webwork 的过程中，为了接收表单参数，而需要在 action 中写一堆的 setter, getter，这些代码与业务逻辑代码混在一起，看着有些令人生厌。Java 不能像 C# 支持一个类可以拆分成多个文件，如果使用 modelDriven，创建实际并不存在的中间对象，似乎有些别扭；或者再创建一个基类，但也不太理想。除此之外，或许将代码折叠，眼不见为净倒是不错的选择。&lt;br /&gt;    "Coffee-Bytes Code Folding Plugin"，就是这样一个 eclipse 插件，但按官方的安装方法， eclipse 更新程序取不到其提供的网站内容，无法安装。可以到 csdn 的资源上找找，有朋友提供了下载。&lt;br /&gt;安装完成后，在设置中，更改默认的 folding 选项，选择此插件，重新打开 java 文件，应该可以看到 if 等也可以折叠了。&lt;br /&gt;     如果想要类似于 C# 中的 #region 效果，则需要打开 User defined regions 选项。&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ztYZmxCjHw0/SP6gEzlcItI/AAAAAAAABqo/qNIKYxEijSs/s1600-h/codeFolding.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_ztYZmxCjHw0/SP6gEzlcItI/AAAAAAAABqo/qNIKYxEijSs/s320/codeFolding.jpg" alt="" id="BLOGGER_PHOTO_ID_5259817419242480338" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-2385536019250670726?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/2385536019250670726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=2385536019250670726' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/2385536019250670726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/2385536019250670726'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2008/10/eclipse.html' title='Eclipse 的代码折叠'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ztYZmxCjHw0/SP6hLM_WEQI/AAAAAAAABqw/cJCiBPhhFNw/s72-c/codeFoldingSetting.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-3258780180583770929</id><published>2008-09-23T14:51:00.003+08:00</published><updated>2008-09-23T15:02:45.093+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Java 中，+ 号连接的多行文本，与单行文本的有区别吗？</title><content type='html'>在代码编写中，经常会有一长串的文本，为了阅读方便，一般是以多行输入的。在 C# 中，可以使用 @ 符来指定这是一个多行文本块，但是在 Java 中，并没有找到类似的语言特性，所以我只能用 + 号来连接多行文本，并以为这与单行文本，最终的处理方式是不一样的，会浪费 CPU 资源，进行字符串拼接。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;如下面的代码：&lt;br /&gt;&lt;pre style="color: blue;"&gt;&lt;br /&gt;   public ArrayList&lt;enterprisebean&gt; getPage(EnterpriseForm formBean, Integer pageNo) throws Exception{&lt;br /&gt;       ArrayList&lt;enterprisebean&gt; result = new ArrayList&lt;enterprisebean&gt;();&lt;br /&gt;       // SQL文&lt;br /&gt;       SQLBuilder sql = new SQLBuilder("SELECT id, code, category, name, phone1, fax1, phone2, fax2, " +&lt;br /&gt;               "email, url, address, keyword, " +&lt;br /&gt;               "bank_name1, bank_account1, bank_account_name1, " +&lt;br /&gt;               "bank_name2, bank_account2, bank_account_name2, " +&lt;br /&gt;               "bank_name3, bank_account3, bank_account_name3, " +&lt;br /&gt;               "contact1_name, contact1_phone1, contact1_phone2, contact1_phs, " +&lt;br /&gt;               "contact1_mobile1, contact1_mobile2, contact1_email, " +&lt;br /&gt;               "contact1_qq, contact1_msn, contact1_skype, " +&lt;br /&gt;               "contact2_name, contact2_phone1, contact2_phone2, contact2_phs, " +&lt;br /&gt;               "contact2_mobile1, contact2_mobile2, contact2_email, " +&lt;br /&gt;               "contact2_qq, contact2_msn, contact2_skype, " +&lt;br /&gt;               "contact3_name, contact3_phone1, contact3_phone2, contact3_phs, " +&lt;br /&gt;               "contact3_mobile1, contact3_mobile2, contact3_email, " +&lt;br /&gt;               "contact3_qq, contact3_msn, contact3_skype, " +&lt;br /&gt;               "memo, " +&lt;br /&gt;               "regist_user_id, regist_time, update_user_id, update_time " +&lt;br /&gt;               "FROM enterprise");&lt;br /&gt;&lt;/enterprisebean&gt;&lt;/enterprisebean&gt;&lt;/enterprisebean&gt;&lt;/pre&gt;&lt;br /&gt;但是一想，编译器难道不会作优化处理么？&lt;br /&gt;为了验证，使用 jadnt158 进行了反编译，验证了这个想法。&lt;br /&gt;结果不出所料，从而可以没有顾虑地使用多行字符串了。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;上面代码反编译后的结果：&lt;br /&gt;&lt;pre style="color: blue;"&gt;&lt;br /&gt;   public ArrayList getPage(EnterpriseForm formBean, Integer pageNo)&lt;br /&gt;       throws Exception&lt;br /&gt;   {&lt;br /&gt;       ArrayList result = new ArrayList();&lt;br /&gt;       SQLBuilder sql = new SQLBuilder("SELECT id, code, category, name, phone1, fax1, phone2, fax2, email, url, address, keyword, bank_name1, bank_account1, bank_account_name1, bank_name2, bank_account2, bank_account_name2, bank_name3, bank_account3, bank_account_name3, contact1_name, contact1_phone1, contact1_phone2, contact1_phs, contact1_mobile1, contact1_mobile2, contact1_email, contact1_qq, contact1_msn, contact1_skype, contact2_name, contact2_phone1, contact2_phone2, contact2_phs, contact2_mobile1, contact2_mobile2, contact2_email, contact2_qq, contact2_msn, contact2_skype, contact3_name, contact3_phone1, contact3_phone2, contact3_phs, contact3_mobile1, contact3_mobile2, contact3_email, contact3_qq, contact3_msn, contact3_skype, memo, regist_user_id, regist_time, update_user_id, update_time FROM enterprise");&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-3258780180583770929?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/3258780180583770929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=3258780180583770929' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/3258780180583770929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/3258780180583770929'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2008/09/java.html' title='Java 中，+ 号连接的多行文本，与单行文本的有区别吗？'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-8890219380475679943</id><published>2008-09-22T22:16:00.003+08:00</published><updated>2008-09-22T22:37:24.129+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='other'/><title type='text'>偶见汉字[ "的" "地" "得"] 的讨论</title><content type='html'>上网浏览时，发现这些网友评论好有趣，虽然说离题万里，倒也是令人受教了。&lt;br /&gt;比如下面这个（来源:&lt;a href="http://www.cnbeta.com/articles/65289.htm"&gt;http://www.cnbeta.com/articles/65289.htm&lt;/a&gt;）&lt;br /&gt;&lt;br /&gt;&lt;div style="border: 1px solid gray;"&gt;&lt;br /&gt;&lt;fieldset&gt;   &lt;legend&gt; 引用匿名人士发表于2008-09-22 14:42:40的评论:&lt;/legend&gt;  &lt;div&gt;  &lt;fieldset&gt;   &lt;legend&gt; 引用webbe发表于2008-09-22 14:23:32的评论:&lt;/legend&gt;  &lt;div&gt;  &lt;fieldset&gt;   &lt;legend&gt; 引用匿名人士发表于2008-09-22 13:53:04的评论:&lt;/legend&gt;  &lt;div&gt;  &lt;fieldset&gt;   &lt;legend&gt; 引用webbe发表于2008-09-22 13:30:49的评论:&lt;/legend&gt;  &lt;div&gt;  用Windows7画图工具的我得意的飘过。。。&lt;/div&gt;     &lt;/fieldset&gt;  第二个“的”，应该是“地”，“飘过”属于动词。&lt;/div&gt;     &lt;/fieldset&gt; 不巧西厢记有同类例：《西厢记诸宫调》(卷六):平生踪迹无定着，如断蓬。听塞鸿，哑哑的飞过暮云重。 不巧我是学汉语言文学的；不巧我导师又是吕叔湘的学生；不巧吕叔湘又主张“的”“地”合并；不巧又有杨秀君、李赓钧、田小琳、倪宝元、鞠复信等学者支持这 个观点；不巧1984年发布了《中学教学语法系统提要(试用)》中提倡不分“的”、“地”，都用“的”字；不巧我正好生在1986年就接受了这个教 育。。。太多的不巧了。 &lt;/div&gt;     &lt;/fieldset&gt;  我95年小学毕业，当时老师对“地的得”三字的用法还强调的十分厉害，作文用错要扣分，何解楼上的86年通用的？难道九几年又改成不能通用了？但据说现在已经可以通用了，难道又改了？&lt;/div&gt;     &lt;/fieldset&gt;  &lt;dd class="re_detail"&gt; “的”对于“地”“得”两字的合并从上世纪末就一直在学术界大讨论了。作为一种文化科学，是没有绝对的真理这种说法的，也就是说其实语言这种东西一直在随 着使用习惯的变化而不断变化，看看古代汉语到现代汉语的变化就能知道。所以一个字怎么用，可能在某几年是一定的，但是一旦有争议的话，则很可能发生变化。 对于这三个“的”“地”“得”，其实至今没有定论。小学的强调是为了能让孩子更好的掌握语法结构把握句子的意思，突出强调的内容。譬如“严厉的批评是必要 的”和“严厉地批评是必要的”，两句话都是正确的，但是因为助词“的”与“地”的不同所以强调的点不同，前者倾向于强调“批评”这一行为的必要，而后者倾 向于强调批评的程度——“严厉”的必要。 但是语言毕竟是一种工具，还是来用的，规范有规范的必要，但是一味的讲究规范而否定发展变化就是不对的，因此过分强调用法的行为只会在小学打基础的时候。 所以也就有了你说的一会儿强调一会儿又不强调的情况。 但这三个字也并不是所谓的“通用”，而是“的”作为助词的时候能在不给句子造成歧异的情况下能替代“地”与“得”，用通俗点的话来说就是现在这三个字不是 各管三分之一了，而是现在“的”范围变大了，能涵盖一部分的“地”和“得”了。 其实我们导师说的是，在一个结构你很把握不准的情况下，用“的”的话正确率一般会在75％以上。 《中学教学语法系统提要(试用)》是确实存在的，只是在可以不分但是分的话更利于学生、孩子掌握语句的情况下，多数小学的老师还是选择了强调分。仅此而 已。&lt;/dd&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-8890219380475679943?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/8890219380475679943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=8890219380475679943' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8890219380475679943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8890219380475679943'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2008/09/blog-post.html' title='偶见汉字[ &quot;的&quot; &quot;地&quot; &quot;得&quot;] 的讨论'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-5938564469598940416</id><published>2008-09-19T20:24:00.003+08:00</published><updated>2008-09-19T20:39:37.521+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='excel'/><category scheme='http://www.blogger.com/atom/ns#' term='vba'/><title type='text'>Excel add-in 备忘</title><content type='html'>两项机能：&lt;br /&gt;&lt;br /&gt;1、自动添加工具栏按钮，文档关闭时，自动删除所添加的工具栏按钮&lt;br /&gt;2、点击按钮图标，执行模块(Module)中的宏机能&lt;br /&gt;&lt;br /&gt;注：在取得工具栏对象时，如果指定名称的工具栏不存在，会报错。下面代码的处理是对工具栏集合进行遍历，判断是否存在，当然，也可以直接使用异常处理(on error goto)来进行判断。&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;代码1(ThisWorkBook)：&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Option Explicit&lt;br /&gt;Const toolbarCaption As String = "MyToolbar"&lt;br /&gt;Const onActionString As String = "autoAdjust"&lt;br /&gt;&lt;br /&gt;Private Sub Workbook_Open()&lt;br /&gt;   Dim toolbar As CommandBar&lt;br /&gt; &lt;br /&gt;   Set toolbar = getCommandBar(toolbarCaption)&lt;br /&gt;   If toolbar Is Nothing Then&lt;br /&gt;       Set toolbar = Application.CommandBars.Add(Name:=toolbarCaption)&lt;br /&gt;       toolbar.Visible = True&lt;br /&gt;   End If&lt;br /&gt; &lt;br /&gt;   With toolbar.Controls.Add(Type:=msoControlButton, Before:=1)&lt;br /&gt;       .Caption = "Auto Adjust"&lt;br /&gt;       .TooltipText = "Run Auto Adjust"&lt;br /&gt;       .OnAction = onActionString&lt;br /&gt;       ThisWorkbook.Worksheets(1).Shapes(1).Copy&lt;br /&gt;       .PasteFace&lt;br /&gt;   End With&lt;br /&gt; &lt;br /&gt;   Set toolbar = Nothing&lt;br /&gt; &lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Sub Workbook_BeforeClose(Cancel As Boolean)&lt;br /&gt;   Dim toolbar As CommandBar&lt;br /&gt;   Dim i As Integer&lt;br /&gt; &lt;br /&gt;   Set toolbar = getCommandBar(toolbarCaption)&lt;br /&gt;   If toolbar Is Nothing Then&lt;br /&gt;       Exit Sub&lt;br /&gt;   End If&lt;br /&gt; &lt;br /&gt;   For i = 1 To toolbar.Controls.Count&lt;br /&gt;       With toolbar.Controls(i)&lt;br /&gt;           If .OnAction = "'" &amp;amp; ThisWorkbook.Path &amp;amp; "\" &amp;amp; ThisWorkbook.Name &amp;amp; "'!" &amp;amp; onActionString Then&lt;br /&gt;               .Delete&lt;br /&gt;               Exit For&lt;br /&gt;           End If&lt;br /&gt;       End With&lt;br /&gt;   Next i&lt;br /&gt; &lt;br /&gt;   If toolbar.Controls.Count = 0 Then&lt;br /&gt;       toolbar.Delete&lt;br /&gt;       Set toolbar = Nothing&lt;br /&gt;   End If&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Private Function getCommandBar(barCaption As String)&lt;br /&gt;   Dim i As Integer&lt;br /&gt; &lt;br /&gt;   For i = Application.CommandBars.Count To 1 Step -1&lt;br /&gt;       If Application.CommandBars(i).Name = barCaption Then&lt;br /&gt;           Set getCommandBar = Application.CommandBars(i)&lt;br /&gt;           Exit Function&lt;br /&gt;       End If&lt;br /&gt;   Next i&lt;br /&gt; &lt;br /&gt;   Set getCommandBar = Nothing&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;代码2(Module)：&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Option Explicit&lt;br /&gt;&lt;br /&gt;Sub autoAdjust()&lt;br /&gt;   Dim formulaString As String&lt;br /&gt;   Dim i As Integer&lt;br /&gt;   Dim sheet As Worksheet&lt;br /&gt; &lt;br /&gt;   Set sheet = ActiveSheet&lt;br /&gt; &lt;br /&gt;   'addjust column&lt;br /&gt;   sheet.Columns("E:Z").ColumnWidth = 8&lt;br /&gt;   sheet.Columns("G:G").Delete Shift:=xlToLeft&lt;br /&gt;   sheet.Columns("H:H").Delete Shift:=xlToLeft&lt;br /&gt;   sheet.Columns("I:J").Delete Shift:=xlToLeft&lt;br /&gt;   sheet.Columns("J:J").Delete Shift:=xlToLeft&lt;br /&gt; &lt;br /&gt;   ' unmerge&lt;br /&gt;   Dim mergeCells, cell As Range&lt;br /&gt;   Dim formula As Variant&lt;br /&gt;   Dim iRow, iCol As Integer&lt;br /&gt; &lt;br /&gt;   For iRow = 3 To 100&lt;br /&gt;       For iCol = 1 To 15&lt;br /&gt;           Set cell = sheet.Cells(iRow, iCol)&lt;br /&gt;           If cell.mergeCells Then&lt;br /&gt;               Set mergeCells = cell.MergeArea&lt;br /&gt;               cell.UnMerge&lt;br /&gt;               formula = cell.formula&lt;br /&gt;               mergeCells.Cells.formula = formula&lt;br /&gt;           End If&lt;br /&gt;       Next iCol&lt;br /&gt;   Next iRow&lt;br /&gt; &lt;br /&gt;   'split size&lt;br /&gt;   'size formula format: =length * width * height&lt;br /&gt;   Dim lst() As String&lt;br /&gt;   For i = 3 To 100&lt;br /&gt;       formulaString = sheet.Cells.Item(i, "I").formula&lt;br /&gt;       If Len(formulaString) &gt; 1 Then&lt;br /&gt;           lst = Split(Mid(formulaString, 2), "*")&lt;br /&gt;           If UBound(lst) &lt;&gt; 2 Then&lt;br /&gt;               With sheet.Range(sheet.Cells.Item(i, "I"), sheet.Cells.Item(i, "L"))&lt;br /&gt;                   .formula = formulaString&lt;br /&gt;                   .Interior.ColorIndex = 3&lt;br /&gt;                   .Interior.Pattern = xlSolid&lt;br /&gt;               End With&lt;br /&gt;           Else&lt;br /&gt;               sheet.Cells.Item(i, "J") = lst(0)    'length&lt;br /&gt;               sheet.Cells.Item(i, "K") = lst(1)    'width&lt;br /&gt;               sheet.Cells.Item(i, "L") = lst(2)    'height&lt;br /&gt;           End If&lt;br /&gt;       End If&lt;br /&gt;   Next i&lt;br /&gt; &lt;br /&gt;   sheet.Columns("I:I").Delete Shift:=xlToLeft&lt;br /&gt;   sheet.Columns("A:B").Insert Shift:=xlToRight&lt;br /&gt; &lt;br /&gt;   sheet.Range("A3:A100") = Split(ActiveWorkbook.Name, ".")(0)&lt;br /&gt;   sheet.Range("B3") = 1&lt;br /&gt;   Range("B4").FormulaR1C1 = "=R[-1]C + 1"&lt;br /&gt;   Range("B4").AutoFill Destination:=Range("B4:B96"), Type:=xlFillDefault&lt;br /&gt;   Range("B3").Select&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;(完)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-5938564469598940416?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/5938564469598940416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=5938564469598940416' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/5938564469598940416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/5938564469598940416'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2008/09/excel-add-in.html' title='Excel add-in 备忘'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-2780952473344818769</id><published>2008-06-16T21:19:00.002+08:00</published><updated>2008-06-16T21:21:56.117+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='other'/><title type='text'>佳的美(GADMEI) UTV 380 在 XP SP3 上安装驱动</title><content type='html'>升级了 SP3，无法安装电视棒的驱动程序了，提示要先安装 SP2。&lt;br /&gt;驱动安装程序是使用 install shield 打包的，可以解压缩驱动程序包，使用 inf 文件，windows xp 自动安装。&lt;br /&gt;&lt;br /&gt;1.下载 install shield cab 解压缩工具 i6comp&lt;br /&gt;下载地址：http://hobbes.nmsu.edu/cgi-bin/h-viewer?sh=1&amp;fname=/pub/os2/win32os2/i6comp020.zip&lt;br /&gt;&lt;br /&gt;2.将下载的工具 i6comp020.zip 解压缩到任意文件夹&lt;br /&gt;&lt;br /&gt;3.将 UTV 380 的驱动文件安装目录下的 driver\install\ 的所有文件复制到上面的文件夹中的 Release 的下级文件夹中&lt;br /&gt;&lt;br /&gt;4.在开始菜单中，选择运行，输入命令： cmd，打开 Dos 命令窗口&lt;br /&gt;&lt;br /&gt;5.在 Dos 窗口输入命令, []内为说明，无需输入，每行输入结束，按回车键&lt;br /&gt;cd M:\i6comp020\Release         [将 M:\i6comp020 改为你解的文件夹]&lt;br /&gt;i6comp e data1.cab&lt;br /&gt;i6comp e data2.cab&lt;br /&gt;&lt;br /&gt;6.插入电视棒，系统提示找到新硬件，点击浏览按钮，打开刚才驱动解压出来的文件夹，点击 OK，一路继续。&lt;br /&gt;&lt;br /&gt;7.安装应用程序。&lt;br /&gt;&lt;br /&gt;其实，造成无法安装的原因，我想是驱动安装程序将系统环境设置死了，如果是有意为之，那是太细心了，未来没测试过的平台，就不给安装了。如果不是，那是有点粗心了，或是思维定势？&lt;br /&gt;&lt;br /&gt;不管怎么说，我按上面的方法安装后，并没有发现使用与 SP2 有任何差别，况且，听说 SP3 也就是收集了 SP2 之后的补丁而已，并没有什么大的改变。&lt;br /&gt;&lt;br /&gt;令人遗憾的是，在官方论坛上，却迟迟没有发布新的驱动程序安装包，如果不是管理问题，那只能说,对客户实在是不敬。因为，在我看来，改一下安装包，只不过是在判断条件上，多加一个 OR 而已：&lt;br /&gt;if (systemEv != sp2 || systemEv != sp3){&lt;br /&gt;  alert("请安装SP2.")&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;在 ubuntu 8.04 中，安装了 v4l2 后，使用 card=37(UTV330)，检索不到频道，看频段，55M~900M，应该是正确的吧。改为 card = 6，则提示无法设置频率，可能因为代码中没定义 turn。v4l2 的代码，没精力和时间去研究，只能遗憾放弃，看电视，还是重启到 xp 了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-2780952473344818769?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/2780952473344818769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=2780952473344818769' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/2780952473344818769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/2780952473344818769'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2008/06/gadmei-utv-380-xp-sp3.html' title='佳的美(GADMEI) UTV 380 在 XP SP3 上安装驱动'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-3725461699760759086</id><published>2008-02-10T13:47:00.000+08:00</published><updated>2008-02-10T14:20:24.717+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='other'/><title type='text'>注意安全</title><content type='html'>总是很容易粗心大意，做事不够严谨，一般来说，这不会有太大的后果，但涉及到安全问题，还是不能太随便。&lt;br /&gt;  年前，为了方便，在厨房加装一个插座。这对于我来说，是很平常的事。准备了线材，工具等就开工了。第一步，当然是拉闸断电；第二步是爬上天花板，走暗线；第三步是并上电源线，第四步是安装多用插座。在打开多用插座后，发现里面少了枚螺丝，不想再去弄一只，于是打算直接穿线后拧死。事情就在这时发生了，当我直接用手去穿线时，天哪，我被结结实实地电着了！忙乱中，使劲地甩手，当我下来时，手被多用插座的铜片划出了N道血口，但还不如被电击时那浑身震颤的难受滋味，这在我N次被电的记录中，是最为严重的一次，可能与我捏实了电线有关系吧，这次电下来，半天才回过神来。&lt;br /&gt;  追查原因是，家里竟然有两处电闸！我断的是与厨房无关的那只，天哪，太恐怖了！&lt;br /&gt;&lt;br /&gt;  这次的教训是非常“沉重”的，分析了我的处理流程，有多处马虎的地方：&lt;br /&gt;1、这是在老丈人家，由于刚翻修过房子，电路被重新改过，而我却不知情。照理，在断电后，应当进行确认，尤其是在别人布的线路上作业时。如果当时我开灯，或是用电笔进行测试，就会在第一时间发现这个问题。&lt;br /&gt;2、为了安全起见，应该小心地以假想带电模式下进行操作。如电源并接应当在连接终端完成之后来做，而我却是先连接电源，然后再安装多用插座。（连接电源其实是做了个插头，接到一处插座上，因此没有发生触电）连接插座时，发现少了一枚螺丝，最好还是重新换一个，因为直接拧线连接，有可能会造成连接不可靠，在接入大功率设备时（如电炉等几千瓦的加热器），容易产生电弧发热，留下火灾的安全隐患。&lt;br /&gt;&lt;br /&gt;  还好，没有造成更严重的结果，真是万幸，安全一定要注意啊。&lt;br /&gt;  还有象插头制作，一定要考虑连接线头是不是牢固可靠，线头是不是压实了，或是考虑打个结，不要简单一接了事，不是每个人，每一次都会老老实实地握住插头来拨电线的，万一拉出一根线来，可就危险了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-3725461699760759086?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/3725461699760759086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=3725461699760759086' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/3725461699760759086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/3725461699760759086'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2008/02/blog-post.html' title='注意安全'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-6958424135143701368</id><published>2008-01-23T21:32:00.000+08:00</published><updated>2008-01-24T21:14:12.375+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='tomcat'/><title type='text'>eclipse3.3 + tomcat5.5.25 启动web服务器错误</title><content type='html'>在启动tomcat5.5服务器时出错,提示:&lt;br /&gt;atalina.startup.Bootstrap  start&lt;br /&gt;java.lang.ClassNotFoundException: org.apache.catalina.startup.Catalina&lt;br /&gt;        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)&lt;br /&gt;        at java.security.AccessController.doPrivileged(Native Method)&lt;br /&gt;        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)&lt;br /&gt;        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)&lt;br /&gt;        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)&lt;br /&gt;        at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:222)&lt;br /&gt;        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:410)&lt;br /&gt;&lt;br /&gt;eclipse3.3启动器生成的命令是:&lt;br /&gt;M:\Application\Java\jdk1.5.0_14\bin\javaw.exe -Dcatalina.base=M:\Mostone.Personal\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0 -Dcatalina.home=M:\Application\apache-tomcat-5.5.25 -Dwtp.deploy=M:\Mostone.Personal\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps -Djava.endorsed.dirs=M:\Application\apache-tomcat-5.5.25\common\endorsed -classpath M:\Application\apache-tomcat-5.5.25\bin\bootstrap.jar;M:\Application\Java\jdk1.5.0_14\lib\tools.jar org.apache.catalina.startup.Bootstrap start&lt;br /&gt;&lt;br /&gt;最终找到原因是:catalina.base不正确而找不到tomcat的lib目录下那些jar文件,如:apache-tomcat-5.5.25\server\lib\catalina.jar等,启动失败.&lt;br /&gt;&lt;br /&gt;关于catalina.base和catalina.home这两个参数的描述,我在apache-tomcat-5.5.25\bin\catalina.bat中找到的相关信息是:&lt;br /&gt;rem   CATALINA_HOME   May point at your Catalina "build" directory.&lt;br /&gt;rem&lt;br /&gt;rem   CATALINA_BASE   (Optional) Base directory for resolving dynamic portions&lt;br /&gt;rem                   of a Catalina installation.  If not present, resolves to&lt;br /&gt;rem                   the same directory that CATALINA_HOME points to.&lt;br /&gt;catalina.home应该是Application所在目录,catalina.base是tomcat的安装目录,如果省略catalina.base参数,则使用catalina.home作为tomcat的安装目录.&lt;br /&gt;&lt;br /&gt;将VM参数的-Dcatalina.base与-Dcatalina.home互换,启动成功,但eclipse IDE环境下的Server project中配置文件 server.xml 不能载入,载入的是tomcat目录下的 server.xml,影响eclipse自动发布.&lt;br /&gt;&lt;br /&gt;我不确定,出现这个问题与安装tomcat是否有关.我的环境是:&lt;br /&gt;OS: Windows XP Pro&lt;br /&gt;JDK: jkd1.5-14(只安装了开发包,PATH变量是手工加的)&lt;br /&gt;tomcat: 5.5.25(下载的是zip包,而不是service安装包)&lt;br /&gt;&lt;br /&gt;tomcat解压后,startup成功,但eclipse缺省下run on server出现以上问题,不知道在直接安装service版tomcat情况下是否能成功启动。&lt;br /&gt;&lt;br /&gt;时间不早了,昨天没睡好,今晚早点睡,改天折腾吧.&lt;br /&gt;&lt;br /&gt;(续上)&lt;br /&gt;今天无意打开Server project目录下的文件，发现catalina.policy和catalina.properties中有运行环境的设置，才猛然想起，这些文件被我覆盖过。因为原来用的是tomcat 6.0，我改过server.xml。&lt;br /&gt;&lt;br /&gt;将Servers project删除，重新建立，这次再运行，一切OK。&lt;br /&gt;&lt;br /&gt;费了这么多时间，真是冤枉啊，太郁闷了，未能快速找出错误的解决方法，是我不了解eclipse启动的背后，不知道从哪里入手查找问题，不过，翻看E文文档资料，对于我来说还是件难事。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-6958424135143701368?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/6958424135143701368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=6958424135143701368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/6958424135143701368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/6958424135143701368'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2008/01/eclipse33-tomcat5525-web.html' title='eclipse3.3 + tomcat5.5.25 启动web服务器错误'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-7225058680505500336</id><published>2007-10-08T10:01:00.000+08:00</published><updated>2007-10-08T10:14:07.350+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='other'/><title type='text'>“萝莎”台风</title><content type='html'>十一后的第一天上班时间，起床后，雨挺大的，但没有收到不上班的通知，只好持伞出门。才走几步，转上大路，竟然全是积水，风又大，很多人把鞋子拿在手上，光脚行走。我的裤子也早就被风雨吹湿了，鞋子自是更不用说。好不容易到了公司，竟然就两个人！着湿漉漉的鞋子，被打混的裤子紧贴着大腿，下身犹如刚从水里捞上来似的，甭提有多难受了。在公司里实在坐不了几分钟，想想反正也没什么人，得，回去换身衣服，在家休息好了。&lt;br /&gt;  回去的路上，从马路的另一侧走，才发现，路边的小河已经漫到岸上了，河沿边的长椅，已经被水没过了椅面，水下是青青的绿草，太夸张了，看来杭州的泄洪能力实在是不堪台风的蹂躏啊。&lt;br /&gt;  回家上QQ，发现其它公司很多人都收到通知不上班了，哎，真不厚道啊，我们没有 :-(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-7225058680505500336?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/7225058680505500336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=7225058680505500336' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/7225058680505500336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/7225058680505500336'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/10/blog-post.html' title='“萝莎”台风'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-2823101929184600220</id><published>2007-08-01T20:05:00.000+08:00</published><updated>2007-08-01T20:14:32.964+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='other'/><title type='text'>生病了？自己吓自己！</title><content type='html'>身体不舒服，不一定是生病了，有时，是心理作用。&lt;br /&gt;  这段时间，感觉胸口闷，心脏不舒服，吓坏了，今天上医院（上海仁济医院[东部]），O，GOD。人山人海！昨天晚上去急诊，也是人山人海，楞给吓回来了，后来11点钟打电话去问，说还有N多人。&lt;br /&gt;  进了医院，由于急诊时给我的是内科，一大早我也挂了个内科，等了一个小时多，终于轮到了，结果没问几句，要我改挂心内科，郁闷啊，又是漫长的等待。。。&lt;br /&gt;  后来又是心电图，又是胸透，均查无异常，最终结论：自己吓自己的。&lt;br /&gt;&lt;br /&gt;  敲键盘的，长时间保持一个姿势，又缺少锻炼，身体本来就很虚，疲劳或是没休息好，有个不适感很正常，可是老被人说太“瘦”，没精神，又有“胃出血”的既往病史，消化一直不太好，以至于心理上有了“阴影”，总以为自己有个什么不好的病。。。。&lt;br /&gt;&lt;br /&gt;  还好，没事就好，呵呵，保持开朗的心情最重要！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-2823101929184600220?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/2823101929184600220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=2823101929184600220' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/2823101929184600220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/2823101929184600220'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/08/blog-post.html' title='生病了？自己吓自己！'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-247925144680585794</id><published>2007-07-24T09:01:00.000+08:00</published><updated>2007-07-24T09:08:57.612+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='other'/><title type='text'>十年同学会</title><content type='html'>7/21，老班长组织了我们高中的十年同学会，还请了当时的班主任及几位任课老师。&lt;br /&gt;  比预想的人数要多，本以为有一半就不错了，但那天来了近五十多位同学（我们班是两个理科慢班的合集，总人数好象是64）。看来，慢班也有好处，大部分同学依然在家乡，容易聚在一起，不象快班，基本上都散落在全国各地了，甚至好些在国外了。&lt;br /&gt;  象我这么瘦的，也有两三，哈哈哈，颇为慰藉啊。当然，也有好些个本就不瘦的，现在更胖了。得盯着那张脸看上半天，才能与昔日的形象对上！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-247925144680585794?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/247925144680585794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=247925144680585794' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/247925144680585794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/247925144680585794'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/07/blog-post_24.html' title='十年同学会'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-3903694856724480445</id><published>2007-07-18T07:59:00.000+08:00</published><updated>2007-07-24T09:00:14.527+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='other'/><title type='text'>mp4 3gp 视频格式转换</title><content type='html'>新入手了一台双模手机：大唐DT508,支持GSM和小灵通。&lt;br /&gt;  国产的手机，品质不怎么样，倒是杂七杂八的功能N多。其中就支持MP4，3GP媒体格式。于是也将手头的一些影片给转成MP4，但怎么试都不行，要么有图象没声音，要么就给个“格式不支持”。&lt;br /&gt;  最后，找了个Total Video Converter 2.603，转换成3gp格式，使用默认设置生成的文件，可以正常播放，但品质较差。尝试将视频比特率设为原比特率后，品质好多了，不过，生成的MP4，倒是死活不能成功播放，不知是什么原因。&lt;br /&gt;  另外有款开源软件：Media Coder，功能要强大很多，但具体设置比较复杂，必须得有相关的背景知识，象比特率，画面大小，每种格式都有自己的标准，不是随便设就可以的，但输出AVI格式的，一般来说没问题，那倒是可以用这款软件来做前期处理，如拆分，合并，声音，画面处理等。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-3903694856724480445?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/3903694856724480445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=3903694856724480445' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/3903694856724480445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/3903694856724480445'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/07/mp4-3gp.html' title='mp4 3gp 视频格式转换'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-8313946806139836810</id><published>2007-07-07T06:52:00.000+08:00</published><updated>2007-07-07T07:08:24.966+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>C#2.0 首次使用匿名方法</title><content type='html'>从知道C#2.0引入了匿名方法后，这还是首次使用:-)&lt;br /&gt;goodsIDs是List&amp;lt;int&amp;gt;，为了拼接SQL文，使用String.Join方法，可遗憾的是，它只支持字符型数组，在不想写个循环的情况下，选择使用Array的转换方法，但它需要一个委托方法来进行类型转换。本就想省事，当然也不想新建一个方法，于是想到了匿名方法，由此有了第一次体验，呵呵，感觉挺有趣的，和JavaScript的prototype指定一个无名称的function差不多。&lt;br /&gt;&lt;br /&gt;            // 生成SQL文&lt;br /&gt;            sql.AppendLine("UPDATE LINGS_GOODS");&lt;br /&gt;            sql.AppendLine("    SET LINKID=0");&lt;br /&gt;            sql.AppendLine(&lt;br /&gt;                String.Format("ID IN (@GOODSID{0})",&lt;br /&gt;                    String.Join(",@GOODSID",&lt;br /&gt;                    goodsIDs.ConvertAll&amp;lt;string&amp;gt;(new Converter&amp;lt;int,string&amp;gt;(&lt;span style="color:red"&gt;delegate(int value) { return value.ToString(); }&lt;/span&gt;)).ToArray())),&lt;br /&gt;                true);&lt;br /&gt;&lt;br /&gt;不过，最终也没有使用匿名方法，因为想起来框架中有现成的转换方法可用：&lt;br /&gt;            // 生成SQL文&lt;br /&gt;            sql.AppendLine("UPDATE LINGS_GOODS");&lt;br /&gt;            sql.AppendLine("    SET LINKID=0");&lt;br /&gt;            sql.AppendLine(&lt;br /&gt;                String.Format("ID IN (@GOODSID{0})",&lt;br /&gt;                    String.Join(",@GOODSID",&lt;br /&gt;                    goodsIDs.ConvertAll&amp;lt;string&amp;gt;(new Converter&amp;lt;int,string&amp;gt;(&lt;span style="color:red"&gt;Convert.ToString&lt;/span&gt;)).ToArray())),&lt;br /&gt;                true);&lt;br /&gt;&lt;br /&gt;连C# 2.0的新特性都还没体验过，C# 3.0已经出来了，感叹这世界变化太快 :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-8313946806139836810?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/8313946806139836810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=8313946806139836810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8313946806139836810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8313946806139836810'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/07/c20.html' title='C#2.0 首次使用匿名方法'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-1832636740314367585</id><published>2007-07-06T09:16:00.000+08:00</published><updated>2007-07-06T09:25:23.643+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Access'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>令人郁闷的MDB SQL转参</title><content type='html'>折腾了半天，一个SQL死活通不过：&lt;br /&gt;UPDATE&lt;br /&gt; LINGS_GOODS&lt;br /&gt;SET LINKID=@LINKID&lt;br /&gt;WHERE ID IN (&lt;br /&gt; SELECT&lt;br /&gt;  ID&lt;br /&gt; FROM LINGS_GOODS&lt;br /&gt; WHERE LINKID IN (&lt;br /&gt;  SELECT&lt;br /&gt;   DISTINCT LINKID&lt;br /&gt;  FROM LINGS_GOODS&lt;br /&gt;  WHERE LINKID&amp;lt;&amp;gt;0&lt;br /&gt;  AND ID IN (@GOODSID4LINKID6&lt;br /&gt;   ,@GOODSID4LINKID14&lt;br /&gt;   ,@GOODSID4LINKID7&lt;br /&gt;   ,@GOODSID4LINKID10&lt;br /&gt;   ,@GOODSID4LINKID11) )&lt;br /&gt; OR ID IN (@GOODSID4GOODSID6&lt;br /&gt;  ,@GOODSID4GOODSID14&lt;br /&gt;  ,@GOODSID4GOODSID7&lt;br /&gt;  ,@GOODSID4GOODSID10&lt;br /&gt;  ,@GOODSID4GOODSID11) )&lt;br /&gt;&lt;br /&gt;转参：&lt;br /&gt;LINKID:6&lt;br /&gt;GOODSID4LINKID6:6&lt;br /&gt;GOODSID4LINKID14:14&lt;br /&gt;GOODSID4LINKID7:7&lt;br /&gt;GOODSID4LINKID10:10&lt;br /&gt;GOODSID4LINKID11:11&lt;br /&gt;GOODSID4GOODSID6:6&lt;br /&gt;GOODSID4GOODSID14:14&lt;br /&gt;GOODSID4GOODSID7:7&lt;br /&gt;GOODSID4GOODSID10:10&lt;br /&gt;GOODSID4GOODSID11:11&lt;br /&gt;&lt;br /&gt;更新之后，发现新的值竟然是 11， 而不是 6。&lt;br /&gt;最后试着将 LINKID 参数的位置调整到最后，更新正确了！&lt;br /&gt;Access SQL 的参数问题以前也遇到过，之前以为只要名称对上，次序可以随意，但结果却是非得要按参数在SQL中出现的次序来一一指定参数不可，不然就错位了，似乎不支持参数名，SQL中的参数名，完全可以用 ? 来代替。&lt;br /&gt;&lt;br /&gt;但现在这问题来看，对于参数的次序问题，看来不是完全按 SQL 文文本的次序来定，而是按实际执行的子查询的次序来定。&lt;br /&gt;上面的 SQL 中，两个子查询先执行，更新操作是最后执行，所以更新内容的参数就要放在最后。&lt;br /&gt;&lt;br /&gt;哎，实在令人郁闷，一个知识点的缺失，贴进去大半天的时间。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-1832636740314367585?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/1832636740314367585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=1832636740314367585' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/1832636740314367585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/1832636740314367585'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/07/mdb-sql.html' title='令人郁闷的MDB SQL转参'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-5698644421407700292</id><published>2007-07-06T05:47:00.000+08:00</published><updated>2007-07-06T06:21:30.315+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>文档标准多样与Linux</title><content type='html'>在很大程度上，常用的 MicroSoft Word/Excel 文档在 Linux 无法完全交换，阻碍了 Linux 的普及，特别是在Ubuntu7推出后，桌面应用的可操作性更加容易之后。&lt;br /&gt;&lt;br /&gt;  办公文档是各单位及个人最要的电脑资料，广泛用于信息传播，网上资料下载及各单位的内部管理系统，都会维护大量的办公文档，采用的最广泛的，应该是 MicroSoft Wrod/Excel，虽然 OpenOffice 能打开，但不能保证编辑后完全兼容，因此大部分人迫不得已使用 Wine 来编辑文档。&lt;br /&gt;&lt;br /&gt;  常见的文档格式有金山的 WPS，Adobe 的 pdf，Microsoft Word，OpenOffice，甚至于文档标准就有多个：国内的 UOF，国际的 ODF，微软的 OpenXML，还有 “Adobe的Acrobat 软件和它所支持的 PDF 格式已经得到广泛的认同，现已被国际标准化组织（ISO）评为很多领域的标准，比如，PDF/X 是电子印刷数据交换标准，PDF/A 成为长期保存及存档的电子记录标准。”&lt;br /&gt;&lt;br /&gt;  如果国际标准统一，并实现完全兼容，将会大大提高Ubuntu的竞争力，减少推广阻力，让用户在做同一件事上，有多种选择。&lt;br /&gt;&lt;br /&gt;参考资料：&lt;br /&gt;1、&lt;a href="http://www4.it168.com/ztsys/zhuanti/683/default.shtml"&gt;开放文档格式标准ODF/UOF互通互融&lt;/a&gt;（IT168-软件频道）&lt;br /&gt;2、&lt;a href="http://soft.chinabyte.com/462/2628462.shtml"&gt;中文文档国家标准呼之欲出&lt;/a&gt;（天极网）&lt;br /&gt;3、&lt;a href="http://news.chinabyte.com/190/2707190.shtml"&gt;微软OpenXML不示弱 被ECMA批为国际文档标准&lt;/a&gt;（天极网）&lt;br /&gt;4、&lt;a href="http://media.ccidnet.com/art/2615/20051219/395645_1.html"&gt;统一文档标准 改善业务流程&lt;/a&gt;(赛迪网)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-5698644421407700292?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/5698644421407700292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=5698644421407700292' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/5698644421407700292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/5698644421407700292'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/07/linux.html' title='文档标准多样与Linux'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-4129350507984719006</id><published>2007-07-05T13:36:00.000+08:00</published><updated>2007-07-05T13:47:48.219+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='other'/><title type='text'>今天是我和老婆的阳历生日</title><content type='html'>今天生日，两个人的共同生日，夫妻同月同日生的应该不多吧，不过，家庭节日却是少了一个，呵呵。&lt;br /&gt;&lt;br /&gt;想去吃海鲜，好久没回家了，实在是太想吃海鲜了。以前在家，几乎天天满桌的海鲜，而出外飘泊的这么些年，吃海鲜却已经是一种奢望了。&lt;br /&gt;&lt;br /&gt;最爱吃的海鲜有很多，黄鱼，带鱼，黄梅鱼，虾姑，鲳鱼，鱿鱼，还有很多不知道怎么说的……&lt;br /&gt;海鲜当然要野生的才好吃，但价格实在是太贵了，有些甚至是有价无市。听我妈说，她小的时候，一阵浪过，海岸上到处可见被浪打上来的海蛰，可现在，环境污染，海洋资源保护的欠缺，这种盛况，早已经看不到了。&lt;br /&gt;&lt;br /&gt;目前状况下，如果能吃到新鲜又肥美的，已经是很不错了，希望晚上能吃上新鲜又肥美的 :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-4129350507984719006?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/4129350507984719006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=4129350507984719006' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4129350507984719006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4129350507984719006'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/07/blog-post.html' title='今天是我和老婆的阳历生日'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-5916571578994611698</id><published>2007-07-05T13:31:00.000+08:00</published><updated>2007-07-05T13:32:04.418+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Asp.net'/><title type='text'>关于 FormView 状态的判断</title><content type='html'>在一个页面，想要根据 FormView 的状态来切换按钮显示时，在不同的事件里，取得的 FormView 状态会有不同。&lt;br /&gt;&lt;br /&gt;  例如：当前的 FormView 是 Insert 状态，点击 Insert 按钮，在 Inserted 事件中，将状态切换到 ReadOnly 时，在不同的页面事件中，取到的 FormView 的 CurrentMode 是不同的。要想在页面输出时，根据 FormView 状态切换按钮显示，要选择合适的事件。&lt;br /&gt;&lt;br /&gt;  最初，我使用 Page_Load 事件来进行处理，但发现取到的状态不正确。在上面举例的操作过程中，我预想的结果是 ReadOnly，然而实际上却是 Insert 状态。经过了解，最后使用 Page_PreRenderComplete 事件正确取得 FormView 的状态。&lt;br /&gt;&lt;br /&gt;  首先，需要了解页面生命周期中，各事件的先后顺序，简单列几个事件的次序：&lt;br /&gt;    1、Page_PreLoad&lt;br /&gt;    2、Page_Load&lt;br /&gt;    3、RaiseChangedEvents(各个控件的 Changed 事件)&lt;br /&gt;    4、RaisePostBackEvent(各个控件的处理事件，如 onClick 等)&lt;br /&gt;    5、Page_LoadComplete&lt;br /&gt;    6、Control_PreRender&lt;br /&gt;    7、Page_PreRenderComplete&lt;br /&gt;    &lt;br /&gt;  为此，我写了一个测试程序，在各个事件中输出日志记录，部分内容如下：&lt;br /&gt;&lt;br /&gt;&amp;lt;Log Date="2007-07-05 12:51:09 5603808" Level="Debug_Level"&amp;gt;Page_PreLoad&amp;lt;/Log&amp;gt;&lt;br /&gt;&amp;lt;Log Date="2007-07-05 12:51:09 5603808" Level="Debug_Level"&amp;gt;FormMode:Insert&amp;lt;/Log&amp;gt;&lt;br /&gt;&amp;lt;Log Date="2007-07-05 12:51:09 5904240" Level="Debug_Level"&amp;gt;Page_Load&amp;lt;/Log&amp;gt;&lt;br /&gt;&amp;lt;Log Date="2007-07-05 12:51:09 6004384" Level="Debug_Level"&amp;gt;FormMode:Insert&amp;lt;/Log&amp;gt;&lt;br /&gt;&amp;lt;Log Date="2007-07-05 12:51:09 6505104" Level="Debug_Level"&amp;gt;Page_LoadComplete&amp;lt;/Log&amp;gt;&lt;br /&gt;&amp;lt;Log Date="2007-07-05 12:51:09 6505104" Level="Debug_Level"&amp;gt;FormMode:ReadOnly&amp;lt;/Log&amp;gt;&lt;br /&gt;&amp;lt;Log Date="2007-07-05 12:51:09 6705392" Level="Debug_Level"&amp;gt;FormView_PreRender&amp;lt;/Log&amp;gt;&lt;br /&gt;&amp;lt;Log Date="2007-07-05 12:51:09 6705392" Level="Debug_Level"&amp;gt;FormMode:ReadOnly&amp;lt;/Log&amp;gt;&lt;br /&gt;&amp;lt;Log Date="2007-07-05 12:51:09 6705392" Level="Debug_Level"&amp;gt;Page_PreRenderComplete&amp;lt;/Log&amp;gt;&lt;br /&gt;&amp;lt;Log Date="2007-07-05 12:51:09 6705392" Level="Debug_Level"&amp;gt;FormMode:ReadOnly&amp;lt;/Log&amp;gt;&lt;br /&gt;&lt;br /&gt;  从日志记录中可以看出，要到 Page_LoadComplete 事件时，FormView 的状态才由 Insert 状态切换到 ReadOnly 状态。而我在开始编写ASP.Net程序时，总是想当然地以为在 Page_Load 事件时，所有的控件都已经加载并处理完毕。&lt;br /&gt;  &lt;br /&gt;  同样，在 Page_Load 事件中，如果查看 GridView 的行数，所取得的结果是变更前的行数，而不是最终输出到客户浏览器后的行数。在 Page_Load 事件中所取得的行数，可能是从ViewState 中取得原始数据，是系统状态的还原结果，还没有去处理用户事件并重新检索数据。&lt;br /&gt;  &lt;br /&gt;  综上，或许我们应该先花点时间了解页面的生命周期，从网上，我搜索到一些相关内容的网页，摘录以参考。&lt;br /&gt;  &lt;br /&gt;  1、&lt;a href="http://geekswithblogs.net/emanish/archive/2006/07/13/85028.aspx"&gt;Asp.Net Page LiftCycle&lt;/a&gt;（页面生命周期）&lt;br /&gt;    这在以前，我也看到过这张图，但不在自己电脑上，未保存，后来再想找时，一直没找到，呵呵，和这页面的作者差不多：-）&lt;br /&gt;    另外，这张图中，似乎少了些事件，如 Page_PreRenderComplete。 而图例中的 Adapter 和 Page Persister 是什么意思也不懂。&lt;br /&gt;  2、&lt;a href="http://msdn2.microsoft.com/zh-cn/library/ms178473(VS.80).aspx"&gt;ASP.NET 应用程序生命周期概述&lt;/a&gt;（MSDN的文章）&lt;br /&gt;  3、&lt;a href="http://www.cnblogs.com/hjf1223/archive/2006/09/29/518305.aspx"&gt;客观看待ViewState对Asp.net程序作用和影响&lt;/a&gt;（某位博客的文章）&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-5916571578994611698?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/5916571578994611698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=5916571578994611698' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/5916571578994611698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/5916571578994611698'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/07/formview.html' title='关于 FormView 状态的判断'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-4756121267013024509</id><published>2007-06-30T12:31:00.000+08:00</published><updated>2007-06-30T12:35:37.202+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='other'/><title type='text'>房价跟美国接轨,工资跟非洲接轨?[转]</title><content type='html'>在某论坛看到这篇文章，感觉挺有意思的，转以保存。&lt;br /&gt;通过google搜索，找到一个地址，但不确定是否是原始出处。&lt;br /&gt;&lt;a href="http://zihan868.bokee.com/viewdiary.15389472.html"&gt;&lt;br /&gt;http://zihan868.bokee.com/viewdiary.15389472.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　　银行跨行查询收费，和哪个国家接轨你绝对想不到，美国绝大多数的银行根本不存在什么所谓的跨行查询收费。美国的绝大多数银行是股份制银行，这种自己突然规定跨行查询收费的只有在垄断银行才会发生。专家说，如果国外只要有一个银行实行了跨行查询收费，中国就会以和国际接轨为理由，采用这种方式。然后他们查阅了很多资料发现，我们周围这些国家，只有唯一一个巴基斯坦是跨行查询收费的。看到这里我彻底晕了，原来中国几家银行跨行查询收费的所谓和国际接轨，居然是和巴基斯坦接轨啊。&lt;br /&gt;　　&lt;br /&gt;　　有些决策者在制定政策的时候，手里有两套法宝，一套是“中国国情”一套是“与国际接轨”，当制定不利于人民的政策时，如房改，要求大家自己掏钱购买商品房，就说是和“国际接轨”，理由是，人家外国都是自己买房子,没有福利分房的说法,但与此同时，他们却恰恰忽略了人家外国土地私有这个关键因素，中国人并不拥有土地的所有权，土地都属于国家，却要被迫付出昂贵的价钱购买一套只有使用权的商品房，而当人们对此提出质疑的时候，他们又会说这是中国特殊国情决定的。&lt;br /&gt;　　&lt;br /&gt;　　又比如医改，教改，人家其他国家是免费医疗，免费义务教育，但这一点他们又不与国际接轨了，又强调中国国情了，什么财力不堪重负啦之类，结果导致大家看不起病，上不起学。&lt;br /&gt;　　&lt;br /&gt;　　又比如所谓“高薪养廉”，据说是新加坡、香港的成功经验，所以要和“国际接轨”，所以五次三番地给公务员加薪。但人家严格的监督制度，对公务员近乎苛刻的约束，廉政公署等等，他们又不和国际接轨了，又强调中国国情了。韩国首都汉城（现名首尔）只有14辆公务车，这点他们就不愿意接轨，中国现在一个乡镇 14辆公车都不算多吧？这就是中国国情。&lt;br /&gt;　　&lt;br /&gt;　　美国有个燃油税，他们就要和“国际接轨”，也要征燃油税，但美国高速公路、大桥绝大多数是不收费的，在美国养一辆车除汽油费外每年仅需170多美元，这点他们又不和国际接轨了，不仅养路费、车船税等等一大堆，而且到处设置关卡，几乎路路收费。全世界总共只有14万公里收费公路，但就有10万公里在中国！这就又是中国国情了.&lt;br /&gt;　　&lt;br /&gt;　　美国格林斯潘加息了，他们就要和“国际接轨”，但美国购房享受退税，购买第一套住房享受低利率，对出租房屋屋主进行补贴以降低租金，这些他们又不和国际接轨了，又强调中国国情了，不仅不对出租房屋进行补贴，反而变本加厉地对出租屋提高税收，导致这部分成本转嫁给租客，租金上涨。　&lt;br /&gt;　　&lt;br /&gt;　　世界绝大多数国家都是土地私有的，人民买房的同时就买了地皮，具有永久所有权。当然，他们在这一点上就不和国际接轨了，因为中国国情特殊啊！但是，当他们发现香港的使用权制度对自己比较有利后，就立即和香港接轨了！订了个70年使用权制度，迫使人民祖祖辈辈不断花巨资购买有限使用权，但香港是什么情况？香港原先是殖民地啊！英国只租用了99年啊，它搞个使用权无可厚非，因为土地本不是它的，时间到了就要归还的，你搞使用权到底是什么意思？不是说中国是公有制吗?　不是全国人民拥有对一切生产资料的所有权吗？但落实到的最后怎么变成绝大多数人都一无所有了呢？怎么就变成必须购买本属于自己的土地使用权呢？所以在这方面就和香港这个“殖民地”接轨，就不和其他的国际接轨。&lt;br /&gt;　　&lt;br /&gt;　　又比如，油价要涨、电价要涨、水价要涨，理由还是和国际接轨，说什么人家的都很贵，中国的油价水价电价便宜的很，所以就该涨，但说到人民的工资水平、福利水平、劳动保障制度，就又不和国际接轨了，就又强调中国的特殊国情了，人家的工会都是工人选举产生，实实在在代表工人权益，这一点咱们就是不和人家接轨，咱就是要让工会成为资本家压迫工人的帮凶，原因还是：中国国情。所以，不要拿什么美国、英国的加息说事，什么时候中国成为完全市场经济国家了，权力部门受公众严格监督了，再说这些不迟！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-4756121267013024509?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/4756121267013024509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=4756121267013024509' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4756121267013024509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4756121267013024509'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/06/blog-post_30.html' title='房价跟美国接轨,工资跟非洲接轨?[转]'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-1152972084064034185</id><published>2007-06-09T21:15:00.000+08:00</published><updated>2007-06-09T21:22:03.712+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='YY'/><title type='text'>YY还不会走路，好心急啊</title><content type='html'>YY已经15个月了，但是还不会走路。&lt;br /&gt;牵着她的一只手，会走，但一放开就倒。&lt;br /&gt;在网上查了一下，一般是12~14个月就会走路，但18个月，则100%都会走。或许YY是后者。&lt;br /&gt;YY开始长牙也晚，老婆说是缺钙，她自己也缺钙。现在我们在给她服龙牡壮骨粉。&lt;br /&gt;YY现在不在身边，下次回她外婆家，要考虑带她去做体检了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-1152972084064034185?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/1152972084064034185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=1152972084064034185' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/1152972084064034185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/1152972084064034185'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/06/yy.html' title='YY还不会走路，好心急啊'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-4383975884825986649</id><published>2007-06-09T21:01:00.001+08:00</published><updated>2007-06-09T21:11:50.847+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='other'/><title type='text'>uTorrent：提示磁盘空间不足</title><content type='html'>下载并试用 uTorrent 时，出现磁盘空间不足的提示，而实际上我的磁盘还有10多个G的可用空间。最后发现是分区格式的问题，FAT32允许的单文件最大值是4GB，而 BT 下载文件却有 4.3G，一张DVD。&lt;br /&gt;所以认为是一个 BUG 并提交到官方网站。&lt;br /&gt;&lt;br /&gt;得到的回复是，uTorrent 只是简单的返回 Windows API 的出错信息而已，原来这是 Windows 的 Bug。&lt;br /&gt;但记得有个下载工具是有判断并明确提醒是分区格式的问题，想再建议加入判断，但E文写不出来，只好作罢，对于大部分懂电脑的来说，可能会找出问题原因，但普通用户，是比较困难的，而且使用FAT32的概率也相当高，而用 BT 下载大文件，也是比较普遍的。&lt;br /&gt;&lt;br /&gt;相关链接：&lt;br /&gt;&lt;a href="http://forum.utorrent.com/viewtopic.php?pid=255809#p255809"&gt;http://forum.utorrent.com/viewtopic.php?pid=255809#p255809&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-4383975884825986649?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/4383975884825986649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=4383975884825986649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4383975884825986649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4383975884825986649'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/06/utorrent.html' title='uTorrent：提示磁盘空间不足'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-8060703291189191235</id><published>2007-06-09T18:02:00.000+08:00</published><updated>2007-06-09T18:34:55.270+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><title type='text'>一种新颖的验证方式</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.lingsmm.com/blog/uploaded_images/validate-724392.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.lingsmm.com/blog/uploaded_images/validate-724389.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;今天注册了一个uTorrent的论坛帐号，发现该网站使用了一种新颖的验证方式。&lt;br /&gt;当前网上，为了防止有人恶意访问，流行在登录或发帖时，追加验证码的输入及校验。而这个网站所使用的方式是：显示的是一张含有一个小方块的图片，要求用户点击图片某一角落的小方块进行验证。&lt;br /&gt;原理应该比较简单，就是从表单数据中提取点击的坐标值，进行对比校验。&lt;br /&gt;&lt;br /&gt;采用这种方式有一个明显的优点，它减少了用户的键盘输入。若是使用了自动填表功能，则不需要任何输入即可一点马上提交登录信息。&lt;br /&gt;&lt;br /&gt;但这种方式也有缺点，如果用户没有鼠标或不喜欢使用鼠标，则会造成不便，虽然这是少数情况。如果同时提供两种方式，校验时，任何一种通过即成功返回，或许是个不错的完美方案。&lt;br /&gt;&lt;br /&gt;从根本上来说，这是为了防止恶意防问，一般指程序的自动攻击。采用这种方式，被突破的概率不知道是多少，其安全强度能有几分。我的数学向来较差，不知道是不是=小方块的面积（象素单位）：图片的面积。直觉上，应该是较为可靠的。但相比于若干位英文字母+数字的方式，似乎被突破要容易得多。&lt;br /&gt;&lt;br /&gt;另外，除了单纯的穷举法外，对图片进行分析的难度，也不及英文字母+数字的方式。但不管怎么说，在人性化方面要强上许多，对于防范要求不高的网站，还是一个比较受用户欢迎的不错选择。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-8060703291189191235?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/8060703291189191235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=8060703291189191235' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8060703291189191235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8060703291189191235'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/06/blog-post.html' title='一种新颖的验证方式'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-5842531774037273151</id><published>2007-06-04T07:06:00.000+08:00</published><updated>2007-06-04T07:29:59.407+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>安装Windows后，恢复Ubuntu的启动菜单</title><content type='html'>安装Windows后，MBR上的GRUB被清掉了，按网上资料显示，恢复是相当简单。&lt;br /&gt;确实，若顺利的话，也就两句Grub命令：&lt;br /&gt;root (hd0,1)&lt;br /&gt;setup (hd0)&lt;br /&gt;但是，这是有前提的，你得要用root帐户来操作，虽然这有点象废话，然而我还是犯了这个错误。&lt;br /&gt;由于Grub也是可以由非root帐户执行的，所以在命令行输入grub，没有提示权限不足，只是在进行以上操作时，总是说找不到磁盘，郁闷的说。&lt;br /&gt;错误消息：Error 21: Selected disk does not exist&lt;br /&gt;&lt;br /&gt;总结一下，完整而有简单的操作步骤是：&lt;br /&gt;sudo -i&lt;br /&gt;grub&lt;br /&gt;root (hdX,X)&lt;br /&gt;setup (hdX[,X])&lt;br /&gt;quit&lt;br /&gt;&lt;br /&gt;sudo -i是取得root权限，以前的命令su的替代，若单执行一条命令，也可以直接sudo grub。&lt;br /&gt;root (hdX,X) 其中“X”是数字，表示第几个磁盘，第几个分区是root所在分区&lt;br /&gt;setup (hdX,[X]) “X”同上，但如果是要将grub安装到MBR，而不是分区的Boot扇区，可以省略后者。&lt;br /&gt;另外有一条非常有用的命令：&lt;br /&gt;find /boot/grub/stage1&lt;br /&gt;它会帮你找出，你的root分区所在的磁盘位置，返回如：(hd0,1)，就不用去瞎猜了。&lt;br /&gt;&lt;br /&gt;另外一个问题是，我在安装系统时，喜欢将老系统分区删除，再重建，如此一来，WindowsXp的安装程序重建分区时，竟然留了1M的空间，害得又多出个未分配空间，而且，系统分区的位置也变了，还没细查，估计有可能变成逻辑分区了。还有更可恶的，它竟然将启动分区弄到原来的数据盘上去了，真想不通啊，这实在令人难以接受。愣是把我干净的数据分区的根目录弄得乱七八糟，放上那么多个文件！Windows的分区，不得不让人不屑。&lt;br /&gt;&lt;br /&gt;最后，提供一个资源，比较丰富的相关信息，主题与本文相同，作为继续学习资料：&lt;br /&gt;&lt;a href="http://blog.linuxmine.com/9084/viewspace-1220"&gt;http://blog.linuxmine.com/9084/viewspace-1220&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-5842531774037273151?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/5842531774037273151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=5842531774037273151' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/5842531774037273151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/5842531774037273151'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/06/windowsubuntu.html' title='安装Windows后，恢复Ubuntu的启动菜单'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-6963438037340884232</id><published>2007-06-03T22:09:00.000+08:00</published><updated>2007-06-03T22:18:31.948+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='随笔'/><title type='text'>Sony VGN-S16C的驱动程序</title><content type='html'>悔不该，当初弄了这个Sony。得,这回，没带驱动光盘，玩完了，人家根本就不提供驱动下载。&lt;br /&gt;在网上七折腾，八折腾，下的声卡驱动不正确，光有图标，就不出声，气死人！！！&lt;br /&gt;最后，在美版网站，下了正确的驱动，但也花了一整天时间，郁闷透顶！&lt;br /&gt;若有谁也有这种烦恼，也可以考虑到美版网站，找配置相当的机型，下载对应的驱动，应该可以用的。&lt;br /&gt;哎，想不通啊，为什么中文版的，就不提供所有驱动下载？NND。&lt;br /&gt;&lt;br /&gt;VGN-S16：&lt;a href="http://esupport.sony.com/US/perl/swu-list.pl?mdl=VGNS170&amp;UpdateType=Everything"&gt;http://esupport.sony.com/US/perl/swu-list.pl?mdl=VGNS170&amp;UpdateType=Everything&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Sony北美支持网站：&lt;a href="http://esupport.sony.com/"&gt;http://esupport.sony.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-6963438037340884232?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/6963438037340884232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=6963438037340884232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/6963438037340884232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/6963438037340884232'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/06/sony-vgn-s16c.html' title='Sony VGN-S16C的驱动程序'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-1431279427937442985</id><published>2007-06-03T18:50:00.000+08:00</published><updated>2007-06-03T18:57:28.905+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Asp'/><category scheme='http://www.blogger.com/atom/ns#' term='XML， XSLT'/><title type='text'>上传老代码：ASP同学录源码</title><content type='html'>简介：&lt;br /&gt;语言：Javascript（完全抛弃了VBScript）&lt;br /&gt;数据库：Access2000以上&lt;br /&gt;特点：ASP-&gt;XML + XLST-&gt;HTML&lt;br /&gt;对DB访问做了简单封装，全部使用Commond来进行数据操作，规避注入侵害。&lt;br /&gt;其它：&lt;br /&gt;1、由于JS操作二进制很困难，所以对图片的支持不是很好，上传个人相片时，有可能程序无法识别实际的图片高度，宽度，以致上传失败。&lt;br /&gt;2、由于纯粹是个人玩玩的，虽然当前自己在用，但后台管理依然没做，功能很不完善，仅供学习或继续开发用。&lt;br /&gt;&lt;br /&gt;下载地址：&lt;a href="http://download.csdn.net/source/188952"&gt;http://download.csdn.net/source/188952&lt;/a&gt;&lt;br /&gt;登录帐号：97-696 密码：jsj02&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-1431279427937442985?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/1431279427937442985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=1431279427937442985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/1431279427937442985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/1431279427937442985'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/06/asp.html' title='上传老代码：ASP同学录源码'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-7644135181025516714</id><published>2007-06-03T08:52:00.000+08:00</published><updated>2007-06-03T08:55:13.204+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='Asp.net'/><title type='text'>真遗憾,AutoCompleteExtender竟然不支持多列</title><content type='html'>自动填充,就我来说,最常用的应该是代码输入,这时,总是要求能显示代码所对应的名称,如此一来,AutoCompleteExtender就不适用了,它竟然不支持多列,令人有种想骂人的冲动!哎,枉费这么多时间来折腾,算了,不要它了.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-7644135181025516714?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/7644135181025516714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=7644135181025516714' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/7644135181025516714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/7644135181025516714'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/06/autocompleteextender.html' title='真遗憾,AutoCompleteExtender竟然不支持多列'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-1529094902577539592</id><published>2007-06-02T20:10:00.000+08:00</published><updated>2007-06-02T20:42:59.680+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='Asp.net'/><title type='text'>添加Ajax自动填充控件(AutoCompleteExtender)所遇到的问题</title><content type='html'>1、添加AutoCompleteExtender控件&lt;br /&gt;从ajax.asp.net上下载了最新的SampleWebSite，将Bin目录下的Dll中的组件添加到控件面板上。打开既存的网站，在其中一个页面添加了AutoCompleteExtender控件。&lt;br /&gt;2、添加ScriptManager控件&lt;br /&gt;按提示，自动填充控件需要信赖ScriptManager，但是当前页面并非Page页，而是自定义组件，如果直接添加在ascx页面上，相信Page页肯定不能再添加ScriptManager了，若其也需要添加此类依赖组件，则会产生冲突，所以我认为应当添加ScriptManagerProxy来替代。&lt;br /&gt;3、添加自定义的后台ServiceMethod&lt;br /&gt;4、运行。&lt;br /&gt;  在文本框输入字符后，未能出现下拉列表框，反复检查代码，未能发现任何问题。&lt;br /&gt;5、检查FireFox的Error Console，发现有脚本错误：&lt;br /&gt;   'Sys' is undefined.&lt;br /&gt;  定位代码：&lt;br /&gt;    &amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;    //&amp;lt;![CDATA[&lt;br /&gt;    Sys.WebForms.PageRequestManager._initialize('ctl00$Main$kdkd', document.getElementById('aspnetForm'));&lt;br /&gt;Sys.WebForms.PageRequestManager.getInstance()._updateControls([], [], [], 90);&lt;br /&gt;//]]&amp;gt;&lt;br /&gt;    &amp;lt;/script&amp;gt;&lt;br /&gt;5、安装FireBug后，发现有好几个URL请求发生了404错误，URI是当前网站根目录下的ScriptResource.axd&lt;br /&gt;6、能过以上，确定了是Web.config的配置问题，缺少axd类型的Handler&lt;br /&gt;7、能过查找，发现一个网上资料：&lt;a href="http://codebetter.com/blogs/jay.kimble/archive/2006/10/26/How-To_3A00_-Enable-Microsoft-Ajax-Beta-over-on-an-existing-site.aspx"&gt;http://codebetter.com/blogs/jay.kimble/archive/2006/10/26/How-To_3A00_-Enable-Microsoft-Ajax-Beta-over-on-an-existing-site.aspx&lt;/a&gt;&lt;br /&gt;  看了看，一来是E文，另外，有好向个step，感觉有点麻烦。于是决定新建一个“ASP.NET AJAX-Enabled WebSite”，将其自动生成的Web.config直接复制过来，并重新添加我自己的appSettings小节与connectionStrings小节。但位置似乎有讲究，紧跟着放在&lt;configuration&gt;后，产生编译错误：&lt;br /&gt;错误 38 Only one &amp;lt;configSections&amp;gt; element allowed per config file and if present must be the first child of the root &amp;lt;configuration&amp;gt; element. M:\LingsJob\src.new\Web.config 33 &lt;br /&gt;等错误及警告。改变位置，放到&amp;lt;/configSections&amp;gt;与&amp;lt;system.web&amp;gt;之间即可。&lt;br /&gt;8、重新编译并运行，在文本框输入时，成功产生XHR，但返回的结果却是错误提示：&lt;br /&gt;Unknown web method XXX.&lt;br /&gt;9、反复检查，未能找出原因，对比AJAX的Sample，索性也改成请求*.asmx再指向AppCode下的WebService类的Public方法。&lt;br /&gt;10、测试成功。&lt;br /&gt;&lt;br /&gt;以上是我在使用AutoCompleteExtender所遇的问题及解决措施，方法比较“粗鲁”，而没有去深究细节，个人认为，如非太闲，能实现，就真的是不想去多研究了，感觉做程序，已经是够累了...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-1529094902577539592?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/1529094902577539592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=1529094902577539592' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/1529094902577539592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/1529094902577539592'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/06/ajaxautocompleteextender.html' title='添加Ajax自动填充控件(AutoCompleteExtender)所遇到的问题'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-4668455768360796830</id><published>2007-05-24T06:58:00.000+08:00</published><updated>2007-05-24T07:41:49.393+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>初用Ubuntu 7.04 -- 修改分区，添加Windows</title><content type='html'>想要做多系统，追回一个windows2003。&lt;br /&gt;先是为新系统分配一个磁盘分区。原来的分区为swap, /, /XXX，共三个，将最后一个分区一分为二，变为一个ntfs分区和一个fat32分区，重启系统后，使用ghost，将以前的windows2003备份恢复到新的ntfs分区中。&lt;br /&gt;原先只有一个ubuntu系统，grub被安装在磁盘的mbr中，重启后，进入ubuntu的过程中，提示出错，原因是最后一个分区被修改，导致挂载失败。系统没有直接进入图形的登录界面，而是以root身分，运行了一个shell。令人意想不到的是，输入"reboot"，竟然进入了图形登录界面，输入用户名密码，进入了gnome桌面，这对于没有多少命令记得的我来说，是最好不过了。&lt;br /&gt;&lt;br /&gt;进入系统后，为了能正常启动ubuntu和windows2003，需要修改/etc/fstab和/boot/grub/menu.lst这两个文件。&lt;br /&gt;fstab保存了系统自动挂载项目，打开后，将/dev/sda3注释掉（即原来的最后一个分区），再追加新的两个分区的挂载项。&lt;br /&gt;&lt;br /&gt;/dev/sda3       /ntfs   ntfs noauto,codepage=936,iocharset=cp936 0 0&lt;br /&gt;/dev/sda4       /mos   vfat defaults,codepage=936,iocharset=cp936 0 0&lt;br /&gt;&lt;br /&gt;这也是从网上参考的，没去查手册，/dev/sda3是第一个磁盘的第3个分区，现在装的是windows2003，这不需要挂载，所以加了noauto选项，否则进入到Gnome桌面后，会自动挂载，并在桌面上出现磁盘图标，不过加了这个选项后，在文件浏览器的位置面板上，还是能看到，但双击时，提示非root不能挂载。&lt;br /&gt;&lt;br /&gt;/dev/sda4是我分出来，作为两个系统共同使用的数据存储分区，使用了两个系统都能稳定可靠操作的fat32格式。使用目前的参数，却有一个问题，这个分区对于普通用户来说，是只读的，我只好用sudo来操作写数据，还勉强可以接受，就此也没再去细究。另外还有一个问题是，在ubuntu下将中文文件名的文件复制过去，到windows2003下，变成了乱码，估计也是参数不正确的原因，一般来说，不大会使用中文文件名，所以也就懒得管了。&lt;br /&gt;&lt;br /&gt;menu.lst这个文件的修改很顺利，因为它本身就有启动win98/2000的sample，复制过来，去掉注释即可，或再改一下title，启动时菜单等待时间等。。。&lt;br /&gt;&lt;br /&gt;title           Windows 2003&lt;br /&gt;root            (hd0,2)&lt;br /&gt;makeactive&lt;br /&gt;chainloader     +1&lt;br /&gt;&lt;br /&gt;另外几个选项，含有详细的说明&lt;br /&gt;## default num&lt;br /&gt;# Set the default entry to the entry number NUM. Numbering starts from 0, and&lt;br /&gt;# the entry number 0 is the default if the command is not used.&lt;br /&gt;#&lt;br /&gt;# You can specify 'saved' instead of a number. In this case, the default entry&lt;br /&gt;# is the entry saved with the command 'savedefault'.&lt;br /&gt;# WARNING: If you are using dmraid do not change this entry to 'saved' or your&lt;br /&gt;# array will desync and will not let you boot your system.&lt;br /&gt;default         0&lt;br /&gt;&lt;br /&gt;## timeout sec&lt;br /&gt;# Set a timeout, in SEC seconds, before automatically booting the default entry&lt;br /&gt;# (normally the first entry defined).&lt;br /&gt;timeout         3&lt;br /&gt;&lt;br /&gt;## hiddenmenu&lt;br /&gt;# Hides the menu by default (press ESC to see the menu)&lt;br /&gt;hiddenmenu&lt;br /&gt;&lt;br /&gt;最后一项，如果要默认显示菜单，我估计可能是：showmenu吧，可以试试，或是到网上确认一下。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-4668455768360796830?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/4668455768360796830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=4668455768360796830' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4668455768360796830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4668455768360796830'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/05/ubuntu-704-windows_24.html' title='初用Ubuntu 7.04 -- 修改分区，添加Windows'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-1260553302895213299</id><published>2007-05-16T14:30:00.000+08:00</published><updated>2007-05-16T14:53:02.952+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>初用Ubuntu 7.04 -- 如何完成Windows中常见的设置(陆续添加中...)</title><content type='html'>同样是图形界面的操作，很多需求是类似的，但Ubuntu的Gnome毕竟与Windows还是有很大的区别，所以初用，总是难免不知道如何设置。&lt;br /&gt;这里将使用过程中遇到的，陆续添加进来，力求使用简单的图形程序来解决，而不是命令行，或是手工编辑配置文件。&lt;br /&gt;&lt;br /&gt;1、更改文件的默认打开程序&lt;br /&gt;  右键点击文件，选择弹出菜单中的“属性”－“打开方式”，选择自己的要定制的应用程序。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.lingsmm.com/blog/uploaded_images/file-714606.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://www.lingsmm.com/blog/uploaded_images/file-714603.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;  &lt;br /&gt;2、设置启动项目，在进入桌面后，自动运行指定的程序，同Windows中的“启动”菜单&lt;br /&gt;  选择系统菜单：系统－首选项－会话－启动程序－新建。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.lingsmm.com/blog/uploaded_images/Screenshot-729698.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://www.lingsmm.com/blog/uploaded_images/Screenshot-729694.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-1260553302895213299?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/1260553302895213299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=1260553302895213299' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/1260553302895213299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/1260553302895213299'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/05/ubuntu-704-windows.html' title='初用Ubuntu 7.04 -- 如何完成Windows中常见的设置(陆续添加中...)'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-393576537126802662</id><published>2007-05-16T10:35:00.000+08:00</published><updated>2007-05-16T11:38:21.375+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>［转摘］细说字体 Sans Serif 与 Serif</title><content type='html'>出处：&lt;a href="http://yx.takeback.net/serif-font.html"&gt;http://yx.takeback.net/serif-font.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;拜读了 LGJ Font Notes 的 Serif VS. Sans Serif &lt;sup&gt;注1&lt;/sup&gt; 一文，顿时胸中豁然开朗，终于明白了什么是Sans Serif字体，什么是Serif字体，什么地方应该使用Sans Serif字体，什么地方又应该使用Serif字体。这些问题，不管是对Web Designer还是普通用户，了解它我觉得还是十分必要的，比如在很多浏览器中就涉及相应的设置。&lt;br /&gt;&lt;br /&gt;  在西方国家罗马字母阵营中，字体分为两大种类：Sans Serif和 Serif，打字机体虽然也属于 Sans Serif，但由于是等宽字体，所以另外独立出 Monospace 这一种类，例如在Web中，表示代码时常常要使用等宽字体。&lt;br /&gt;&lt;br /&gt;  Serif的意思是，在字的笔画开始及結束的地方有额外的装饰，而且笔画的粗细会因直橫的不同而有不同。相反的，Sans Serif则沒有这些额外的装饰，笔画粗细大致差不多。如下图：&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.lingsmm.com/blog/uploaded_images/serif-700343.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://www.lingsmm.com/blog/uploaded_images/serif-700334.gif" alt="" border="0" /&gt;&lt;/a&gt;字体对比图&lt;br /&gt;&lt;br /&gt;  可以看出，我们平时所用的Georgia、Times New Roman等就属于Serif字体，而Arial、Tahoma、Verdana等则属于Sans Serif字体。对中文而言，同样存在这两大种类，很明显，宋体、细明体（繁体中常用）等就属于Serif，而黑体、幼圆等则属于Sans Serif。&lt;br /&gt;  Serif 和 Sans Serif 的一般比较&lt;br /&gt;&lt;br /&gt;      * Serif的字体容易辨认，因此易读性较高。反之Sans Serif 则较醒目，但在行文阅读的情況下，Sans Serif 容易造成字母辨认的困扰，常会有来回重读及上下行错乱的情形。&lt;br /&gt;      * Serif 强调了字母笔画的开始及结束，因此较易前后连续性的辨识。&lt;br /&gt;      * Serif 强调一个word，而非单一的字母，反之Sans Serif则强调个别字母。&lt;br /&gt;      * 在小字体的场合，通常Sans Serif比Serif更清晰。&lt;br /&gt;&lt;br /&gt;  适用用途：&lt;br /&gt;&lt;br /&gt;  通常文章的內文、正文使用的是易读性较佳的 Serif 字体，这可增加易读性，而且长时间阅读下因为会以word为单位来阅读，较不容易疲倦。而标题、表格內用字则采用较醒目的Sans Serif字体，它需要显著、醒目，但不必长时间盯著这些字来阅读。&lt;br /&gt;&lt;br /&gt;  像宣传品、海报类，为求醒目，它的短篇的段落也会采用Sans Serif字体。但在书籍、报刊杂志，正文有相当篇幅的情形下，则应采用Serif字体来减轻读者阅读上的负担。在Web设计及浏览器设置中也应遵循此原则为是。&lt;br /&gt;&lt;br /&gt;实际应用&lt;br /&gt;&lt;br /&gt;在Firefox中（目前似乎只有Firefox有此功能），可以分别单独指定Sans Serif、Serif及Monospace的中西文字体，然而这个选项并未设置在工具菜单中，不过可以在Addressbar中键入about:config，然后在Filter中过滤font找到如下Preference Name：&lt;br /&gt;&lt;br /&gt;font.name.monospace.x-western&lt;br /&gt;font.name.monospace.zh-CN&lt;br /&gt;font.name.sans-serif.x-western&lt;br /&gt;font.name.sans-serif.zh-CN&lt;br /&gt;font.name.serif.x-western&lt;br /&gt;font.name.serif.zh-CN&lt;br /&gt;&lt;br /&gt;你可以依照上述Sans Serif、Serif及Monospace的原则来分别指定一种对应字体，按照W3C的CSS规则 &lt;sup&gt;注2&lt;/sup&gt; ，在font（或者font-family）的最后都要求指定一个Serif这样的Generic-family，避免客户端实在没有指定字体时使用本机上的Serif默认字体。&lt;br /&gt;&lt;br /&gt;由于Mozilla系的浏览器的这种特性，我们在CSS的font设定中，可以分别设定中西文字体来丰富版面，例如我们指定一组小字体（类似此文章标题下的日期、作者、类别）：&lt;br /&gt;&lt;br /&gt;font-family: Arial, PMingLiU, Sans-Serif;&lt;br /&gt;/*按照文章前面所讲，在小字体时Sans-serif更为清晰，所以随便指定一个Arial，&lt;br /&gt;而作为Serif的PMingLiU（明体）在小字体显示时也有不俗的外观。&lt;br /&gt;最后不忘指定一个Sans-Serif类。*/&lt;br /&gt;&lt;br /&gt;参考资料：&lt;br /&gt;&lt;br /&gt; 1. &lt;a href="http://blog.bs2.to/post/EdwardLee/3401"&gt;Serif VS. Sans Serif&lt;/a&gt;&lt;br /&gt; 2. &lt;a href="http://www.w3.org/TR/CSS21/fonts.html#propdef-font-family"&gt;Font family: the ‘font-family’ property&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-393576537126802662?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/393576537126802662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=393576537126802662' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/393576537126802662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/393576537126802662'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/05/sans-serif-serif.html' title='［转摘］细说字体 Sans Serif 与 Serif'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-4529591607065044310</id><published>2007-05-16T08:45:00.000+08:00</published><updated>2007-05-16T08:52:33.020+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>初用Ubuntu 7.04 -- 关于输入法</title><content type='html'>一直以来，对于Ubuntu输入法不甚了解，出了问题，不知道如何配置解决，直到找到这篇文章，才稍稍明白些。&lt;br /&gt;出处：&lt;a href="http://comcat.blog.openrays.org/blog-htm-do-showone-tid-58.html"&gt;http://comcat.blog.openrays.org/blog-htm-do-showone-tid-58.html&lt;/a&gt;（comcat 的BLOG）&lt;br /&gt;&lt;br /&gt;&lt;div class="pnlParagraph"&gt;解析环境变量XMODIFIERS/GTK_IM_MODULE&lt;br /&gt;作者: comcat   发表日期: 2006-09-05 18:28&lt;br /&gt;&lt;br /&gt;我们配置输入法时,都是习惯性的在输入法启动前导出环境变量:&lt;br /&gt;&lt;br /&gt;export XMODIFIERS=@im=SCIM&lt;br /&gt;export GTK_IM_MODULE=SCIM&lt;br /&gt;&lt;br /&gt;他们有何用意呢??&lt;br /&gt;&lt;br /&gt;我们常用的输入法有以下几种:&lt;br /&gt;&lt;br /&gt;1. XIM (X输入法, 所有 X 图形程序都是可用的)&lt;br /&gt;2. GTK immodule（GTK输入模块, 专给 GTK+2/Gnome 程序用的，GTK+ 1 不适用）&lt;br /&gt;3. QT immodule（QT输入模块, 专给 QT/KDE 程序用的）&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;XMODIFIERS实际上是指定 X图形程序的输入法.&lt;br /&gt;&lt;br /&gt;GTK_IM_MODULE 则是指定GTK+2的程序默认所用的输入法模块.&lt;br /&gt;&lt;br /&gt;有关GTK+2 所有输入法模块都安装在 /usr/lib/gtk-2.0/2.4.0/immodules/ 目录下.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;关于他们之间的关系,我们有一个比较直观的经验就是, 当我们因为设置XMODIFIERS失误(比如在有些情况下scim小写),导致X输入法没法使用时,我们在gnome-terminal里单击鼠标右键,移动到 "输入法",再选择 "SCIM Input Method"时,我们在gnome-terminal下却是可以输入中文的. 当然前提是我们已经安装scim-gtk2-immodule包.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;一般情况下XMODIFIERS的优先级高于GTK_IM_MODULE ,即当我们同时设定这两个环境变量,在GTK+2的应用程序里优先使用的是XMODIFIERS指定的X输入法.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;GTK immodule 比起 XIM 有很多好处：&lt;br /&gt;1. 不受 locale 限制&lt;br /&gt;2. 完全不用设定，随时可用，会自动调用 IM server&lt;br /&gt;3. 可以任意切换各种不同 IM server，随时可改,无需重启X.&lt;br /&gt;4. 真正支援游标跟随.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;但是因为 c++ 的兼容性问题使 scim-gtk2-immodule 跟许多程序相冲突,故而在目前,如果我们使用scim的话,还不能流畅享受到GTK 输入模块的种种妙处,只能使用 Scim for XIM.&lt;br /&gt;&lt;br /&gt;注：mozilla, firefox, thunderbird 等不是正规的 GTK+ 2，没办法用鼠标动态选择输入法. 如果你仅仅使用GTK immodule的话, 一定要使用GTK_IM_MODULE指定默认的GTK 输入模块.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-4529591607065044310?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/4529591607065044310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=4529591607065044310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4529591607065044310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4529591607065044310'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/05/ubuntu-704_16.html' title='初用Ubuntu 7.04 -- 关于输入法'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-4932303507794699249</id><published>2007-05-15T22:01:00.000+08:00</published><updated>2007-05-15T22:08:47.772+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>初用Ubuntu 7.04 --解决Skype无法启动故障</title><content type='html'>作为一名Ubuntu的新手，我不知道究竟做了什么，竟然导致Skype无法启动。&lt;br /&gt;运行时，提示：&lt;br /&gt;*** glibc detected *** skype: free(): invalid pointer: 0x08a38bb0 *** &lt;br /&gt;&lt;br /&gt;通过网络搜索，找到了相关的解决方案: &lt;a href="http://www.cloverjune.com/read.php/142.htm"&gt;http://www.cloverjune.com/read.php/142.htm&lt;/a&gt;&lt;br /&gt;在他上面，提供了两个解决方案：&lt;br /&gt;一、重新安装libqt3-mt，然后再次安装Skype&lt;br /&gt;sudo apt-get remove skype&lt;br /&gt;sudo apt-get remove libqt3-mt&lt;br /&gt;sudo apt-get install libqt3-mt&lt;br /&gt;sudo apt-get install skype&lt;br /&gt;&lt;br /&gt;二、下载rpm包，经转换为deb包的，安装即可。&lt;br /&gt;这个我没试，一般的应用程序都有deb包，也就没去了解如何去进行包格式的转换。&lt;br /&gt;&lt;br /&gt;但是遗憾的是，没有具体解析&lt;br /&gt;第一种方案提到的libqt3-mt，据查，是挪威 TrollTech 公司的产品，以下摘引自IBM网站上的文章：&lt;a href="http://www.ibm.com/developerworks/cn/linux/guitoolkit/qt/overview/index.html"&gt;http://www.ibm.com/developerworks/cn/linux/guitoolkit/qt/overview/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Qt 是一个跨平台的 C++ 图形用户界面库，由挪威 TrollTech 公司出品，目前包括Qt， 基于 Framebuffer 的 Qt Embedded，快速开发工具 Qt Designer，国际化工具 Qt Linguist 等部分 Qt 支持所有 Unix 系统，当然也包括 Linux，还支持 WinNT/Win2k，Win95/98 平台。&lt;br /&gt;&lt;br /&gt;从Debian的网站上可以看到：&lt;a href="http://packages.debian.org/unstable/libs/libqt3-mt"&gt;http://packages.debian.org/unstable/libs/libqt3-mt&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="pnlParagraph"&gt;&lt;br /&gt;Qt GUI Library (Threaded runtime version), Version 3&lt;br /&gt;&lt;br /&gt;This is the Trolltech Qt library, version 3. It's necessary for applications that link against the libqt-mt.so.3, e.g. all KDE3 applications. &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;（所有的KDE3应用程序，都要依赖于libqt3-mt)&lt;br /&gt;&lt;br /&gt;同样，虽然用的不是KDE，而是Gnome，但Skype依赖于libqt3-mt，所以必须要装。&lt;br /&gt;但我实在是不知道，什么时候，改变过这个包，还是改变了相关的配置。&lt;br /&gt;况且，与提示中的glibc又是什么关系呢？是否libqt3-mt隶属于glibc？但却没找到例证。&lt;br /&gt;从找到的Glibc相关网站上来看，这是一个C链接包，似乎与libqt3-mt没有什么直接的关系（&lt;a href="http://www.gnu.org/software/libc/"&gt;http://www.gnu.org/software/libc/&lt;/a&gt;)&lt;br /&gt;倒是有一种可能最大，那就是libqt3-mt调用了Glibc，并且里面有个函数出错了。&lt;br /&gt;疑问到此进行不下去了，也不可能花时间去研究源代码，则只好作罢。&lt;br /&gt;&lt;br /&gt;不过按这个思路，不能启动的问题确实是解决了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-4932303507794699249?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/4932303507794699249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=4932303507794699249' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4932303507794699249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4932303507794699249'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/05/ubuntu-704-skype_15.html' title='初用Ubuntu 7.04 --解决Skype无法启动故障'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-6670476202230104517</id><published>2007-05-11T06:34:00.000+08:00</published><updated>2007-05-11T09:28:56.086+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>初用Ubuntu 7.04 --安装VMware Workstation 6.0.0 build-45731</title><content type='html'>初用Ubuntu，什么也不会，但是桌面系统吧，傻瓜式的就按Windows的操作经验来乱试，遇到什么问题，通过Google来解决，也不必太深入，将过程记下来，作备忘吧。&lt;br /&gt;-----------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.lingsmm.com/blog/uploaded_images/Screenshot-Virtual-Machine-Settings-736126.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://www.lingsmm.com/blog/uploaded_images/Screenshot-Virtual-Machine-Settings-736121.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;由于之前的vmware 5.5.1 build-19175，我不能成功地Bridge到无线网卡，所以下载了最新版的vmware ，重新测试。为了保证得到最新版，我在官方网站直接下载。官方的下载是必须要通过用户登录的，下载文件受到保护，使用MuutiGet下载失败，只好老老实实地用FireFox来下载，速度极慢，只有5~6K左右，而文件有180M多，昨晚睡觉后，继续开机下载。&lt;br /&gt;安装与之前提到的版本一样，也是解开压缩包，执行：&lt;br /&gt;sudo ./vmware-install.pl&lt;br /&gt;&lt;div class="pnlParagraph" style="height:250px;overflow-y:scroll;"&gt;&lt;br /&gt;Creating a new VMware Workstation installer database using the tar4 format.&lt;br /&gt;&lt;br /&gt;Installing VMware Workstation.  This may take from several minutes to over an &lt;br /&gt;hour depending upon its size.&lt;br /&gt;&lt;br /&gt;In which directory do you want to install the binary files? &lt;br /&gt;[/usr/bin] &lt;br /&gt;&lt;br /&gt;What is the directory that contains the init directories (rc0.d/ to rc6.d/)? &lt;br /&gt;[/etc] &lt;br /&gt;&lt;br /&gt;What is the directory that contains the init scripts? &lt;br /&gt;[/etc/init.d] &lt;br /&gt;&lt;br /&gt;In which directory do you want to install the daemon files? &lt;br /&gt;[/usr/sbin] &lt;br /&gt;&lt;br /&gt;In which directory do you want to install the library files? &lt;br /&gt;[/usr/lib/vmware] &lt;br /&gt;&lt;br /&gt;The path "/usr/lib/vmware" does not exist currently. This program is going to &lt;br /&gt;create it, including needed parent directories. Is this what you want? &lt;br /&gt;[yes] &lt;br /&gt;&lt;br /&gt;In which directory do you want to install the manual files? &lt;br /&gt;[/usr/share/man] &lt;br /&gt;&lt;br /&gt;In which directory do you want to install the documentation files? &lt;br /&gt;[/usr/share/doc/vmware] &lt;br /&gt;&lt;br /&gt;The path "/usr/share/doc/vmware" does not exist currently. This program is &lt;br /&gt;going to create it, including needed parent directories. Is this what you want?&lt;br /&gt;[yes] &lt;br /&gt;&lt;br /&gt;The installation of VMware Workstation 6.0.0 build-45731 for Linux completed &lt;br /&gt;successfully. You can decide to remove this software from your system at any &lt;br /&gt;time by invoking the following command: "/usr/bin/vmware-uninstall.pl".&lt;br /&gt;&lt;br /&gt;Before running VMware Workstation for the first time, you need to configure it &lt;br /&gt;by invoking the following command: "/usr/bin/vmware-config.pl". Do you want &lt;br /&gt;this program to invoke the command for you now? [yes] &lt;br /&gt;&lt;br /&gt;Making sure services for VMware Workstation are stopped.&lt;br /&gt;&lt;br /&gt;Stopping VMware services:&lt;br /&gt;   Virtual machine monitor                                             done&lt;br /&gt;&lt;br /&gt;Configuring fallback GTK+ 2.4 libraries.&lt;br /&gt;&lt;br /&gt;In which directory do you want to install the theme icons? &lt;br /&gt;[/usr/share/icons] &lt;br /&gt;&lt;br /&gt;What directory contains your desktop menu entry files? These files have a &lt;br /&gt;.desktop file extension. [/usr/share/applications] &lt;br /&gt;&lt;br /&gt;In which directory do you want to install the application's icon? &lt;br /&gt;[/usr/share/pixmaps] &lt;br /&gt;&lt;br /&gt;Trying to find a suitable vmmon module for your running kernel.&lt;br /&gt;&lt;br /&gt;The module bld-2.6.20-15-i586generic-Ubuntu7.04 loads perfectly in the running &lt;br /&gt;kernel.&lt;br /&gt;&lt;br /&gt;Trying to find a suitable vmblock module for your running kernel.&lt;br /&gt;&lt;br /&gt;The module bld-2.6.20-15-i586generic-Ubuntu7.04 loads perfectly in the running &lt;br /&gt;kernel.&lt;br /&gt;&lt;br /&gt;Do you want networking for your virtual machines? (yes/no/help) [yes] &lt;br /&gt;&lt;br /&gt;Configuring a bridged network for vmnet0.&lt;br /&gt;&lt;br /&gt;Your computer has multiple ethernet network interfaces available: eth0, eth1, &lt;br /&gt;eth0:avah. Which one do you want to bridge to vmnet0? [eth0] &lt;br /&gt;&lt;br /&gt;The following bridged networks have been defined:&lt;br /&gt;&lt;br /&gt;. vmnet0 is bridged to eth0&lt;br /&gt;&lt;br /&gt;Do you wish to configure another bridged network? (yes/no) [no] y&lt;br /&gt;&lt;br /&gt;Configuring a bridged network for vmnet2.&lt;br /&gt;&lt;br /&gt;Your computer has multiple ethernet network interfaces available: eth1, &lt;br /&gt;eth0:avah. Which one do you want to bridge to vmnet2? [eth0] eth1&lt;br /&gt;&lt;br /&gt;The following bridged networks have been defined:&lt;br /&gt;&lt;br /&gt;. vmnet0 is bridged to eth0&lt;br /&gt;. vmnet2 is bridged to eth1&lt;br /&gt;&lt;br /&gt;Do you wish to configure another bridged network? (yes/no) [no] &lt;br /&gt;&lt;br /&gt;Do you want to be able to use NAT networking in your virtual machines? (yes/no)&lt;br /&gt;[yes] &lt;br /&gt;&lt;br /&gt;Configuring a NAT network for vmnet8.&lt;br /&gt;&lt;br /&gt;Do you want this program to probe for an unused private subnet? (yes/no/help) &lt;br /&gt;[yes] &lt;br /&gt;&lt;br /&gt;Probing for an unused private subnet (this can take some time)...&lt;br /&gt;&lt;br /&gt;The subnet 172.16.185.0/255.255.255.0 appears to be unused.&lt;br /&gt;&lt;br /&gt;The following NAT networks have been defined:&lt;br /&gt;&lt;br /&gt;. vmnet8 is a NAT network on private subnet 172.16.185.0.&lt;br /&gt;&lt;br /&gt;Do you wish to configure another NAT network? (yes/no) [no]  &lt;br /&gt;&lt;br /&gt;Do you want to be able to use host-only networking in your virtual machines? &lt;br /&gt;[yes] &lt;br /&gt;&lt;br /&gt;Configuring a host-only network for vmnet1.&lt;br /&gt;&lt;br /&gt;Do you want this program to probe for an unused private subnet? (yes/no/help) &lt;br /&gt;[yes] &lt;br /&gt;&lt;br /&gt;Probing for an unused private subnet (this can take some time)...&lt;br /&gt;&lt;br /&gt;The subnet 192.168.217.0/255.255.255.0 appears to be unused.&lt;br /&gt;&lt;br /&gt;The following host-only networks have been defined:&lt;br /&gt;&lt;br /&gt;. vmnet1 is a host-only network on private subnet 192.168.217.0.&lt;br /&gt;&lt;br /&gt;Do you wish to configure another host-only network? (yes/no) [no] &lt;br /&gt;&lt;br /&gt;Trying to find a suitable vmnet module for your running kernel.&lt;br /&gt;&lt;br /&gt;The module bld-2.6.20-15-i586generic-Ubuntu7.04 loads perfectly in the running &lt;br /&gt;kernel.&lt;br /&gt;&lt;br /&gt;Do you want to install the Eclipse Integrated Virtual Debugger? You must have &lt;br /&gt;the Eclipse IDE installed. [no] &lt;br /&gt;&lt;br /&gt;Creating a new VMware VIX API installer database using the tar4 format.&lt;br /&gt;&lt;br /&gt;Installing VMware VIX API.  This may take from several minutes to over an hour &lt;br /&gt;depending upon its size.&lt;br /&gt;&lt;br /&gt;You must read and accept the VMware VIX API End User License Agreement to &lt;br /&gt;continue.&lt;br /&gt;Press enter to display it. &lt;br /&gt;&lt;br /&gt;VMware(R) Software Developer Kit (SDK) Agreement&lt;br /&gt;&lt;br /&gt;VMware, Inc. ("VMware") provides this Software Developer Kit ("SDK") for VIX&lt;br /&gt;Application Programming Interface ("VIX API") to you subject to the&lt;br /&gt;following terms and conditions.  If you disagree with any of the following&lt;br /&gt;terms, then do not use this SDK.&lt;br /&gt;&lt;br /&gt;1.  This SDK contains a variety of materials, including but not limited to,&lt;br /&gt;interface definitions, documentation, Redistributable Code and Sample Code&lt;br /&gt;regarding programming interfaces to one or more VMware products as&lt;br /&gt;referenced in such materials ("VMware Software").  This SDK is intended to&lt;br /&gt;serve as a guide for writing programs to interact with the VMware Software.&lt;br /&gt;For the purpose of this Agreement, "Sample Code" means sample software in&lt;br /&gt;source code format designated as "Sample Code" in the SDK documentation, and&lt;br /&gt;"Redistributable Code" means object code files designated as&lt;br /&gt;"Redistributable Code" in the SDK documentation.&lt;br /&gt;&lt;br /&gt;2.  Subject to the restrictions below, you may download and make a&lt;br /&gt;reasonable number of copies of the SDK contents for your personal use solely&lt;br /&gt;for the purpose of creating software that communicates with VMware Software&lt;br /&gt;("Developer Software").   You agree to defend, indemnify and hold harmless&lt;br /&gt;VMware, and any of its directors, officers, employees, affiliates or agents,&lt;br /&gt;from and against any and all claims, losses, damages, liabilities and other&lt;br /&gt;expenses (including reasonable attorneys' fees), arising from your&lt;br /&gt;modification and distribution of the Sample Code, distribution of&lt;br /&gt;Redistributable Code or breach of this SDK Terms and Conditions.  &lt;br /&gt;&lt;br /&gt;3.  Restrictions:  You may create and distribute Developer Software based on&lt;br /&gt;the Sample Code and Redistributable Code, provided that (1) you do not use&lt;br /&gt;the SDK to design or develop anything other than Developer Software; (2) you&lt;br /&gt;do not modify, create derivative works of, reverse engineer, reverse&lt;br /&gt;compile, or disassemble the Redistribution Code, except that you may modify&lt;br /&gt;and create derivative works of the Sample Code in connection with Developer&lt;br /&gt;Software; (3) you distribute the Redistributable Code in object code form&lt;br /&gt;only and solely in conjunction with, and as part of your Developer Software;&lt;br /&gt;(4) you do not make any more copies of the SDK than are reasonably necessary&lt;br /&gt;for the authorized use and backup and archival purposes; (5) you do not&lt;br /&gt;permit further distribution of the SDK by your end users; (6) you do not&lt;br /&gt;permit sub-licensees or end users to reverse engineer or reverse compile the&lt;br /&gt;Redistributable Code; and (7) you do not use the SDK to design or develop&lt;br /&gt;software to upload or otherwise transmit any material containing software&lt;br /&gt;viruses or other computer code, files or programs designed to interrupt,&lt;br /&gt;destroy, or limit the functionality of any software or hardware.  &lt;br /&gt;&lt;br /&gt;4.  VMware retains ownership of the SDK, including without limitation all&lt;br /&gt;copyrights and other intellectual property rights therein.  &lt;br /&gt;&lt;br /&gt;5.  For open source software components included with the SDK, you are&lt;br /&gt;subject to the terms of those applicable open source license agreements. &lt;br /&gt;The open source software licenses can be found in the&lt;br /&gt;open_source_licenses.txt file, other materials accompanying the SDK, the&lt;br /&gt;documentation or corresponding source files available at&lt;br /&gt;http://www.vmware.com/download/open_source.html.&lt;br /&gt;&lt;br /&gt;6.  You may not represent that the programs you develop using the SDK are&lt;br /&gt;certified or otherwise endorsed by VMware.  You may not use the VMware name&lt;br /&gt;or any other trademarks or service marks of VMware in connection with&lt;br /&gt;programs that you develop using the SDK.&lt;br /&gt;&lt;br /&gt;7.  You will not receive any VMware support or subscription services for the&lt;br /&gt;SDK or any other services from VMware in connection with the SDK.  If you&lt;br /&gt;have purchased support and/or subscription services for a VMware product,&lt;br /&gt;such support and/or subscription services shall not apply to the SDK or your&lt;br /&gt;use of the SDK.  &lt;br /&gt;&lt;br /&gt;8.  Term, Termination and Changes: This Agreement shall continue as long as&lt;br /&gt;you are in compliance with the terms specified herein or until otherwise&lt;br /&gt;terminated.  You and or VMware each may terminate this Agreement for any&lt;br /&gt;reason at any time.  You agree, upon termination, to destroy all copies of&lt;br /&gt;the SDK within your possession or control. The Confidential Information,&lt;br /&gt;Limitations of Warranties, Liability and Indemnification sections set out in&lt;br /&gt;this Agreement shall survive any termination or expiration of this&lt;br /&gt;Agreement. &lt;br /&gt;&lt;br /&gt;9.  Limitations of Warranties and Liability:  THE SDK IS PROVIDED "AS IS"&lt;br /&gt;WITHOUT ANY WARRANTIES OF ANY KIND.   TO THE MAXIMUM EXTENT PERMITTED BY&lt;br /&gt;APPLICABLE LAW, VMWARE DISCLAIMS ANY IMPLIED WARRANTIES, INCLUDING, WITHOUT&lt;br /&gt;LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A&lt;br /&gt;PARTICULAR PURPOSE AND NON-INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS.&lt;br /&gt;&lt;br /&gt;TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL VMWARE&lt;br /&gt;BE LIABLE FOR ANY LOST PROFITS OR BUSINESS OPPORTUNITIES, LOSS OF USE,&lt;br /&gt;BUSINESS INTERRUPTION, LOSS OF DATA, OR ANY OTHER INDIRECT, SPECIAL,&lt;br /&gt;INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE SDK OR YOUR USE OF&lt;br /&gt;THE SDK, UNDER ANY THEORY OF LIABILITY, WHETHER BASED IN CONTRACT, TORT,&lt;br /&gt;NEGLIGENCE, PRODUCT LIABILITY, OR OTHERWISE.  BECAUSE SOME JURISDICTIONS DO&lt;br /&gt;NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR&lt;br /&gt;INCIDENTAL DAMAGES, THE PRECEDING LIMITATION MAY NOT APPLY TO YOU.&lt;br /&gt;&lt;br /&gt;VMWARE'S LIABILITY ARISING OUT OF THE SDK PROVIDED HEREUNDER WILL NOT, IN&lt;br /&gt;ANY EVENT, EXCEED US$5.00.&lt;br /&gt;&lt;br /&gt;THE FOREGOING LIMITATIONS SHALL APPLY TO THE MAXIMUM EXTENT PERMITTED BY&lt;br /&gt;APPLICABLE LAW, REGARDLESS OF WHETHER VMWARE HAS BEEN ADVISED OF THE&lt;br /&gt;POSSIBILITY OF SUCH DAMAGES AND REGARDLESS OF WHETHER ANY REMEDY FAILS OF&lt;br /&gt;ITS ESSENTIAL PURPOSE.&lt;br /&gt;&lt;br /&gt;10.  These terms are governed by the laws of the State of California and the&lt;br /&gt;United States of America without regard to conflict of laws principles. You&lt;br /&gt;may not assign any part of this Agreement without the prior written consent&lt;br /&gt;of VMware.  Any attempted assignment without consent shall be void. These&lt;br /&gt;terms constitute the entire agreement between you and VMware with respect to&lt;br /&gt;the SDK, and supersede all prior written or oral communications,&lt;br /&gt;understandings and agreements. Any waiver of these terms must be in writing&lt;br /&gt;to be effective. If any provision of these terms is found to be invalid or&lt;br /&gt;unenforceable, the remaining terms will continue to be valid and enforceable&lt;br /&gt;to the fullest extent permitted by law.&lt;br /&gt;&lt;br /&gt;SDK  4.05.07&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Do you accept? (yes/no) y&lt;br /&gt;&lt;br /&gt;Thank you.&lt;br /&gt;&lt;br /&gt;In which directory do you want to install the VMware VIX API binary files? &lt;br /&gt;[/usr/bin] &lt;br /&gt;&lt;br /&gt;In which directory do you want to install the VMware VIX API library files? &lt;br /&gt;[/usr/lib/vmware-vix/lib] &lt;br /&gt;&lt;br /&gt;The path "/usr/lib/vmware-vix/lib" does not exist currently. This program is &lt;br /&gt;going to create it, including needed parent directories. Is this what you want?&lt;br /&gt;[yes] &lt;br /&gt;&lt;br /&gt;In which directory do you want to install the VMware VIX API document pages? &lt;br /&gt;[/usr/share/doc/vmware-vix] &lt;br /&gt;&lt;br /&gt;The path "/usr/share/doc/vmware-vix" does not exist currently. This program is &lt;br /&gt;going to create it, including needed parent directories. Is this what you want?&lt;br /&gt;[yes] &lt;br /&gt;&lt;br /&gt;The installation of VMware VIX API 1.1.0 build-45731 for Linux completed &lt;br /&gt;successfully. You can decide to remove this software from your system at any &lt;br /&gt;time by invoking the following command: "/usr/bin/vmware-uninstall-vix.pl".&lt;br /&gt;&lt;br /&gt;Starting VMware services:&lt;br /&gt;   Virtual machine monitor                                             done&lt;br /&gt;   Blocking file system:                                               done&lt;br /&gt;   Virtual ethernet                                                    done&lt;br /&gt;   Bridged networking on /dev/vmnet0                                   done&lt;br /&gt;   Host network detection                                              done&lt;br /&gt;   Host-only networking on /dev/vmnet1 (background)                    done&lt;br /&gt;   DHCP server on /dev/vmnet1                                          done&lt;br /&gt;   Bridged networking on /dev/vmnet2                                   done&lt;br /&gt;   Host-only networking on /dev/vmnet8 (background)                    done&lt;br /&gt;   DHCP server on /dev/vmnet8                                          done&lt;br /&gt;   NAT service on /dev/vmnet8                                          done&lt;br /&gt;&lt;br /&gt;The configuration of VMware Workstation 6.0.0 build-45731 for Linux for this &lt;br /&gt;running kernel completed successfully.&lt;br /&gt;&lt;br /&gt;You can now run VMware Workstation by invoking the following command: &lt;br /&gt;"/usr/bin/vmware".&lt;br /&gt;&lt;br /&gt;Enjoy,&lt;br /&gt;&lt;br /&gt;--the VMware team&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;在我的机子上，eth0是有线连接，eth1是无线连接，将/dev/vmnet2 bridge 到eth1上，启动Windows98,使用Bridged方式，无法取到无线路由器DHCP分配的地址，改用Custom:/dev/vmnet2后，成功取得IP并连接上网。&lt;br /&gt;&lt;br /&gt;然而，在使用工行的U盾时，遇到了麻烦，接入U盾，不能自动连接到GuestOS。在Vmware的论坛中，找到的解决方案是，启动GuestOS后，点击菜单VM-Removable Devices - USB Devices 中的Smart Card，这样GuestOS就会加载U盾，并安装驱动程序。这与我以前在Windows作Host时的体验不同，那时只要直接将设置接入，如果当前GuestOS窗口被激活，就会自动加载。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.lingsmm.com/blog/uploaded_images/Screenshot-Windows-98---VMware-Workstation-738311.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://www.lingsmm.com/blog/uploaded_images/Screenshot-Windows-98---VMware-Workstation-738308.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;虽然U盾被加载到GuestOS了，但是使用工行的驱动，在管理器程序中，却看不到接入的U盾，自然，在IE中也无法使用。&lt;br /&gt;再拿U盘来做测试，安装USB的万能驱动，使用一切正常，那看来，有可能是U盾的驱动与Vmware不兼容，或许为了安全目的，加了特殊的手段。&lt;br /&gt;但也有可能是GuestOS的问题，这不是在VMware6.0下安装的，抽时间从头安装再试试。&lt;br /&gt;&lt;br /&gt;BTW，在Windows下，图形处理用惯了Photoshop，使用GMIP比较困难，想画线条都不知道怎么画，又得要花时间去学习了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-6670476202230104517?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/6670476202230104517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=6670476202230104517' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/6670476202230104517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/6670476202230104517'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/05/ubuntu-704-vmware-workstation-600-build.html' title='初用Ubuntu 7.04 --安装VMware Workstation 6.0.0 build-45731'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-6977318460415552787</id><published>2007-05-10T20:49:00.000+08:00</published><updated>2007-05-10T21:01:42.986+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>初用Ubuntu 7.04 --微软的雅黑字体</title><content type='html'>初用Ubuntu，什么也不会，但是桌面系统吧，傻瓜式的就按Windows的操作经验来乱试，遇到什么问题，通过Google来解决，也不必太深入，将过程记下来，作备忘吧。&lt;br /&gt;-----------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;在Ubuntu中文社区，看到别人使用了微软的雅黑字体，真的很漂亮，也到网上去下载。&lt;br /&gt;我没怎么美化，那份指南看上去太恐怖了点，还是简单点吧，不一定要很完美。&lt;br /&gt;将包文件解开，复制两个字体文件到系统的字体目录下，然后注销重新登录（不然在FireFox2.0.3的配置字体时，找不到）,改一下系统字体与相关应用的字体即可。&lt;br /&gt;&lt;br /&gt;改完FireFox后，打开网页，感觉真的很好：-）&lt;br /&gt;然而，打开我自己的博客，却还是老样子，难道是样式表的原因？于是我将所有的样式去除，但照旧。仔细检查了源代码，终于被我发现文档定义部分比其它网页多了一个语言：lang="en"&lt;br /&gt;完整代码：&lt;span style="color: rgb(51, 51, 255);"&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;lang="en"&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;将它删除后：&lt;span style="color: rgb(51, 51, 255);"&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" &amp;gt;&lt;/span&gt;&lt;br /&gt;问题解决了，漂亮的字体出现在我眼前：-）&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-6977318460415552787?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/6977318460415552787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=6977318460415552787' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/6977318460415552787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/6977318460415552787'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/05/ubuntu-704_10.html' title='初用Ubuntu 7.04 --微软的雅黑字体'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-593183460532695234</id><published>2007-05-10T18:29:00.000+08:00</published><updated>2007-05-10T18:41:08.779+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>初用Ubuntu 7.04 --安装MultiGet下载软件</title><content type='html'>初用Ubuntu，什么也不会，但是桌面系统吧，傻瓜式的就按Windows的操作经验来乱试，遇到什么问题，通过Google来解决，也不必太深入，将过程记下来，作备忘吧。&lt;br /&gt;-----------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;作品网站：&lt;a href="http://multiget.sourceforge.net/"&gt;http://multiget.sourceforge.net/&lt;/a&gt;&lt;br /&gt;这应该是一个国人开发的Linux下的作品，呵呵，运行后，看到几个汉字了(百年同济)。。。&lt;br /&gt;&lt;br /&gt;选择deb格式的文件，下载后，直接运行安装即可。&lt;br /&gt;安装过程中，图形界面的安装器会自动帮你检查依赖包，并下载安装当前系统缺少的依赖包。&lt;br /&gt;安装完成后，在Application-Internet中，可以找到它，不过图标好像有点“土气”：-）&lt;br /&gt;&lt;br /&gt;打开后，这个软件与我们在Windows下常用的下载软件很想象，如网络蚂蚁，网际快车等，大概是这类软件的界面经过长期摸索与客户反馈，已经差不多定型了吧。&lt;br /&gt;&lt;br /&gt;Linux向来图形界面不为人看好，网上相关的资料也喜欢用命令行来执行操作，但时至今天，Linux的图形界面已经越来越人性化了，象添加/删除软件这种操作，基本上都可以在桌面上完成了，没必要再开个终端：-）&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-593183460532695234?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/593183460532695234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=593183460532695234' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/593183460532695234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/593183460532695234'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/05/ubuntu-704-multiget.html' title='初用Ubuntu 7.04 --安装MultiGet下载软件'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-3161549107143734140</id><published>2007-05-10T18:17:00.000+08:00</published><updated>2007-05-10T18:20:53.995+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>初用Ubuntu 7.04 --RAR文件的解包</title><content type='html'>初用Ubuntu，什么也不会，但是桌面系统吧，傻瓜式的就按Windows的操作经验来乱试，遇到什么问题，通过Google来解决，也不必太深入，将过程记下来，作备忘吧。&lt;br /&gt;-----------------------------------------------------------------------------&lt;br /&gt;参考：&lt;a href="http://www.ubuntux.org/how-to-install-rar-archiver-rar"&gt;http://www.ubuntux.org/how-to-install-rar-archiver-rar&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;打开终端，运行下面的命令&lt;br /&gt;sudo apt-get install rar&lt;br /&gt;sudo ln -fs /usr/bin/rar /usr/bin/unrar&lt;br /&gt;&lt;br /&gt;然后就可以打开RAR文件了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-3161549107143734140?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/3161549107143734140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=3161549107143734140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/3161549107143734140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/3161549107143734140'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/05/ubuntu-704-rar.html' title='初用Ubuntu 7.04 --RAR文件的解包'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-7223405413928085331</id><published>2007-05-10T12:59:00.000+08:00</published><updated>2007-05-10T13:20:51.561+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>初用Ubuntu 7.04--GRUB的麻烦</title><content type='html'>由于我的vmware5.5.1无法bridge到我的无线网卡，而我又有待处理的淘宝帐单，所以决定先回到Windows2003，处理完帐单后，再回归Ubuntu，到时试试vmware6beta看看，是否能解决这个问题。&lt;br /&gt;我备有windows2003的ghost备份文件，使用无忧光盘启动映象制作的DVD光盘。从这张光盘启动后，我将系统恢复到原Linux分区，完成后重新启动。&lt;br /&gt;然而，启动后，出现的不是Windows2003的画面，而是grub的出错信息，这是因为将grub安装到硬盘的mbr所致（linux分区已被覆盖，启动失败）。解决的办法自然是恢复成Windows的默认mbr程序。首先想到的是使用Dos命令fdisk/mbr。于是使用光盘启动系统，执行这条命令后，却显示了一个出错提示，似乎是没找到硬盘的意思，真怪了！直接输入命令fdisk，却无法进入，在选择是否支持大容量硬盘后，直接返回到命令提示符下了，不知道是什么原因。&lt;br /&gt;想了想，还有什么其它工具提供mbr修复呢？在启动光盘上找了找，发现了diskman，但没有mbr修复功能，倒是可以直接编辑mbr，这个难度就大了点啦。。。呵呵。但发现没有设置激活的分区，于是将windows2003的分区激活。重新启动，还是不行，是啊，这是mbr的问题，还没到启动分区的boot这一步哪。&lt;br /&gt;在光盘里再次翻找，又有一个软件进入我的视线，sfdisk，也是一个快速分区软件，并且找到了mbr修复选项，OK，修复，重启。这回显示的是一大堆E文，大意应该是分区识别有问题吧。&lt;br /&gt;这回，我直接在sfdisk中，删除了系统分区和原来的linux交换分区，并重建了一个分区，设置为激活分区，再重新启动并重新恢复ghost备份文件，重启，OK。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-7223405413928085331?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/7223405413928085331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=7223405413928085331' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/7223405413928085331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/7223405413928085331'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/05/ubuntu-704-grub.html' title='初用Ubuntu 7.04--GRUB的麻烦'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-3945389850149115984</id><published>2007-05-08T11:39:00.000+08:00</published><updated>2007-05-11T09:24:29.410+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>初用Ubuntu 7.04 --安装vmware 5.5.1 build-19175</title><content type='html'>初用Ubuntu，什么也不会，但是桌面系统吧，傻瓜式的就按Windows的操作经验来乱试，遇到什么问题，通过Google来解决，也不必太深入，将过程记下来，作备忘吧。&lt;br /&gt;&lt;br /&gt;注册序列号(网上搜索得来)&lt;br /&gt;DA925-HP80U-Z8HDC-4WXXP&lt;br /&gt;3KW2W-AYR2C-88M6F-4MDQ2&lt;br /&gt;-----------------------------------------------------------------------------&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_ztYZmxCjHw0/Rj_5rRpf3gI/AAAAAAAAALk/9tSRM1IVPrE/s1600-h/Screenshot-VMware+Workstation-1.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp1.blogger.com/_ztYZmxCjHw0/Rj_5rRpf3gI/AAAAAAAAALk/9tSRM1IVPrE/s320/Screenshot-VMware+Workstation-1.png" alt="" id="BLOGGER_PHOTO_ID_5062039028054875650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;为了有时可能需要跑Windows，所以得装个虚拟机，在网上搜索到一个vmware 5.5.1 build-19175的下载，Go！&lt;br /&gt;下载完成后，解开压缩包，执行里面的vmware-install.pl，一路回车，最后提示第一次运行Vmware，要进行配置，问你要不要马上执行vmware-config.pl（这个文件，安装后，可以在/usr/bin目录下找到）输入个”y”，再一路回车，到下面卡住了。。。&lt;br /&gt;&lt;br /&gt;&lt;div class="pnlParagraph"&gt;What is the location of the directory of C header files that match your running&lt;br /&gt;kernel? [/usr/src/linux/include]&lt;br /&gt;&lt;br /&gt;The path "/usr/src/linux/include" is not an existing directory.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;呵呵，我哪知道内核的头文件在哪啊，上网找吧，得到的信息说最新版的Ubuntu还不被支持，但可以下载一个补丁程序来解决，Vmware-any-any-update,一个名叫Petr Vandrovec (vandrove@vc.cvut.cz)的人制作的。Petr Vandrovec ,From 捷克技术大学(布拉格捷克斯洛伐克技术大学) ,&lt;br /&gt;Czech Technical University in Prague www.cvut.cz&lt;br /&gt;&lt;br /&gt;下载地址：&lt;a href="http://platan.vc.cvut.cz/ftp/pub/vmware/vmware-any-any-update109.tar.gz"&gt;http://platan.vc.cvut.cz/ftp/pub/vmware/vmware-any-any-update109.tar.gz&lt;/a&gt;&lt;br /&gt;下载之后，解开压缩包，运行runme.pl&lt;br /&gt;&lt;br /&gt;sudo ./runme.pl&lt;br /&gt;&lt;div class="pnlParagraph" style="height:200px;overflow-y:scroll" &gt;Updating /usr/bin/vmware-config.pl ... already patched&lt;br /&gt;Updating /usr/bin/vmware ... No patch needed/available&lt;br /&gt;Updating /usr/bin/vmnet-bridge ... No patch needed/available&lt;br /&gt;Updating /usr/lib/vmware/bin/vmware-vmx ... No patch needed/available&lt;br /&gt;Updating /usr/lib/vmware/bin-debug/vmware-vmx ... No patch needed/available&lt;br /&gt;VMware modules in "/usr/lib/vmware/modules/source" has been updated.&lt;br /&gt;&lt;br /&gt;Before running VMware for the first time after update, you need to configure it&lt;br /&gt;for your running kernel by invoking the following command:&lt;br /&gt;"/usr/bin/vmware-config.pl". Do you want this script to invoke the command for&lt;br /&gt;you now? [yes] y&lt;br /&gt;&lt;br /&gt;Making sure services for VMware Workstation are stopped.&lt;br /&gt;&lt;br /&gt;Stopping VMware services:&lt;br /&gt;Virtual machine monitor                                             done&lt;br /&gt;&lt;br /&gt;Configuring fallback GTK+ 2.4 libraries.&lt;br /&gt;&lt;br /&gt;In which directory do you want to install the mime type icons?&lt;br /&gt;[/usr/share/icons]&lt;br /&gt;&lt;br /&gt;What directory contains your desktop menu entry files? These files have a&lt;br /&gt;.desktop file extension. [/usr/share/applications]&lt;br /&gt;&lt;br /&gt;In which directory do you want to install the application's icon?&lt;br /&gt;[/usr/share/pixmaps]&lt;br /&gt;&lt;br /&gt;Trying to find a suitable vmmon module for your running kernel.&lt;br /&gt;&lt;br /&gt;None of the pre-built vmmon modules for VMware Workstation is suitable for your&lt;br /&gt;running kernel.  Do you want this program to try to build the vmmon module for&lt;br /&gt;your system (you need to have a C compiler installed on your system)? [yes] y&lt;br /&gt;&lt;br /&gt;Using compiler "/usr/bin/gcc". Use environment variable CC to override.&lt;br /&gt;&lt;br /&gt;What is the location of the directory of C header files that match your running&lt;br /&gt;kernel? [/lib/modules/2.6.20-15-generic/build/include]&lt;br /&gt;&lt;br /&gt;Extracting the sources of the vmmon module.&lt;br /&gt;&lt;br /&gt;Building the vmmon module.&lt;br /&gt;&lt;br /&gt;Building for VMware Workstation 5.5.0 or 5.5.1.&lt;br /&gt;Using 2.6.x kernel build system.&lt;br /&gt;make: Entering directory `/tmp/vmware-config0/vmmon-only'&lt;br /&gt;make -C /lib/modules/2.6.20-15-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules&lt;br /&gt;make[1]: Entering directory `/usr/src/linux-headers-2.6.20-15-generic'&lt;br /&gt;CC [M]  /tmp/vmware-config0/vmmon-only/linux/driver.o&lt;br /&gt;CC [M]  /tmp/vmware-config0/vmmon-only/linux/hostif.o&lt;br /&gt;CC [M]  /tmp/vmware-config0/vmmon-only/common/cpuid.o&lt;br /&gt;CC [M]  /tmp/vmware-config0/vmmon-only/common/hash.o&lt;br /&gt;CC [M]  /tmp/vmware-config0/vmmon-only/common/memtrack.o&lt;br /&gt;CC [M]  /tmp/vmware-config0/vmmon-only/common/phystrack.o&lt;br /&gt;CC [M]  /tmp/vmware-config0/vmmon-only/common/task.o&lt;br /&gt;gcc: error trying to exec 'cc1plus': execvp: No such file or directory&lt;br /&gt;make[2]: *** [/tmp/vmware-config0/vmmon-only/common/task.o] Error 1&lt;br /&gt;make[1]: *** [_module_/tmp/vmware-config0/vmmon-only] Error 2&lt;br /&gt;make[1]: Leaving directory `/usr/src/linux-headers-2.6.20-15-generic'&lt;br /&gt;make: *** [vmmon.ko] Error 2&lt;br /&gt;make: Leaving directory `/tmp/vmware-config0/vmmon-only'&lt;br /&gt;Unable to build the vmmon module.&lt;br /&gt;&lt;br /&gt;For more information on how to troubleshoot module-related problems, please&lt;br /&gt;visit our Web site at "http://www.vmware.com/download/modules/modules.html" and&lt;br /&gt;"http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html".&lt;br /&gt;&lt;br /&gt;Execution aborted.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;哎，出错了，编译失败，查看错误消息，是有个文件找不着，搜索一把，原来是没装g++包的原因，OK，装上它吧：&lt;br /&gt;sudo apt-get install g++&lt;br /&gt;&lt;div class="pnlParagraph" style="height:200px;overflow-y:scroll" &gt;正在读取软件包列表... 完成&lt;br /&gt;正在分析软件包的依赖关系树    &lt;br /&gt;Reading state information... 完成   &lt;br /&gt;将会安装下列额外的软件包：&lt;br /&gt;g++-4.1 libc6-dev libstdc++6-4.1-dev linux-libc-dev&lt;br /&gt;建议安装的软件包：&lt;br /&gt;gcc-4.1-doc lib64stdc++6 glibc-doc manpages-dev libstdc++6-4.1-doc&lt;br /&gt;下列【新】软件包将被安装：&lt;br /&gt;g++ g++-4.1 libc6-dev libstdc++6-4.1-dev linux-libc-dev&lt;br /&gt;共升级了 0 个软件包，新安装了 5 个软件包，要卸载 0 个软件包，有 15 个软件未被升级。&lt;br /&gt;需要下载 7896kB 的软件包。&lt;br /&gt;解压缩后会消耗掉 32.9MB 的额外空间。&lt;br /&gt;您希望继续执行吗？[Y/n]y&lt;br /&gt;获取：1 http://cn.archive.ubuntu.com feisty/main linux-libc-dev 2.6.20-15.27 [664kB]&lt;br /&gt;获取：2 http://cn.archive.ubuntu.com feisty/main libc6-dev 2.5-0ubuntu14 [3018kB]&lt;br /&gt;获取：3 http://cn.archive.ubuntu.com feisty/main libstdc++6-4.1-dev 4.1.2-0ubuntu4 [1632kB]&lt;br /&gt;获取：4 http://cn.archive.ubuntu.com feisty/main g++-4.1 4.1.2-0ubuntu4 [2581kB]&lt;br /&gt;获取：5 http://cn.archive.ubuntu.com feisty/main g++ 4:4.1.2-1ubuntu1 [1428B]&lt;br /&gt;下载 7896kB，耗时 9m2s (14.6kB/s)                                           &lt;br /&gt;选中了曾被取消选择的软件包 linux-libc-dev。&lt;br /&gt;(正在读取数据库 ... 系统当前总共安装有 88121 个文件和目录。)&lt;br /&gt;正在解压缩 linux-libc-dev (从 .../linux-libc-dev_2.6.20-15.27_i386.deb) ...&lt;br /&gt;选中了曾被取消选择的软件包 libc6-dev。&lt;br /&gt;正在解压缩 libc6-dev (从 .../libc6-dev_2.5-0ubuntu14_i386.deb) ...&lt;br /&gt;选中了曾被取消选择的软件包 libstdc++6-4.1-dev。&lt;br /&gt;正在解压缩 libstdc++6-4.1-dev (从 .../libstdc++6-4.1-dev_4.1.2-0ubuntu4_i386.deb) ...&lt;br /&gt;选中了曾被取消选择的软件包 g++-4.1。&lt;br /&gt;正在解压缩 g++-4.1 (从 .../g++-4.1_4.1.2-0ubuntu4_i386.deb) ...&lt;br /&gt;选中了曾被取消选择的软件包 g++。&lt;br /&gt;正在解压缩 g++ (从 .../g++_4%3a4.1.2-1ubuntu1_i386.deb) ...&lt;br /&gt;正在设置 linux-libc-dev (2.6.20-15.27) ...&lt;br /&gt;正在设置 libc6-dev (2.5-0ubuntu14) ...&lt;br /&gt;正在设置 g++-4.1 (4.1.2-0ubuntu4) ...&lt;br /&gt;正在设置 libstdc++6-4.1-dev (4.1.2-0ubuntu4) ...&lt;br /&gt;正在设置 g++ (4.1.2-1ubuntu1) ...&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;g++安装成功后，再次运行vmware的配置程序：&lt;br /&gt;cd /usr/bin&lt;br /&gt;sudo ./vmware-config.pl&lt;br /&gt;&lt;div class="pnlParagraph" style="height:200px;overflow-y:scroll" &gt;Password:&lt;br /&gt;Making sure services for VMware Workstation are stopped.&lt;br /&gt;&lt;br /&gt;Stopping VMware services:&lt;br /&gt;Virtual machine monitor                                             done&lt;br /&gt;&lt;br /&gt;Configuring fallback GTK+ 2.4 libraries.&lt;br /&gt;&lt;br /&gt;In which directory do you want to install the mime type icons?&lt;br /&gt;[/usr/share/icons]&lt;br /&gt;&lt;br /&gt;What directory contains your desktop menu entry files? These files have a&lt;br /&gt;.desktop file extension. [/usr/share/applications]&lt;br /&gt;&lt;br /&gt;In which directory do you want to install the application's icon?&lt;br /&gt;[/usr/share/pixmaps]&lt;br /&gt;&lt;br /&gt;Trying to find a suitable vmmon module for your running kernel.&lt;br /&gt;&lt;br /&gt;None of the pre-built vmmon modules for VMware Workstation is suitable for your&lt;br /&gt;running kernel.  Do you want this program to try to build the vmmon module for&lt;br /&gt;your system (you need to have a C compiler installed on your system)? [yes] y&lt;br /&gt;&lt;br /&gt;Using compiler "/usr/bin/gcc". Use environment variable CC to override.&lt;br /&gt;&lt;br /&gt;What is the location of the directory of C header files that match your running&lt;br /&gt;kernel? [/lib/modules/2.6.20-15-generic/build/include]&lt;br /&gt;&lt;br /&gt;Extracting the sources of the vmmon module.&lt;br /&gt;&lt;br /&gt;Building the vmmon module.&lt;br /&gt;&lt;br /&gt;Building for VMware Workstation 5.5.0 or 5.5.1.&lt;br /&gt;Using 2.6.x kernel build system.&lt;br /&gt;make: Entering directory `/tmp/vmware-config1/vmmon-only'&lt;br /&gt;make -C /lib/modules/2.6.20-15-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules&lt;br /&gt;make[1]: Entering directory `/usr/src/linux-headers-2.6.20-15-generic'&lt;br /&gt;CC [M]  /tmp/vmware-config1/vmmon-only/linux/driver.o&lt;br /&gt;CC [M]  /tmp/vmware-config1/vmmon-only/linux/hostif.o&lt;br /&gt;CC [M]  /tmp/vmware-config1/vmmon-only/common/cpuid.o&lt;br /&gt;CC [M]  /tmp/vmware-config1/vmmon-only/common/hash.o&lt;br /&gt;CC [M]  /tmp/vmware-config1/vmmon-only/common/memtrack.o&lt;br /&gt;CC [M]  /tmp/vmware-config1/vmmon-only/common/phystrack.o&lt;br /&gt;CC [M]  /tmp/vmware-config1/vmmon-only/common/task.o&lt;br /&gt;cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++&lt;br /&gt;cc1plus: warning: command line option "-Wno-pointer-sign" is valid for C/ObjC but not for C++&lt;br /&gt;cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++&lt;br /&gt;cc1plus: warning: command line option "-ffreestanding" is valid for C/ObjC but not for C++&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h: In function ‘int Vmx86_RunVM(VMCrossPage*, VMDriver*) [with VMCrossPage = VMCrossPageV321]’:&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:1522: warning: ‘sysenterState.SysenterStateV45::rsp’ is used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:1523: warning: ‘sysenterState.SysenterStateV45::rip’ is used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::validEIP’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::cs’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h: In function ‘int Vmx86_RunVM(VMCrossPage*, VMDriver*) [with VMCrossPage = VMCrossPageV3]’:&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:1522: warning: ‘sysenterState.SysenterStateV45::rsp’ is used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:1523: warning: ‘sysenterState.SysenterStateV45::rip’ is used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::validEIP’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::cs’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h: In function ‘int Vmx86_RunVM(VMCrossPage*, VMDriver*) [with VMCrossPage = VMCrossPageGSX1]’:&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:1522: warning: ‘sysenterState.SysenterStateV45::rsp’ is used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:1523: warning: ‘sysenterState.SysenterStateV45::rip’ is used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::validEIP’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::cs’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h: In function ‘int Vmx86_RunVM(VMCrossPage*, VMDriver*) [with VMCrossPage = VMCrossPageV2]’:&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:1522: warning: ‘sysenterState.SysenterStateV45::rsp’ is used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:1523: warning: ‘sysenterState.SysenterStateV45::rip’ is used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::validEIP’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::cs’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h: In function ‘int Vmx86_RunVM_V4(VMDriver*, Vcpuid) [with VMCrossPage = VMCrossPageV4]’:&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::validEIP’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::cs’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::rsp’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::rip’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h: In function ‘int Vmx86_RunVM(VMDriver*, Vcpuid)’:&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:1522: warning: ‘sysenterState.SysenterStateV45::rsp’ is used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:1523: warning: ‘sysenterState.SysenterStateV45::rip’ is used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::validEIP’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::cs’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::validEIP’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::cs’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::rsp’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::rip’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::validEIP’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::cs’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::rsp’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:2073: warning: ‘sysenterState.SysenterStateV45::rip’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h: In function ‘void Task_Switch_V45(VMDriver*, Vcpuid)’:&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:1713: warning: ‘sysenterState.SysenterStateV45::validEIP’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:1713: warning: ‘sysenterState.SysenterStateV45::cs’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:1713: warning: ‘sysenterState.SysenterStateV45::rsp’ may be used uninitialized in this function&lt;br /&gt;/tmp/vmware-config1/vmmon-only/common/task_compat.h:1713: warning: ‘sysenterState.SysenterStateV45::rip’ may be used uninitialized in this function&lt;br /&gt;CC [M]  /tmp/vmware-config1/vmmon-only/common/vmx86.o&lt;br /&gt;CC [M]  /tmp/vmware-config1/vmmon-only/vmcore/compat.o&lt;br /&gt;CC [M]  /tmp/vmware-config1/vmmon-only/vmcore/moduleloop.o&lt;br /&gt;LD [M]  /tmp/vmware-config1/vmmon-only/vmmon.o&lt;br /&gt;Building modules, stage 2.&lt;br /&gt;MODPOST 1 modules&lt;br /&gt;CC      /tmp/vmware-config1/vmmon-only/vmmon.mod.o&lt;br /&gt;LD [M]  /tmp/vmware-config1/vmmon-only/vmmon.ko&lt;br /&gt;make[1]: Leaving directory `/usr/src/linux-headers-2.6.20-15-generic'&lt;br /&gt;cp -f vmmon.ko ./../vmmon.o&lt;br /&gt;make: Leaving directory `/tmp/vmware-config1/vmmon-only'&lt;br /&gt;The module loads perfectly in the running kernel.&lt;br /&gt;&lt;br /&gt;Do you want networking for your virtual machines? (yes/no/help) [yes] y&lt;br /&gt;&lt;br /&gt;Configuring a bridged network for vmnet0.&lt;br /&gt;&lt;br /&gt;Your computer has multiple ethernet network interfaces available: eth0, eth1,&lt;br /&gt;eth0:avah. Which one do you want to bridge to vmnet0? [eth0] eth1&lt;br /&gt;&lt;br /&gt;The following bridged networks have been defined:&lt;br /&gt;&lt;br /&gt;. vmnet0 is bridged to eth1&lt;br /&gt;&lt;br /&gt;Do you wish to configure another bridged network? (yes/no) [no] n&lt;br /&gt;&lt;br /&gt;Do you want to be able to use NAT networking in your virtual machines? (yes/no)&lt;br /&gt;[yes] n&lt;br /&gt;&lt;br /&gt;Do you want to be able to use host-only networking in your virtual machines?&lt;br /&gt;[no] y&lt;br /&gt;&lt;br /&gt;Configuring a host-only network for vmnet1.&lt;br /&gt;&lt;br /&gt;Do you want this program to probe for an unused private subnet? (yes/no/help)&lt;br /&gt;[yes] help&lt;br /&gt;&lt;br /&gt;Virtual machines configured to use host-only networking are placed on a virtual&lt;br /&gt;network that is confined to this host.  Virtual machines on this network can&lt;br /&gt;communicate with each other and the host, but no one else.&lt;br /&gt;&lt;br /&gt;To setup this host-only networking you need to select a network number that is&lt;br /&gt;normally unreachable from the host.  We can automatically select this number for&lt;br /&gt;you, or you can specify a network number that you want.&lt;br /&gt;&lt;br /&gt;The automatic selection process works by testing a series of Class C subnet&lt;br /&gt;numbers to see if they are reachable from the host.  The first one that is&lt;br /&gt;unreachable is used.  The subnet numbers are chosen from the private network&lt;br /&gt;numbers specified by the Internet Engineering Task Force (IETF) in RFC 1918&lt;br /&gt;(http://www.isi.edu/in-notes/rfc1918.txt).&lt;br /&gt;&lt;br /&gt;Remember that the host-only network that virtual machines reside on will not be&lt;br /&gt;accessible outside the host machine.  This means that it is OK to use the same&lt;br /&gt;number on different systems so long as you do not enable communication between&lt;br /&gt;these networks.&lt;br /&gt;&lt;br /&gt;Do you want this program to probe for an unused private subnet? (yes/no/help)&lt;br /&gt;[yes] y&lt;br /&gt;&lt;br /&gt;Probing for an unused private subnet (this can take some time)...&lt;br /&gt;&lt;br /&gt;The subnet 192.168.45.0/255.255.255.0 appears to be unused.&lt;br /&gt;&lt;br /&gt;The following host-only networks have been defined:&lt;br /&gt;&lt;br /&gt;. vmnet1 is a host-only network on private subnet 192.168.45.0.&lt;br /&gt;&lt;br /&gt;Do you wish to configure another host-only network? (yes/no) [no] n&lt;br /&gt;&lt;br /&gt;Extracting the sources of the vmnet module.&lt;br /&gt;&lt;br /&gt;Building the vmnet module.&lt;br /&gt;&lt;br /&gt;Building for VMware Workstation 5.5.0 or 5.5.1.&lt;br /&gt;Using 2.6.x kernel build system.&lt;br /&gt;make: Entering directory `/tmp/vmware-config1/vmnet-only'&lt;br /&gt;make -C /lib/modules/2.6.20-15-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules&lt;br /&gt;make[1]: Entering directory `/usr/src/linux-headers-2.6.20-15-generic'&lt;br /&gt;CC [M]  /tmp/vmware-config1/vmnet-only/driver.o&lt;br /&gt;CC [M]  /tmp/vmware-config1/vmnet-only/hub.o&lt;br /&gt;CC [M]  /tmp/vmware-config1/vmnet-only/userif.o&lt;br /&gt;CC [M]  /tmp/vmware-config1/vmnet-only/netif.o&lt;br /&gt;CC [M]  /tmp/vmware-config1/vmnet-only/bridge.o&lt;br /&gt;CC [M]  /tmp/vmware-config1/vmnet-only/procfs.o&lt;br /&gt;CC [M]  /tmp/vmware-config1/vmnet-only/smac_compat.o&lt;br /&gt;CC [M]  /tmp/vmware-config1/vmnet-only/smac_linux.x386.o&lt;br /&gt;LD [M]  /tmp/vmware-config1/vmnet-only/vmnet.o&lt;br /&gt;Building modules, stage 2.&lt;br /&gt;MODPOST 1 modules&lt;br /&gt;CC      /tmp/vmware-config1/vmnet-only/vmnet.mod.o&lt;br /&gt;LD [M]  /tmp/vmware-config1/vmnet-only/vmnet.ko&lt;br /&gt;make[1]: Leaving directory `/usr/src/linux-headers-2.6.20-15-generic'&lt;br /&gt;cp -f vmnet.ko ./../vmnet.o&lt;br /&gt;make: Leaving directory `/tmp/vmware-config1/vmnet-only'&lt;br /&gt;The module loads perfectly in the running kernel.&lt;br /&gt;&lt;br /&gt;Starting VMware services:&lt;br /&gt;Virtual machine monitor                                             done&lt;br /&gt;Virtual ethernet                                                    done&lt;br /&gt;Bridged networking on /dev/vmnet0                                   done&lt;br /&gt;Host-only networking on /dev/vmnet1 (background)                    done&lt;br /&gt;&lt;br /&gt;The configuration of VMware Workstation 5.5.1 build-19175 for Linux for this&lt;br /&gt;running kernel completed successfully.&lt;br /&gt;&lt;br /&gt;You can now run VMware Workstation by invoking the following command:&lt;br /&gt;"/usr/bin/vmware".&lt;br /&gt;&lt;br /&gt;Enjoy,&lt;br /&gt;&lt;br /&gt;--the VMware team&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;这次顺利地完成了！&lt;br /&gt;运行/usr/bin/vmware&lt;br /&gt;终于，期待已久的vmware窗口出来了。马上打开，却发现打开对话框中没有NTFS的盘，可能是系统不支持读写的原因吧，那就复制到Home吧，OK，我的Windows98出来了，呵呵，强啊，文件格式与Windows下的一样，虚拟机文件直接拿来就可以跑了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-3945389850149115984?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/3945389850149115984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=3945389850149115984' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/3945389850149115984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/3945389850149115984'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/05/ubuntu-704-vmware-551-build-19175.html' title='初用Ubuntu 7.04 --安装vmware 5.5.1 build-19175'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_ztYZmxCjHw0/Rj_5rRpf3gI/AAAAAAAAALk/9tSRM1IVPrE/s72-c/Screenshot-VMware+Workstation-1.png' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-2502176886600745290</id><published>2007-05-08T09:41:00.000+08:00</published><updated>2007-05-08T11:37:46.421+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>初用Ubuntu 7.04 --安装Skype</title><content type='html'>初用Ubuntu，什么也不会，但是桌面系统吧，傻瓜式的就按Windows的操作经验来乱试，遇到什么问题，通过Google来解决，也不必太深入，将过程记下来，作备忘吧。&lt;br /&gt;-----------------------------------------------------------------------------&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_ztYZmxCjHw0/Rj_wRRpf3fI/AAAAAAAAALc/gJRIiobLssU/s1600-h/Screenshot-Skype%E2%84%A2+-+lingsmm.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_ztYZmxCjHw0/Rj_wRRpf3fI/AAAAAAAAALc/gJRIiobLssU/s320/Screenshot-Skype%E2%84%A2+-+lingsmm.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5062028685773626866" /&gt;&lt;/a&gt;&lt;br /&gt;装完系统后，在应用程序（Application）的Internet菜单中，Gaim程序，可以登录MSN，QQ，ICQ等等，基本上比较流行的聊天软件都有了，但没有Skype，于是我上网去下载。在Skype的官方网站，For Linux的下载列表中，没有For Ubuntu的，通过Google，得到了For Debian的下载地址（Ubuntu是基于Debian内核的。&lt;br /&gt;下载地址：&lt;a href="http://www.skype.com/go/getskype-linux-deb"&gt;http://www.skype.com/go/getskype-linux-deb&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;下载完成后，进行安装，后面所跟的文件名，以实际下载后的文件名为准。&lt;br /&gt;&lt;br /&gt;sudo dpkg -i ./skype_debian-1.3.0.53-1_i386.deb&lt;br /&gt;Password:&lt;br /&gt;选中了曾被取消选择的软件包 skype。&lt;br /&gt;(正在读取数据库 ... 系统当前总共安装有 88037 个文件和目录。)&lt;br /&gt;正在解压缩 skype (从 .../skype_debian-1.3.0.53-1_i386.deb) ...&lt;br /&gt;dpkg：依赖关系问题使得 skype 的配置工作不能继续：&lt;br /&gt; skype 依赖于 libqt3-mt | libqt3c102-mt (&gt;= 3:3.3.3.2)；然而：&lt;br /&gt;  未曾安装软件包“libqt3-mt”。&lt;br /&gt;  未曾安装软件包“libqt3c102-mt”。&lt;br /&gt;dpkg：处理 skype (--install)时出错：&lt;br /&gt; 依赖关系问题 - 仍未被配置&lt;br /&gt;在处理时有错误发生：&lt;br /&gt; skype&lt;br /&gt;&lt;br /&gt;以上，郁闷，缺少依赖包，但我不知道怎么安装依赖包，我试着输入命令：&lt;br /&gt;sudo apt-get -install libqt3-mt&lt;br /&gt;但是出错了，折腾了半天也没成功，于是上网去搜索，有人提醒说，直接下载动态或是静态的二进制包即可，于是下载了静态包，解压后，直接运行，OK。&lt;br /&gt;&lt;br /&gt;本来这事，到这也就结了，但我发现，打开Update Manager出错了！提示输入命令进行修复。&lt;br /&gt;&lt;br /&gt;sudo apt-get install -f&lt;br /&gt;Password:&lt;br /&gt;正在读取软件包列表... 完成&lt;br /&gt;正在分析软件包的依赖关系树       &lt;br /&gt;Reading state information... 完成      &lt;br /&gt;正在更正依赖关系... 完成&lt;br /&gt;将会安装下列额外的软件包：&lt;br /&gt;  libqt3-mt&lt;br /&gt;建议安装的软件包：&lt;br /&gt;  libqt3-mt-psql libqt3-mt-mysql libqt3-mt-odbc&lt;br /&gt;下列【新】软件包将被安装：&lt;br /&gt;  libqt3-mt&lt;br /&gt;共升级了 0 个软件包，新安装了 1 个软件包，要卸载 0 个软件包，有 15 个软件未被升级。&lt;br /&gt;有 1 个软件包没有被完全安装或卸载。&lt;br /&gt;需要下载 3299kB 的软件包。&lt;br /&gt;解压缩后会消耗掉 9130kB 的额外空间。&lt;br /&gt;您希望继续执行吗？[Y/n]y&lt;br /&gt;获取：1 http://cn.archive.ubuntu.com feisty/main libqt3-mt 3:3.3.8really3.3.7-0ubuntu5 [3299kB]&lt;br /&gt;下载 3299kB，耗时 1m31s (36.1kB/s)                                             &lt;br /&gt;选中了曾被取消选择的软件包 libqt3-mt。&lt;br /&gt;(正在读取数据库 ... 系统当前总共安装有 88088 个文件和目录。)&lt;br /&gt;正在解压缩 libqt3-mt (从 .../libqt3-mt_3%3a3.3.8really3.3.7-0ubuntu5_i386.deb) ...&lt;br /&gt;正在设置 libqt3-mt (3.3.8really3.3.7-0ubuntu5) ...&lt;br /&gt;&lt;br /&gt;正在设置 skype (1.3.0.53-1) ...&lt;br /&gt;&lt;br /&gt;呵呵，系统自动帮我安装了我想装但没装上的依赖包libqt3-mt，还智能地修复了skype，这时，到菜单里，发现Internet中多了Skype，OK，不要静态包了：-）&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-2502176886600745290?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/2502176886600745290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=2502176886600745290' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/2502176886600745290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/2502176886600745290'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/05/ubuntu-704-skype.html' title='初用Ubuntu 7.04 --安装Skype'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_ztYZmxCjHw0/Rj_wRRpf3fI/AAAAAAAAALc/gJRIiobLssU/s72-c/Screenshot-Skype%E2%84%A2+-+lingsmm.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-8816471313829528047</id><published>2007-05-08T09:19:00.000+08:00</published><updated>2007-05-08T09:39:08.080+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>初用Ubuntu 7.04 --安装截图软件scrot</title><content type='html'>初用Ubuntu，什么也不会，但是桌面系统吧，傻瓜式的就按Windows的操作经验来乱试，遇到什么问题，通过Google来解决，也不必太深入，将过程记下来，作备忘吧。&lt;br /&gt;&lt;br /&gt;相关博客文章：&lt;a href="http://www.fwolf.com/blog/post/215"&gt;http://www.fwolf.com/blog/post/215&lt;/a&gt;&lt;br /&gt;-----------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;在Ubuntu中，桌面系统自带有截图功能，只要按PrintScreen功能键，就可以保存整个屏幕，也可以按Alt+PrintScreen组合键，保存当前激活的窗口，操作与Windows的一样，只不过，Windows中复制到剪贴板中，而Ubuntu则是直接跳出保存对话框。&lt;br /&gt;但是，比如我要将输入汉字时，输入法的提示栏给保存下来，用上面的办法就不行，我只要按下键盘，输入法提示栏就自动消失了，没办法，找个专业户来干这事吧。&lt;br /&gt;通过Google搜索，我选择了Scrot，正如这位博客说的：“还有其他的几个截图软件，比如SnapALL，但毕竟不如apt中有的scrot方便呀。”，具体的就不多说了，参考这个博客的文章。&lt;br /&gt;我装好以后，在命令行输入scrot -d 3，命令行会停留在那里，进行计时，并截图，我赶紧切换到文档编辑器，输入汉字，呵呵，好像3秒太少了点，可能是我的手脚太慢了吧：-）&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ztYZmxCjHw0/Rj_TkBpf3dI/AAAAAAAAALM/l53DPNSUsaQ/s1600-h/2007-05-08-093246_481x183_scrot.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_ztYZmxCjHw0/Rj_TkBpf3dI/AAAAAAAAALM/l53DPNSUsaQ/s320/2007-05-08-093246_481x183_scrot.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5061997122058968530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_ztYZmxCjHw0/Rj_T6Rpf3eI/AAAAAAAAALU/XTLtuqfCQq4/s1600-h/Screenshot-Main+Menu.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_ztYZmxCjHw0/Rj_T6Rpf3eI/AAAAAAAAALU/XTLtuqfCQq4/s320/Screenshot-Main+Menu.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5061997504311057890" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;在将这款软件加到菜单时，我没找到这位博客所说的“Alacarte Menu Editor”，或许是版本不同，叫法不同吧。我是在System菜单下，选择首选项中的“Main Menu"来添加的，请参考图片，点击New Item来追加。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-8816471313829528047?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/8816471313829528047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=8816471313829528047' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8816471313829528047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8816471313829528047'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/05/ubuntu-704-scrot.html' title='初用Ubuntu 7.04 --安装截图软件scrot'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_ztYZmxCjHw0/Rj_TkBpf3dI/AAAAAAAAALM/l53DPNSUsaQ/s72-c/2007-05-08-093246_481x183_scrot.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-7816246003677753852</id><published>2007-05-08T07:47:00.000+08:00</published><updated>2007-05-08T09:19:31.491+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>初用Ubuntu 7.04 -- 安装五笔输入法</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_ztYZmxCjHw0/Rj_P6xpf3cI/AAAAAAAAALE/j5DF0jtXPug/s1600-h/2007-05-08-091603_702x469_scrot.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_ztYZmxCjHw0/Rj_P6xpf3cI/AAAAAAAAALE/j5DF0jtXPug/s320/2007-05-08-091603_702x469_scrot.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5061993114854481346" /&gt;&lt;/a&gt;&lt;br /&gt;初用Ubuntu，什么也不会，但是桌面系统吧，傻瓜式的就按Windows的操作经验来乱试，遇到什么问题，通过Google来解决，也不必太深入，将过程记下来，作备忘吧。&lt;br /&gt;&lt;br /&gt;小企鹅输入法官方网站：&lt;a href="http://www.fcitx.org/"&gt;http://www.fcitx.org/&lt;/a&gt;&lt;br /&gt;---------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;装完了Ubuntu后，桌面的操作体验不错，打开/移动窗口比较流畅，不像前几年装的Linux，在Gnome下，窗口操作那是明显的迟滞感，很不爽，现在终于爽了一把：-），不知道是不是我那时没装显卡驱动的原因，不过现在我也没装，不知道这个系统认不认我的ATI显卡。反正我在硬件信息里是没找着。&lt;br /&gt;&lt;br /&gt;上网，用FireFox，桌面顶上的系统栏上那个明显的大大的FF图标，一点即可。嘿嘿，我用的是无线上网，系统安装完毕，已经帮我找到可用的无线网络了，我只要输入访问密码即可。但问题来了，我没办法输入汉字，虽然我习惯使用五笔，可是连拼音也没有！！！看来得想办法了。&lt;br /&gt;Google吧（没装汉字输入法，所以搜索时，只好用汉语拼音，再将对应的汉字复制出来，重新搜一把），找到一个：&lt;a href="http://softbbs.pconline.com.cn/topic.jsp?tid=6992788&amp;lastUpdate=04-27.19:33"&gt;http://softbbs.pconline.com.cn/topic.jsp?tid=6992788&amp;lastUpdate=04-27.19:33&lt;/a&gt;&lt;br /&gt;但是，不知道是版本问题还是怎么地，我打开的SCIM输入法设置界面，是全E文的，试了好多次，也没有成功，只好作罢，另想办法了。&lt;br /&gt;再次Google，我选择了Fcitx这个输入法，安装比较简单：&lt;br /&gt;&lt;br /&gt;sudo apt-get install fcitx&lt;br /&gt;sudo sh -c " echo 'export XMODIFIERS=@im=fcitx ; export GTK_IM_MODULE="fcitx" ; fcitx ' &gt; /etc/X11/Xsession.d/95xinput "&lt;br /&gt;sudo chmod +rwxXst /etc/X11/Xsession.d/95xinput&lt;br /&gt;&lt;br /&gt;输入以上三条命令后，注销系统后，重新登录，在屏幕的上中部，就出来这个可爱的输入法了，切换使用Ctrl+Space，还支持拼音，五笔等，好，终于可以写汉字了。&lt;br /&gt;&lt;br /&gt;我们来看一下，这些命令具体代表什么意思：&lt;br /&gt;1. sudo，每条命令里，都有这个词，以前我知道在Linux中有个su的命令，作用是暂时转到root帐号下，进行系统管理，那顾名思义，这个应该就是转到管理员帐号，并执行某个命令了。&lt;br /&gt;2. apt-get install fcitx，这个也能猜到，应该是从Ubuntu网站上取得fcitx这个软件，并安装。&lt;br /&gt;3. sh -c ..... 这条命令就不清楚了，只知道sh是shell，类似于Windows下的Command.com/Cmd.com，是命令行程序。感觉似乎是打印(echo)一行文本，通过管导符&gt;，输出到一个文件中，这应该是修改系统输入法的配置文件吧，追加新安装的输入法，以便系统启动时，自动加载。&lt;br /&gt;4. chmod，这一句的意图应该是修改配置文件的可访问权限，至于为什么要修改，就不明白了，难道输入法fcitx，在当前用户（非管理员）的环境下，要访问这个文件？&lt;br /&gt;&lt;br /&gt;其中，最后一条命令，网上搜索来的，其实是：&lt;br /&gt;sudo chmod +755 /etc/X11/Xsession.d/95xinput&lt;br /&gt;在Ubuntu中，模式值，似乎不再支持使用数字，而改用表义字母了，嗯，相对要人性化了一点（在文件浏览器中，好象也可以设置，那是全图形化的，更傻瓜式），我也不知道755代表什么，也懒得查，只想早点把输入法搞定，所以，当命令行提示：&lt;br /&gt;&lt;br /&gt;chmod: invalid mode: `+755'&lt;br /&gt;Try `chmod --help' for more information.&lt;br /&gt;&lt;br /&gt;那我就Try吧：&lt;br /&gt;&lt;br /&gt;$ chmod --help&lt;br /&gt;Usage: chmod [OPTION]... MODE[,MODE]... FILE...&lt;br /&gt;  or:  chmod [OPTION]... OCTAL-MODE FILE...&lt;br /&gt;  or:  chmod [OPTION]... --reference=RFILE FILE...&lt;br /&gt;Change the mode of each FILE to MODE.&lt;br /&gt;&lt;br /&gt;  -c, --changes           like verbose but report only when a change is made&lt;br /&gt;      --no-preserve-root  do not treat `/' specially (the default)&lt;br /&gt;      --preserve-root     fail to operate recursively on `/'&lt;br /&gt;  -f, --silent, --quiet   suppress most error messages&lt;br /&gt;  -v, --verbose           output a diagnostic for every file processed&lt;br /&gt;      --reference=RFILE   use RFILE's mode instead of MODE values&lt;br /&gt;  -R, --recursive         change files and directories recursively&lt;br /&gt;      --help     display this help and exit&lt;br /&gt;      --version  output version information and exit&lt;br /&gt;&lt;br /&gt;Each MODE is of the form `[ugoa]*([-+=]([&lt;span style="font-weight:bold;"&gt;rwxXst&lt;/span&gt;]*|[ugo]))+'.&lt;br /&gt;&lt;br /&gt;Report bugs to &lt;bug-coreutils@gnu.org&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;看到粗体部分了？不管他，全加上吧：-）&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-7816246003677753852?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/7816246003677753852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=7816246003677753852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/7816246003677753852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/7816246003677753852'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/05/ubuntu-704_08.html' title='初用Ubuntu 7.04 -- 安装五笔输入法'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_ztYZmxCjHw0/Rj_P6xpf3cI/AAAAAAAAALE/j5DF0jtXPug/s72-c/2007-05-08-091603_702x469_scrot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-1513884465794830445</id><published>2007-05-08T07:26:00.000+08:00</published><updated>2007-05-08T07:46:48.676+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>安装Ubuntu 7.04</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_ztYZmxCjHw0/Rj-6DRpf3bI/AAAAAAAAAK8/HpftaGI0jmY/s1600-h/masthead-products.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_ztYZmxCjHw0/Rj-6DRpf3bI/AAAAAAAAAK8/HpftaGI0jmY/s320/masthead-products.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5061969071627558322" /&gt;&lt;/a&gt;&lt;br /&gt;Ubuntu 7.04发布了，想看看怎么样，于是上网下了最新的Desktop的映象文件，大概700M多一点。&lt;br /&gt;我的机器是Sony S16的本本，512M内存，原来的系统是Windows XP Pro，装了Vmware5.5,加载安装CD后，顺利进入了Live CD的桌面，感觉界面挺爽的，越来越接近Windows的操作体验了。&lt;br /&gt;但是，在VM中，我点击安装，系统却失去了响应，好几次都是这样，也没去网上找原因，心想，这系统看上去挺不错的，算了，直接拿来换掉Windows XP吧。&lt;br /&gt;要直接安装Ubuntu，我首先将ISO文件刻录成光盘（没有CD盘，用了张DVD，有点浪费：-），用光盘启动后，在安装过程中，选择手动分区（我有两个NTFS分区，一个是原XP系统盘，一个是数据盘，数据当然不想丢掉），删除原系统分区，新建一个800M的SWAP，其余全挂载到/。安装非常顺利，重新启动后，进入系统，漂亮！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-1513884465794830445?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/1513884465794830445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=1513884465794830445' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/1513884465794830445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/1513884465794830445'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/05/ubuntu-704.html' title='安装Ubuntu 7.04'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_ztYZmxCjHw0/Rj-6DRpf3bI/AAAAAAAAAK8/HpftaGI0jmY/s72-c/masthead-products.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-8814557743592762943</id><published>2007-04-30T12:33:00.000+08:00</published><updated>2007-04-30T13:21:13.981+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='随笔'/><title type='text'>玉环的丧葬习俗</title><content type='html'>前些日子，外公去世，回家为他送葬。虽然并不是第一次送葬，但也还是不太清楚祖辈相传的送葬习俗。&lt;br /&gt;&lt;br /&gt;我老家在玉环岛上，由于旧朝曾海禁，所以现居民，算是彻底的移民了，岛上据说现还有六种方言，我所知道的有五种，是：太平话，平洋话，坎门话，温州话，“新会话”（音，不知道是否是这两个字），我外公家是说平洋话的，我们家则是说太平话的，平洋话，我只能听说简单的话。由于语言多样，在县城，商店或大街上，说普通话比较普遍，没有其它地方，那种不说方言，明显地有被看作外地人的情况（歧视总是无处不在）。同样，大家来自不同的地方，丧葬习俗也不尽相同，但大体上，我猜应该可分为港北与港南两片（楚门半岛及芦浦镇为港北，我家在芦浦，虽然是在岛上，但也还是隶属于港北，不知道是地理原因还是其它，如移民的来源）。&lt;br /&gt;&lt;br /&gt;我家祖上听说是从福建迁移来的，分为两支，一支在乐清。每逢清明，还会互相来往，一年一聚，交替为两处扫墓。我曾经在网上查了江姓的出处，一支在北方，一支则是从广东来的，而后者的可能较大。&lt;br /&gt;&lt;br /&gt;我回家时，外公已经火化，下葬的日子则定有三月初十。期间，请了道士做道场，父亲与母亲对我说，他们在初九这一天，要为外公“开火光”（音，不知道具体含义，但大概是请人超度灵魂的意思吧），要我去帮忙。而事实上，也帮不上什么忙，只是和哥哥去买了一头“梅头纸”（音）而已。“梅头纸”还挺有讲究，要以五张一包，包好之后，还要加印些东西。这些，还专门有长者指导。另外，就是为道士和相帮的人，作点心，方言称“脚力”（音），一般家里请各种手艺人，在下午三点左右，都要准备的（如木匠，泥水匠，油漆匠等）。以前多为炒面，或是汤年糕。&lt;br /&gt;&lt;br /&gt;出殡的时辰是九点钟，但实际是九点半了，这是以时辰计的，八字中的时辰是十二地支，一个时辰相当于现在的两个小时。时辰到了后，孝子孝孙围跪在棺前，由长者盖棺。盖棺者，抓一把米撒在一角，拿一木榫在骨灰盒上作势一击，依次钉完四角后，孝子孝孙起身围棺转三次后出发。走在最前面的是两名手执铜锣的人，引领大家前往墓地。其后是长孙手棒遗像，头顶麻绳结成的圈，之后是香炉盏，内为牌位，再是棺椁，后随子女及其它送行的亲戚好友。另前有洋鼓洋号，后有道士的丝竹鼓乐，一路上鞭炮声不断。行进的路线一般是绕乡一圈，若遇上有桥梁，子女则要分跪两边。到达墓地后，子女在墓前顺逆三圈，此时下葬并封口。然后大家将白布换成红布下山按原路线返回。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;玉环的礼仪习俗——丧葬&lt;br /&gt;&lt;a href="http://culture.zjol.com.cn/05culture/system/2006/01/11/006438331.shtml"&gt;http://culture.zjol.com.cn/05culture/system/2006/01/11/006438331.shtml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;www.zjol.com.cn　 2006年01月11日 　浙江在线新闻网站&lt;br /&gt;&lt;br /&gt;送终、守尸&lt;br /&gt;&lt;br /&gt;    病人临死，家人围床前焚香跪拜、哭泣、呼叫，守候断气，旧俗称“送终”。人死，将尸体移到中堂，放在门板上，俗称“板头”，待入殓。用金属钱币向井神“买水”，为死者沐身；于脚头下由孝子站凳上“当着老天爷的面”，用无锤秤称寿衣，声明亲人缝制，然后为死者“穿”寿衣。塞铜钱一枚于死者口，称“含口钱”。并将死者生前被、枕、褥等一应“脚尾货”搬屋外。男尸须理发，剃前不剃后，取意“留后”；女尸须梳头、挽髻，不使披散。女婿要送“寿被”。&lt;br /&gt;&lt;br /&gt;    死于海损的渔人，一般不入居屋，在海边岙口搭“收尸寮”。&lt;br /&gt;&lt;br /&gt;报丧&lt;br /&gt;&lt;br /&gt;    家人按死者生辰八字择大、小殓及发葬日，以黄榜写明，附属肖避忌，贴于门口或显目墙角，并奔告戚友。近年渐改用“讣告”。眷属在外，不论远近，即赶赴。&lt;br /&gt;&lt;br /&gt;入殓&lt;br /&gt;&lt;br /&gt;    俗称“落材”、“敲钉”。材内铺石灰、木炭、材席、冥纸等。闽籍及坎门一地风俗，仵作以白布条放尸入棺，抽回依序分给孝男女，俗称“腰白”。然后垫瓦片、黄土于头顶，脚尾，撮黄土撒死者腹部，盖上“水被”。盖棺时虚按三枚木制镶嵌式“元宝钉”，留一枚交长子收藏，称“小殓”。男女跪地哭嚎，大呼“留丁、留财”。&lt;br /&gt;&lt;br /&gt;    发葬前，以素馔祭祀，亲友皆素服跪拜。然后“敲钉”、封棺，亲友憾嚎，称“大殓”。&lt;br /&gt;&lt;br /&gt;    港北太平籍人程式较简单。殓尸后，移棺到户外，称“码棺”。晚上棺前点“脚头灯”。&lt;br /&gt;&lt;br /&gt;出殡&lt;br /&gt;&lt;br /&gt;    移棺至当路，套以材罩，子孙挟死者生前席枕等至僻处烧化后，各持香巡棺。出殡时，扛棺人踢倒搁棺板凳。走三步停一停，反复三次方开步。子孙披麻，戴“三梁冠”，挽灵柩。亲友或披麻穿白衣，或以丧家分给白布系臂，或佩黑臂圈，相随送殡。队列前有一人引路放纸锞，后有开路锣、彩旗、头牌、花圈、遗容、魂轿、香亭、细软乐队等。近年在城镇，有用自行车、摩托车开路，鞭炮狂放，洋号吹时乐等奢费，经劝导，稍敛。&lt;br /&gt;&lt;br /&gt;    港南出葬通常由子女的友人、同事扛棺，一路直奔墓地。港北则雇请力作，可随时以拄木拄棺杠，歇歇气再走。路遇祠、庙、桥、路廊，孝子跪地请神放行，南北皆然。&lt;br /&gt;&lt;br /&gt;安葬&lt;br /&gt;&lt;br /&gt;    至墓地，后人憾嚎，悲天怆地，锣声齐鸣。按头内脚外推棺进坟圹。抽出垫在圹地上便于推滑棺木的竹片，在墓前点烘炉炭火，由长子一手提炭火，一手拖竹片，称“拖怜愁竹”。子媳按序提灯，称“引丁”。一行送葬人等原路回门，留造坟泥工封坟门。以酒馔宴戚友及一应帮工。&lt;br /&gt;&lt;br /&gt;坟圹&lt;br /&gt;&lt;br /&gt;    本地兴墓葬。墓地选择，取坐北朝南高燥山地。动工时要分麻糍、方糕，称“发坟”。挖山坎构筑为“草墓”，浮地构筑为“浮墓”。通常以砖石为廊，底面捣灰或铺砖石。上盖拱形大墓砖，再披以泥灰。以夫妻合葬双圹坟墓居多。早时有多圹圈椅式大墓，依山成斜坡形，50年代后不兴建。为未亡人造坟称为“做生坟”或 “做寿坟”。坟圹前刻勒“福”“寿”或“禄”字样，未葬人用红漆添写，已葬人用黑漆涂之，以示区别。近年局部出现方石廓等豪华墓所，砌以围墙，镂石雕花，装修华丽，耗资极多。&lt;br /&gt;&lt;br /&gt;做七及忌日&lt;br /&gt;&lt;br /&gt;    于中堂设灵，供羹饭。以死后每七日为一“七”，闽籍人称“做巡”。至七七撤灵，脱麻孝，诵经、安土、题木主。期内孝子不理发。周年悼念称“对年”；二足年脱素换红，称“三年满”。超度拜忏之“开火光”，可在“做七”期内或三年满前做。以后以死日为忌日，每年逢忌日悼念，谓之“做忌”。&lt;br /&gt;&lt;br /&gt;    以上所因袭之旧葬俗，各地略异。从50年代起，政府多次倡行丧葬事简办新办。民间逐步用追悼会取代吊孝，用遗像取代木主牌位。亲友吊唁，赠花圈，戴黑纱。丧葬中迷信活动大都革除，僻处仍行。近已推行火葬，并始建公墓。&lt;br /&gt;&lt;br /&gt;其他葬俗&lt;br /&gt;&lt;br /&gt;    招潮魂　旧时海损事故屡发，尸不能还。家属在海滩岙口为死者招魂，以衣冠履草人或一并烧化取灰入甏，至“墓所”，葬之。&lt;br /&gt;&lt;br /&gt;    甏葬   将散葬各处多年族人启坟收骨殖，各装入甏坛重葬一处。港南渔乡50年代前较多见。&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;来源： 浙江在线-玉环网 　作者：&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-8814557743592762943?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/8814557743592762943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=8814557743592762943' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8814557743592762943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8814557743592762943'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/04/blog-post_30.html' title='玉环的丧葬习俗'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-8112797423884298831</id><published>2007-04-10T13:06:00.000+08:00</published><updated>2007-04-10T13:37:30.678+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.Net2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows service'/><title type='text'>传入时间字符串，返回与系统当前时间的毫秒差值</title><content type='html'>做Windows service，要从配置文件读取定时处理时间，再取得与当前时间的差，设置处理定时器。下面的函数是为了完成取差值。传入的参数格式是："HH：MM：SS"，秒数可省："HH:MM"，各数值为00~99的数值，表示从零时后多少小时，又多少分，又多少秒，与报时用的时间有别。&lt;br /&gt;&lt;div style="border: 1px solid rgb(138, 138, 138); margin: 1px; padding: 6px;  font-family: Courier New; font-size: 12px; background-color: rgb(238, 238, 238);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;Private&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;Function&lt;/span&gt;&amp;nbsp;GetTimeOffset(&lt;span style="color: rgb(0, 0, 255);"&gt;ByVal&lt;/span&gt;&amp;nbsp;strTime&amp;nbsp;As&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;String&lt;/span&gt;)&amp;nbsp;As&amp;nbsp;&lt;span style="color: rgb(128, 128, 0);"&gt;Double&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt;&amp;nbsp;objReg&amp;nbsp;As&amp;nbsp;New&amp;nbsp;Regex(&lt;span style="color: rgb(255, 0, 255);"&gt;"(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?"&lt;/span&gt;)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt;&amp;nbsp;objMatch&amp;nbsp;As&amp;nbsp;Match&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt;&amp;nbsp;objLanuch&amp;nbsp;As&amp;nbsp;TimeSpan&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt;&amp;nbsp;objOffsetSpan&amp;nbsp;As&amp;nbsp;TimeSpan&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;If&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;Not&lt;/span&gt;&amp;nbsp;objReg.IsMatch(strTime)&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;Then&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Return&amp;nbsp;-1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;End&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;If&lt;/span&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;objMatch&amp;nbsp;=&amp;nbsp;objReg.Match(strTime)&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;If&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;String&lt;/span&gt;.&lt;span style="color: rgb(0, 0, 255);"&gt;Empty&lt;/span&gt;.Equals(objMatch.Groups(3).Value)&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;Then&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;objLanuch&amp;nbsp;=&amp;nbsp;New&amp;nbsp;TimeSpan(Integer.Parse(objMatch.Groups(1).Value),&amp;nbsp;_&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Integer.Parse(objMatch.Groups(2).Value),&amp;nbsp;_&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;Else&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;objLanuch&amp;nbsp;=&amp;nbsp;New&amp;nbsp;TimeSpan(Integer.Parse(objMatch.Groups(1).Value),&amp;nbsp;_&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Integer.Parse(objMatch.Groups(2).Value),&amp;nbsp;_&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Integer.Parse(objMatch.Groups(3).Value))&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;End&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;If&lt;/span&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;objOffsetSpan&amp;nbsp;=&amp;nbsp;objLanuch.Subtract(DateTime.&lt;span style="color: rgb(0, 0, 255);"&gt;Now&lt;/span&gt;.TimeOfDay)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;If&lt;/span&gt;&amp;nbsp;objOffsetSpan.TotalMilliseconds&amp;nbsp;&amp;lt;=&amp;nbsp;0&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;Then&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;objOffsetSpan&amp;nbsp;=&amp;nbsp;objOffsetSpan.Add(New&amp;nbsp;TimeSpan(1,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0))&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;End&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;If&lt;/span&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Return&amp;nbsp;objOffsetSpan.TotalMilliseconds&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;End&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 255);"&gt;Function&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-8112797423884298831?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/8112797423884298831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=8112797423884298831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8112797423884298831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8112797423884298831'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/04/blog-post_10.html' title='传入时间字符串，返回与系统当前时间的毫秒差值'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-4980082973179055874</id><published>2007-04-10T12:49:00.000+08:00</published><updated>2007-04-10T13:06:04.280+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.Net2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows service'/><title type='text'>如何调试Windows service的onStart()方法</title><content type='html'>一般来说，启动Windows service后，创建定时器，定时调用处理过程。调试定时处理过程时，挂载到服务进程，再等待定时器被激发后，IDE会停在断点，进行单步跟踪调试。但想对onStart()进行调试却比较困难，因为等我们完成挂载时，onStart()已经执行完毕了。所以，首先要想办法让onStart()慢点执行，以便我们在服务启动并执行到断点前，有足够的时间来挂载调试器。要实现这个功能，最简单的就是让程序在断点前，暂停一段时间。我们可以追回一句：&lt;br /&gt;System.Threading.Thread.Sleep(10000)&lt;br /&gt;Sleep()的参数是毫秒，这里是暂停10秒，应该有足够的时间，让我们从容挂载调试器。&lt;br /&gt;要注意的是，从管理控制台，点启动服务时，就马上去IDE的TOOL菜单下挂载调试器，而不是等服务启动完成。服务是在onStart()执行完毕后，才完成启动的，那时再去挂载，就为时已晚了。这点我们可以修改暂停时间来证明，如果时间设得越长，则服务器动时，那个等待进度条走得就越慢。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-4980082973179055874?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/4980082973179055874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=4980082973179055874' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4980082973179055874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4980082973179055874'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/04/windows-serviceonstart.html' title='如何调试Windows service的onStart()方法'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-1018373255572796319</id><published>2007-04-10T09:17:00.000+08:00</published><updated>2007-04-10T09:41:58.370+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows service'/><title type='text'>.Net2.0下,Windows Service程序Log无法输出的问题</title><content type='html'>这两天遇到了这个问题，最后发现，是路径的问题。&lt;br /&gt;以下是我的配置：&lt;br /&gt; &amp;lt;system.diagnostics&amp;gt;&lt;br /&gt;   &amp;lt;sources&amp;gt;&lt;br /&gt;     &amp;lt;source name="DefaultSource" switchname="DefaultSwitch"&amp;gt;&lt;br /&gt;       &amp;lt;listeners&amp;gt;&lt;br /&gt;         &amp;lt;add name="FileLogListener"&amp;gt;&lt;br /&gt;         &amp;lt;!--&amp;lt;add name="EventLog"&amp;gt;--&amp;gt;&lt;br /&gt;       &amp;lt;/listeners&amp;gt;&lt;br /&gt;     &amp;lt;/source&amp;gt;&lt;br /&gt;   &amp;lt;/sources&amp;gt;&lt;br /&gt;   &amp;lt;switches&amp;gt;&lt;br /&gt;     &amp;lt;add name="DefaultSwitch" value="Information"&amp;gt;&lt;br /&gt;   &amp;lt;/switches&amp;gt;&lt;br /&gt;   &amp;lt;sharedlisteners&amp;gt;&lt;br /&gt;     &amp;lt;add name="FileLogListener"&lt;br /&gt;         type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"&lt;br /&gt;         initializeData="FileLogListenerWriter"&lt;br /&gt;         location="Custom"&lt;br /&gt;         &lt;span style="color: rgb(255, 0, 0);"&gt;customlocation="LOG\"&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;!--&amp;lt;add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializedata="APPLICATION_NAME"&amp;gt; --&amp;gt;&lt;br /&gt;   &amp;lt;/sharedlisteners&amp;gt;&lt;br /&gt; &amp;lt;/system.diagnostics&amp;gt;&lt;br /&gt;其中，红色部分为LOG输出路径，我写的是相对路径。&lt;br /&gt;运行Windows Service后，我在EXE所在路径下去检查LOG文件，但不存在。这使我误以为在Windows service下无法使用my.Application.Log，为解决这个问题走了很多弯路。后来，查了MSDN，上面明确提到支持Windows service，而且配置文件，除了使用绝对路径外，其它都相同。于是我也改成绝对路径，测试后发现，确实能输出LOG。&lt;br /&gt;那为什么用相对路径无法输出呢？还是输出到其它路径下去了？&lt;br /&gt;我运行Process Explorer查看windows service进程，发现它打开了文件:%SystemRoot%\system32\LOG\myService.log&lt;br /&gt;这样看来，当采用相对路径时，输出目录是相对于程序的工作目录，而不是可执行文件所在目录。一般的windows application的工作目录，与可执行文件所在目录一致，而windows service由于是系统目录system32下的svchost.exe加载的，它的工作目录也就成了系统目录system32。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-1018373255572796319?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/1018373255572796319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=1018373255572796319' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/1018373255572796319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/1018373255572796319'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/04/net20windows-servicelog.html' title='.Net2.0下,Windows Service程序Log无法输出的问题'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-4222645166650023123</id><published>2007-04-07T12:46:00.000+08:00</published><updated>2007-04-07T13:01:09.096+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='随笔'/><title type='text'>喜欢Wii的理由</title><content type='html'>最近，公司里放了台WII来给大家玩，玩过后，感觉确实不错（公司的出发点是，我们在电脑前坐太多了，用以适当运动一下），所以也想拿一台，上网查了后，看到一篇&lt;a href="http://groups.games.tom.com/message/post/view_message.php?page=1&amp;groupid=1114&amp;amp;gcid=1186&amp;amp;postid=354588"&gt;《Wii真的如此理想?炮轰Wii的五大盲区》&lt;/a&gt;，也想说说自己的想法。&lt;br /&gt;其实整篇文章就动作捕捉的精确度这一点外，其它的讨论并无意义。按我个人来说，选择它的理由是，这款机子有健身器的作用，却多了乐趣，又有游戏机的功能，多了健身。象我们这些PG，一天&gt;8小时的面对电脑，本身就缺少运动，难道还要坚持坐着动动手指去玩普通游戏手柄的游戏？选择它，要的就是运动后的那种疲劳感，每天一两个小时最多了，却能得到非常好的放松工作心情与锻炼。我是不认同那种玩游戏，可以做在电脑前n小时的“专业”玩家，这样玩下来，身体吃得消吗？我身边就有个朋友，为了玩游戏，经常是黑白颠倒。玩游戏，也是要健康的。&lt;br /&gt;现在的家庭，一般都有游戏机，我想，若父母知道有这么一款健康的游戏，肯定会成为首选。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-4222645166650023123?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/4222645166650023123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=4222645166650023123' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4222645166650023123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4222645166650023123'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/04/wii.html' title='喜欢Wii的理由'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-5287919788668300130</id><published>2007-04-01T11:41:00.000+08:00</published><updated>2007-04-01T12:02:23.396+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>做了个特殊字符查看网页</title><content type='html'>今天完成了特殊字符查看网页，并上传到了googlepage上：&lt;a href="http://lingsmm.googlepages.com/char.html"&gt;http://lingsmm.googlepages.com/char.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;显示的内容主要有从MSDN中来的三份特殊字符表，以及从EXCEL的插入字符中选取的中文特殊字符，另外，若选择“User Defined Font“，则可以对扩展ASCII (0~255) 的字符选择显示字体（也可以手工输入其它字体），如常用的Webdings字体。但遗憾的是，在FF2.0.0.1中测试发现，使用style.fontFamily来指定Webdings字体，无法正常显示特殊符号，所以只好使用已经过时的&amp;lt;font face="Webdings"&amp;gt;来进行设置。由于此标签在XHTML1.0中，已经被废弃，所以不能在网页头上加 &amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt; 否则不能正常显示特殊字符。按我猜想，FF之所以不支持，可能是由于unicode中，已经或将要包含这些符号吧。&lt;br /&gt;&lt;br /&gt;由于要包含中文的一些特殊字符，所以网页的字符集，采用了unicode，可能有些字符编码，甚至已经超出了utf-8字符集（没有确认过）&lt;br /&gt;&lt;br /&gt;在这个网页的制作过程中，为了同时支持IE6与FF2，写Javascript颇费工夫，不断的冒出问题，做得很不顺利，还好，终于完成了：-）&lt;br /&gt;另外，从网上看到说用CSS，也能实现圆角矩形，不禁试用了一下，感觉不错。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-5287919788668300130?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/5287919788668300130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=5287919788668300130' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/5287919788668300130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/5287919788668300130'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/04/blog-post.html' title='做了个特殊字符查看网页'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-4308545315123110262</id><published>2007-03-30T15:56:00.000+08:00</published><updated>2007-03-30T16:04:23.737+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>使用CSS实现圆角</title><content type='html'>下面网站，专门帮你制作CSS样式，实现团角矩形的效果：&lt;br /&gt;&lt;a href="http://www.spiffycorners.com/"&gt;http://www.spiffycorners.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-4308545315123110262?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/4308545315123110262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=4308545315123110262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4308545315123110262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/4308545315123110262'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/03/css.html' title='使用CSS实现圆角'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-1777668409884558748</id><published>2007-03-25T21:35:00.000+08:00</published><updated>2007-03-25T21:36:55.007+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>JavaScript 调试器 firefox venkman</title><content type='html'>&lt;a href="http://www.zhuoda.org/irini/71408.html"&gt;http://www.zhuoda.org/irini/71408.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-1777668409884558748?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/1777668409884558748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=1777668409884558748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/1777668409884558748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/1777668409884558748'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/03/javascript-firefox-venkman.html' title='JavaScript 调试器 firefox venkman'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-836751490540212013</id><published>2007-03-24T21:43:00.000+08:00</published><updated>2007-03-24T21:46:04.700+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='joke'/><title type='text'>看完了没一个能活下的，都笑死了 ！</title><content type='html'>&lt;span class="bold"&gt;看完了没一个能活下的，都笑死了 ！&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="message5155" class="t_msgfont"&gt;　　今天是我的生日，女友早早地打来电话说晚上要到家里去为我祝贺生 日，还要带给我惊喜！听了这个好消息，我今天工作起来是格外买力，一下跑了十几个客户！回到公司，都下午三点了，到食堂一看，只剩下可怜巴巴的一菜一汤 了，肉炒三豆（肉炒黄豆、青豆、豌豆）和萝卜汤。没办法，跑了一上午客户，肚子早就咕咕地叫了，只好要了一大盘肉炒三豆和一大盆萝卜汤，吃了起来！没想到 临下班了，我的肚子里就像一台越野吉普的发动机--开始了剧烈的活塞运动！刹那间，一股股气体来势争先恐后地从我的体内冲了出来！我赶紧冲到没人的地方， 肚子开始还是不好意思地轻声吟唱，但马上就变成了连珠炮似的噗噗做响！肚子好涨呀！而正在这时，女友却打来电话，说她已经到家了，叫我赶紧回家。唉！没办 法只好回家去了，希望她不会看见我这幅狼狈样呀！……&lt;br /&gt;&lt;br /&gt;　　在回家的路上我刻意努力地放了很多的屁。快到家了，肚子好受了很多，我觉得应该不会再出什么问题了。远远就看到了在门边等着我的女友，她看起来有点兴奋。她大叫着说，“亲爱的，今晚，我为你准备了一份非常奇妙的、一定会让你大吃一惊的礼物。”&lt;br /&gt;&lt;br /&gt;　　还没进门，女友就用一块布把我的眼睛紧紧蒙了起来，说是要给我一个惊喜！还领着我坐到位于餐桌前头的椅子里，并且让我发誓不会偷看。突然，我感到又想 放屁了。恰恰就在这时，女友的手机响了。这可救了我的命了！我找借口说嫌乱让她到另一间屋子里去接电话！她却非让我不能揭开蒙着眼睛的布，还让我发誓！之 后才跑去另一间屋子里接电话。她一离开，我就抓紧时机，把全身的重量都移到一条腿上，把屁放了出来。这个屁放得不仅声音很大，而且气味就象是腐臭的鸡蛋散 发出的臭味。我几乎不能呼吸，因此我摸到椅垫，使劲的向四周扇着，妄图扇掉这难闻的气味。&lt;br /&gt;&lt;br /&gt;　　就在我刚感觉好一点的时候，另一个屁又来了。我又抬起腿开始放！它听起来就象是柴油发动机快速转动的声音，而且这一次气味更难闻了。为了不让自己窒息，我用胳膊挥舞着椅垫扇了起来，希望气味会尽快散掉。&lt;br /&gt;&lt;br /&gt;　　又是在一切将要恢复正常的时候，另一个屁又迫不及待地冲来了。于是我站起来，弯下腰，把屁股向后上方撅了起来！把它放了出来。这个屁放得真正称得上是一流，连身后的报纸都被吹散到了地下..........&lt;br /&gt;&lt;br /&gt;　　我侧耳倾听另一间屋子里女友交谈的声音，因为要遵守不偷看的诺言，我也不敢打开眼罩，只能在漆黑中不断放着屁，为了赶快把肚子中的气体全部排出，又不 使屋里变得更臭！我解开了裤腰带，把内裤和长裤褪到了小腹以下，把屁股露了出来，并摸索着打开了身后阳台的门，几乎是将整个屁股都伸到阳台上，开始疯狂地 放起屁来……，啊！好受多了！之后，我又手舞足蹈地用椅垫满屋乱扇，祈祷这股恶臭能赶快散去……，就这样，在接下来的十几分钟以内，我一边不断地放着屁， 一边不断地扇着椅垫，终于，当我听到她在电话里说再见的时候，屋里的空气和我的肚子都已经好多了！我迅速地系上裤子，整理了一下头发，开始优雅地、微笑着 等着我亲爱的她来带给我惊喜。&lt;br /&gt;&lt;br /&gt;　　当她走近的时候，我脸上带着满足地微笑，一付温存的样子。女友首先为她打了这么长时间的电话向我道了歉，然后问我有没有偷偷掀开过布。在我向她保证没 有偷看之后，女友移走了遮在我眼睛上的布，并对我说道，“意外吧！我的女友今天非让我带她们来看看你，她们说你在照片上很有风度，人长的很帅！喏！你看， 坐在桌前的这五位都是我单位里的好姐妹，而站在阳台上的那六位是我上学时最要好的朋友！”&lt;br /&gt;&lt;br /&gt;　　这时，我才极为震惊和恐惧地发现，有一大堆女孩正围坐在我对面的餐桌边，而身后的阳台上则站着另一堆，她们都是来参加这个令我感到非常意外的生日宴会的。现在，她们每个人脸上都带着一种无法言表的表情看着我，就像发现了火星人………………&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-836751490540212013?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/836751490540212013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=836751490540212013' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/836751490540212013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/836751490540212013'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/03/blog-post_24.html' title='看完了没一个能活下的，都笑死了 ！'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-6051653708113269450</id><published>2007-03-24T14:42:00.000+08:00</published><updated>2007-03-24T15:04:01.552+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><title type='text'>一览画面控制用JS代码</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ztYZmxCjHw0/RgTIwWq5q0I/AAAAAAAAAJA/KowQsouV7ls/s1600-h/listjs.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_ztYZmxCjHw0/RgTIwWq5q0I/AAAAAAAAAJA/KowQsouV7ls/s320/listjs.JPG" alt="" id="BLOGGER_PHOTO_ID_5045378215606594370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;代码：&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;var ie = (document.all &amp;&amp;amp;amp;amp;amp;amp; typeof(ActiveXObject) != "undefined");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;var _className = ie ? "className" : "class";&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;function showHide(objID)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    var obj = document.getElementById(objID);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    if (obj)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        obj.style.display = obj.style.display=="none" ? "" : "none";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;function clearInput(objID)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    if (!confirm("Are you sure?"))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        return;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    var obj = document.getElementById(objID);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    if (obj)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        var inputList = obj.getElementsByTagName("INPUT");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        if (inputList)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;            for(var i=0; i&lt;inputlist.length;&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;            {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                if (inputList[i].getAttribute("TYPE")=="text")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                    inputList[i].value = "";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;function selectCheckbox(tableID, value)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    var table = document.getElementById(tableID);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    if (table)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        var inputList = table.getElementsByTagName("INPUT");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        if (inputList)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;            for(var i=0; i&lt;inputlist.length;&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;            {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                if (inputList[i].getAttribute("TYPE")=="checkbox")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                    if (inputList[i].checked != value)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                        inputList[i].checked = value;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                        checkboxClick(inputList[i]);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;function deleteConfirm(tableID)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    var isSelected = false;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    var table = document.getElementById(tableID);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    if (table)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        var inputList = table.getElementsByTagName("INPUT");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        if (inputList)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;            for(var i=0; i&lt;inputlist.length;&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;            {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                if (inputList[i].getAttribute("TYPE")=="checkbox")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                    if (inputList[i].checked)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                        isSelected = true;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                        break;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;                }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    if (isSelected)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        return confirm("Are you sure?\r\nThat will delete all the selected rows.");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        alert("No rows selected.");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        return false;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;function checkboxClick(checkbox)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    var tr = checkbox.parentNode.parentNode;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    if (checkbox.checked)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        checkbox.setAttribute("prevclass", tr.getAttribute(_className));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        tr.setAttribute(_className, "Checked");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;        tr.setAttribute(_className, checkbox.getAttribute("prevclass"));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;}&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/inputlist.length;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/inputlist.length;&gt;&lt;/span&gt;&lt;/inputlist.length;&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-6051653708113269450?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/6051653708113269450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=6051653708113269450' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/6051653708113269450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/6051653708113269450'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/03/js.html' title='一览画面控制用JS代码'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_ztYZmxCjHw0/RgTIwWq5q0I/AAAAAAAAAJA/KowQsouV7ls/s72-c/listjs.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-6882864902739925410</id><published>2007-03-23T12:41:00.000+08:00</published><updated>2007-03-23T12:56:21.001+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DB'/><title type='text'>SQL 2005数据类型说明</title><content type='html'>&lt;blockquote&gt;自动编号：设字段类型为：int ，然后列属性中 （是标识）选是，标识种子选1。&lt;br /&gt;&lt;br /&gt;用varchar(max)代替text。varchar的最大长度为8000，但是varchar(max)则可以存储多达2G的数据，因此其作用相当于SQL 2000中的text。但是微软可能会后续的SQL Server版本中移除text类型，从现在就应该用varchar(max) 来代替text。&lt;br /&gt;&lt;br /&gt;用nvarchar(max)代替ntext，用binary(max)代替image.&lt;br /&gt;&lt;br /&gt;为XML数据选择xml类型。在SQL Server 2005中，为XML数据添加了相应的数据类型，因此存储XML数据的列不需要用 varchar(max)或nvarchar(max)，而应当用xml数据类型，以利用T-SQL中专门针对xml数据列的新命令，以及针对xml列的索引。&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;易混淆的数据类型&lt;/span&gt;&lt;br /&gt;(1)char、varchar、text和nchar、nvarchar、ntext&lt;br /&gt;char和varchar的长度都在1到8000之间，它们的区别在于char是定长字符数据，而varchar是变长字符数据。所谓定长就是长度固定的，当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充，使长度达到相应的长度；而变长字符数据则不会以空格填充。 text存储可变长度的非Unicode数据，最大长度为2^31-1(2,147,483,647)个字符。&lt;br /&gt;后面三种数据类型和前面的相比，从名称上看只是多了个字母"n"，它表示存储的是Unicode数据类型的字符。写过程序的朋友对Unicode应该很了解。字符中，英文字符只需要一个字节存储就足够了，但汉字众多，需要两个字节存储，英文与汉字同时存在时容易造成混乱，Unicode字符集就是为了解决字符集这种不兼容的问题而产生的，它所有的字符都用两个字节表示，即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较：nchar、nvarchar则最多存储4000个字符，不论是英文还是汉字；而char、varchar最多能存储8000个英文，4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字，较为方便，但在存储英文时数量上有些损失。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(2)datetime和smalldatetime&lt;br /&gt;datetime：从1753年1月1日到9999年12月31日的日期和时间数据，精确到百分之三秒。&lt;br /&gt;smalldatetime：从1900年1月1日到2079年6月6日的日期和时间数据，精确到分钟。&lt;br /&gt;&lt;br /&gt;(3)bitint、int、smallint、tinyint和bit&lt;br /&gt;bigint：从-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型数据。&lt;br /&gt;int：从-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型数据。&lt;br /&gt;smallint：从-2^15(-32,768)到2^15-1(32,767)的整数数据。&lt;br /&gt;tinyint：从0到255的整数数据。&lt;br /&gt;bit：1或0的整数数据。&lt;br /&gt;&lt;br /&gt;(4)decimal和numeric&lt;br /&gt;这两种数据类型是等效的。都有两个参数：p（精度）和s（小数位数）。p指定小数点左边和右边可以存储的十进制数字的最大个数，p必须是从 1到38之间的值。s指定小数点右边可以存储的十进制数字的最大个数，s必须是从0到p之间的值，默认小数位数是0。&lt;br /&gt;&lt;br /&gt;(5)float和real&lt;br /&gt;float：从-1.79^308到1.79^308之间的浮点数字数据。&lt;br /&gt;real：从-3.40^38到3.40^38之间的浮点数字数据。在SQL Server中，real的同义词为float(24)。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana, arial, helvetica;font-size:85%;"&gt;&lt;span style="font-size: 12px;" class="javascript" id="text5585176"&gt;&lt;span style="font-weight: bold;"&gt;关于SQL SERVER 2005 与SQL SERVER 2000比较&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;这个题目太大了,这里只能大体介绍一下，细节方面还需大家共同研究！希望能使大家对SQL SERVER 2005 快速入手,另外sql server 2005 的界面风格有越来越像 .net了,赶快安装一个感受一下吧!进去之后不要再去找查询分析器了,它和企业管理器都被集成在”Microsoft SQL Server Management studio”了,这个工具占内存较大80M多(再加上sql server 的实例进程80M,就160M了),而以前的企业管理器只需20M左右,加上sql server 的实例进程10M多一共才30M多.有得必有失~!&lt;br /&gt;&lt;br /&gt; hacker at 2006/9/29&lt;br /&gt;一、数据库设计方面&lt;br /&gt;1、字段类型。&lt;br /&gt;    SQL Server 2005引入了一系列 新的被称为MAX的数据类型。这是VARCHAR，NVARCHAR和VARBINARY类型的扩展，这几种类型 以前被限制在8000字节以下。MAX可以容纳高达2GB的数据，与TEXT和IMAGE一样。&lt;br /&gt;可以使用字符串函数对CLOB类型进行操作。但是这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据，是否会出现大规模的碎片？是否碎片会引发效率问题？这都是需要进一步探讨的东西。&lt;br /&gt;数据类型&lt;br /&gt;Sql server2000 Sql server2005&lt;br /&gt;text 最大2GB varchar(max) 最大2GB(相当于oracle中的CLOB类型)&lt;br /&gt;ntext 最大2GB nvarchar(max) 最大2GB&lt;br /&gt;image 最大2GB varbinary(max) 最大2GB（代替image也让SQL Server的字段类型更加简洁统一）&lt;br /&gt;无  XML XML 数据被作为二进制大型对象 (BLOB) 存储于内部，可有效地进行重新分析和压缩&lt;br /&gt;其它数据类型保持不变。&lt;br /&gt;2、外键的级联更能扩展&lt;br /&gt;新版本中外键级联加入了SET NULL 和 SET DEFAULT 属性，能够提供能好的级联设置。(有点像oracle了)语法如下(引用sql server 2005 help来说明):&lt;br /&gt; CREATE TABLE 和 ALTER TABLE 语句的 REFERENCES 子句支持 ON DELETE 和 ON UPDATE 子句：&lt;br /&gt;• [ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]&lt;br /&gt;• [ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]&lt;br /&gt;如果没有指定 ON DELETE 或 ON UPDATE，则默认为 NO ACTION。&lt;br /&gt;NO ACTION&lt;br /&gt;指定如果试图删除/修改某一行，而该行的键被其他表的现有行中的外键所引用，则产生错误并回滚 DELETE/UPDATE语句。&lt;br /&gt;CASCADE、SET NULL 和 SET DEFAULT&lt;br /&gt;允许通过删除或更新键值来影响指定具有外键关系的表，这些外键关系可追溯到在其中进行修改的表。如果为目标表也定义了级联引用操作，那么指定的级联操作也将应用于删除或更新的那些行。不能为具有 timestamp 列的外键或主键指定 CASCADE。&lt;br /&gt;ON DELETE CASCADE&lt;br /&gt;指定如果试图删除某一行，而该行的键被其他表的现有行中的外键所引用，则也将删除所有包含那些外键的行。&lt;br /&gt;ON UPDATE CASCADE&lt;br /&gt;指定如果试图更新某一行中的键值，而该行的键值被其他表的现有行中的外键所引用，则组成外键的所有值也将更新到为该键指定的新值。 (如果 timestamp 列是外键或被引用键的一部分，则不能指定 CASCADE。 )&lt;br /&gt;ON DELETE SET NULL&lt;br /&gt;指定如果试图删除某一行，而该行的键被其他表的现有行中的外键所引用，则组成被引用行中的外键的所有值将被设置为 NULL。目标表的所有外键列必须可为空值，此约束才可执行。&lt;br /&gt;ON DELETE SET NULL&lt;br /&gt;指定如果试图更新某一行，而该行的键被其他表的现有行中的外键所引用，则组成被引用行中的外键的所有值将被设置为 NULL。目标表的所有外键列必须可为空值，此约束才可执行。&lt;br /&gt;ON DELETE SET DEFAULT&lt;br /&gt;指定如果试图删除某一行，而该行的键被其他表的现有行中的外键所引用，则组成被引用行中的外键的所有值将被设置为它们的默认值。目标表的所有外键列必须具 有默认值定义，此约束才可执行。如果某个列可为空值，并且未设置显式的默认值，则会使用 NULL 作为该列的隐式默认值。因 ON DELETE SET DEFAULT 而设置的任何非空值在主表中必须有对应的值，才能维护外键约束的有效性。&lt;br /&gt;ON UPDATE SET DEFAULT&lt;br /&gt;指定如果试图更新某一行，而该行的键被其他表的现有行中的外键所引用，则组成被引用行中的外键的所有值将被设置为它们的默认值。目标表的所有外键列必须具 有默认值定义，此约束才可执行。如果某个列可为空值，并且未设置显式的默认值，则会使用 NULL 作为该列的隐式默认值。因 ON UPDATE SET DEFAULT 而设置的任何非空值在主表中必须有对应的值，才能维护外键约束的有效性。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3、索引附加字段&lt;br /&gt;即在索引中存储一些常用字段以提高查询速度,这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高，但是相对映射到数据表中效率还是提高了很多。在实验环境中会比映射到表中提高30%左右的效率。例:&lt;br /&gt;CREATE INDEX ix_CustomerPostalcode &lt;br /&gt; On Sales.Customer(PostalCode)&lt;br /&gt; INCLUDE (AddressLine1,AddressLine2,City)&lt;br /&gt;索引会提高查询(select)语句的性能,但建有大量索引会影响 INSERT、UPDATE 和 DELETE 语句的性能，因为在表中的数据更改时，所有索引都须进行适当的调整。&lt;br /&gt;4、计算字段的持久化&lt;br /&gt;原来的计算字段其实和虚拟字段很像。只是管理方面好了而已，性能方面提高不多。但是SQL2005提供了计算字段的持久化，这就提高了查询的性能，但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。&lt;br /&gt; 使用 ORDER 排序和虚拟字段 虚拟字段完成的是类似 自增长 ID 的任务  &lt;br /&gt;  select   identity(int,1,1)   ID   ,hymc   into   #temp   &lt;br /&gt;  from   hybm  &lt;br /&gt;order by hymc &lt;br /&gt;(注: 在ORACLE中，语句: select rownum from USERTABLE order by USERNAME; 得到的rownum还是没有排过序时的ROWNUM，根本不是已经排过序的ROWNUM。也就是说，有没有ORDER BY一个样。)&lt;br /&gt;5、分区表&lt;br /&gt;分区表是个亮点！从分区表也能看出微软要做大作强SQL Server的信心。资料很多，这里不详细说。但是重点了解的是：现在的SQL Server2005的表，都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。但是需要注意的一 点，也是我使用过程中发现的一个问题。在建立function-&gt;schema-&gt;table后，如果在现有的分区表上建立没有显式声明的聚 集索引时，分区表会自动变为非分区表。这一点很让我纳闷。如果你觉得我的非分区索引无法对起子分区，你可以提醒我一下呀！没有任何的提醒，直接就变成了非 分区表。不知道这算不算一个bug。大家也可以试试。&lt;br /&gt;分区表效率问题肯定是大家关心的问题。在我的试验中，如果按照分区字段进行的查询（过滤）效率会高于未分区表的相同语句。但是如果按照非分区字段进行查 询，效率会低于未分区表的相同语句。但是随着数据量的增大，这种成本差距会逐渐减小，趋于相等。（500万数量级只相差10%左右）&lt;br /&gt;6、CLR类型&lt;br /&gt;微软对CLR作了大篇幅的宣传，这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜，感觉对象数据库的一些概念可以实现了。但是作了些试验， 发现使用CLR的存储过程或函数在达到一定的阀值的时候，系统性能会呈指数级下滑！这是非常危险的！只使用几个可能没有问题，当一旦大规模使用会造成严重 的系统性能问题！&lt;br /&gt;其实可以做一下类比，Oracle等数据库产品老早就支持了java编程，而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程？！连Oracle自己的应用都不用为什么？！还不是性能有问题！否则面向对象的数据库早就实现了！&lt;br /&gt;建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法，并且用到了大量的指针和高级数据模型。或者是要和操作系统进行Socket通讯的场景。否则建议慎重！&lt;br /&gt;7、索引视图&lt;br /&gt;索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。&lt;br /&gt;8、语句和事务快照&lt;br /&gt;语句级快照和事务级快照终于为SQL Server的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照，如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时，会杀人的！&lt;br /&gt;9、数据库快照&lt;br /&gt;原理很简单，对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜！&lt;br /&gt;例子：&lt;br /&gt;CREATE DATABASE demo2&lt;br /&gt;GO&lt;br /&gt;USE demo2&lt;br /&gt;   ALTER DATABASE demo2 SET allow_snapshot_isolation ON  --启动快照功能&lt;br /&gt;   CREATE TABLE test&lt;br /&gt;   (&lt;br /&gt;     tid INT NOT NULL primary key,&lt;br /&gt;     tname VARCHAR(50) NOT NULL&lt;br /&gt;   )&lt;br /&gt;  INSERT INTO test VALUES(1,'version1')&lt;br /&gt;  INSERT INTO test VALUES(2,'version2')&lt;br /&gt;&lt;br /&gt;--连接一&lt;br /&gt;&lt;br /&gt;USE demo2&lt;br /&gt;BEGIN TRAN&lt;br /&gt;   UPDATE test SET tname='version3' WHERE tid=2&lt;br /&gt;   SELECT * FROM test&lt;br /&gt;&lt;br /&gt;--连接二&lt;br /&gt;USE demo2&lt;br /&gt;   SET transaction isolation level snapshot&lt;br /&gt;   SELECT * FROM test&lt;br /&gt;&lt;br /&gt;10、Mirror&lt;br /&gt;Mirror可以算是SQL Server的Data guard了。具说它切换速度可以达到秒级,这个功能能否被用户认可还有待时间的考验. 这个操作起来比较简单不在详细介绍。&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana, arial, helvetica;font-size:85%;"&gt;&lt;span style="font-size: 12px;" class="javascript" id="text5585704"&gt;二、开发方面&lt;br /&gt;参考页面：&lt;a href="http://www.microsoft.com/china/msdn/library/data/sqlserver/05TSQLEnhance.mspx?mfr=true" target="_blank"&gt;http://www.microsoft.com/china/msdn...e.mspx?mfr=true&lt;/a&gt;&lt;br /&gt;1、Ranking函数集&lt;br /&gt;其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史，而且SQL Server2005的row_number比Oracle的更先进。因为它把Order by集成到了一起，不用像Oracle那样还要用子查询进行封装。但是大家注意一点。&lt;br /&gt;&lt;br /&gt;如下面的例子：&lt;br /&gt;USE demo&lt;br /&gt;GO&lt;br /&gt;CREATE TABLE rankorder&lt;br /&gt;(&lt;br /&gt; orderid INT,&lt;br /&gt; qty INT&lt;br /&gt;)&lt;br /&gt;GO&lt;br /&gt;INSERT rankorder VALUES(30001,10)&lt;br /&gt;INSERT rankorder VALUES(10001,10)&lt;br /&gt;INSERT rankorder VALUES(10006,10)&lt;br /&gt;INSERT rankorder VALUES(40005,10)&lt;br /&gt;INSERT rankorder VALUES(30003,15)&lt;br /&gt;INSERT rankorder VALUES(30004,20)&lt;br /&gt;INSERT rankorder VALUES(20002,20)&lt;br /&gt;INSERT rankorder VALUES(20001,20)&lt;br /&gt;INSERT rankorder VALUES(10005,30)&lt;br /&gt;INSERT rankorder VALUES(30007,30)&lt;br /&gt;INSERT rankorder VALUES(40001,40)&lt;br /&gt;GO&lt;br /&gt;SELECT orderid,qty,&lt;br /&gt;  ROW_NUMBER() OVER(ORDER BY qty) AS rownumber,&lt;br /&gt;  RANK()        OVER(ORDER BY qty) AS rank,&lt;br /&gt;  DENSE_RANK() OVER(ORDER BY qty) AS denserank&lt;br /&gt;FROM rankorder&lt;br /&gt;ORDER BY qty&lt;br /&gt;还有一点要说明：&lt;br /&gt;select ROW_NUMBER() OVER (order by aa)&lt;br /&gt;from tbl&lt;br /&gt;order by bb&lt;br /&gt;会先执行aa的排序，然后再进行bb的排序。&lt;br /&gt;可能有的朋友会抱怨集成的order by，其实如果使用ranking函数,Order by是少不了的。如果担心Order by会影响效率，可以为order by的字段建立聚集索引，查询计划会忽略order by 操作（因为本来就是排序的嘛）。&lt;br /&gt;2、top&lt;br /&gt;可以指定一个数字表达式，以返回要通过查询影响的行数或百分比，还可以根据情况使用变量或子查询。可以在DELETE、UPDATE和INSERT查询中使用TOP选项。可以动态传入参数，省却了动态SQL的拼写。&lt;br /&gt;例:&lt;br /&gt;--声明个变量&lt;br /&gt;DECLARE @a INT&lt;br /&gt;DECLARE @b INT&lt;br /&gt;DECLARE @c INT&lt;br /&gt;&lt;br /&gt;--赋值&lt;br /&gt;SET @a = 10&lt;br /&gt;SET @b = 5&lt;br /&gt;SELECT @c = @a/@b&lt;br /&gt;&lt;br /&gt;--使用计算表达式&lt;br /&gt;SELECT TOP(@c) * FROM toptest&lt;br /&gt;--使用SELECT语句作为条件&lt;br /&gt;SELECT TOP(SELECT COUNT(*) FROM toptest2) *  &lt;br /&gt;FROM toptest&lt;br /&gt;&lt;br /&gt;--指出top&lt;br /&gt;DELETE TOP(2) toptest where column1&gt;'t6'&lt;br /&gt;&lt;br /&gt;--更新top&lt;br /&gt;UPDATE TOP(2) toptest SET column1 = 'hi' where column1&lt;='t2'&lt;br /&gt;&lt;br /&gt; 3、Apply&lt;br /&gt;对递归类的树遍历很有帮助。&lt;br /&gt;CROSS APPLY : 得到和FUNCTION 结果相匹配的记录&lt;br /&gt;OUTER APPLY: All rows , regardless of matching function results&lt;br /&gt;一个有代表性的例子：&lt;br /&gt;USE demo&lt;br /&gt;GO&lt;br /&gt;CREATE TABLE Arrays&lt;br /&gt;(&lt;br /&gt;  aid INT NOT NULL IDENTITY PRIMARY KEY,&lt;br /&gt;  array VARCHAR(7999) NOT NULL&lt;br /&gt;)&lt;br /&gt;GO&lt;br /&gt;INSERT INTO Arrays VALUES('')&lt;br /&gt;INSERT INTO Arrays VALUES('10')&lt;br /&gt;INSERT INTO Arrays VALUES('20,40,30')&lt;br /&gt;INSERT INTO Arrays VALUES('-1,-3,-5')&lt;br /&gt;GO&lt;br /&gt;CREATE FUNCTION  function1(@arr AS VARCHAR(7999))&lt;br /&gt;  RETURNS @t TABLE(pos INT NOT NULL, value INT NOT NULL)&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt;  DECLARE @end AS INT, @start AS INT, @pos AS INT&lt;br /&gt;  SELECT @arr = @arr + ',', @pos = 1,&lt;br /&gt;    @start = 1, @end = CHARINDEX(',', @arr, @start)&lt;br /&gt;  WHILE @end &gt; 1&lt;br /&gt;  BEGIN&lt;br /&gt;    INSERT INTO @t VALUES(@pos, SUBSTRING(@arr, @start, @end - @start))&lt;br /&gt;    SELECT @pos = @pos + 1,&lt;br /&gt;      @start = @end + 1, @end = CHARINDEX(',', @arr, @start)&lt;br /&gt;  END&lt;br /&gt;  RETURN&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;--测试&lt;br /&gt;SELECT * FROM function1('200,400,300')&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;SELECT A.aid, F.*&lt;br /&gt;FROM Arrays AS A&lt;br /&gt;  CROSS APPLY function1(array) AS F&lt;br /&gt;GO&lt;br /&gt;SELECT A.aid, F.*&lt;br /&gt;FROM Arrays AS A&lt;br /&gt;  OUTER APPLY function1(array) AS F&lt;br /&gt;GO&lt;br /&gt;查询结果:&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;4、CTE(Common Table Expression 通用表达式)&lt;br /&gt;它是一个可以由定义语句引用的临时表命名的结果集，要用到WITH 关键字。例：&lt;br /&gt;WITH SalesCTE(ProductID,SalesOrderID)&lt;br /&gt; AS&lt;br /&gt; (SELECT ProductID,COUNT(SalesOrderid)&lt;br /&gt;  FROM Sales.SalesOrderDetail GROUP BY ProductID)&lt;br /&gt;SELECT * FROM SalesCTE&lt;br /&gt;5、try/catch&lt;br /&gt;先说明一下事务相关语法:&lt;br /&gt;BEGIN TRAN[SACTION] [transaction_name]&lt;br /&gt;COMMIT [TRAN[SACTION]] [transaction_name]&lt;br /&gt;ROLLBACK [TRAN[SACTION] [transaction_name]&lt;br /&gt;SAVE TRAN[SACTION] [savepoint_name]&lt;br /&gt;上面这几很简单不解释了,下面看 SET XACT_ABORT ON/OFF,当 SET XACT_ABORT 为 ON 时，如果 Transact-SQL 语句产生运行时错误，整个事务将终止并回滚。为 OFF 时，只回滚产生错误的 Transact-SQL 语句，而事务将继续进行处理。所以在sql server 2k里使用事务就必须SET XACT_ABORT ON或者设置保存点。有了try/catch sql server2005 就不一样了!! 演示代码如下表。&lt;br /&gt;&lt;br /&gt;USE demo&lt;br /&gt;  GO&lt;br /&gt;  CREATE TABLE student  --创建工作表&lt;br /&gt;  (   stuid INT NOT NULL PRIMARY KEY,&lt;br /&gt;      stuname VARCHAR(50)  )&lt;br /&gt;  CREATE TABLE score&lt;br /&gt;  (   stuid INT NOT NULL REFERENCES student(stuid),&lt;br /&gt;      score INT  )&lt;br /&gt;GO&lt;br /&gt;INSERT INTO student VALUES (101,'zhangsan')&lt;br /&gt;INSERT INTO student VALUES (102,'wangwu')&lt;br /&gt;INSERT INTO student VALUES (103,'lishi')&lt;br /&gt;INSERT INTO student VALUES (104,'maliu')&lt;br /&gt;2K事务的打操作 2005 使用TRY...CATCH构造扩充了错误处理能力&lt;br /&gt;--调用一个运行时错误&lt;br /&gt;SET XACT_ABORT ON(若为OFF 事务不会回滚)&lt;br /&gt;  BEGIN TRAN&lt;br /&gt;     INSERT INTO score VALUES (101,90)&lt;br /&gt;     INSERT INTO score VALUES (102,78)&lt;br /&gt;     INSERT INTO score VALUES (107,76)  /*外键错误*/&lt;br /&gt;     INSERT INTO score VALUES (103,81)&lt;br /&gt;     INSERT INTO score VALUES (104,65)&lt;br /&gt;  COMMIT TRAN&lt;br /&gt;  GO&lt;br /&gt; SET XACT_ABORT OFF&lt;br /&gt;  BEGIN TRY&lt;br /&gt;    BEGIN TRAN&lt;br /&gt;       INSERT INTO score VALUES (101,90)&lt;br /&gt;       INSERT INTO score VALUES (102,78)&lt;br /&gt;       INSERT INTO score VALUES (107,76)  /*外键错误*/&lt;br /&gt;       INSERT INTO score VALUES (103,81)&lt;br /&gt;       INSERT INTO score VALUES (104,65)&lt;br /&gt;    COMMIT TRAN&lt;br /&gt;    PRINT '事务提交'&lt;br /&gt;  END TRY&lt;br /&gt;  BEGIN CATCH&lt;br /&gt;    ROLLBACK&lt;br /&gt;     PRINT '事务回滚'&lt;br /&gt;        SELECT ERROR_NUMBER() AS ErrorNumber,&lt;br /&gt;               ERROR_SEVERITY() AS ErrorSeverity,&lt;br /&gt;               ERROR_STATE() as ErrorState,&lt;br /&gt;               ERROR_MESSAGE() as ErrorMessage;&lt;br /&gt;   END CATCH&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;6、pivot/unpivot&lt;br /&gt;实现行列互转。2K 中这个功能用case实现，不过好像没有case 直观。而且默认的第三字段（还可能更多）作为group by字段很容易造成新手的错误。（有图我就不说了）  &lt;br /&gt;7、OUTPUT 关键字&lt;br /&gt;在下面的例子中只看蓝色的部分就是正常的insert into … values 语句,通过output 可以将中间值输出 到临时表,也就是不能过触发器也可以实现对中间数据的处理。例：&lt;br /&gt;DECLARE @InsertDetails TABLE (ProductID int, Insertedby sysname)&lt;br /&gt;  INSERT INTO Stock.ProductList&lt;br /&gt;OUTPUT inserted.ProductID, suser_name() INTO  @InsertDetails&lt;br /&gt;VALUES (‘Racing Bike’,412.99)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;MSSQL Server 2000系统数据类型：&lt;/span&gt;&lt;br /&gt;(来源于SQL查询分析器)&lt;br /&gt; 1bigint        从 -2^63 到 2^63-1 之间的 integer (整数)数据&lt;br /&gt; 2binary        定长的binary数据，最长为8,000字节&lt;br /&gt; 3bit        integer数据，值为1或0&lt;br /&gt; 4char        定长的非unicode character数据，长度为8,000个字符&lt;br /&gt; 5cursor        含有对游标的引用的变量或存储过程OUTPUT参数所采用的数据类型&lt;br /&gt; 6datetime    date和time数据，从1753年1月1日到9999年12月31日&lt;br /&gt; 7decimal        定点精度和小数的numeric数据，从-10^38-1到10^38-1之间&lt;br /&gt; 8float        浮点精度数字数据，从-1.79E+308到1.79E+308之间&lt;br /&gt; 9image        长度可变的binary数据，最长为2^31-1字节&lt;br /&gt;10int        从-2^31到2^31-1之间的integer(整数)数据&lt;br /&gt;11money        monetary数据值，从-2^63到2^63-1，准确度为货币单位的千分之一&lt;br /&gt;12nchar        定长的unicode数据，长度为4,000个字符&lt;br /&gt;13ntext        长度可变的unicode数据，最长为2^30-1个字符&lt;br /&gt;14numeric        decimal的同义词&lt;br /&gt;15nvarchar    长度可变的unicode数据，最长为4,000字符&lt;br /&gt;16real        浮点精度数字数据，从-3.40E+38到3.40E+38之间&lt;br /&gt;17rowversion    数据库范围内的唯一号&lt;br /&gt;18smalldatetime    date和time数据，从1900年1月1日到2079年6月6日&lt;br /&gt;19smallint    从-2^15到2^15-1之间的integer数据&lt;br /&gt;20smallmoney    monetary数据值，-214,748.3648到+214,748.3647之间&lt;br /&gt;21sql_variant    可存储多种SQL Server支持的数据类型的值的数据类型，&lt;br /&gt;22        但不存储text, ntext, timestamp和sql_variant类型的值&lt;br /&gt;23sysname        系统提供的用户定义的数据类型，为nvarchar(128)的同义词&lt;br /&gt;24table        一种特殊的数据类型，可用于为以后进行处理而存储结果集&lt;br /&gt;25text        长度可变的非unicode数据，最长为2^31-1个字符&lt;br /&gt;26timestamp    数据库范围内的唯一号&lt;br /&gt;27tinyint        从0到255之间的integer数据&lt;br /&gt;28uniqueidentifier全局唯一标识符(GUID)&lt;br /&gt;29varbinary    长度可变的binary数据，最长为2^31-1字节&lt;br /&gt;30varchar        长度可变的非unicode数据，最长为8,000个字符&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-6882864902739925410?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/6882864902739925410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=6882864902739925410' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/6882864902739925410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/6882864902739925410'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/03/sql-2005.html' title='SQL 2005数据类型说明'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-7485327662886128629</id><published>2007-03-19T11:34:00.000+08:00</published><updated>2007-03-19T11:42:33.985+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='随笔'/><title type='text'>比的世界里</title><content type='html'>这个世界就是个比来比去的世界。&lt;br /&gt;1、什么都要比的，是公鸡&lt;br /&gt;2、什么也不比的，是和尚&lt;br /&gt;3、以为什么都比别人强的，是刺猬&lt;br /&gt;4，以为什么都比不上人的，是含羞草&lt;br /&gt;&lt;br /&gt;5、不知道什么是不该比的，是鸡蛋里挑骨头&lt;br /&gt;6、不知道什么是该比的，是危如累卵&lt;br /&gt;&lt;br /&gt;7、以为自己不比的，是沙里的驼鸟&lt;br /&gt;8、以为自己在比的，是沙里的驼鸟&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-7485327662886128629?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/7485327662886128629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=7485327662886128629' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/7485327662886128629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/7485327662886128629'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/03/blog-post_19.html' title='比的世界里'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-6937278959386870586</id><published>2007-03-03T21:29:00.000+08:00</published><updated>2007-03-03T22:08:29.718+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='随笔'/><title type='text'>好好学习,浙大我来啦</title><content type='html'>　　标题似乎说得挺有激情的,可今天去浙大西溪校区办理入学手续,却没有一点多余的情绪,顶多是感觉围墙里的校园,与围墙外的城市有些许不同,来往的求学者比外面熙攘的求生者多了些从容与悠然自得,而我的内心,却是淡然若水,哪怕是一丝的兴奋,可能已经过了求学的心境了吧,对我来说,目的仅是为了拿那么一纸可怜的大专文凭,或许偶有兴致,学点E文,有如那学狗叫的耗子之言,学习一门外语还是很重要的,不过,希望这用在对狗叫上，而不是用在对耗子身上。&lt;br /&gt;　　既然名之曰“我来啦”，那不妨记一记流水帐。早上一觉黄梁美梦,睁眼已是十点多，最近总觉得很累，自从进入这一行，身体明显每况愈下，不容乐观。想起该去看一下房子了，再不决定，老婆要和我离婚了（呵呵，夸张了点）；另外还要帮朋友买台DV，今天少不了市场里转一圈；差点又忘了，年前没清理冰箱，再不清理，估计楼上楼下的人，要牵狗了。&lt;br /&gt;　　到了学校，却找不着地儿，打电话也没人接，问人也没问着，反正是所问非人啊。那只得先回去吃饭喀。吃完饭，翻出通知书，天，上面写得清清楚楚，西二107室，Fuck...另外件事，还没有相片啊，为这事也郁闷，一念之差，心想，平时缺少锻炼，想来校园也没几步路，走走吧，没想却走到一处死胡同去了，还不得不回头来过。今天的天气却也好得很，暖冬，可能也顺带热春了吧，我还内有毛衣外有妮衣，没差点被捂死！拍了相片，接下来就顺利了，填写三份材料（学生证，学籍卡，另外一张好象是学分卡吧），再领了教材就Over了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-6937278959386870586?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/6937278959386870586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=6937278959386870586' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/6937278959386870586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/6937278959386870586'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/03/blog-post_03.html' title='好好学习,浙大我来啦'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-8038476518857785386</id><published>2007-03-03T21:05:00.000+08:00</published><updated>2007-03-03T21:19:17.023+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='YY'/><title type='text'>妈妈第一次离开YY，YY想妈妈了……</title><content type='html'>　　今天和妈妈通电话，妈妈告诉我，今天用QQ和YY通话了。&lt;br /&gt;　　YY一听到妈妈的声音，一声不吭，听外婆说，眼睛却慢慢地红了。这次给YY断奶，妈妈第一次离开了YY，不在YY的身边，YY肯定很想妈妈！当妈妈打开视频，那一刻，YY用嫩嫩的小指头指着电脑屏幕上的妈妈，哇的放声大哭，外婆心痛得声音也变了……&lt;br /&gt;　　YY小宝贝，爸爸妈妈对不起你，我们没有陪在你身边，爸爸妈妈只能在异乡牵挂你，默默地在心里想你，我们爱你，宝贝……&lt;br /&gt;　　三月六号,还有三天,去年的那一天,你从妈妈的肚子里来到了我们身边,今年即将来临的这一天,刚好也是二十四节气的惊蛰,春天正在到来,愿我们的小YY在春雷声中,茁壮成长,爸爸妈妈明天回来,陪YY渡过你一生中的第一个生日!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-8038476518857785386?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/8038476518857785386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=8038476518857785386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8038476518857785386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8038476518857785386'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/03/yyyy.html' title='妈妈第一次离开YY，YY想妈妈了……'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-420231671319006299</id><published>2007-03-01T21:28:00.000+08:00</published><updated>2007-03-03T21:19:47.221+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='YY'/><title type='text'>断奶</title><content type='html'>　　YY快周岁了，我们决定给她断奶。这样，我回杭州上班，老婆回义乌上班，YY留在外婆家，昨天是第一天断奶。晚上，老婆给我打电话说，YY没事，可她却奶涨得痛苦不堪，电话里，声音都变得低哑，我还以为她感冒了。哎，原来断奶，妈妈比宝宝更难耐……&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-420231671319006299?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/420231671319006299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=420231671319006299' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/420231671319006299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/420231671319006299'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/03/blog-post.html' title='断奶'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-5520753279373481549</id><published>2007-02-28T20:21:00.000+08:00</published><updated>2007-02-28T20:47:40.947+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='随笔'/><title type='text'>为什么说中国人仇富</title><content type='html'>　　今天中午出去吃饭，看到两辆私家车碰在一起了，交警正在处理，有人跓足观望。我经过时，在心里嘀咕了一句，有什么好看的，反正我没钱，买不起车。哎，突然发觉自己似乎潜意识里有一种仇富心理嘛！&lt;br /&gt;　　在网上或是其它媒体，经常被引用的一段话是，大意是指外国人看到别人比自己富有，表示自己会积极赶上，而中国人，则是眼红嫉妒。据此现象，断定中国人的素质低下云云。刚开始我也很认同这种观点，中国人的这种表现，确实不如人意，毫无风范，实在是丢脸啊！我怎么就和这种人贴上同一个标签“中国人”呢，简直是无法忍受（呵呵，好象夸张了点）。但是，为什么会这样啊？这在以前，我没有想过，反正以为，没有风范的，不包括我。今天却在这暴露出，我自己也是“一丘之貉”啊，这可非得要好好找找原因不可！&lt;br /&gt;　　我在路上默默地想了想，或许找到原因了。&lt;br /&gt;　　这应该是当前中国人普通认为，当前社会存在不公平竞争吧。为什么这么说呢？那得从我的个人印象来解析：较严重的腐败现象，官商勾结，送礼走后门成风，人际关系复杂，潜规则五花八门，这些在媒体或网络上应该不少反应。相对比，外国应该会好些（当然，我一介平民，没有出国考查过，但我想，我的想法是对外界信息的反馈，不算是空穴来风，顶多算是比例失真而已，若差距太大，影响结果，就另当别论）。这让我想起曾经看过一段文字，说是老外到中国来，也学会插队了。所以一个人的素质，除了自身原因，还有环境因素，而在这个仇富问题上，环境因素是占了相当大的比重的，应该只有少数人，能在个人思想上不受他人影响。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-5520753279373481549?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/5520753279373481549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=5520753279373481549' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/5520753279373481549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/5520753279373481549'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/02/blog-post_28.html' title='为什么说中国人仇富'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-2505228548601739976</id><published>2007-02-25T18:32:00.000+08:00</published><updated>2007-02-25T18:34:34.713+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='房'/><title type='text'>购房前必备的知识【转摘】</title><content type='html'>出处：&lt;a href="http://house.cmbchina.com/head/knowledges/2006121210.htm"&gt;http://house.cmbchina.com/head/knowledges/2006121210.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;    house.cmbchina.com 2006年12月12日 搜房网    &lt;br /&gt;   &lt;br /&gt;&lt;br /&gt;一、 购房流程&lt;br /&gt;&lt;br /&gt;    目前，楼市上，虽然各项目有其各自的程序，但总的来说，以下基本步骤是每个购房者都可能会经历到的：&lt;br /&gt;&lt;br /&gt;    (1)签订认购书，交纳定金；&lt;br /&gt;&lt;br /&gt;    (2)根据认购书约定的时间、价格等，与开发商签订商品房买卖契约，并按契约约定交付房款；&lt;br /&gt;&lt;br /&gt;    (3)买卖双方到房屋管理局或房屋所在地区县各局办理合同登记手续(大部分项目由开发商代办)；&lt;br /&gt;&lt;br /&gt;    (4)办理购房贷款(商业性贷款或公积金贷款)，与商业银行或市住房基金管理中心签订贷款协议；&lt;br /&gt;&lt;br /&gt;    (5)验收房屋，办理入住手续；&lt;br /&gt;&lt;br /&gt;    (6)购房者与物业管理公司签订有关物业管理契约及交纳相应费用；&lt;br /&gt;&lt;br /&gt;    (7)开发商与购房者共同办理产权过户手续，购房者领取房屋产权证。&lt;br /&gt;&lt;br /&gt;    　二、概念&lt;br /&gt;&lt;br /&gt;    　1.楼盘均价：是楼盘的平均价格，它代表着一个项目整体的价位水平。但购房者在去售楼处咨询时会发现，用标着的“均价”来买房，往往是买不到的。那么“均价”到底是什么呢？开发商在开盘销售之前根据当前的市场情况以及成本核算，定出要销售的小区中的销售价格，这个价格就是项目的均价。一个楼盘在推向市场时，先有“均价”，通过它来计算出每栋楼中的每个单元户型的价位，它是整个楼盘销售价格控制的一个重要标准，是这个楼盘售价的平均值。根据这个平均值，才是根据每栋楼在总平面中的位置不同、朝向不同、景观不同等定出来的价差系数。用拟定的均价乘以每栋楼的系数，得出这栋楼的销售平均价。&lt;br /&gt;&lt;br /&gt;    2.楼盘起价：楼盘中相对位置不好的那一类房子的单价。起价房可能只有一套或一层，所以对购房者没有太大的实际意义，只是参考价而已。&lt;br /&gt;&lt;br /&gt;    　3.使用率：住宅套内净面积即使用面积和住宅面积的比为使用率，一般高层塔楼在72%至75%之间，板楼在78%至80%之间。&lt;br /&gt;&lt;br /&gt;    　4.实用率：实用率是套内建筑面积和住宅面积之比，大于使用率，因此，往往有开发商用实用率来吸引买房人。&lt;br /&gt;&lt;br /&gt;    　5.住宅的结构的形式&lt;br /&gt;&lt;br /&gt;    (1)砖混结构住宅：砖混结构是指建筑物中竖向承重结构的墙、柱等采用砖或砌块砌筑，柱、梁、楼板、屋面板、桁架等采用钢筋混凝土结构。通俗地讲，砖混结构是以小部分钢筋混凝土及大部分砖墙承重的结构。&lt;br /&gt;&lt;br /&gt;    (2)砖木结构住宅：砖木结构住宅是指建筑物中承重结构的墙、柱采用砖砌筑或砌块砌筑，楼板结构、屋架用木结构而共同构筑成的房屋。目前这种结构在北京较少采用。&lt;br /&gt;&lt;br /&gt;    (3)钢筋混凝土结构住宅：钢筋混凝土结构住宅是指房屋的主要承重结构如柱、梁、板、楼梯、屋盖用钢筋混凝土制作，墙用砖或其他材料填充。这种结构抗震性能好，整体性强，抗腐蚀耐火能力强，经久耐用。&lt;br /&gt;&lt;br /&gt;    　6.住宅的开间、进深、层高和净高&lt;br /&gt;&lt;br /&gt;    　(1)住宅的开间：就是住宅中房间的宽度。住宅建筑的开间一般为：2.4米、2.7米、3.0米、3.3米、3.6米、3.9米、4.2米。&lt;br /&gt;&lt;br /&gt;    (2)住宅的进深：就是指住宅的实际长度。为了保证住宅具有良好的自然采光和通风条件，进深不宜过长。&lt;br /&gt;&lt;br /&gt;    (3)住宅的层高：住宅的层高是指下层地板面或楼板面到上层楼地板面或楼板面之间的距离，也就是一层房屋的高度。现住宅的层高一般在2.7米——2.9米。&lt;br /&gt;&lt;br /&gt;    　(4)住宅的净高：住宅的净高是指地板面上表面到上层楼板下表面之间的距离。净高和层高的关系可以用以下公式来表示：&lt;br /&gt;&lt;br /&gt;    净高=层高-楼板厚度&lt;br /&gt;&lt;br /&gt;    7.建筑容积率、建筑密度和绿化率&lt;br /&gt;&lt;br /&gt;    　建筑容积率：是指项目规划建设用地范围内全部建筑面积与规划建设用地面积之比。建筑密度：即建筑覆盖率，指项目用地范围内所有基底面积之和与规划建设用地之比。绿化率：是指规划建设用地范围内的绿地面积与规划建设用地面积之比。&lt;br /&gt;&lt;br /&gt;    　8.商品房的销售面积的计算方法&lt;br /&gt;&lt;br /&gt;    　商品房销售面积=套内建筑面积+分摊的公用建筑面积之和&lt;br /&gt;&lt;br /&gt;    (一)套内建筑面积的计算方法：&lt;br /&gt;&lt;br /&gt;    ①套内使用面积：住宅按《住宅建筑设计规范》(GBJ96-86)规定的方法计算；其他建筑按照专用建筑设计规范规定的方法或参照《住宅建筑设计规范》计算。&lt;br /&gt;&lt;br /&gt;    ②套内墙体面积：商品房套内使用空间周围的维护或承重墙体，有共用墙及非共用墙两种：&lt;br /&gt;&lt;br /&gt;    (1)共用墙包括各套之间的分隔墙、套与公用建筑空间投影面积的分隔墙以及外墙(包括山墙)；共用墙墙体水平投影面积的一半计入套内墙体面积。&lt;br /&gt;&lt;br /&gt;    (2)非共用墙墙体水平投影面积全部计入套内墙体面积。&lt;br /&gt;&lt;br /&gt;    (二)商品房分摊的公用建筑面积主要包括以下两部分：&lt;br /&gt;&lt;br /&gt;    　(1)电梯井、楼梯间、垃圾道、变电室、设备室、公共门厅和过道等其功能上为整楼建筑服务的公共设施用房和管理用房之建筑面积；&lt;br /&gt;&lt;br /&gt;    (2)各单元与楼房公共建筑空间之间的分隔墙以及外墙(包括山墙)墙体水平投影面积的50%。&lt;br /&gt;&lt;br /&gt;    下列空间不得计入公用建筑面积：&lt;br /&gt;&lt;br /&gt;    (1)作为独立使用空间租、售的地下室、车棚等。&lt;br /&gt;&lt;br /&gt;    (2)作为人防工程的地下室。&lt;br /&gt;&lt;br /&gt;    公用建筑面积计算公式：&lt;br /&gt;&lt;br /&gt;    　公用建筑面积=整栋建筑的面积-各套套内建筑面积之和-已作为独立使用空间租、售的地下室、车棚、人防工程地下室&lt;br /&gt;&lt;br /&gt;    公用建筑面积分摊系数=公用建筑面积/各套套内建筑面积之和&lt;br /&gt;&lt;br /&gt;    分摊的公用建筑面积=各套套内建筑面积×公用建筑面积分摊系数&lt;br /&gt;&lt;br /&gt;    　因此，商品房销售面积公式还可表达为：&lt;br /&gt;&lt;br /&gt;    商品房销售面积=套内建筑面积(1+公用建筑面积分摊系数)&lt;br /&gt;&lt;br /&gt;    　9.房屋的产权&lt;br /&gt;&lt;br /&gt;    房屋产权指的是房屋所有者对房屋所拥有的完全所有权，主要包括对房屋的占有，使用，处分和收益权。简单说就是拥有使用该房屋，或出租该房屋获取租金收入，出售该房屋获取增值，将该房屋抵押给银行或其他组织或个人进行融资或贷款等权利。&lt;br /&gt;&lt;br /&gt;    10.印花税&lt;br /&gt;&lt;br /&gt;    　印花税是对经济活动和经济交往中书立、领受凭证征收的一种税。&lt;br /&gt;&lt;br /&gt;    　1)征税范围及纳税人。印花税的课税对象是房地产交易中的各种凭证。&lt;br /&gt;&lt;br /&gt;    2)税率和计税方法。房屋产权转移书据，印花税按合同额万分之五贴花。其应纳税额的计算公式为：应纳税额=计税金额×适用税率。&lt;br /&gt;&lt;br /&gt;    3)纳税地点、期限和缴纳方法。印花税在应纳税凭证书立领受时缴纳，合同在签订时缴纳，产权转移书据在立据时缴纳。&lt;br /&gt;&lt;br /&gt;    11.契税&lt;br /&gt;&lt;br /&gt;    契税是指房屋所有权发生变更时，就当事人所订契约按房价的一定比例向产权承受人征收的一次性税收。它是对房地产产权变动征收的一种专门税种。&lt;br /&gt;&lt;br /&gt;    1)征收范围及纳税人。由购买、承典、受赠或交换房屋及土地使用权的单位和个人交纳。&lt;br /&gt;&lt;br /&gt;    2)税率。契税税率为3%~5%。对于购买自用普通住宅的个人减半征收契税。&lt;br /&gt;&lt;br /&gt;    12. 个人住房贷款&lt;br /&gt;&lt;br /&gt;    包括：个人住房商业性贷款、个人住房公积金贷款、个人住房组合贷款、&lt;br /&gt;&lt;br /&gt;    1)个人住房商业性贷款&lt;br /&gt;&lt;br /&gt;    个人住房商业性贷款，是银行信贷资金所发放的自营贷款，指具有完全民事行为能力的自然人，购买城镇自住住房时，以其所购产权住房为抵押物，作为偿还贷款的保证而向银行申请的住房商业性贷款。&lt;br /&gt;&lt;br /&gt;    2)个人住房公积金贷款&lt;br /&gt;&lt;br /&gt;    个人住房公积金贷款，是政策性的住房公积金所发放的委托贷款，指缴存住房公积金的职工，在城镇购买，建造、翻建、大修自住住房时，以其所拥有的产权住房为抵押物，作为偿还贷款的保证而向银行申请的住房公积金贷款。&lt;br /&gt;&lt;br /&gt;    3)个人住房组合贷款&lt;br /&gt;&lt;br /&gt;    凡符合个人住房商业性贷款条件的借款人同时缴存住房公积金，在办理个人住房商业性贷款的同时还可向银行申请个人住房公积金贷款，即借款人以所购城镇自住住房作为抵押物可同时向银行申请个人住房公积金贷款和个人住房商业性贷款(这种贷款方式简称个人住房组合贷款)。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-2505228548601739976?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/2505228548601739976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=2505228548601739976' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/2505228548601739976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/2505228548601739976'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/02/blog-post_25.html' title='购房前必备的知识【转摘】'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-118256358852342898</id><published>2007-02-24T20:54:00.000+08:00</published><updated>2007-02-24T21:44:29.683+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='房'/><title type='text'>冲动是魔鬼, 买房要多长心眼, 一个真事的经厉【转摘】</title><content type='html'>想买房了，欲事先谋，在网上浏览相关的信息，今天看到这个帖子，转摘以为戒。&lt;br /&gt;出处：&lt;a href="http://bbs.zjol.com.cn/dispbbs.asp?boardID=2&amp;ID=515585&amp;amp;page=1"&gt;http://bbs.zjol.com.cn/dispbbs.asp?boardID=2&amp;ID=515585&amp;amp;page=1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;原文及回帖，回帖有删节。&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;发信人: patriot (CyndiFans),&lt;br /&gt;板面: RealEstate&lt;br /&gt;标  题: [转载] 买房经历：我是否要用法律手段维护自己的权…&lt;br /&gt;发信站: 飘渺水云间 (Sat Nov 25 14:43:17 2006)&lt;br /&gt;转信  【 原文由 patriot 发表于 Law 讨论区 】&lt;br /&gt;&lt;br /&gt;　　帮一个朋友帖的，也是我们浙大校友，如果您对他有好的建议，请给我发信，我把他的联系方式告诉您，以下是他的自述：&lt;br /&gt;&lt;br /&gt;一&lt;br /&gt;&lt;br /&gt;　　10月20日的样子，家里又打电话过来，催我看看杭州是否有房子。为什么这么催呢？主要是我年纪都29了，还单身，家里觉得我要是没有房子现在又读研究生，一般是不会有女孩子愿意和我结婚的，家在农村，男孩子29岁的话不但已经结了婚，而且已经有了小孩，特别是妈妈，她看到比我小的伙伴都已经有了小孩，她心里自然急。我能体会她的心情，每天担心担心的跟泪人似的，两年工夫就似乎老了20年一样，这都是我引起的。作为家里的长子，好不容易考上大学，然后有了好的工作，却要辞掉工作去读研究生，现在想起来真是一招错棋，可事已至此，后悔又有何用。&lt;br /&gt;&lt;br /&gt;　　因为一心想好好念书，家里的催促让我心里有些浮躁，心想也不能这样老拖着，就买吧，可家里和我自己工作累计的收入也就20万不到的存款，怎么买房，顶多弄个首付。妈妈考虑到以后一起住或者会常过来，房子最好买90平米左右，这个我也能理解，但是杭州的房价格这么高。而且买房用住房公积金贷款的话，要前10个月内不连续交公积金，不能有中断，而我今年六月份因为上了研把工作辞掉以后，住房公积金已经停了几个月，也就是不能用住房公积金贷款买房，只能用商业贷款，光这个每年多1个百分点就会要很多钱。我的想法是毕业后再买也不迟，但妈妈的意思最好现在买现房，我说现在一般买新房都是期房，先付钱要过一年以后才能到手的。又因学习比较紧张，又不忍心看到老妈着急而难受的心情，于是我狠下心，买吧。&lt;br /&gt;&lt;br /&gt;　　我咨询了几个已经买房的同学，他们当中有很多钱的，自然买了比较好的房子，我不敢比，有个同学和我差不多情况，但他是先读研究生然后再工作，与我的情况不一样，他在滨江的锦绣江南买了二手房，90几平米，60万左右，每平米6500左右，99年的房子，首付20万以内，因为房主在5年内没有做过交割的程序，因此不需要营业税这一新加的税种。我想，要不我也在滨江买个房吧，于是就有了这个购房的经历。&lt;br /&gt;&lt;br /&gt;二&lt;br /&gt;&lt;br /&gt;　　刚才提到的同学买的房子是通过“信义房产”介绍的，我查了一下，这是一家台湾进入大陆的房产中介商，看网上他们的介绍书还挺可靠的。于是按80/90平米且在滨江的条件刷选，出现两个房子，“临江花园”**幢**单元**房间，几乎一模一样的介绍，似乎主人不是同一个，一个挂58万，一个挂66万，都是82平米多点，我想怎么会相差这么多，那选58万的房子看看。晚上和中介公司通了电话，约好第二天看房，我按时赴约，怕一个人眼光有问题，便和室友一起去，在浙江大学西溪校区生命科学学院坐K527路到西环路下，一路过去是浙大玉泉校区、曲苑风荷、杨公堤、一桥，坐在公交车上一路眺望感觉很好，心想以后要是父母常过这条路一定会很开心、长寿，开始有点喜欢上这条路线了，而正是喜欢这条路线，竟把喜欢的范围扩大到了其他领域，不知是我过于情绪化呢还是其他原因，或者也许是人之常情。&lt;br /&gt;　　下车到临江花园大概3分钟的路程，远远地看到临江花园四个字，感觉倒是蛮好的。门口两位穿着白色衬衫系着领带的年轻男子在等，他们就是信义房产的员工。房子六层，说是99年造，这样的房子前后共有三幢，其他05年新造的六层的新房三幢，三幢几乎废弃的火车线边上的房子，不过还是有人租着住，火车线与小区中间有一到隔音墙，这些房子都在小区里面，四周是20层楼左右的六七幢新房，估计也是05年的，现在还没有人入住，从一桥上坐车过去，正对面的许多房子所在就是临江花园。&lt;br /&gt;　　房子在三楼。信义房产的员工开始介绍，这是正南北朝向的房子，户型很好，82平米就能做三室两厅一卫一厨，一般来说，这样的利用面积已经到了极限。其实就是两室一厅改造的，把客厅有窗的一边隔成3*3.3的房间，做卧室和书房都可以，厨房这间空了出来当成了客厅，北面的小阳台辟成了厨房。卖东西总是夸好的地方说，让买方感觉心里舒服。我说，房子的布局和朝向倒是不错，可我知道我不能用住房公积金贷款，于是他说，商业贷款也可以，而且向我展示了他手上关于住房公积金贷款和商业贷款的比较数字，说数字相差不多，亏我还是数学系出身，人家一般夸数学系的聪明我就飘了起来，实际上正是这个虚荣心让自己本来还算精明的大脑顿时糊涂起来，判断力开始打折扣，他说的其实是1万元贷款的每年需交费用的数字比较，后来我选择的是20年贷，这样一来43万的贷款虽然1万数字表面看不出什么，但合计一算，一个百分点相当于多了（72-43）*(1/5.8)=5万，平白无辜的冤枉钱，今天我听有同学说数学系要么是天才要么是笨蛋，我想是的，我就属于笨蛋这一系列，笨蛋并不在于他自身很笨，而是自己以为读了数学系对数字就很敏感，实际上正是这样的自大，失去了应有的谨慎，天才是不会犯这种错误的，他本身反应就快，而且出错的几率也小，正是这样的像我这样的笨蛋远比不上不学数学的，但就是因为他们不学数学，所以对他们自己的数学水平有个清醒的认识，没有自信就会请教别人，众人皆错的可能性不大，我这类人就是等头脑清醒后才能觉察事情的真相，可为时已晚。我当时在想研究生是没有工作的，贷款不会批的吧，信义房产的年轻人说没关系，只要找人开个月工资7千的证明就行了，我恰好有个同学开公司，我想这个倒不是难事。&lt;br /&gt;　　看完房子走在出小区的柏油路上，这个路面我后来查了网上，发现这个路面也引起过小区业主的不满，两位信义员工问我的职业，我说在读研究生，他们吹捧了一番，这些廉价的吹捧说的我很高兴，我说这房子还不错，有点想买的意思。在路上他还给他同事回了一个电话说，现在有个买主有意思，另一个看房的就先不用了，挂完电话跟我说他回绝了一个买主。然后他说晚上要不把房东的三证拿过来先让我看看，我说好的，于是约好晚上六点在信义房产中北路口的杭州总部见。&lt;br /&gt;　　晚上，信义房产中北路口的杭州总部。那个年轻人把我放在一个房间，把原房东放在一个房间。给我看了三证以后问我对这个房子的归属有没有疑问，我说没有，上面写着浦延镇之江规划村*幢*单元*房间，当时就觉得很奇怪，不是明明叫临江花园嘛，怎么成了这个地址，他解释说这个地方原来就浦延镇之江规划村，后来改的，我想也是，没有了其他怀疑。看了房子的建造时间99年，房东04年3月买进的时候40万。&lt;br /&gt;　　年轻人很勤快，但是总不肯让我与原房东单独见面，他一会跑我所在的这个房间，一会跑原房东所在的房间，看上去倒挺累的。在白天离开临江花园的时候，我跟信义房产的年轻人说，如果真的要买的话，需要还些价格，他说多少，我按照我同学买房的过程作参考的经验，说是三万，他答应了。过了会，他从另外一个房间过来传话说，房东当时挂的时候还没有营业税这一说法，说现在有了营业税，希望和我一起承担，但他在信义房产的广告上明明说税费各付，我当时就知道营业税是要卖家承担的，我就说，我还想还掉三万块钱呢，怎么又突然冒出新的费用来，然后他跑去另外一个房间回来说，这可是临江的房子，还说他还刚刚拒绝了另外一个人的看房要求（后来才知道原来是要租房看房，房东既在中介贴了卖房告示也在另一个中介贴了租房告示），正因为我买的有诚意，我心一想坏了，对啊，临江的房子的怎么也得贵点，想看房买房的人还真不少，我以为再不下手就会被别人吃了去，由于离火车线比较近，我特意问了噪音的情况，他说这个房子离火车线还有两幢房子，没有什么影响的，我还是不放心让他去房东那里问，回话说像一阵风，我想一阵微风当然很轻应该不会有影响（后过了几天我质问那个房东，房东说这个噪音是达标的，不然怎么房产商会在这里造那么多的房子，怎么还会有人在这里买房，难道我问的问题是达标？我问的是会不会像一阵风那么轻，难道风是台风吗？后来我查了网站，小区的户主因为噪音问题不肯入住，与开发商有过不小的争执，我后来质问原房东这又作何解释，难道一阵风就会有这么大的争执，房东说新小区造好总会有户主闹意见的，现在不是达标了吗？竟反问我，我是老实人，与人争执就脸红，想想这是什么道理，只是定金已经付了，我想这个签的协议有法律效力的，应该遵守契约规定。）那我说总价多少，他说61万8，我说怎么突然这么贵了，同学找的也是你们信义中介手续费不过一万多一点，后来他又跑到另外一个房间回来说，最少61万5，临江的房子怎么可能才6000多一平米，当时我想完了，再还的话他就不卖给我了，想想同学买的房子也要60万多，虽然90几平米，我的也有82平米，可以抵得上3室两厅呢，想想也划算的，可我没带钱。他说不要紧，先签约然后明天付定金，十天内把首付18完5付了，由于后天要出差3天以上，我想就这么定了吧，于是第二天从同学那里借来2万块钱先付了定金。做为数学系的人，大家帮我来算算这中间有多少糊涂帐，现在我回过头来算算，按照信义房产和我同学的还价底线来说，实际价格应该是58-3+1.5=56.5万，而现在却是61.5万，也就是说额外又多出了5万，这样一来信义房产上贴的告示不就成了诱饵，用对方可以承受的价格慢慢地引向一个暴利价格，通过以上房间隔离又是两者串通的设计引诱一个读书的年轻人，办到不是很难，这现在让我感觉到这样的程序极为不妥，当时在信义房产的门口还贴着以微薄利润维持公司运营一说，现在这样为了想尽办法促成交易成功从中拿手续费总是不光明的手段，还让说以后的三证上写买的价格55万好不好，我没经验，心想只要不让我多付钱，随你写多少。回过头来再分析写55万他们的初衷是什么？房东可以净拿55万，按照5%的营业税付55*5%=2.75万，也就是说中介拿了61.5-55-2.75=3.75万，比1.5万高出2.25万，这样的中介算不算黑！还微薄的利润？我中的圈套就是数字模糊化、只谈总价的心里，要是分类一项一项列清楚，就不会出这样的毛病，而且写55万，少写6.5万的另外一个好处就是少付营业税6.5*5%=3250块，当时中介和房东极力回避单价的问题，房东说了句6000多太便宜，于是我心想也是，6000多是不是便宜了？实际上最后价格是7460!到那天晚上签完字以后他们还是没有跟我说起单价的问题，我盘算着，锦绣江南的同学6500左右，总价和我差不多，在城西买房子的一个同学是7800多，60平米，心想单价他比我贵，心里乱糟糟的，理不出头绪。&lt;br /&gt;　　签了约自然要守约，第二天付了2万定金，然后出差回来付了其余的16.5万，作为首付款。那天晚上签约结束，房东和我见了面，长头发，据说在发展大厦搞景观设计，树人大学毕业，现在中国美院在职读书，买了好几套房子，开着车子，似乎这样买进卖出就赚了不少钱，临走的时候还给我画了以后要装修的建议图，我想这个人倒还蛮好的。&lt;br /&gt;&lt;br /&gt;三&lt;br /&gt;&lt;br /&gt;　　后来的事情发展让我渐渐清醒，我特地在那里睡了一个晚上，发现火车经过比较频繁，并不像那个房东所说的一阵风，响多了，怎么也睡不好，后来我问过房东，房东说自己也从没在那里住过，他说，以前在他那里租房的人要是觉得吵的话怎么没见向他提起啊，又搪塞过去了。没有在哪里住过，怎么知道火车经过像一阵风，真正吵的时候就是最安静的晚上。&lt;br /&gt;　　第二件事情，他把两个空调拆走了，这倒是他当时在签约的时候提出来的，我妈妈跟我说能不能不拆，让我跟他说说，说房子已经买得这么贵了，空调就不要拆了，他当然不肯，拆了。好，拆了就拆了，我说从今天起其他任何东西都不能拿走了，他说好。&lt;br /&gt;　　第三件事情，他把两张床，桌子，椅子，柜子还有部分餐具都拿走了，当时我妈妈刚过来住，本来想有这些先住几天也没关系，但当我和我妈妈到那个房子的时候发现空空如也，如进盗贼一样，心里一下失落很多。我想心想，赶紧把房东手里的另一把锁拿回来，见面的时候我质问这是怎么回事，那我妈妈现在怎么睡？当时不是跟你说话不要拿走的怎么拿走了，他说这个又不值钱的以为我不要了，说是边上有个农民房子附近有这些东西买。我说你要把这些东西拿回来，明明说好的，他于是就怒了，他说，我搬的东西连车钱都不够，合约上写的是简装出售，又没有说把这些东西给我，要不然他还想把热水器和洗衣机拿走呢。我说，要是房子能动的话，你估计也拿走了，你不能这样，他说有话让我跟中介去说，我脸皮薄，自然没有去说。一般房子大门都有三把钥匙，现在拿到了两把，妈妈说要我把另外一把也拿过来，也是我打电话给原房东，不接，发信息给他，他不回。&lt;br /&gt;　　第四件事情，中介连续打电话过来要我的工资证明，我说我同学去广州出差了，没法做，中介公司一个劲地催我要快。我想，你这么急，于是等同学从广州一回到杭州就去做了工资证明。&lt;br /&gt;　　第五件事，银行打电话过来说，我的房子是97年造的，价格太高，让我提高首付才肯做贷款。我当时就一楞，心想完了，不能做贷款，我就要付违约金10万，好象我的契约观念很深，心想买了个破房子也就认了，总不能付这么高的违约金吧，又想，他们不是告诉我房子是99年造的吗？怎么又变成97年造的了？我说这个跟中介联系吧，当时我还怕贷款批不下来呢。这一警惕让我查房价，临江花园新房在03年的时候开盘4000，现在有人挂5000卖的，有挂6000多卖的，130几平米，心想怎么回事，我怎么买的这么贵，又想想房东和中介的行为，让我咬牙切齿，从此每天晚上不得安宁，总是失眠。&lt;br /&gt;　　第六件事，妈妈在那边住了，火车声响得并不如房东说的一阵风那么有诗意，而是吵的人睡不好，估计只有重新加固买很好的隔音玻璃才能降低烦恼。房子又围在各大高楼里面，看不到外面，这让我妈妈心里透不过气，边上没有农贸市场，生活也很不方便，进城也要3块的工交而不能用月卡，走一桥对老年人来说是件很困难的事，桥窄并且经过的车多，人行道小又要过来自行车和电动车，记得我妈妈在那天晚上哭了，她说花这么多钱买这个破房子，又那么的不方便，还受房东和中介的欺负，但又说，只要我喜欢那也就算了。&lt;br /&gt;&lt;br /&gt;四&lt;br /&gt;&lt;br /&gt;　　我大学毕业四年，工作四年，现在又念研究生一年级，付了首付，以后还要付每月3000多的按揭，要是房子满意也就算了，拼了命工作也豁出去了，但老实人不断吃眼前亏我心里难受，看到我妈妈伤心的样子，我难受死了。每天晚上睡觉，睡不着，半夜、凌晨起来在学校寝室的阳台发呆，觉得人生的路在哪里？记得舒伯特说过，“每天晚上我都希望自己不再醒来，每天早上醒来时都带着昨日的忧伤”，真是欲死不能，要是我一死，贷款的压力就会压到我父母头上来，我怎么忍心？我一个人的错，结果如一个旋涡，自己是制造旋涡的中心，不幸的是亲人们纷纷被卷了进来。&lt;br /&gt;　　为了房子的事情，我能静下心来读书吗？现在正是工作单位招聘的时候，我不停地注意动向，发现部分好单位竟然有研究生不能超过28岁的限制，可我现在都已经29了。我有些绝望，我该何去何从？原本辞掉工作读研究生就是打算以学业和学术终身事业，现在却成这么一番尴尬的境地。&lt;br /&gt;&lt;br /&gt;五&lt;br /&gt;&lt;br /&gt;　　今天银行和中介打电话过来说，贷款已经批下来了，但要我过去签字，原房东才能拿走余下的43万。我想，这是我最后的机会，我说现在还没有时间，要到下星期二中午才有空，我要趁着这几天的功夫请人帮忙，我是否要用法律手段维护自己的合法权益？多么希望懂法律的老师和同学能帮我啊！&lt;br /&gt;&lt;br /&gt;24.11.2006我认为中介和原房东有以下嫌疑：&lt;br /&gt;　　a.中介违反杭房局[2003]46号《关于加强房地产中介代理房款监管的通知》的规定，一、房地产中介机构在房地产买卖代理业务中不得直接收取或变相收取房屋买卖当事人的交易房款。而信义房产收取了我的18.5万现金,同时给我开了发票为证。&lt;br /&gt;&lt;br /&gt;　　b.中介违反了合理收取费用的原则，隐瞒实际所得，超过一般手续费用2万多，合计3万7千左右，这是不当的暴利，因为房东现在已经从中介手里拿了12万，现在正打算从银行拿余下的43万，也就是说房东拿55万，其余6万5由中介处理。&lt;br /&gt;&lt;br /&gt;　　c.在推销过程中，中介有意误导甚至有欺诈行为。（有具体描述）&lt;br /&gt;&lt;br /&gt;　　d.原房东在回答买房者问题时不诚实，有意误导甚至有欺诈行为。如说火车经过如一阵风，还有不经同意拿走大量室内物品。更具体内容可参考我的自述《买房经历：我是否要用法律手段维护自己的合法权益？》&lt;br /&gt;&lt;br /&gt;　　e.房价远远高于同一小区同类甚至比这更新更好的房子&lt;br /&gt;&lt;br /&gt;个人想法：&lt;br /&gt;　　a.要求中介和房东退还18.5万首付款；&lt;br /&gt;　　b.取消银行房贷，并不得有不良记录产生，退还房子给房东；&lt;br /&gt;&lt;br /&gt;※内容修改:·patriot于Nov2514:37:00修改本文内容·[FROM:patriot]&lt;br /&gt;※来源:·飘渺水云间freecity.cn·[FROM:patriot]&lt;br /&gt;※转载:·飘渺水云间freecity.cn·[FROM:patriot]&lt;br /&gt;&lt;br /&gt;小飞哥&lt;br /&gt;&lt;br /&gt;第 8 楼&lt;br /&gt;&lt;br /&gt;我刚才在网上的房贷计算器算了一下，&lt;br /&gt;等额本息还款法，10万元贷款，20年，&lt;br /&gt;公积金贷款需还153004.28，商业贷款还169323.16，相差16313.88元，&lt;br /&gt;也就是每万元相差1631.388元，43万就要相差70149.68元，&lt;br /&gt;7万块啊。。。。。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;小飞哥&lt;br /&gt;第 9 楼&lt;br /&gt;&lt;br /&gt;房东可以净拿55万，按照5%的营业税付55*5%=2.75万，也就是说中介拿了61.5-55-&lt;br /&gt;2.75=3.75万，比1.5万高出2.25万，&lt;br /&gt;&lt;br /&gt;————————————————————————&lt;br /&gt;&lt;br /&gt;这一点我提点看法：供参考，&lt;br /&gt;&lt;br /&gt;如果成交价55万，涉及的费用：&lt;br /&gt;&lt;br /&gt;买方：印花税275，契税8250，房产交易手续费246，土地转让交易手续费50，注册费80，贷款按揭涉及的评估费2310，合计11211，&lt;br /&gt;&lt;br /&gt;卖方：印花税275，评估费2310，产权交易手续费246。土地转让交易手续费50，营业税30525，合计33406，不考虑个人所得税。&lt;br /&gt;&lt;br /&gt;以上双方总计：44617。&lt;br /&gt;&lt;br /&gt;如果卖方支付61.5w，买方拿55w，再扣除上述税费，剩余20383，而55万的成交价，单方中介费是5115，双方合计10230，那么其实只有1万元不知什么用途。&lt;br /&gt;&lt;br /&gt;另外其实写低成交价甚至包括所谓净价对买方是很不利的，就说lz实际支付61.5w，成交价只写55w，看着避了点税，但是将来再卖房的时候，是按成交价和55w的差额征税（主要是个人所得税）的，还得交上去，羊毛出在羊身上，但是第一卖家是逃掉了。&lt;br /&gt;[此贴子已经被作者于2006-11-28 14:22:21编辑过]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;只见红颜消瘦&lt;br /&gt;第 11 楼&lt;br /&gt;&lt;br /&gt;楼主做事缺乏谨慎，29岁了做事如此轻率实乃不该，对付豺狼般的中介需要足够的耐心和方法！没脑子&lt;br /&gt;&lt;br /&gt;连累你的一片孝心了&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ralf&lt;br /&gt;第 13 楼&lt;br /&gt;&lt;br /&gt;1.房价明显高于市场价格，可以显失公平为由请求法院撤销合同；&lt;br /&gt;&lt;br /&gt;2.以97年房谎称99年为由，主张中介欺诈（但有证据么？）；&lt;br /&gt;&lt;br /&gt;3.这么急的事情还有闲心罗里罗嗦的写这么长到网上求救，直接问律师就行了。&lt;br /&gt;&lt;br /&gt;还浙大研究生呢，真可悲。&lt;br /&gt;&lt;br /&gt;这个人性格优柔。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;godtbb&lt;br /&gt;第 17 楼&lt;br /&gt;&lt;br /&gt;e.房价远远高于同一小区同类甚至比这更新更好的房子&lt;br /&gt;&lt;br /&gt;你真的是研究生的!!!!.贵你还买!你没有脑子?&lt;br /&gt;&lt;br /&gt;单从这件事上来说,你是值得同情的,遭遇是悲惨的,可惜...为什么会这样,&lt;br /&gt;&lt;br /&gt;你身为21世纪的研究生连这种简单辨别是非的能力都没有....叫你二愣子会不会叫错你,有没有抬举你!?&lt;br /&gt;&lt;br /&gt;肯定没有叫错,很实在!...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;andy_227&lt;br /&gt;第 21 楼&lt;br /&gt;&lt;br /&gt;学生，如果时间不是很紧张的话，我建议你打这个官司.&lt;br /&gt;&lt;br /&gt;即使输了，我相信你从这个官司学到的东西的价值不会比你这次买房损失的小。&lt;br /&gt;&lt;br /&gt;官司打下去，同时要争取舆论的支持.消协，12345，媒体都可以去联系。当然有个律师是必须的。对方处于道德上的弱势，你这件事情能搞大，对你赢这个官司绝对有帮助。另外，你要坚信，你从这个官司本身得到的收获对你未来的发展肯定有非常好的帮助。&lt;br /&gt;&lt;br /&gt;还有不要对未来太悲观，你有很好的学历，善良，做事认真。你未来的机会多得是的。&lt;br /&gt;&lt;br /&gt;另外，对那些冷嘲热讽的人，你不要太在意。这个时间上，人与人的区别大于人与畜生的区别。做个善良的人，不是缺点。但自己的权利，一定要维护。如果你这次吃这个哑巴亏，不光对你是个很大的经济上的包袱，更危险的是对你未来的发展奠定了非常糟糕的基础。&lt;br /&gt;&lt;br /&gt;希望你能理解我的话。我们要做个文明的人，要善良，敬业，孝顺老人。但对待流氓，一定要学会比他更流氓。&lt;br /&gt;&lt;br /&gt;你现在开始收集一切中介的漏洞，任何一点漏洞加上你的恒心，你一定会赢。也许这个中介不敢和你纠缠下去的。&lt;br /&gt;&lt;br /&gt;我在东北长大，我从小就记住一句话:"没事别惹事，有事别怕事“。现在这句话也送给你。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;平面帝国&lt;br /&gt;第 22 楼&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;这位研究生的社会经验也太缺了点。&lt;br /&gt;&lt;br /&gt;一般房子到手立即就把锁换了&lt;br /&gt;&lt;br /&gt;房子里的东西怎么可能被拿走呢&lt;br /&gt;&lt;br /&gt;还要向房东去要钥匙，不是想省买钥匙的钱吧&lt;br /&gt;&lt;br /&gt;假如房东又去准备了一把，研究生会不会昏到啊&lt;br /&gt;&lt;br /&gt;真是又同情又可气&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;平面帝国&lt;br /&gt;第 23 楼&lt;br /&gt;&lt;br /&gt;21楼说得有理：&lt;br /&gt;&lt;br /&gt;从这个官司学到的东西的价值不会比你这次买房损失的小。&lt;br /&gt;&lt;br /&gt;如果你这次吃这个哑巴亏，不光对你是个很大的经济上的包袱，更危险的是对你未来的发展奠定了非常糟糕的基础。&lt;br /&gt;&lt;br /&gt;通过这次事件，估计会大大增加这位同学的社会经验&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;sbpan&lt;br /&gt;第 26 楼&lt;br /&gt;&lt;br /&gt;21楼的朋友用心良苦啊!特意注册个MJ上来,谆谆教诲.&lt;br /&gt;&lt;br /&gt;意见真的很实在.&lt;br /&gt;&lt;br /&gt;这个事情关键是要告倒中介.&lt;br /&gt;&lt;br /&gt;当然,如果你有足够的证据可能不需要告,中介自然会和你和解~&lt;br /&gt;&lt;br /&gt;PS:提醒一点,先不用提你的要求,这个没用.&lt;br /&gt;&lt;br /&gt;这个世界不是你要什么就能得到什么的.&lt;br /&gt;&lt;br /&gt;关键看你掌握什么,你掌握的东西有多少价值.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;房产咨询&lt;br /&gt;第 29 楼&lt;br /&gt; 点击这里发送电子邮件给房产咨询&lt;br /&gt;发贴心情&lt;br /&gt;LZ真可怜。支持LZ动用法律手段。信义房产是最垃圾的中介了，上次一个70W的房子，无双税，居然说双方税费加一起要5W多。找中原跳单，帮我把总税费轻松搞到2W&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;农民伯伯&lt;br /&gt;第 31 楼&lt;br /&gt;&lt;br /&gt;研究生，还是学生！缺乏社会经验！唉，做母亲的……&lt;br /&gt;&lt;br /&gt;何必呢？怎么就看不开？迟几年结婚怎么？吃几年买房子怎么？&lt;br /&gt;&lt;br /&gt;打官司？中国缺乏的就是司法公证，即使公证，长时间的消耗，累也累死你！&lt;br /&gt;－－－－－－－－－－－－－－－－－－－－－－－－－－－－&lt;br /&gt;中国人只知道忠于皇上和朝廷，而不知道忠于国家和民族；只有将天下视为一人一姓之私产的民贼，而无将国家视为天下之公器之政治；只有将国家视为一党之私物的国贼，而不知现代宪政为何物？只有天民而无国民；只有臣民而无公民；更不知公民意识为何物？&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;成长中的钱江新城&lt;br /&gt;第 37 楼&lt;br /&gt;&lt;br /&gt;1.房产中介不让买卖双方直接谈本身就有诈,从中赚取差价国家已经发文严厉禁止.&lt;br /&gt;&lt;br /&gt;2.交易款应该打入中介和银行监管帐户&lt;br /&gt;&lt;br /&gt;3.做底合同价是可行的.一方面减少税费(营业税和契税等),另外目前政策来讲不影响以后交易的个税,因为实际操作是按价款的1%,而不是按进出差价算的.政策变化另说&lt;br /&gt;&lt;br /&gt;4.中介费和评估费都是可以打折的,&lt;br /&gt;&lt;br /&gt;5.合同一旦签定有法律效力,何况你贷款都批下来了,想推翻困难重重&lt;br /&gt;&lt;br /&gt;6.即使走司法程序,其中的诉讼费,律师费也不少(没有1.5万,律师不把你的事当事的),还不一定成功,即使成功还不一定能执行到位,还有执行费,总之诉讼成本不底啊&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;xull06&lt;br /&gt;第 46 楼&lt;br /&gt;&lt;br /&gt;同情楼主，钱本来不足又中圈套了！&lt;br /&gt;&lt;br /&gt;怎能买房不直接与房东见面莶约呢？这是最大的错，其次、房产三证要细研，可以知道真伪？也可看出土地使用权的起始日期？，房产的建造日期是个虚的或是大概的，因为从拿到土地到交房要2-3年，中介总是说最后日期不能说欺诈。你说的欺诈能否拿出有力的证据？如果口头介绍你信了孔怕不能认定，‘空口无凭’嘛。通过法院认定，双方莶时，认定对方有胁迫、欺诈行为的才能判为无效合同，否则很难逆转。&lt;br /&gt;&lt;br /&gt;建议按揭暂不莶字，寻求律师邦助确定如果处置为好。&lt;br /&gt;&lt;br /&gt;万事只怕有心人，但愿你有好运。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;千山飞雪&lt;br /&gt;第 48 楼&lt;br /&gt;&lt;br /&gt;学了一课。。&lt;br /&gt;&lt;br /&gt;不过我要买二手房，肯定也不会去算这么多了，就多查查资料，看看最近别人在同地段的平均成交价格，再砍他几万，行就行不行就拉倒。&lt;br /&gt;&lt;br /&gt;买房子还是需要冲动，不过总价一定要把关。不要在同地段买亏了。环境反正个人有个人偏好，有铁路在边上一般人也确实不会大意的。想来作者的确是被中介迷糊了，我曾经被售楼小姑娘迷糊过。&lt;br /&gt;&lt;br /&gt;人生的路还长着，磕磕绊绊免不了，如果浙大的研究生为了这么点并不十分大的挫折去自杀，那真是侮辱了自己也侮辱了浙大。。。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-118256358852342898?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/118256358852342898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=118256358852342898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/118256358852342898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/118256358852342898'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/02/blog-post_24.html' title='冲动是魔鬼, 买房要多长心眼, 一个真事的经厉【转摘】'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-8524800110023562935</id><published>2007-02-19T16:56:00.000+08:00</published><updated>2007-02-19T17:04:23.373+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows OS'/><category scheme='http://www.blogger.com/atom/ns#' term='Hold'/><title type='text'>windows2003设置大全(出自网络，转引太多，不知出处)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_ztYZmxCjHw0/Rdln6nwAa5I/AAAAAAAAABE/W-14cYdZIHc/s1600-h/windows2003.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp1.blogger.com/_ztYZmxCjHw0/Rdln6nwAa5I/AAAAAAAAABE/W-14cYdZIHc/s320/windows2003.jpg" alt="" id="BLOGGER_PHOTO_ID_5033168315363650450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;一、windows server 2003 3790版本识别&lt;br /&gt;RTM=release to manufacture （公开发行批量生产）是给硬件制造商的版本！是送去压盘的,不是拿去卖的。&lt;br /&gt;OEM=Original Equipment Manufacturer只能全新安装， 和RTM差不多，只是称呼不同而已。&lt;br /&gt;RTL=retail（零售）正式零售版,可以升级或者全新安装。&lt;br /&gt;VLK=Volume License大量授权版，又称为企业版。无需激活。(网上所谓的简体中文VLK版实际是普通简体中文版加英文VLK版中的8个文件而已)&lt;br /&gt;&lt;br /&gt;二、Windows Server 2003的不同版本&lt;br /&gt;&lt;br /&gt;　　Windows Server 2003 Web版:为快速开发、部署Web服务与应用程序，提供Web托管与服务平台。支持2路SMP(对称多处理)系统、2GB内存。&lt;br /&gt;&lt;br /&gt;　　Windows Server 2003标准版:面向中小型企业和部门级应用。支持4路SMP、4GB内存。&lt;br /&gt;&lt;br /&gt;　　Windows Server 2003企业版:适合中心与大型组织使用，有32位和64位两个版本。支持8节点集群、NUMA；支持8路SMP，其中32位版支持32GB内存，64位版支持64GB内存。&lt;br /&gt;&lt;br /&gt;　　Windows Server 2003数据中心版：面向要求强伸缩性和高可用性的企业，有32位和64位两个版本。32位版支持32路SMP、64GB内存；64位版支持64路SMP、512GB内存；两个版本均支持8节点集群、NUMA&lt;br /&gt;&lt;br /&gt;三、windows server 2003 3790版的激活&lt;br /&gt;&lt;br /&gt;在正式版算号器没有出来之前，现在流行的激活方式有以下几种：&lt;br /&gt;（1）Reset5.02，在安全模式下运行即可激活，把时间调整为2008年都没有问题，一切使用正常。可以升级。&lt;br /&gt;缺点：激活程序被彻底屏蔽，表现为运行msoobe /a没有任何显示，并且在服务中有一项reset5，开机会自动运行此服务，C:WINDOWSsystem32srvany.exe，此程序应该是reset5添加入系统的。&lt;br /&gt;&lt;br /&gt;（2）俄罗斯破解，记得在xp时代，只要把setupreg.hiv在安装前替换，然后电话激活就可以达到完美的激活境界，可在2003下，这样子做之后，当前显示已激活，可如果你调整了时间再开机又会显示要激活，甚至是不能使用。估计次次问题关键还是在那个setupreg.hiv文件。&lt;br /&gt;&lt;br /&gt;（3）在论坛上有人贴出了一个Winxpactivation.exe的文件，号称可以激活，实际上这个还是假激活，暂时屏蔽了激活程序，是不能够修改时间的。&lt;br /&gt;&lt;br /&gt;（4）用替换法做出来的伪VLK，安装使用都没有问题，只是不能升级。VLK是替换英文版的8个文件.但是SN已经被微软封掉了.所以不能升级，但是此法是最稳定的，没有任何问题。&lt;br /&gt;&lt;br /&gt;结论：推荐大家用8个替换法激活和reset5.02激活！&lt;br /&gt;&lt;br /&gt;四、win 2003 server的一些优化设置&lt;br /&gt;&lt;br /&gt;1.禁用配置服务器向导:&lt;br /&gt;禁止“配置你的服务器”（Manage Your Server）向导的出现：在控制面板（Control Panel） -&gt; 管理员工具（Administrative Tools ）-&gt; 管理你的服务器（Manage Your Server）运行它，然后在窗口的左下角复选“登录时不要显示该页”（Don't display this page at logon）。&lt;br /&gt;&lt;br /&gt;2.启用硬件和DirectX加速&lt;br /&gt;* 硬件加速：桌面点击右键－－属性（Properties） -&gt; 设置（Settings ）－－高级（Advanced ）－－疑难解答（Troubleshoot）。把该页面的硬件加速滚动条拉到“完全”（ Full），最好点击“确定”（OK）保存退出。这期间可能出现一瞬的黑屏是完全正常。&lt;br /&gt;&lt;br /&gt;*DirectX加速：打开“开始” （Start） -&gt; “运行”（Run），键入“dxdiag”并回车打开“DirectX 诊断工具”（DirectX Tools），在“显示”（Display）页面，点击DirectDraw, Direct3Dand AGP Texture 加速三个按钮启用加速。把“声音的硬件加速级别”（Hardware Sound Acceleration Level）滚动条拉到“完全加速”（ Full Acceleration）。&lt;br /&gt;&lt;br /&gt;3. 启用声卡：&lt;br /&gt;系统安装后，声卡是禁止状态，所以要在 控制面板 -&gt; 声音 -&gt; 启用，重启之后再设置它在任务栏显示。&lt;br /&gt;如果你使用的是Windows server 2003标准版请从第二步xx作，因为标准版已允许声音服务。&lt;br /&gt;* 打开“开始”（Start） -&gt; “运行”（Run），键入“Services.msc ”，在出现的窗口中找到“Windows Audio”并双击它，然后在启动模式（startup type ）的下拉菜单选择“自动”（Automatic），并点击“应用”（Apply） -&gt;“开始”（Start） -&gt; “确定”（OK）&lt;br /&gt;&lt;br /&gt;*打开“开始”（Start） -&gt; “运行”（Run），键入“dxdiag”并回车打开“DirectX诊断工具”（DirectX Tools），在“Sound”（Display）页面，把“声音的硬件加速级别”（Hardware Sound Acceleration Level）滚动条拉到“完全加速”（ Full Acceleration）。&lt;br /&gt;&lt;br /&gt;4. 如何启用 ASP 支持：&lt;br /&gt;&lt;br /&gt;Windows Server 2003 默认安装，是不安装 IIS 6 的，需要另外安装。安装完 IIS 6，还需要单独开启对于 ASP 的支持。方法是：控制面板 -&gt; 管理工具 -&gt;Web服务扩展 -&gt; Active Server Pages -&gt; 允许。&lt;br /&gt;&lt;br /&gt;5. 如何启用 XP 的桌面主题：&lt;br /&gt;&lt;br /&gt;*打开“开始”（Start） -&gt; “运行”（Run），键入“Services.msc ”，选themes“主题”（默认是禁止的），然后改为“自动”，按“应用”，选“开启”。&lt;br /&gt;*接着点“桌面”的属性，在“主题”里选“windows xp”&lt;br /&gt;*我的电脑----属性----高级----性能-----在桌面上为图标标签使用阴影&lt;br /&gt;&lt;br /&gt;6. 禁止关机时出现的关机理由选择项：&lt;br /&gt;&lt;br /&gt;关机事件跟踪（Shutdown Event Tracker）也是Windows server 2003区别于其他工作站系统的一个设置，对于服务器来说这是一个必要的选择，但是对于工作站系统却没什么用，我们同样可以禁止它。打开”开始 “Start -&gt;”运行“ Run -&gt;输入”gpedit.msc “，在出现的窗口的左边部分，选择 ”计算机配置“（Computer Configuration ）-&gt; ”管理模板“（AdministrativeTemplates ）-&gt; ”系统“（System）,在右边窗口双击“Shutdown Event Tracker” 在出现的对话框中&lt;br /&gt;选择“禁止”（Disabled），点击然后“确定”（OK）保存后退出，这样，你将看到类似于windows 2000的关机窗口&lt;br /&gt;&lt;br /&gt;7. 如何使用USB硬盘、U盘，添加已经有分区的硬盘&lt;br /&gt;&lt;br /&gt;我的电脑（单击右键）----管理----磁盘管理-----在相应的硬盘上执行导入和分配盘符操作&lt;br /&gt;&lt;br /&gt;8. 在控制面板里显示全部组件：&lt;br /&gt;把 Windowsinf 目录中的 sysoc.inf 文件里的 "hide" 替换掉。&lt;br /&gt;&lt;br /&gt;9. 禁用Internet Explorer Enhanced Security 和禁止安全询问框的出现在IE工具选项中自定义设置IE的安全级别。在”安全“（Security）选项卡上拉动滚动条把Internet区域安全设置为”中“（Medium）或“中低”。自定义设置中将有关的选择“提示”修改为选择“禁止”或“启用”。&lt;br /&gt;&lt;br /&gt;10. 禁用开机 CTRL+ALT+DEL和实现自动登陆&lt;br /&gt;&lt;br /&gt;*方法1：打开注册表(运行-&gt;“Regedit”)，再打开:&lt;br /&gt;HKEY_LOCAL_MACHIN│SOFTWARE│MicroSoft│Windows NT│CurrentVersion │Winlogon段，在此段中按右键，新建二个字符串段，AutoAdminLogon=“1”，DefaultPassword=“为超级用户 Administrator所设置的Password”。&lt;br /&gt;注意，一定要为Administrator设置一个密码，否则不能实现自启动。 然后，重新启动Windows即可实现自动登录。&lt;br /&gt;&lt;br /&gt;*方法2：管理工具 -&gt; Local Security Settings（本地安全策略） -&gt; 本地策略 -&gt; 安全选项 -&gt;interactive logon: Do not require CTRL+ALT+DEL，启用之。&lt;br /&gt;&lt;br /&gt;*方法3（自动登陆）：使用Windows XP的Tweak UI来实现Server 2003自动登陆。&lt;br /&gt;下载：Tweak UIhttp://www.ssite.org/uppic/sun_pic/...003/tweakui.exe&lt;br /&gt;下载后直接执行tweakui.exe 在左边的面板中选择Logon -&gt; Autologon -&gt; 在右边勾选Log on automatically at system startup输入你的用户名和域名（如果没有就不写），点击下面的Set Password，输入用户名的密码，然后点击OK。&lt;br /&gt;&lt;br /&gt;11.隐藏文件&lt;br /&gt;&lt;br /&gt;Windows Server 2003默认情况下是显示所有的文件夹的，如果你不想这样，可以通过一下方法来隐藏：&lt;br /&gt;打开任意一个文件夹，选择工具（Tools） -&gt; 文件夹选项（Folder Options） -&gt; 查看（View），调整 显示系统文件夹的内容、隐藏受保护的操作系统文件、隐藏文件和文件夹 三项&lt;br /&gt;&lt;br /&gt;12.允许内置的IMAPI CD-Burning服务和支持Windows影像设备服务&lt;br /&gt;&lt;br /&gt;.允许内置的IMAPI CD-Burning服务和支持Windows影像设备服务&lt;br /&gt;*假如你希望启用Windows内置的IMAPI CD-Burning服务。做如下xx作：&lt;br /&gt;打开“开始”（Start） -&gt; “运行”（Run），键入“Services.msc ”，在出现的窗口中找到“IMAPI CD-Burning COM Service ”并双击它，然后在启动模式（startup type ）的下拉菜单选择“自动”（Automatic），并点击“应用”（Apply） -&gt;“开始”（Start） -&gt; “确定”（OK）&lt;br /&gt;&lt;br /&gt;*假如你有如数码相机和扫描仪之类的影像设备，你应该打开Windows Image Acquisitio&lt;br /&gt;n 服务。&lt;br /&gt;打开“开始”（Start） -&gt; “运行”（Run），键入“Services.msc ”，在出现的窗口中找到“Windows Image Acquisition (WIA) ”并双击它，然后在启动模式（startup type ）的下拉菜单选择“自动”（Automatic），并点击“应用”（Apply） -&gt;“开始”（Start） -&gt;“确定”（OK）&lt;br /&gt;&lt;br /&gt;13.高级设置&lt;br /&gt;&lt;br /&gt;*我们可以修改一些windows server 2003的高级设置以适合工作站的应用环境。&lt;br /&gt;右键点击“我的电脑”（My Computer）－－属性（Properties）－－高级（Advanced）－－性能（Performance）－－设置（Setting）－－高级（Advanced），把“处理器计划”（Processor scheduling ）和内存使用（Memory usage）分配给“程序”（Programs）使用。然后点击“确定”（OK.）&lt;br /&gt;&lt;br /&gt;*禁用错误报告&lt;br /&gt;右键点击“我的电脑”（My Computer）－－属性（Properties）－－高级（Advanced）－－点击“错误报告”（Error Reporting ）按钮，在出现的窗口中把“禁用错误报告”（Disable Error Reporting）选上并复选“但在发生严重错误时通知我”（But, notify me when critical errors occur.）&lt;br /&gt;&lt;br /&gt;*调整虚拟内存&lt;br /&gt;一些朋友经常会对关机和注销缓慢感到束手无策，解决办法就是禁用虚拟内存，这样你的注销和关机时间可能会加快很多。右键点击“我的电脑”（My Computer）－－属性（Properties）－－高级（Advanced）－－性能（Performance）－－设置（Setting）－－高级（Advanced），点击“虚拟内存”（Virtual memory）部分的“更改”（Change），然后在出现的窗口选择“无分页文件”。重启系统即可。&lt;br /&gt;&lt;br /&gt;14.加快启动和运行速度&lt;br /&gt;&lt;br /&gt;*修改注册表，减少预读取，减少进度条等待时间：&lt;br /&gt;开始→运行→regedit启动注册表编辑器， HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManagerMemory ManagementPrefetchParameters，有一个键值名为EnablePrefetcher，它的值是3,把它改为“1”或“5”。找到 HKEY_LOCAL_MACHINESystemCurrentControlSetControl，将 WaitToKillServiceTimeout 设为：1000或更小。 ( 原设定值：20000 )找到 HKEY_CURRENT_USERControl PanelDesktop 键，将右边视窗的WaitToKillAppTimeout 改为 1000， ( 原设定值：20000 )即关闭程序时仅等待1秒。&lt;br /&gt;将 HungAppTimeout 值改为：200( 原设定值：5000 )， 表示程序出错时等待0.5秒。&lt;br /&gt;&lt;br /&gt;*让系统自动关闭停止回应的程式。&lt;br /&gt;打开注册表 HKEY_CURRENT_USERControl PanelDesktop 键，将 AutoEndTasks 值设为 1。 ( 原设定值：0 )&lt;br /&gt;&lt;br /&gt;*禁用系统服务Qos&lt;br /&gt;开始菜单→运行→键入 gpedit.msc ，出现“组策略”窗口， 展开 "管理模板”→“网络” ， 展开 "QoS 数据包调度程序"，在右边窗右键单击“限制可保留带宽" ，在属性中的“设置”中有“限制可保留带宽" ，选择“已禁用”，确定即可。当上述修改完成并应用后，用户在网络连接的属性对话框内的一般属性标签栏中如果能够看到"QoS Packet Scheduler（QoS 数据包调度程序）"。说明修改成功，否则说明修改失败。&lt;br /&gt;&lt;br /&gt;*改变窗口弹出的速度：&lt;br /&gt;找到 HKEY_CURRENT_USER＼Control Panel＼Desktop＼WindowMetrics子键分支，在右边的窗口中找到MinAniMate键值，其类型为REG_SZ，默认情况下此健值的值为1，表示打开窗口显示的动画，把它改为0，则禁止动画显示，接下来从开始菜单中选择“注销”命令，激活刚才所作的修改。&lt;br /&gt;&lt;br /&gt;*禁止Windows XP的压缩功能：&lt;br /&gt;点击“开始”下的“运行”，在“运行”输入框中输入“regsvr32/u zipfldr.dll”，然后按回车键即可。&lt;br /&gt;&lt;br /&gt;*设置个性的启动信息或警告信息：&lt;br /&gt;个性化的Windows XP启动：打开注册表编辑器，找到HKEY_LOCAL_MACHINE＼SOFTWARE＼Microsoft＼Windows NT＼CurrentVersion＼Winlogon子键分支，双击LegalNoticeCaption健值，打开“编辑字符串”对话框，在“数值数据”下的文本框中输入自己想要的信息标题，如“哥们儿，你好！”，然后点击“确&lt;br /&gt;定”，重新启动。&lt;br /&gt;如果想要改变警告信息的话可以双击LegalNoticeText健值名称，在出现的“编辑字符串”窗口中输入想要显示的警告信息，单击“确定”，重新启动。&lt;br /&gt;&lt;br /&gt;15.安装Java VM&lt;br /&gt;Windows server 2003没有集成MS Java VM或Sun Java VM,你可以自行下载并安装它。&lt;br /&gt;&lt;br /&gt;16.安装DirectX 9a&lt;br /&gt;&lt;br /&gt;在Windows Server 2003上安装DirectX 9a和在其他版本的Windows上安装DirectX 9a的方法是一样的。安装之前必须先启用DirectX and Graphics Acceleration。&lt;br /&gt;&lt;br /&gt;17.可用的杀毒软件和防火墙：&lt;br /&gt;Symantec Norton Antivirus Corporate 8.01&lt;br /&gt;Zone Alarm 3.7.159&lt;br /&gt;Norton Personal Firewall 2003&lt;br /&gt;&lt;br /&gt;五、如何防范ipc $入侵&lt;br /&gt;&lt;br /&gt;1、禁止空连接进行枚举(此操作并不能阻止空连接的建立)&lt;br /&gt;&lt;br /&gt;首先运行regedit，找到如下组建[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLSA]把 RestrictAnonymous = DWORD的键值改为：00000001。restrictanonymous REG_DWORD0x0 缺省0x1 匿名用户无法列举本机用户列表0x2 匿名用户无法连接本机IPC $共享说明:不建议使用2，否则可能会造成你的一些服务无法启动，如SQL Server&lt;br /&gt;&lt;br /&gt;2、禁止默认共享&lt;br /&gt;&lt;br /&gt;1）察看本地共享资源&lt;br /&gt;运行-cmd-输入net share&lt;br /&gt;2）删除共享(每次输入一个）&lt;br /&gt;net share ipc $ /delete&lt;br /&gt;net share admin $ /delete&lt;br /&gt;net share c $ /delete&lt;br /&gt;net share d $ /delete（如果有e,f,……可以继续删除）&lt;br /&gt;3）修改注册表删除共享&lt;br /&gt;运行-regedit&lt;br /&gt;找到如下主键[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServer&lt;br /&gt;Parameters]&lt;br /&gt;把AutoShareServer（DWORD）的键值改为:00000000。&lt;br /&gt;如果上面所说的主键不存在，就新建(右击-新建-双字节值）一个主健再改键值。&lt;br /&gt;&lt;br /&gt;3、停止server服务&lt;br /&gt;&lt;br /&gt;1）暂时停止server服务net stop server /y （重新启动后server服务会重新开启）&lt;br /&gt;2）永久关闭ipc $和默认共享依赖的服务:lanmanserver即server服务控制面板-管理工具-服务-找到server服务（右击）-属性-常规-启动类型-已禁用&lt;br /&gt;&lt;br /&gt;4、安装防火墙(选中相关设置)，或者端口过滤(滤掉139,445等)&lt;br /&gt;&lt;br /&gt;1).解开文件和打印机共享绑定&lt;br /&gt;&lt;br /&gt;　　鼠标右击桌面上[网络邻居]→[属性]→[本地连接]→[属性]，去掉“Microsoft网络的文件和打印机共享”前面的勾，解开文件和打印机共享绑定。这样就会禁止所有从139和445端口来的请求，别人也就看不到本机的共享了。&lt;br /&gt;&lt;br /&gt;　　2).利用TCP/IP筛选&lt;br /&gt;&lt;br /&gt;　　鼠标右击桌面上[网络邻居]→[属性]→[本地连接]→[属性]，打开“本地连接属性”对话框。选择[Internet协议(TCP/IP)]→[属性]→[高级]→[选项]，在列表中单击选中“TCP/IP筛选”选项。单击[属性]按钮，选择“只允许”，再单击[添加]按钮(如图2)，填入除了 139和445之外要用到的端口。这样别人使用扫描器对139和445两个端口进行扫描时，将不会有任何回应。&lt;br /&gt;&lt;br /&gt;　　3).使用IPSec安全策略阻止对端口139和445的访问&lt;br /&gt;&lt;br /&gt;　　选择[我的电脑]→[控制面板]→[管理工具]→[本地安全策略]→[IP安全策略，在本地机器]，在这里定义一条阻止任何IP地址从TCP139和 TCP445端口访问IP地址的IPSec安全策略规则，这样别人使用扫描器扫描时，本机的139和445两个端口也不会给予任何回应。&lt;br /&gt;&lt;br /&gt;　　4).使用防火墙防范攻击&lt;br /&gt;&lt;br /&gt;　　在防火墙中也可以设置阻止其他机器使用本机共享。如在“天网个人防火墙”中，选择一条空规则，设置数据包方向为“接收”，对方IP地址选“任何地址”，协议设定为“择一条空规则，设置数据包方向为“接收”，对方IP地址选“任何地址”，协议设定为“TCP”，本地端口设置为“139到139”，对方端口设置为“0到0”，设置标志位为“SYN”，动作设置为“拦截”，最后单击[确定]按钮，并在“自定义IP规则”列表中勾选此规则即可启动拦截139端口攻击了(如图3)。&lt;br /&gt;&lt;br /&gt;5、给所有账户设置复杂密码，防止通过ipc $穷举密码&lt;br /&gt;&lt;br /&gt;六、各种vlk版本的Windows在线更新(win2003 server也可以)&lt;br /&gt;&lt;br /&gt;以下地址适合于各种vlk版本的Windows在线更新（实际上是从微软站点下载更新包，然后自行安装）。该方法不像xp内置在线更新那样检查序列号的合法性。已经测试，可用。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-8524800110023562935?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/8524800110023562935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=8524800110023562935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8524800110023562935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/8524800110023562935'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/02/windows2003.html' title='windows2003设置大全(出自网络，转引太多，不知出处)'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_ztYZmxCjHw0/Rdln6nwAa5I/AAAAAAAAABE/W-14cYdZIHc/s72-c/windows2003.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-3069181460384905779</id><published>2007-02-15T00:43:00.000+08:00</published><updated>2007-02-15T01:09:52.676+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Asp.net'/><title type='text'>招数已老？</title><content type='html'>asp.net中，在pageLoad()中，检查GridView最新的记录行数，可令人惊讶的是，取来取去，总是之前显示的行数，费了好大的劲，才明白，要在GridView的preRender()中取最新行数，哎，原来如此……，真是招数用老，怎么也转不过弯来，想不到啊，想不到。&lt;br /&gt;&lt;br /&gt;参考网址：&lt;br /&gt;&lt;a href="http://www.15seconds.com/issue/020102.htm"&gt;http://www.15seconds.com/issue/020102.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms178472%28VS.80%29.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms178472(VS.80).aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-3069181460384905779?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/3069181460384905779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=3069181460384905779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/3069181460384905779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/3069181460384905779'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/02/blog-post_15.html' title='招数已老？'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-3066259340424069853</id><published>2007-02-10T22:02:00.000+08:00</published><updated>2007-02-15T00:43:24.364+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><title type='text'>刷，还是不刷，这是个问题</title><content type='html'>从一览画面，跳出查看画面时，如果该条记录被删除，有些人喜欢同时刷新一览画面。考虑的出发点是不让用户看到失效的链接，造成用户的困惑。&lt;br /&gt;   但是在我看来，即使在网络条件畅通的情况下，刷新一览页面也是浪费，要达成的目的也是毫无意义的，如果用户不熟悉电脑相关知识，原来有的记录，刷新后变成没有，不是更困惑么？如果用户知道记录被删除，而下一步他想新建一条记录，那就要等一览刷新后，才能使用新建的链接。想想在海底光缆断裂时，那种无法忍受的等待滋味。。。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-3066259340424069853?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/3066259340424069853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=3066259340424069853' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/3066259340424069853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/3066259340424069853'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/02/blog-post.html' title='刷，还是不刷，这是个问题'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4963495270953079363.post-3300929175014831126</id><published>2007-02-02T11:06:00.000+08:00</published><updated>2007-02-28T22:08:17.734+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><title type='text'>进进出出，一览无遗</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_ztYZmxCjHw0/ReWB553gfMI/AAAAAAAAABo/LG8DLAK2stk/s1600-h/delmail.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_ztYZmxCjHw0/ReWB553gfMI/AAAAAAAAABo/LG8DLAK2stk/s320/delmail.JPG" alt="" id="BLOGGER_PHOTO_ID_5036574590069931202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;　　在使用 ASP.Net 时，用到了 Ajax，我选择的是 Ajax Pro，在它有网站上，有个视频教程里，用 fiddlertool 来进行查看 ajax 的提交情况，觉得挺有用的，也下载试用，确实不错。&lt;br /&gt;　　这里简单介绍一下它的功能，更多功能请下载试用或查看官方网站：&lt;br /&gt;　　&lt;a href="http://www.fiddlertool.com/fiddler/version.asp"&gt;http://www.fiddlertool.com/fiddler/version.asp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1、查看 Ajax 提交与返回的内容（其实就是 Http 请求的发送信息与 Web 服务器返回的信息）&lt;br /&gt;　　163邮局，是采用了 ajax 机制的，我打开后，删除了一封邮件，来测试一下 fiddler 的监视结果。如图，右上部分显示的是 ajax 提交的数据，右下部分为服务器返回的内容。&lt;br /&gt;我们可以看到 &amp;lt;int name="fid"&amp;gt;4&amp;lt;/int&amp;gt; 这应该是这封邮件的内部 ID&lt;br /&gt;{'code':'S_OK'}　这个返回信息应该是指删除成功的状态标志。&lt;br /&gt;从以上可以看出，采用ajax，发送与接收到信息量很少，有效地减少了网络通讯量。&lt;br /&gt;2、查看 HTML，JS，图片等&lt;br /&gt;　　点击每个请求的记录，我们可以查看到返回的 Html, JS，甚至还提供了图片显示。我点击了几个 163邮局中的 JS，不过，大部分似乎都作了加密，可能还作了混淆处理吧。&lt;br /&gt;3、切换到 Request Builder，可以直接发出请求，并可以从左边的列表中拖一条记录来，以现有的 Session 来发出请求，具体大家可以试试。&lt;br /&gt;&lt;br /&gt;其它功能我就没去仔细看了，其实第2点已经包含了第一点。&lt;br /&gt;这个工具我估计是监视系统的 HTTP 请求，并进行分析甚至加工，篡改。然而，现在却发现无法捕获 FireFox 的 Http 请求，不知道是否需要打开什么设置。不过，当前我也没什么其它特殊需求，就不再去调查了。&lt;br /&gt;&lt;br /&gt;另外：官方网站上，这提供了一个叫 SyntaxView inspector 的插件，可以对 Html, Css, XML 进行语法高亮，这对查看返回内容非常有帮助。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4963495270953079363-3300929175014831126?l=lingsmm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lingsmm.blogspot.com/feeds/3300929175014831126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4963495270953079363&amp;postID=3300929175014831126' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/3300929175014831126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4963495270953079363/posts/default/3300929175014831126'/><link rel='alternate' type='text/html' href='http://lingsmm.blogspot.com/2007/02/fiddlertooliehttp.html' title='进进出出，一览无遗'/><author><name>lingsmm</name><uri>http://www.blogger.com/profile/06086233866143198145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://lh4.google.com/image/lingsmm/RebTcZ3gfOI/AAAAAAAAAB4/0uKFusDXNr8/SEAHORS.JPG?imgmax=144'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_ztYZmxCjHw0/ReWB553gfMI/AAAAAAAAABo/LG8DLAK2stk/s72-c/delmail.JPG' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
