K. Weblog

This is my weblog,in 2009y.

域名通过审核了,可以放心使用了。

只要不出差错就好


本文内容系原创,转载请注明:

作者:小K

QQ:6661635

来源:http://blog.kidx.cn

最近在看一本CSS的书籍,准备总结下,顺便给各位落伍只会灌水的JJ们看看,互相学习学习。

本文内容以简单实用为主,不讲虚的,只讲实际的,每天内容长短不定。

第一天:

首先是弄清楚,什么是HTML,什么是XHTML,什么是CSS

说白了,HTML+XML就是XHTML,以XML的格式来写HTML,就变成了XHTML。目前版本号是1.0;

CSS就是用来描述页面样子的,目前版本是2.0;

目前三种XHTML的标准:

Transitional:松散点的,用点别的也行;

Strict:严格的,不能使用任何其他的样式表现的标签和属性;

Frameset:有框架就用这个;

http://www.w3.org/QA/Tools/#validators 这里提供了多种校验工具

HTML、XHTML、CSS、RDF、P3P、XML,有几种我不明白是什么

用了Web标准后,表格还有用吗?

有用,表格是用来展示数据的,不是用来布局的。

使用Div+CSS来布局比较好。

第一天就讲这么多,都记住了,明天继续


知识是学不完的

不知道怎么突然感觉到这句话的含义

刚才看一个人的博客,看到一群程序员讨论现状

又看到自己刚刚转的那份多版本程序的文章

技术这东西。。哎。。

太广了,真的学不完。

匆匆几年已过,学到了多少,学到了多少又算学得够了?

永远不够


摘自 TJVictor的专栏

Winform中多国语言窗体的设计以及.NET中资源文件的使用

最近在做一些多国语言的软件,就学习了一下.NET中的多国语言相应知识,受益不少,下面我就简单介绍一下winform中关于多国语言的实现方法。分为七个部分来讲:资源文件概述资源文件的分类资源文件的创建、利用IDE来制作多国语言版本、利用资源文件来做多国语言版本、常用.NET资源文件生成器的使用总结这七个部分。前两个部分都是一些理论性的东西,如果大家不感兴趣可以跳过,直接看三、四、五这三个部分。

第一部分:资源文件概述

资源文件顾名思义就是存放资源的文件。资源文件在程序设计中有着自身独特的优势,他独立于源程序,这样资源文件就可以被多个程序使用。同时在程序设计的时候,有时出于安全或者其它方面因素的考虑,把重要东西存放在资源文件中,也可以达到保密、安全的效果。

资源文件中一般存三种类型的数据:byte流(byte[])、对象(object)和字符串(string)。对于一些纯文件的信息可以用string类型来保存,对于图片(Image)、图标(Icon)等用object来保存,其它的可以用byte流来保存。

System.Resources命名空间中有大量的类和方法来处理资源文件,我将在下面的篇章中进行介绍。

第二部分:资源文件的分类

资源文件可以分为两类,一类是以.resx为后缀名的文件,一类是以.resources为后缀名的文件。二者的区别在于:

1. resx虽然是以resx结尾的文件,但是它却是XML格式的文件,你可以用记事本等工具直接打开它修改里面的东西;而resources是二进制的文件,相对来说安全性更好一些。

2. resources作为内嵌资源,在指定路径正确的前提下,可以在程序中直接引用;而resx虽然也是内嵌资源,但它却是要依附于.CS文件存在的。也就是说它是作为winform窗体的一个描述性资源存在的,要想在程序中直接使用它,在解决方案中必须有与它同名(只是名字相同,后缀名不同)的.CS文件存在(见图一)。这一点我会在下面的示例中作详细说明。

3. 我们可以利用CSC命令把resx文件转换成resources文件。

RESGEN.EXE LitwareStrings.resx LitwareStrings.resources

注意变量环境为framework1.1。

第三部分:资源文件的创建

