
编程技术
文章平均质量分 60
bitfan
这个作者很懒,什么都没留下…
展开
-
再造一个WinZip ——C++流技术面向对象分析与设计(一)
再造一个WinZip ——C++流技术面向对象分析与设计 ********************************************************************* 面向对象分析(OOA)与编程(OOP)技术已经成熟,但直到现在,有不少程序员仍不能主动应用面向对象的思想来设计开发软件。在本文中,我将以一个文原创 2001-10-30 09:20:00 · 8766 阅读 · 3 评论 -
再造一个WinZip ——C++流技术面向对象分析与设计(二)
四 用户界面设计用户界面层的设计很简单,在BCB中用控件画出来就是了,如下图所示:图 3 文件分割合并工具的用户界面 由于大多数人对WinZip都很熟悉,所以就用了它的图标,并模仿它的界面,这样就使用户不需要过多的学习,马上就可以使用这个软件。我将整个软件分为功能处理层(前面已设计完成)和用户界面层(如上图所示窗体),用户界面层无需知道底层流操作的有关细原创 2001-10-30 09:20:00 · 6759 阅读 · 0 评论 -
Effective BCB Form Program(1) ——窗体事件驱动链引发程序错误分析
Effective BCB Form Program——窗体事件驱动链引发程序错误分析 BCB中采用的类库是VCL,其编程框架是事件驱动的,类似于VB。我在开发过程中发现,如果不对BCB的事件驱动链进行分析,写的程序会带有很多的错误,健壮性很成问题,而且调试很麻烦。我发现程序中的很多错误都来源于C++的指针操作。在程序中用new的方法创建了一个对象,然后delete这个对象之后,如原创 2001-11-05 23:06:00 · 3423 阅读 · 1 评论 -
Effective BCB Form Program(2) ——窗体事件驱动链引发程序错误分析
二、由程序员用new的方法创建的窗体事件驱动链在程序中无数次地见到过以下代码:TfrmConstant *pForm=new TfrmConstant(this); //创建一个窗体 pForm->Show(); …… delete pForm;我们经常需要动态创建一个Form,再显示它,然后在合适的地方销毁它。请注意上面代原创 2001-11-05 23:08:00 · 2949 阅读 · 2 评论 -
灵活运用面向对象的思想在BCB5中进行高效编程
灵活运用面向对象的思想在BCB5中进行高效编程 注:这篇文章是2001年写的,当时正初涉OO。 面向对象的开发方法已成为目前软件开发的主流,其技术已日趋成熟,但许多的程序员仍然习惯于过程式的编程方式,这有许多原因,比如使用象VC这样的开发环境,容易使C++程序员将注意力主要集中于开发实现软件功能代码的细节上,反而忽略了对C++面向对象的设计思想。Borland公司开发的C++Bu原创 2004-12-07 16:49:00 · 2493 阅读 · 0 评论 -
基于组件的.NET软件开发(1)
基于组件的.NET软件开发 前言 随着软件技术的飞速进步,现代的大型软件都广泛采用了基于软件组件的开发方式。以成熟的CBD(Component Based Design:基于组件的系统设计)理论为指导,在对系统的分析与设计完成之后,系统开发体现为复用已有组件、开发新组件以及将所有组件装配起来的过程。J2EE大规模地使用各种组件构照复杂的企业信息系统,获得了巨大的成功。原创 2004-12-20 23:04:00 · 4239 阅读 · 6 评论 -
基于组件的.NET技术(4)
设计示例用到的组件 创建两个VB.NET类库工程:DynamicComponent和VBDynamicComponent2,分别创建两个窗体VBForm1和VBForm2(如图6图7所示),前者放在DynamicComponent工程中,后者放在VBDynamicComponent2工程中。 分别编译生成两个DLL文件:DynamicComponent.dll和VBDynami原创 2004-12-20 23:19:00 · 2339 阅读 · 1 评论 -
.NET软件组件技术(2)
组件的继承 前面实现的将C#组件组合进VB工程中只是牛刀小试,现在我们来实现混合语言的面向对象编程(OOP),首先,我们来尝试一下混合语言组件的继承。 新建一个VB类库工程VBComponent,在工程中按上面的方法添加对CSharpClass.dll组件的引用,然后组件中增加一个新类:ExtendsFromCSharp,它继承自C#类CSharpClass,Exte原创 2004-12-20 23:10:00 · 2769 阅读 · 0 评论 -
基于组件的.NET软件开发(3)
动态组件插拔 在实现动态组件插拔之前,我们必须了解一个概念:反射(Reflection)。 所谓反射,就是仅依据名字来创建一个对象。 举个例子,在上面的例子中,我可以直接给定一个字串:“ CSharpClassNameSpace.CSharpRect”,然后我就可以生成这个对象,并调用它的Area()方法求面积!其前提条件是程序能访问存放这些类的DLL文件。原创 2004-12-20 23:13:00 · 2663 阅读 · 0 评论 -
基于组件的.NET技术(5)
实战: 创建一个VB.NET Windows应用程序:VBTestDynamicComponent。将前面介绍的两个类ComponentList和LoadComponent加入到工程中。 我们在程序启动时从配置文件中读入相关的程序集信息和类名信息,为此在主窗体的Form_Load过程中添加以下代码: 01 Private objLoadComponent As L原创 2004-12-20 23:24:00 · 2571 阅读 · 1 评论 -
《ADO.NET技术内幕》是本好书
花了一周左右的时间把清华出的黑皮书《ADO.NET技术内幕》看完了,黑皮书原来给我的印象是行文啰索而简单,一般不看。但这本书的确是作者多年开发经验之总结,许多我原来不清楚的问题都得到了解答。写得最好的是第三部分:处理脱机数据,对DataSet、DataTable等描述得非常清晰,尤其是处理关系数据,以及排序、搜索一章,再加上数据库更新一章,是全书的亮点。但这本书对Windows Form数据库应用原创 2005-01-17 00:15:00 · 4120 阅读 · 6 评论 -
使用.NET开发数据库应用程序(2)---给初学者看的文章
2 获取数据 连接数据库之后,就可以从数据库中提取数据了。在示例程序中,点击“从数据库获取数据”按钮,可以看到状态栏上的提示信息——“数据已取回,共324条”。 图 5‑10 获取数据 提取数据也是个较复杂的过程,需要有好几个对象通力协作才能完成。 (1)定义一个OleDbDataAdapter对象,这个对象负责从数据库中提取数据:Private原创 2005-01-24 16:05:00 · 7815 阅读 · 7 评论 -
使用.NET开发数据库应用程序(1)---给初学者看的文章
许多.NET初学者问我有什么好的书可供入门,我看过N多的.NET书,发现许多实在写得……。于是我就想自己写一本。我的目的是“用大白话讲复杂的技术”,一定要让绝大多数人都看得懂,并能在实际中用得上。这本书我构思了个比较庞大的体系,写起来难度不小,另外本人水平有限,真没多少信心达到我的初衷,所以从书中选了一节发表在BLOG上,想听听大家的意见。呵呵,希望我脆弱的信心不要被飞来的板砖砸得粉碎原创 2005-01-24 15:59:00 · 4162 阅读 · 5 评论 -
ADO.NET的数据绑定机制剖析及其应用
这是我写的书的一部分,全部原创,刚完成,欢迎提出意见。 bitfan ------------------------------------------------------- 7.5.2 在数据集中移动 当在程序中需要显示多条记录时,我们原创 2005-02-02 22:10:00 · 4962 阅读 · 4 评论 -
公布《.NET软件开发技术基础》全书目录
《DOTNET软件开发技术基础》全书目录 本书范例图片(彩页) 将本书的几个重点范例截图放在前面 自序一、我为什么写这本书?二、怎样学习软件开发技术? 1 区分计算机科学与计算机技术 2 了解技术发展趋势:.NET 与 Java三、.NET学习全景图四、本书章节安排五、本书学习指南 1 如何掌握一门计算机程序设计技能?原创 2005-02-05 23:52:00 · 4184 阅读 · 19 评论 -
《.NET软件技术学习与实践》后记
本书从2004年11月开始写作,一直到2005年7月定稿,整整写了9个月的时间。而这本书的成型,却至少经历了10年的酝酿、两年的技术准备。回想起那埋头写作的日日夜夜,回想起三年来我在大学教书的所见所闻,回想起那远去的令人激动的持续了10年的学习计算机技术的日子,真是百感交集……这本书很独特,在中国你找不到另一个作者以这种方式来写一本编程技术书。我不想把这本书变成编程技巧的大汇编,虽然其中的原创 2005-09-15 10:29:00 · 4366 阅读 · 3 评论 -
《.NET软件技术学习与实践》之序言
自序 这是一本有自已特色的书。 这是一本于讲技术之外,更讲学习方法的书 这是一本从首至尾贯彻“授人与鱼,不如授人与渔”的书 2003年暑假我在CSDN程序人生论坛发表的个人自传——《一个普通IT人的十年回顾》(已收入本书配套光盘),一石激起千层浪,被许多网站转载,我个人也收到了海内外近千封电子邮件。 我是一个在没有明师原创 2005-05-16 22:42:00 · 8364 阅读 · 4 评论 -
Basic :“青春长驻”还是“菜鸟陷阱”
Basic :“青春长驻”还是“菜鸟陷阱” Basic语言已经四十多岁了,在计算机技术发展史中,能被广泛使用四十年以上的语言实在数不出几个,可谓青春长驻。有趣的是,一方面许多人都在使用它,另一方面Basic又被人们冠以“初学者语言”的帽子,而且好象永无摘帽的日子。 Basic语言能长盛不衰,与微软公司有着太大的关联,更确切地说(个人猜测),是与微软老板比尔盖茨的“Bas原创 2006-02-02 20:20:00 · 3629 阅读 · 7 评论 -
在.NET程序中小心使用String类型
在.NET程序中正确使用String类型 在实际程序中,String类型用得非常广泛,然而,由于.NET对String类型变量的独特管理方式,使用不当,会严重影响程序的性能。我们分几个方面来谈这个问题:1 了解String数据的内存分配方式 编写一个控制台应用程序,输入以下测试代码: class Program { static void Mai原创 2006-12-13 21:35:00 · 10329 阅读 · 35 评论 -
.NET值类型变量“活”在哪?
.NET值类型变量“活”在哪个堆栈中?——MSIL学习笔记(一) 金旭亮 不管是什么语言编的.NET程序,最后都会被各自的编译器编译成MSIL。当程序运行时,.NET JIT编译器从程序集中读入IL指令并将其动态编译为可被本地CPU执行的机器指令再执行。 程序集中的IL代码以二进制方式存在,人阅读起来相当不便,正如传统的Win32程序可以原创 2006-12-20 21:33:00 · 4582 阅读 · 9 评论 -
论《Java替代C语言的可能性》
论《Java替代C语言的可能性》在CSDN BLOG上看到孟岩兄的文章:《Java替代C语言的可能性》,挺有意思的,自己也来凑个热闹。瞎说两句。1. Java真的不可能替代C语言吗?引用一下孟岩兄中的文字:“C语言目前称王的主要领域是作系统、虚拟机和设备驱动程序开发。”,对这点,大家都没有异议,这太明显了,在这些领域,以目前的计算机技术现状来看,Java不太可能替代C语言。然而,这只是现状原创 2007-01-29 19:46:00 · 7746 阅读 · 46 评论 -
用技术创造价值
用技术创造价值 之所以 发布此信息是希望可以找到一些技术合作者,共同完成承接的软件项目。希望合作者有实际软件项目开发经验,有足够的可支配时间。 主要技术领域为基于.NET平台的B/S项目,尤其希望合作者具有Web用户交互设计,报表管理或数据安全方面的经验与技能。 我在自己的软件开发实践中,深感 独木难支,众人拾柴火焰高,团结起来才能做事。正因如此,才原创 2007-08-01 09:14:00 · 4753 阅读 · 4 评论 -
带着镣铐的舞者(从用户体验与编程模型两方面看AJAX与B/S 技术)
带着镣铐的舞者从用户体验与编程模型两方面看AJAX与B/S 技术****************************************************************************本文是我在研究AJAX技术时想到的一些东西,仅代表个人观点。 金旭亮 20原创 2007-08-14 14:47:00 · 8712 阅读 · 58 评论 -
ASP.NET技术的学习顺序问题
ASP.NET技术的学习顺序问题 前前后后收到过一些学生的来信,询问ASP.NET的学习顺序问题,在此就向打算系统学习ASP.NET技术的初学者谈谈我的建议。 如果你已经有较多的面向对象开发经验,跳过以下这两步:第一步 掌握一门.NET面向对象语言,C#或VB.NET。 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.N原创 2007-06-10 17:32:00 · 10066 阅读 · 36 评论 -
当“珊瑚虫”遇到腾讯
当“珊瑚虫”遇到腾讯国庆上网,惊闻珊瑚虫作者soff在深圳被拘留,服务器被扣,详情请看新浪科技时代频道(http://tech.sina.com.cn/focus/qq_Soff/)。上面还有深圳电视台的视频(http://blog.sina.com.cn/s/blog_451db8f0010009tk.html)。珊瑚虫这回是遇到了灭顶之灾了。soff和我是同事,我们俩还都是计算机学原创 2007-10-04 11:20:00 · 5373 阅读 · 9 评论 -
回复读者问题:为何C#中类方法的IL代码要放在类型表中?
Dear 金老师: 买了你的书后很受启发,但是还有有些觉得不是很完整如对象内存模型一章中,写到:一个类可以创建多个实例对象,这些实例对象共享一个类型表因为类的静态字段都放置在类型表中,所以类的静态字段被此类创建的所有对象共享这可以理解但是类的静态和动态方法也是都放在类型表里面的啊那么此类创建的所有对象共享动态方法吗?这点不理解啊/ 还有第二篇的第四章的继承多态 能否也从对象内存的模型讲解以原创 2008-02-04 11:42:00 · 3251 阅读 · 0 评论 -
ASP.NET应用程序中要小心使用放在App_Code文件夹类中的静态成员
小心使用放在App_Code中类的静态成员每个ASP.NET应用程序都可以添加一个App_Code文件夹。放置在这一文件夹下的类可以被此ASP.NET应用程序中的所有页面所使用,可将这些类称为“全局类”,用起来很方便。 然而,如果这些类中定义了静态成员,则访问这些成员必须小心陷井。请看以下示例: public class SharedClass {原创 2008-01-07 13:04:00 · 7023 阅读 · 10 评论 -
oracle 笔记10 杂
--%rowtype的使用...--不用使用于采用对象方式创建的表,如下,stu表是采用对象方式创建的,就不能执行declarestu_record1 stu%rowtype;begin --stu_record1.id:=14; --stu_record1.name:=dklast; select id,name into stu_record1.id,stu_record原创 2008-01-16 17:31:00 · 349 阅读 · 0 评论 -
在火狐浏览器中设置FileUpload控件的宽度
让FileUpload控件在IE和FireFox中的显示效果一样ASP.NET 的FileUpload控件有一个Width属性,可用于设置FileUpload控件的高度,在IE中显示没有问题。但在火狐中不算怎样设置,FileUpload控件的宽度仍然是默认值。根本原因是火狐浏览器不理会FileUpload控件的Width属性。解决方法是使用同时使用size和width属性:原创 2008-05-27 12:55:00 · 6912 阅读 · 1 评论 -
IIS架构与HTTP请求处理流程(1)
ASP.NET Web编程原理 之IIS架构与HTTP请求处理流程(1)******************************************************************说明:《ASP.NET Web编程原理》包括一系列的文章,取自于《ASP.NET程序设计教程》的第8章,对于ASP.NET开发中的一些比较复杂的问题做了介绍,主要目的是向在原创 2008-09-27 10:46:00 · 9596 阅读 · 5 评论 -
ASP.NET管线与应用程序生命周期
ASP.NET Web编程原理 之 8.2 ASP.NET管线与应用程序生命周期 8.1节介绍了IIS的系统架构和HTTP请求处理的总体流程,从中可以知道每个ASP.NET网站都对应着一个Web应用程序,此Web应用程序可以响应HTTP请求,为用户提供所需的信息。那么,ASP.NET应用程序具体是如何响应HTTP请求的?包括哪些具体的处理流程?这涉及到ASP.NET应用程序的生原创 2008-10-03 10:56:00 · 6709 阅读 · 10 评论 -
金旭亮新作《ASP.NET程序设计教程》之《前言》
《ASP.NET程序设计教程》之《前言》 说明:==================《ASP.NET程序设计教程》是我应高等教育出版社之约而编写的高校计算机及相关专业用教材,目前书稿已经全部完成并交给出版社进行编辑,再经过几轮审校,预计2009年2月上市。写作这本书籍历时一年半,期间还带领四个学生抽空完成了博文视点公司网站(http://www.broadview.com.c原创 2008-09-25 10:36:00 · 4878 阅读 · 5 评论 -
IIS架构与HTTP请求处理流程(2)
ASP.NET Web编程原理 之 IIS架构与HTTP请求处理流程(2)(续上文)v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}原创 2008-09-28 09:25:00 · 7626 阅读 · 0 评论 -
WPF技术书籍之个人排行榜
WPF技术书籍之个人排行榜 作为一名知识分子,读书已成为我个人生活中不可分割的一部分,一日可以不吃肉,甚至可以不上网,但不可一日不读书,连如厕时,往往也一书在手。 :) 不幸身处技术更新快速的软件业,为追上技术的更新步伐而不得不大量阅读各种资料,虽然互联网的大普及撼动了传统学习方式的地位,我个人也在ITCAST(http://www.itcast.ne原创 2008-10-13 17:30:00 · 20832 阅读 · 5 评论 -
读者skyfalling:《.NET 2.0面向对象编程揭秘》读后有感
读者skyfalling:读后有感 今天收到了一封读者的邮件,对我的著作给予了肯定,并提出了中肯的建议。作为一名技术书籍的作者,没有比读者对自己作品给出肯定的评价更高兴的事了,非常感谢读者的建议,知音啊! :) 写作这本书时的艰辛仍历历在目,但这本书能帮助一些人更好地掌握技术,是件令人开心的事,心血没有白费,我做的事还是有点价值的。 他的邮件我附在下面: =========原创 2008-11-07 09:57:00 · 3604 阅读 · 5 评论 -
WPF的RichTextBox在处理汉字时的小BUG
WPF 3.5的RichTextBox在处理汉字时的小BUG 近来打算封装WPF 中的RichTextBox(.NET 3.5 SP1,在Visual studio 2008 Sp1下)为一个简易文本编辑器,发现了其在处理汉字中存在的一些小问题。 (下文均假设光标所在处文本原先没有粗体特性,并且没有选中任何文本)。 比如要输入粗体文字,在没有选中文本的情况下,压Ctrl+B原创 2009-01-10 20:52:00 · 2352 阅读 · 2 评论 -
反汇编查看现有在线Silverlight2应用程序示例源码
反汇编查看现有在线Silverlight2应用程序示例源码 去年微软发布了Silverlight2正式版,Web软件工程师终于可以使用熟悉的C#和VB.NET(而非让许多人不喜欢的JavaScript)来编写Silverlight应用程序了,我认为这是Silverligh2开始真正走向实际应用的开始。原先的Silverlight 1,只能看成是一个玩具,用来自娱自乐可以,但开发商业应用就不原创 2009-01-13 16:26:00 · 3746 阅读 · 2 评论 -
我开发的一个信息管理小工具——PersonalInfo
一款个人信息管理工具PersonalInfo PersonalInfo是我写的一个小小的个人信息管理工具,我一直使用它来管理我收集的各种信息和资料,一有时间就改一下,个人感觉这个小软件还是很方便灵活的。 这个软件充分挖掘了.NET Framework的潜力,总代码量上万行,涉及到.NET主要的技术领域。发布的程序包中包括有软件源码、本软件说明文档原创 2009-01-20 18:44:00 · 6650 阅读 · 10 评论 -
WPF组件化开发技术实践
WPF技术拼图之 WPF自定义组件开发实践 WPF是微软最新的桌面应用程序框架,拥有与过去的Windows Form技术相近的功能,全面支持组件化开发技术。本文是对在WPF应用程序中使用组件化技术的一个简要介绍。 在.NET平台上,程序集是最基本的软件组件。程序集有两种用得最广的类型,一种是用于封装业务逻辑的中间层组件,另一种是可视化的界面组件(如各种控件)。 中间原创 2009-01-19 17:28:00 · 8787 阅读 · 1 评论 -
Vista笔记本通过神州行手机无线上网
Vista笔记本通过神州行手机无线上网 新弄了个蓝牙手机,SIM卡是神州行的,可以通过GPRS上网。但手机屏幕太小,看网页实在不方便。能否让自己的笔记本通过这个手机上网?笔记本的屏幕可够宽。笔记本无线上网一般推荐使用CDMA,移动是GPRS。以前神州行不能上网,现在可以了。以下是上网的详细步骤。供朋友们参考。 1 确保手机可以上网。 现在中国移动已给神州行增加了上网原创 2008-12-05 08:18:00 · 3081 阅读 · 3 评论