• 创建:2006-6-8
  • 文章:278
  • 评论:363
  • 访问:858676
  •  
关键词:VB2005 VB8.0 VB.NET Whidbey
从本篇起,我会花几篇贴子讨论这个Visual Basic 2005中引入的重大功能——运算符重载。运算符重载是一项很有趣的功能,使用它可以给自己的类型定义运算符。比如我们常常遇到两个对象“相加”的概念,比如两个矩阵的相加,两个集合相加等等,如果没有运算符重载,我们是用对象的方法来执行这类操作的。比如A和B是具有可相加概念的两个对象,那么传统的方法是提供一个“Add”方法:
A.Add(B)
'或者用A、B所属类型T的一个静态方法
T.Add(A, B)

这样的操作当需要频繁使用各种运算时就会变得复杂和难以理解,比如A + B - C + D就得表示成
A.Add(B).Subtract(C).Add(D)
'或者用A、B、C和D所属类型T的静态方法表示
T.Add(T.Subtract(T.Add(A, B), C), D)

无论那种写法都非常……
编辑 | 阅读全文(366) | 回复(0),Jason Cui 发表于 2005-11-11 21:1
在Visual Basic等语言中,事件是经过特别封装的Delegate变量,它可以确保事件机制的进行,却又不允许从对象的外部引发事件或者获取不是自己绑定的事件处理的信息。所有这些,都是通过“事件过程”来做到的。当你书写一个事件的定义时:
Public Event MyEvent As EventHandler
实际上是书写了一个私有的委托变量和两个公共方法——add_MyEvent方法和remove_MyEvent方法。
Private _MyEvent As EventHandler
Public Sub add_MyEvent(value As EventHandler)
    _MyEvent = CType(Delegate.Combine(_MyEvent, value), _
       &nb……
编辑 | 阅读全文(366) | 回复(0),Jason Cui 发表于 2005-11-11 20:59
不完全类型(Partial Types)的概念首先源于将同一个类分布在多个文件中完成的需求。以前,类或结构必须在同一个文件中完成,当类型变得很大,或许多开发人员需要同时开发一个类型时,这种一个文件的缺点就越来越明显了。Visual Basic 2005允许在多个文件中储存一个类型的“Partial”,这些不完全类型能在编译时组成一个完整的类型。这种技术还可以用于分离IDE自动生成的代码及用户书写的代码,以及孙展波提到的,在ASP.NET和Avalon中分离工具生成的代码及用户书写的代码。
Visual Basic 2005的不完全类型的语法与C#不太一样,其主要特点是:
1、Partial是关键字。C#受限于ECMA的标准,不能任意添加关键字,因此像partial或yield等均不是关键字。而Visual Basic不受标准限制,Partial是作为关键字出现的,不能用作标识符。
2、只有类或结……
编辑 | 阅读全文(338) | 回复(0),Jason Cui 发表于 2005-11-11 20:54
(2004年5月29日更新 该特征已经有正式名称)
Visual Basic 2005不仅在语法方面有许多新增功能,IDE上也有很大改进。
Visual Basic从很早就具有后台编译的功能,在书写代码的同时就能获得编译错误的提示。Visual Basic 2005在此基础上增加了错误纠正功能。当输入错误的代码时Visual Basic 2005的IDE将会用智能标记的方式给出更正的建议,这大大提高了编程效率。比如,当输入错误的类型时,IDE将会用下拉列表建议改正方案:

上图建议将错误的Intager更正成Integer或UInteger。另一个例子是,如果将关键字错误地当作标志符,IDE会建议加入[]来……
编辑 | 阅读全文(340) | 回复(0),Jason Cui 发表于 2005-11-11 20:50
Visual Basic 2005除了增加令人振奋的新功能以外,还增加了很多实用的小语法。比如本文要介绍的Continue语句、Using语句、Clear语句、数组定义的新语法、Global关键字等。
一、Continue语句
以前Visual Basic语法的一个重要缺陷是无法提前结束单前一轮循环,直接进入下一轮循环。如果需要此功能,只能用GoTo语句。现在,Visual Basic 2005增加了Continue语句来实现此功能。Continue必须紧接For、Do或While语句,表示提前进入该循环的下一轮:
For i As Integer = 1 To 100    'Some codes    Continue For    'Some other codesNext
和Exit语句一样,Cont……
编辑 | 阅读全文(392) | 回复(1),Jason Cui 发表于 2005-11-11 20:28
今天晚上转载一堆vb.net 2005的文章过来,这是博客堂的微软MVP“装配脑袋”原创的关于VB.net 2005新增功能的一些专题。因为该博客网站是公开的,并且作者没有声明版权问题,所以自做主张转载过来,以便保存。如果原作者认为做法不妥,我将立即删除。
------------------------------------------------------------------------------------------
从本篇起,我将陆续介绍Visual Basic 2005新增加的语言功能和IDE功能。但是Visual Basic 2005现在还处于研制的早期,其功能还有很多没有确定,因此本系列所有文章的内容可能与最终发布版本不符,本系列只针对“现状”提供,不授予任何权利,也不承担任何责任。
Visual Basic 2005有很多值得一看的功能,比如泛型、运算符重载和最受关注……
编辑 | 阅读全文(372) | 回复(0),Jason Cui 发表于 2005-11-11 20:23
不知道要多长时间,还是先去找个合适的编辑工具吧。好像phpeclipse也可以吧。
编辑 | 阅读全文(412) | 回复(0),Jason Cui 发表于 2005-11-9 11:17

2005-11-9 11:14 | 升级过程还忘了一件事

自带的默认模板,也就是现在用的这个,已经非常漂亮了,但是每一往篇文章的页脚字体太小,显示中文的话就特别别扭,找到模板目录里面的default下面的style.css文件,找到footer这一项,把字体放大,对于中文好像没有一个合适的中间字体了,只好改成跟正文一样大。把颜色变成灰色,看上去舒服多了。上次也这样改过一次,害怕style文件出现变更,所以还是再改一次比较保险。

另外自己写的“我的连接”这个插件,上次应该也是改过什么东西调整了缩进和符号标记的,想不起来了,将就着用吧。只是很奇怪为什么这么常用的功能这个系统居然没有带呢?在原来的目录下把这个插件复制过来就可以用了。

编辑 | 阅读全文(400) | 回复(0),Jason Cui 发表于 2005-11-9 11:14

2005-11-9 11:9 | Serendipity真不是盖的

昨天晚上将Blog程序从0.8beta2升级到0.9正式版,变成了多用户Blog程序,可以设置多个组,同一个用户可以属于多个组,不同的组设置多种权限,用户将继承所有组的权限。

升级过程非常平滑,基本达到了windows应用程序的水平。将新的程序上传到一个新的目录,设置template_c目录为可写,把原来blog目录下的config_local文件移过来,再将名字改成原来blog的目录名,再次访问的时候就会提示版本已经更新,是否要更新数据库。点击替我更新,马上就执行完了。看来这以世界第一Blog程序为目标的开发,果然不是盖的啊。比国产的确实要好的太多了。现在才是0.9而已,不知道到了1.0会是个什么样子呢。

PHP程序做到这个程序,真的很不容易。应该好好研究一下它的代码了。

编辑 | 阅读全文(432) | 回复(0),Jason Cui 发表于 2005-11-9 11:9

等了一年,MagicLinux终于完成了最终正式版,这个版本的安装极为方便,中文化程序前所未有的高。只是目前只放出来了第一张盘,还少很多软件,比如,还没有办公软件。

在vmware5beta版上安装了这个版本,最让人兴奋的是,虚拟机里的音频也正常了。原来的几个版本的vmware加上Linux的结果就是如果虚拟机里音乐一开,主机的声卡就开始爆音,不得不重装驱动。现在居然正常了。不知道是vmware升级的功劳,还是MagicLinux里alsa的功劳?

只是目前在虚拟机里放音乐还有点太占CPU,在主机里随便做点什么,打个字音乐都会停顿。

总之是件好事,感谢这些伟大的人们的劳动。

编辑 | 阅读全文(627) | 回复(0),Jason Cui 发表于 2005-3-18 23:45
在现在这些日子里,总是保持在线状态,一个可以用来保护来自认证的网络链接的防火墙是不可或缺的。虽说目前的某些家用路由设备有基本的防火墙功能,但是他们的的网络通讯规则相对简单和武断。现在可信的替代方案就是在一台老的机器上运行基于Linux的防火墙系统,但是配置这样一台Linux防火墙不是件容易的事情,但是SmoothWall例外,您可以安装在任何版本的老硬件上,把它改造成一台具有生产能力的防火墙,SmoothWall防火墙软件比标致的防火墙有着更多的选项和更友好的用户界面。 SmoothWall Express 2.0版本的下载大小为45MB,但是有12MB是相关PDF文档,我把它安装在800MHz的P3 主机上,其他主要配置为128M SDRAM、20GB 硬盘和三张网卡(一张板载,两张PCI设备)。这个硬件配置远远高于了这个防火墙软件的硬件要求,因为要求是奔腾CPU以上、32MB 内存和5……
编辑 | 阅读全文(585) | 回复(0),Jason Cui 发表于 2005-3-17 21:6
.net里面的StreamReader读取文本文件默认使用utf-8的编码,因此,如果你写一个最简单的使用StreamReader.ReadToEnd的方法读出一个文本文件放入文本框中,八成出现的是乱码。因为在中文系统上,纯文本文件默认的保存编码是ASCII。
但是使用的时候也不能全部都按照ASCII来读,因为你也无法保证系统上是否会读到UNICODE的文件。因此,需要一个侦测文件编码类型并且能够按照相应类型来读取的方法。
找了一个小时,终于找到了。
如果文件是有特定编码格式的,这个编码会记录在文件的头四个字节里。因此,读出这四个字节,检查是否是Unicode就可以了。如果这四个字节并没有特定的意义,你就只能猜测一个了,一般情况下,用Default就比较合适了。
    Public Function LoadFile(ByVal FileName As Strin……
编辑 | 阅读全文(678) | 回复(0),Jason Cui 发表于 2005-3-15 10:51

2005-3-15 10:51 | RedhatAS3.0上安装LAMP

版权声明:本文可以任意转载,转载时请保持文章的完整性,并以超链接形式标明文章原始出处和作者信息及本声明。
原始出处:http://www.troyoo.com/article/04/07/19/171145.shtml作者:TROYOO超越(troyoo@troyoo.com) 初稿日期:2004-7-19 17:03

 
我们假设安装系统时没有选择任何系统自带的服务器程序,例如Apache,MySQL。如果已经安装,请首先卸载。我们还假设已经安装了开发工具。
第一部分:web服务器的配置

(一) 下载文件:(假设全部放在~/server下面)

httpd-2.0.50.tar.gz
mysql-standard-4.0.20-pc-linux-i686.tar.gz
php-5.0.0.tar.gz
resin-3.0.8.tar.gz
openssl-0.9.7d.tar.gz
j2sd……
编辑 | 阅读全文(729) | 回复(0),Jason Cui 发表于 2005-3-15 10:51
NameVirtualHost *:80

<VirtualHost 192.168.0.121:80>
  ServerAdmin cozo@etang.com
  DocumentRoot "c:/wamp/www/test_perl"
  ServerName www.somedomain.com
</VirtualHost>
<VirtualHost 192.168.0.120:80>
  ServerAdmin cozo@etang.com
  DocumentRoot "c:/wamp/www/stats"
  ServerName www.apachestats.com
</Vi……
编辑 | 阅读全文(703) | 回复(0),Jason Cui 发表于 2005-3-15 10:51
以前常觉得DOS的命令行功能太弱,无法象UNIX一样可以用命令行完成非常复杂的操作。实际上,当MS从WIN2K开始将命令行增强后,已经借鉴了相当多UNIX的优点,虽然还无法做到象UNIX那么灵活,但已可完成绝大多数的任务,比如用&&和||连接两个(或更多)命令,由前一个的返回值来决定下一个是否执行,等等。而在这些增强中,最明显的,就是FOR命令。

举个例子,用适当的参数,可用FOR命令将 date /t 的输出 从 "Sat 07/13/2002" 变成你想要的格式,比如, "2002-07-13":

c:\\>for /f "tokens=2,3,4 delims=/ " %a in ('date /t') do @echo %c-%a-%b
2002-07-13

该例将在(3)中详细说明。
0. 基本应用……
编辑 | 阅读全文(682) | 回复(0),Jason Cui 发表于 2005-3-15 10:51
(共 123 条) 1 2... 6 7 8 9

仅列出标题