这里我介绍两种资源文件的创建方法,一个是利用System.Resources下的ResourceWriter类,另一个是利用资源文件生成器。本节重点讲利用ResourceWriter类来创建资源文件的方法,第二个方法请详见第六部分。

首先要实例化一个ResourceWriter类型的变量:

ResourceWriter rw = new ResourceWriter ( "My.resources" ) ;其中My.resources就是你要生成的文件名。其次要在磁盘上产生这个文件:调用rw.Generate ( ) ;就可以了。

接下来就要为这个资源文件来增加内容了。在ResourceWriter类中提供了一个AddResource ( )方法,这个方法的作用就是往资源文件中添加资源的。在C#中对不同的资源有着不同的加入方式。

1.加入字节数组,语法格式为:

public void AddResource ( string , byte [ ] ) ;

注释:其中string是在使用资源文件的时候,此字节数组在程序中的的唯一标识符

2. 加入对象,语法格式为:

public void AddResource ( string , object );

注释:其中string是在使用资源文件的时候,此对象在程序中的唯一标识符

在本文程序中,我们利用这种调用方式来加入图标和图象,具体如下:

Icon ico = new Icon ( "main.ico" ) ;
Image Turnoff = Image.FromFile ("Turn-off.png") ;
Image Turnon = Image.FromFile ( " Turn -on.png" ) ;

rw.AddResource ( " main.ico" , ico ) ;//在资源文件中加入图标
//以下是在资源文件中加入图象
rw.AddResource ( " Turn -off.png" , Turnoff ) ;
rw.AddResource ( " Turn -on.png" , Turnlon ) ;

3. 加入字符串,具体语法如下:
public void AddResource ( string1 , string2) ;

注释:其中string1是在使用资源文件的时候,此字符串在程序中的唯一标识符在本文的程序中,是如此使用的:

rw.AddResource ( "MyStr" , "从资源文件中读取字符串" );

至此我们已经创建了一个资源文件,并且在资源文件中加入了若干个资源,当然在这之后,还应该注意,保存此资源文件,并关闭资源文件,具体如下:

rw.Close ( ) ;

以上我介绍了用ResourceWrite类来创建resources文件的方法,对于resx文件,我们可以在vs2003的IDE中在解决方案管理中点右键->添加新项目中->控件资源档来添加。

第四部分:利用IDE来制作多国语言版本

终于进入主题了,但是这一节的内容和前几节关系不大,因为我主要讲如何使用VS的IDE来制作多国语言版本。每一个Form1.cs文件都有一或多个相应的resx文件作为附属资源。他们的命名规则为Form1.cs的资源文件为Form1.resx,Form1.zh-CHS.resx,Form1.zh-CHT.resx等,其中Form1.resx是缺省的窗体资源文档,其它是在不同语言环境要使用的资源文档,其中Form1.zh-CHS.resx是中文简体系统,Form1.zh-CHT.resx是中文繁体系统(如下图一)。关于命名可不是随便起的,可以参见msdn中关于不同地区的命名规则。

(图一)

每一个窗体都有Localizable和Language这两个属性,其缺省值如下图:

(图二)

Localizable表示是否使用本地化资源,当其为true时,可以在Language中选择一种语种,例如选繁体中文,如下图:

(图三)

这时,窗体的布局会发现变化,你要重新布局窗体上的控件位置、大小、内容等等。布局好以后,你可以继续选择其它的语种来布局。不用担心,它们之间不会有冲突,因为所有不同语种之间的布局差别都被保存到相应的resx文件中了,如图一。最后保存、编译。

为了测试结果,我们可以改变机器的语言环境,方法有二:一是在控件面板中的更改语言选项。另一个是用程序来改。下面我介绍一下第二种方法,用程序来改变当前进程的语言环境。

在程序运行时,会自动检测当前的系统语言环境,我们可以通过修改System.Threading.Thread.CurrentThread.CurrentUICulture这个属性来改变当前UI运行的语言环境,代码如下:

