自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 收藏
  • 关注

原创 MFC Window程序设计(第二版)精华浓缩笔记(三)

第三章、键盘和鼠标精华浓缩:    键盘和鼠标恐怕是用电脑的人摸的最多的两样东西(当然,DIYer们除外),也正因为有很直观的印象,要理解它们并不难。       在windows中,键盘和鼠标输入是以消息的形式出现的。首先,设备驱动程序接收并处理鼠标和键盘中断,通过中断处理(ISR)把最初的电脉冲信号转换为系统识别的事件通知(就是消息)放入系统消息队列中。操作系统核心有一个专门的线程(应该就是u

2005-05-21 01:12:00 2031

原创 MFC Window程序设计(第二版)精华浓缩笔记(二)

各位,看一看,瞧一瞧,新出炉的...大拍卖喽!第二章、在窗口中画图精华浓缩:         Windows中负责图形输出的是GDI(即Graphic Device Interface,图形设备接口)。这是Windows与硬件无关的图形输出模式的体现。GDI建立在硬件抽象层(HAL)之上,屏蔽了不同输出设备之间的差异,从而为用户提供了一个统一的“标准输出设备”。但是,与DOS不同,Windows是

2005-05-21 01:11:00 2225

原创 MFC Windows程序设计(第二版)精华浓缩笔记

《MFC windows程序设计(第二版)》是一本介绍使用MFC(而不是win32 API),进行32位Windows应用程序设计的经典书籍。作者Jeff Prosise,被誉为MFC领域的Petzold。作者在前言中写道:“我的目标就是为C++程序员写出一本可与为C程序员所写的那本永恒的、无出其右的《Programming Windows》相媲美的好书。”       这本书与众不同之处在于它不

2005-05-21 01:10:00 3166 1

原创 金山格言

雷军曾对我说过:你很聪明。但世界上聪明的人太多了。张旭曾对我说过:熬夜时胡子会长得很快。吴兴曾对我说过:你要是走技术的路子,只会越走越窄。林伟曾对我说过:曾经有一个伟大的Sales,对所有的经销商都说同样的三句话。雷飏曾对我说过:Business就是Business。王峰曾对我说过:骗人也得讲原则。

2004-09-22 01:28:00 2170

转载 三步学会Java Socket编程

1.什么是socket  所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。  以J2SDK-1.3为例,Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这

2004-09-17 16:27:00 1557

转载 C#锐利体验 第十五讲 特征

第十五讲 特征特征特征(Attribute)是C#为组件编程引入的一个令人兴奋的创新,它使得我们可以为程序的各种元素如类,结构,接口,方法等提供额外的描述性信息。这些描述性信息在程序代码运行时又可以被我们提取利用。我们先来看一个示例程序:using System;public class AuthorAttribute: Attribute //作者特征类{    public AuthorA

2004-09-06 01:03:00 1541

转载 C#锐利体验 第十四讲 枚举

第十四讲 枚举       枚举类型是C#中又一种轻量级的值类型,C#用枚举来表达一组特定的值的集合行为,比如Windows窗体可选的状态,按钮控件的风格等。下面的程序伪码展示了典型的枚举用法:public enum WritingStyle{      Classical,    Modern,    Elegant,}class Essay{    public void Write(Wr

2004-09-06 01:01:00 1554

转载 C#锐利体验 第十三讲 结构

第十三讲 结构结构类为我们采用面向对象方式来构建可复用组件提供了第一等的支持。但有时候我们希望能够获得一种像系统内建的基本类型一样可以廉价地快速地为之分配内存,并且没有继承引用等负担的轻量级的数据类型。C#中的自定义结构类型为我们提供了这样的实现方式,它尤其适用于构建一些比较小的数据结构。???????结构和类在非常相似,比如它们都可以包含域,方法,属性,事件,索引等成员,结构也可以实现多个接

2004-09-06 01:00:00 1505

转载 C#锐利体验 第十二讲 字符串

第十二讲 字符串字符串???????字符串在C#中是System.String(或简化作小写string)类的一个实例,它表示一个不变的字符序列。字符串的创建的语法很简单:string s = "C# Sharp XP";即在托管堆上创建了内容为字符串"C# Sharp XP"的内存区域,而s仅仅是指向该内存区域的一个引用句柄。看下面的代码行:string s1="Hello,World!";

2004-09-06 00:59:00 1851

转载 C#锐利体验 第十一讲 数组

第十一讲 数组数组???????数组是程序设计常用的一种数据结构。和C/C++一样,C#中的数组索引从0开始,且其元素类型必须为相同,当然由于多态等带来的隐式转型则另当别论。C#中的数组可以分为一维数组,多维数组以及参差数组(Ragged Array),它们各自的声明,初始化,以及元素索引都有不同语法规定。C#同C++中的数组的一个显著的不同是它由.NET通用语言运行时(CLR)保证其类型安全

2004-09-06 00:58:00 1573

转载 C#锐利体验 第九讲 委派与事件

第九讲 委派与事件委派       委派是C#引入的一种新型的数据类型,它非常类似于C/C++中的函数指针,它常常用于在编译时未绑定的动态方法调用。但与函数指针所不同的是委派在C#完全地实现了面向对象,它既可以引用静态方法,也可以引用实例方法,而函数指针只能引用静态方法。C#中的委派同时也是类型安全。作为一种面向对象的数据类型,委派的使用分为三步:委派声明,委派实例化和委派调用。委派声明即定义

2004-09-06 00:52:00 2157

转载 C#锐利体验 第十讲 接口、继承与多态

第十讲 接口 继承与多态接口???????接口定义对象成员的合同,是现代组件编程不可缺少的一环。C#采用关键字“interface”来创建接口。接口作为一种类型,它也具有其他类型所共有的五种存取修饰和new重定义修饰符。接口可以包含方法,属性,事件,索引器四种成员,接口本身只能声明这些成员,不必也不能提供这些成员的具体实现。C#不允许我们为接口成员做任何存取修饰,接口成员的存取修饰缺省为pub

2004-09-06 00:50:00 2665

原创 操作符重栽

//操作符重栽//2004.9.4using System;class Complex { double r, v; public Complex(double r, double v) {  this.r = r;  this.v = v; } //重栽加法操作符(二元) public static Complex operator + (Complex a, Complex b) {  ret

2004-09-04 09:46:00 1728

转载 C#锐利体验 第十八讲 非安全代码

C#锐利体验南京邮电学院 李建忠([email protected])第十八讲 非安全代码.NET通用语言运行时为C#引入了一种托管的安全编程方式。指针存取,变量地址计算,对象销毁等等操作在托管编程环境下都是C#所不允许的,这大大改进了传统C/C++的安全问题。但事物往往是多面性的,在我们摈除指针等内存的直接存取方式的同时,我们也丧失了它在某些问题上的便利性,比如某些和操作系统底层的交互

2004-09-03 20:06:00 2080

转载 C#锐利体验 第十七讲 异常处理

C#锐利体验南京邮电学院 李建忠([email protected])第十七讲 异常处理异常处理???????结构化异常处理是现代分布式环境下组件设计的一个必要的环节,.NET通用语言运行时从底层构造给予异常处理以坚实的支持。在C#中,异常对象被设计为封装了各种异常信息的类(System.Exception及其继承子类,和接口类似,它被推荐命名为加后缀“Exception”的方式,但这并

2004-09-03 20:04:00 1933

转载 C#锐利体验 第十六讲 映射

C#锐利体验南京邮电学院 李建忠([email protected])第十六讲 映射动态类型查询我们知道,C#编译后的PE文件主要由IL代码和元数据组成,元数据为.NET组件提供了丰富的自描述特性,它使得我们可以在代码运行时获知组件中的类型等重要的信息。在C#中这是通过一种称作映射(Reflection)的机制来完成的。先来看一个示例,我们首先创建一个简单的类型:// SimpleTyp

2004-09-03 20:01:00 2258

原创 深拷贝的实现

//深拷贝的实现//2004.9.2using System;using System.Collections;class RefType { public String name; public Int32 age; public RefType(String name,Int32 age) {  this.name = name;  this.age = age; }}//类型MyType实现

2004-09-02 23:59:00 2191 1

原创 浅拷贝的实现

//浅拷贝的实现//2004.9.2using System;class RefType { public String name; public Int32 age; public RefType(String name,Int32 age) {  this.name = name;  this.age = age; }}//类型MyType实现了ICloneable接口,可以被浅拷贝class

2004-09-02 23:20:00 1660

转载 设计模式之C#实现(四)---- ProtoType

该模式的意图是:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。那么首先我们应该已经有了一个对象,同时这个对象还支持自我复制(科隆)。在FCL里面我们知道有一个接口专门用来规定这么一个契约,那就是ICloneable接口,该接口只有一个方法Clone,以下MSDN对该接口中对该接口的方法的说明:创建作为当前实例副本的新对象。Clone 既可作为深层副本实现,也可作为浅表副本实现

2004-09-02 22:42:00 1137

转载 设计模式之C#实现(二)---Builder

设计模式之C#实现---Builder上次我们学习了创建型模式中的AbstractFactory,这次我们将要介绍一个和它比较像的创建型模式Builder(至于关于Builder的详细内容您可以参考GOF的书,在这里不重复了。)。在GOF的书里Builder的目的是这样的:Separate the construction of a complex object from its repres

2004-09-02 22:41:00 1070

转载 设计模式之C#实现(三)FactoryMethod

工厂方法的目的很明确就是定义一个用来创建对象的接口,但是他不直接创建对象,而由他的子类来创建,这样一来就将创建对象的责任推迟到了该接口的子类中,创建什么类型的对象由子类来决定,而创建对象的时间由接口来定。因此该模式可以在如下几种情况下使用:1、a class can’t predict the class of objects it must create.2、a class wants its

2004-09-02 22:41:00 1016

转载 设计模式之C#实现(一)--AbstractFactory

Abstract Factory 读书笔记意图:       为创建相关的或者相互依赖的对象配置一个借口而不指定他们具体的类。别名:       Kit理解:       抽象工厂是一种创建型的模式,它为我们创建对象提供了有效地方法,我们不用直接new对象而是可以为创建对象配置一个接口,该接口定义了如何创建对象的方法。我们还知道抽象工厂创建的对象是一个系列的或者是一族的。该

2004-09-02 22:38:00 1264

转载 《.NET框架程序设计》第六章 通用对象操作

一、对象的唯一性识别:即判断两个引用是否指向了同一个对象?可以使用”= =” 操作符来比较两个引用,也可以使用System.Object的ReferenceEquals的静态方法。 二、对象的散列码:每一个对象都有一个Int32类型的散列码,这样任何对象实例就都能被放入一个散列表集合中。三、对象克隆:如果一个类希望自己的实例能够被克隆,则该类应该实现ICloneable接口。并在接口的

2004-09-02 20:10:00 2644 1

转载 《.NET框架程序设计》第五章 基元类型、引用类型与值类型

一、基元类型(primitive type):编译器直接支持的数据类型。引用类型(reference type):总是从托管堆上进行分配。内存的回收通过垃圾收集器。值类型(value type):通常分配在线程的堆栈中(当然,也可以被嵌入到一个引用类型的对象中)。值类型实例不受垃圾收集器的控制。 二、尽量使用FCL类型名:在开发中,尽量使用FCL类型名,也就是System.Stri

2004-09-02 20:09:00 2679

转载 《.NET框架程序设计》第四章 类型基础

一、             类型转换CLR允许将对象转换为其原来的类型或者它的任何一个基类型。如,在C#中,可以直接将一个对象转换为任何一个基类型;如果要将对象转换为它的任何派生类型,C#要求进行显式转换,因为这种转换可能会失败,因此要求程序员显式的说明确实是要进行这种父类到子类的转换,而不是因为输入错误,如果语句中没有进行这种显示的转换,则会发生编译期错误;当然,如果这个被转换的对象本身确

2004-09-02 20:06:00 2208

转载 给DataGrid添加确定删除的功能

给DataGrid添加确定删除的功能DataGrid的功能我想大家是知道的,我在实际的应用中遇到如下的问题,客户要求在删除之前做一次提示。类似于windows。首先我们都知道DataGrid支持删除的功能,我们可以向DataGrid里面添加删除列就可以实现,下面我想用模板列来实现带提示的删除按钮。我们用northwind的示例数据库作为例子数据库操纵Categories表。DataGr

2004-09-02 19:41:00 1082

转载 ASP系列讲座(五)使用变量和常量

变量是计算机内存中已命名的存储位置,其中包含了数字或字符串等数据。变量包含的信息被称为变量的值。变量使用用户便于理解脚本操作的名称为用户提供了一种存储、检索和操作数据的途径。 声明和命名变量 命名和声明变量应遵循脚本语言的规则及指导。即使在使用变量前不需要去声明变量,也应养成在编程时声明变量的良好习惯,因为这样有助于防止错误发生。声明一个变量意味着告诉脚本引擎,有一个特定名称的变量,这样就可以在脚

2004-09-01 12:38:00 1292

转载 ASP系列讲座(四)使用脚本语言

脚本语言是介于 HTML 和 Java、C++ 和 Visual Basic 之类的编程语言之间的语言。HTML 通常用于格式化文本和链接网页。编程语言通常用于向计算机发送一系列复杂指令。脚本语言也可用来向计算机发送指令,但它们的语法和规则没有可编译的编程语言那样严格和复杂。脚本语言主要用于格式化文本和使用以编程语言编写的已编译好的组件。 Active Server Pages 使 Web 开发商

2004-09-01 12:37:00 1436

转载 ASP系列讲座(二)ASP 的新功能

Active Server Pages 在功能方面有所增强,更易于开发应用程序。 Microsoft 脚本调试程序。 您可以使用脚本调试程序调试 .asp 文件。 事务性脚本。 ASP 页和页中使用的对象可以运行于事务环境之下。在页上的全部工作只有两种结果:提交或终止。事务可以保护应用程序免于因失败而导致数据丢失。 管理工具。 许多应用程序设置可在 Internet 服务管理器上进行,这是 Int

2004-09-01 12:36:00 1695

转载 ASP系列讲座(三)创建 ASP 页

Active Server Pages(ASP)文件是以 .asp 为扩展名的文本文件,这个文本文件可以包括下列部分的任意组合: 文本 HTML 标记 ASP 脚本命令 创建 .asp 文件非常容易。如果要在 HTML 文件中添加脚本,只需将该文件的扩展名 .htm 或 .html 替换为 .asp 就可以了。要使 .asp 文件可用于 Web 用户,请将这个新文件保存在 Web 站点上的目录中(

2004-09-01 12:36:00 1233

转载 ASP系列讲座(一)关于 Active Server Pages

Microsoft® Active Server Pages (ASP) 是服务器端脚本编写环境,使用它可以创建和运行动态、交互的 Web 服务器应用程序。使用 ASP 可以组合 HTML 页、脚本命令和 ActiveX 组件以创建交互的 Web 页和基于 Web 的功能强大的应用程序。ASP 应用程序很容易开发和修改。 HTML 编写人员 如果您是位 HTML 编写人员,您将发现 ASP

2004-09-01 12:35:00 1779

转载 c#语言系列讲座(17) 异常处理

异常处理 结构化异常处理是现代分布式环境下组件设计的一个必要的环节,.NET通用语言运行时从底层构造给予异常处理以坚实的支持。在C#中,异常对象被设计为封装了各种异常信息的类(System.Exception及其继承子类,和接口类似,它被推荐命名时加上后缀“Exception”,但这并非必须),“try-catch-finally”语句和异常对象一起为C#组件设计提供从异常侦测、异常捕捉和处理等一

2004-09-01 12:34:00 1496

转载 C#语言系列讲座(16) 动态类型查询

动态类型查询 我们知道,C#编译后的PE文件主要由IL代码和元数据组成,元数据为.NET组件提供了丰富的自描述特性,它使得我们可以在代码运行时获知组件中的类型等重要的信息。在C#中这是通过一种称做映射(Reflection)的机制来完成的。先看一个示例,在此首先创建一个简单的类型: // SimpleType.cs public class MyClass { private int count=

2004-09-01 12:33:00 1192

转载 C#语言系列讲座(15) 特 征

特 征 特征(Attribute)是C#为组件编程引入的一个令人兴奋的创新,它使得我们可以为程序的各种元素如类、结构、接口、方法等提供额外的描述性信息,这些描述性信息在程序代码运行时可以被提取利用。看下面一个示例程序: using System; public class AuthorAttribute: Attribute { //作者特征类 public AuthorAttribute(str

2004-09-01 12:32:00 1312

转载 c#语言系列讲座(14) 结 构

结 构 类为采用面向对象方式构建可复用组件提供了支持,但有时候我们希望能够获得一种像系统内建的基本类型一样可以方便快速地为之分配内存,并且没有继承引用等负担的轻量级的数据类型。C#中的自定义结构类型为我们提供了这样的实现方式,它尤其适用于构建一些比较小的数据结构。 结构和类非常相似,它们都可以包含域、方法、属性、事件、索引等成员,结构也可以实现多个接口。但结构和类也有很大差异,最典型的是结构为值类

2004-09-01 12:31:00 1111

转载 C#语言系列讲座(13)-字符串

字符串 字符串在C#中是System.String(或简化为小写string)类的一个实例,它表示一个不变的字符序列。字符串创建的语法很简单:string s =“C# Sharp XP”, 即在托管堆上创建了内容为字符串“C# Sharp XP”的内存区域,而s仅仅是指向该内存区域的一个引用句柄。 看下面的代码: string s1=“Hello,World!”; string s2=s1; 这

2004-09-01 12:30:00 1489

转载 用C#创建COM对象

在本篇文章中,我们将讨论下面的问题: ·使用C#创建一个简单的COM对象(使用COM的Interop特性)。 ·从VC++客户端软件中访问COM。客户端软件使用了TypeLibrary(.TLB文件)。 为了简单和方便开发人员使用、测试起见,我们使用了SQLSERVER数据库软件的缺省安装中的Northwind数据库。 ·修改COM对象中SQLServer的名字,与SQLServer连接。 ·我们

2004-09-01 12:27:00 1047

转载 C#语言系列讲座(12) 数组

一维和多维数组 数组是程序设计中常用的一种数据结构,和C/C++一样,C#中的数组索引从0开始,且其元素类型必须相同,当然由于多态等带来的隐式转型则另当别论。C#中的数组可以分为一维数组、多维数组以及参差数组(Ragged Array),它们各自的声明、初始化以及元素索引都有不同的语法规定。C#同C++数组的一个显著不同是它由.NET通用语言运行环境(CLR)保证其类型安全,可以在运行时动态创建和

2004-09-01 12:26:00 1415

转载 Visual C#.Net 网络程序开发-Socket篇

作者: 宋华 Microsoft.Net Framework为应用程序访问Internet提供了分层的、可扩展的以及受管辖的网络服务,其名字空间System.Net和System.Net.Sockets包含丰富的类可以开发多种网络应用程序。.Net类采用的分层结构允许应用程序在不同的控制级别上访问网络,开发人员可以根据需要选择针对不同的级别编制程序,这些级别几乎囊括了Internet的所有需要--

2004-09-01 12:25:00 907

转载 Visual C#.Net网络程序开发-Tcp篇

作者: 宋华 前一篇《Visual C#.Net网络程序开发-Socket篇》中说到:支持Http、Tcp和Udp的类组成了TCP/IP三层模型(请求响应层、应用协议层、传输层)的中间层-应用协议层,该层的类比位于最底层的Socket类提供了更高层次的抽象,它们封装 TCP 和 UDP 套接字的创建,不需要处理连接的细节,这使得我们在编写套接字级别的协议时,可以更多地尝试使用 TCPClient

2004-09-01 12:24:00 1073

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除