static void Main()

{

        System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo( "zh-CHS" );

        Application.Run(new Form1());

}

效果图如下:

(图四)

更改System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo( "zh-CHT" );后,效果如下:

(图五)

第五部分:利用资源文件来做多国语言版本

在第三节我们已经说过如何利用ResourceWriter类来创建资源文件,本节就讲讲怎么来使用这些资源文件。利用第三节介绍的方法分别建立三个文件MyResource.resources、MyResourceZH_TW.resources和MyResourceEn.resources分别对应缺省、繁体和英文三个系统。每个文件中有两个string和一个object对象,分别对应button,textbox和Icon。

图四、图五中的language的菜单栏对应代码如下:

private void English_Click(object sender, System.EventArgs e)

{

        ResourceManager rm = new ResourceManager( "EmbedResource.MyResourceEn" , Assembly.GetExecutingAssembly() );

        textBox1.Text = rm.GetString( "TextBoxValue" );

        button1.Text = rm.GetString( "ButtonValue" );

this.Icon = (Icon)rm.GetObject( "Demo.ico" );

}

private void ChineseTraditional_Click(object sender, System.EventArgs e)

{

        ResourceManager rm = new ResourceManager( "EmbedResource.MyResourceZH_TW" , Assembly.GetExecutingAssembly() );

        textBox1.Text = rm.GetString( "TextBoxValue" );

        button1.Text = rm.GetString( "ButtonValue" );

this.Icon = (Icon)rm.GetObject( "Demo.ico" );

}

效果图如下:

在第二部分中,我说过resx和resources调用的方法不同,下面我再说说resx文件如何来调用。由于resx是cs文件的附属文文件,所以项目中一定要有同名的cs文件存在。如图一。

调用resx使用如下代码:

ResourceManager rm = new ResourceManager( "EmbedResource.Form1" ,     Assembly.GetAssembly(typeof(EmbedResource.Form1)));

textBox1.Text = rm.GetObject( "textBox1.Visible" ).ToString();

其中EmbedResource是namespace,Form1为资源文件名(不包含后缀名),第二个参数Assembly.GetAssembly(typeof(EmbedResource.Form1))中EmbedResource是namespace,而Form1是resx附属的cs文件的名称。注意区分。

第六部分:常用.NET资源文件生成器的使用

在网上相关的软件已经很多了,我给大家介绍一个Resourcer.exe,它是开源的,可以在http://www.aisto.com/roeder/dotnet/ 中下载。其运行界面如下:

该软件可以自动保存成text、resx和resources三种格式的文件。前面的资源可以很方便的使用此软件来创建。大家可以自己下载下来试试。我在这里就不多说了。

第七部分:总结

通过上面的介绍我们已经具备了制作多国语言的基础,当然这只是对多国语言制作的初步介绍。有什么不妥的地方,请在评论中指正,我会尽快改过来的。

本文地址:http://read.newbooks.com.cn/info/123873.html


给大家推荐一款代替U盘的软件-dropbox

给大家推荐一款比较好的网络同步软件DropBox,可以实现两台电脑之间文件的同步。安装好软件后,需要设定一个同步文件夹,以后只需要把需要同步的文件复制到这个文件夹里面就能够自动的同步了,完全不需人工干预。我一般都是把文件直接放在这个文件夹里面编辑,就像本地磁盘一样,编辑完了直接保存就行了。这个软件还具有版本控制的功能,会自动保存一个文件30天之内的全部版本。下面是详细的介绍。

注册地址https://www.getdropbox.com/home#register

下载地址http://dl.iplaysoft.com/files/140.html

DropBox 超实用的免费文件网络同步、备份、分享工具

[ 网络软件 ]

clip_image002

现在拥有多台电脑或经常奔走使用多台不同电脑的朋友可以说是灰常灰常的普遍了。相信很多朋友都是使用U盘来储存一些日常使用的程序、工作文档等文件资料以 便在每台电脑上都能顺利地工作。但大家有没遇到过,有时在某台电脑上修改了某文档,忘记了复制回U盘里,去到另一台电脑才发现那个文档并不是最新的。当这 样的情况出现的次数比较多时,该文档的版本将会非常多且混乱,又需要一番心机去比较整理才行了。这时,你是否觉得如果这些文件/文档能自动同步那该是多好啊!
DropBox 就是一款非常好用的免费网络文件同步工具(当然它也算是一个服务)。当你在电脑A使用DropBox时,指定文件夹里所有文件的改动均会自动地“同步” 到DropBox的服务器,当下次你在电脑B需要使用这些文件时,你只需登录你的账户,所有被同步的文件均会自动下载到B电脑中,同样,你在电脑B对某文 件的修改,也会体现在电脑A上,而所有这一切均是全自动的,这样你的文件可以说是随时随地都能保持着最新了,下面我们一起来看看DropBox吧……
使用Dropbox前,需要先安装它的桌面客户端,DropBox 提供了Windows、Mac和 Linux 版本,可以跨平台实现文件同步!并且它还提供Web访问功能,当你在不方便安装客户端的地方可以通过Web在浏览器访问你的文件,将它们下载回来使用。

clip_image003
通过Web浏览器访问我的文件

    DropBox 的 Windows 版客户端与Windows 集成得很好(Mac版的我还没用过不好说),直接将文件拷贝进设定好的同步目录,它们就能瞬间(总之很快啦)实现文件同步。当该文件的图标左下角出现绿色的钩钩就表示它已经同步好了。当然Dropbox还可以自动同步更新修改后的文件。并且,你还可以设置文件夹属性为公开或者私有,甚至将其共享给朋友共同操作编辑。除此而外,Dropbox还提供版本控制,即使误删文档也能够复原。

clip_image004
同步完成的文件左下角会出现绿色的钩子

DropBox的特性:
1、处基本的客户端外,Dropbox 提供 web 访问,可以很方便地在任何地方访问自己的文件。
2、Dropbox提供文件共享功能,并且能支持文件下载地址的外链(非下载页面);Dropbox 文件链接路径的形式都是“固定目录+文件名” 文件名是完全自定义的,而不像有些网盘把文件名变成一串随机数字。

clip_image005
DropBox可以很方便地复制文件的下载地址与朋友分享

3、免费用户拥有2G容量,对很多人来说已经足够了,并且免费用户稳定性也极高,至少我到现在均没发现连接失败的情况,上传下载速度在国内均很快,完全可以接受的。
4、提供文件版本控制功能,这个功能可以说是灰常爽的!!接触过编程的朋友如果用过SVN/CVS等版本控制的话,就知道它有多爽了。
5、你对文件修改后不需要手动去上传文件,Dropbox会自动在后台为你静默同步的。同样,在别的电脑修改文件后你也不需手动下载,Dropbox也会自动为你更新本地的文件的。
6、Dropbox 对图片的支持更好,它整合了相册功能,让你的照片同步更方便。

clip_image006
Dropbox 整合相册功能

7、Dropbox 具有协同合作的功能,可以邀请朋友共同对某一文件夹内的文件进行编辑与更新。
由于DropBox的同步特性,我们可以很方便地打造出一些很实用的同步应用。例如 DropBox同步 网博士OneNote网文快捕等 软件的数据库打造无处不在的笔记本。如果你使用EverNote3,虽然它本身提供网络同步功能,可是免费用户仅有40M/月的流量,基本上都不够用的,这时我们也可以用DropBox同步EverNote的数据库,实现山寨版的同步功能,呵呵。又如将 DropBox 与 KeePass 合用打造移动密码库、同步你的工作目录、编程代码、文档报表、相册照片……
总的来说对Dropbox的印象很深刻,它已经远远不只是一款网络硬盘那么简单了!它可能不是最好的数据备份解决方案或文件分享的网络硬盘,但它跨平台的同步功能和版本控制功能足以让它在一系列web服务中脱颖而出……

这里有官方的演示视频,很简单的,不懂英文一样可以看的明白。^^
点击这里观看看官方原版(更清晰)


我从北京回来了

2号去的,今天回了,总体来说玩得还可以

天安门,故宫,颐和园,长城,天坛,西单等几个大点的场景都玩到了

去的最大的感受就是——北京的交通好发达,坐上地铁,没有到不了的地方。。

实在不行,搭个公交-4毛。武汉这边,1.8元。。差别好大。

看来还是天子脚下好办事,据说地铁一公里造价7亿。。。

其他的,找个时间再写吧。


风云互联又免费提供空间一年

起码这一年,空间我没看挂过,也没看卡过。

空间很稳定,这里也提一下之前用的枫信的,也很稳定,只是中间转移过。

用过的这两个空间都属于很稳定的,因为俺又不采集又不干啥,只放博客,也可能有这方面原因,空间一直都很稳定

买了个新米,准备做个文章站点。OH yeah


发个自用的sogou皮肤,超级喜欢

很喜欢这个皮肤,我把输入框的字体还设置成了红色系(颜色里面第一个红)

晕,刚忘给链接了:http://pinyin.sogou.com/skins/view_skin.php?skin_id=6625


只记得好像是为了什么事情,然后把森林点着了

就烧成了一个半圆形

我坐的好像是公汽,被围在了中间

貌似又好像是个公交站的总站

然后看见火了嘛,车就退回去了。

好像就回到了正常的马路上

当时好像有几辆车,感觉有点像旅游时坐车,虽然坐的是公汽

正常了后,是冷还是怎么着,我就跑去关车的窗户

我不是坐的窗边,中间隔着两个人(正常应该是一个)

然后我伸手去关窗户,

那个靠近我的MM就抱着我(感觉还不错,哈哈)

我还是伸手去关,还是被她抱着,

这时脑袋里面突然想到了一个人,

然后我就推开那个MM(不是很用力了)

她旁边那个MM醒了。。

然后我好像就醒了。。。

有没有什么典故?

我上班的地方,周围虽然没森林,但是有点偏,

周围也是有个公交站

公司马上要组织去旅游了

每天都是坐公交车上班的

不过,没有MM缠着我了,那个我想到的MM我忘了谁了,坐旁边的MM又是谁呢?

谁会解梦的?


8.1生日纪念

说是个大生日,其实和平常也没太大区别。

早上和yaya去看电影,把票买到下午3:40的《大内密探零零狗》

当时才11点30,就陪她去买相机,点名了要佳能的什么100,网上查的价格是1600左右,但在前进路找了几家,都是1900

还是应该在淘宝找到实体店,然后去直接看着买

然后去买DQ,没吃过,还不错的冰激凌,跑到MC里面点了两个小汉堡,坐了下,等待电影开始。。

结果。

电影还有半个小时开始,我们就往万达走

一个电话来了,她妈妈打电话要她回家,

她跟她妈妈说的是出来买相机的。。

小孩子,是这样的,家里人容易担心,这样比较安全,所以俺一点都没生气。

就在极不情愿的情况下,只有回家了,电影票咋办类?

很强的一幕出现了,她就拿着两张票去排队的地方问,看谁要票

我还。。佩服一下。。

最后一对情侣买了,离电影开始只有5分钟了。。

送她上了车,俺就回来了,

跟萱MM发了几条短信,跟媛子打了十几分钟电话,说了下旅游的事情。

然后我就在这写东西了。

下去吃点东西,肚子有点饿了。

这就是俺这次生日全过程。。




Name:Kid
Mail:guanjun#live.cn
QQ:6661635
Work:Coder&Designer

最近评论

Comment RSS

Calendar

<<  三月 2010  >>
星期星期星期星期星期星期星期
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

View posts in large calendar

主机提供

风云互联提供高速稳定带宽支持

网站统计