自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

关于RegQueryValueEx两个小问题

最近使用到RegQueryValueEx这个函数,发现了两个小问题,总是解决不了,上网上找资料发现不是找不到就是找的不对,现在终于解决了,所以分享给大家来看看,给那些还在困惑中徘徊的和我一样的菜鸟看看,大牛就就直接飘过吧。RegQueryValueEx这个函数MSDN是这样解释的This function retrieves the type and data for a s...

2011-05-31 14:16:00 88

7.2 平面文档的表示

7.2 平面文档的表示 在这一章中,我们将要开发一个用于查看文档的应用程序。我们开始设计文档的表示形式,适合于绘制在屏幕上。在这种表示中,文档就是元素的列表,有一些内容(可以是文本,也可以是图像),和指定的边框,其中的内容被绘制。在图7.1中,你可以看到一个文档的示例,有三个突出显示的元素。 让我们看一下在 F# 表示文档的数据结构。清单 7.4 介绍了新的差别联合,表示两个可选值类型...

2011-05-30 11:28:00 53

7.1.2 C# 中的函数式数据结构

7.1.2 C# 中的函数式数据结构 我们已经在 C# 中实现了几个函数式的不可变数据类型,比如 FuncList 或元组。在 C# 中,我们会通过写一类特定的方式实现。最重要的是,所有属性必须是不可变的。这可以通过使用只读字段,或者通过声明私有的 setter 属性,只在类的构造函数中设置。在清单 7.3 中,我们使用第一种方法来实现似于类清单 7.1 中的 Rect 类型的类。...

2011-05-28 15:32:00 53

7.1.1 使用 F# 记录类型

7.1.1 使用 F# 记录类型 记录是带标记元组(labeled tuples)。它他们将多个不同的元素存储在一个值中;此外,每个元素都有一个可以用来访问它的名字。在 F# 中,元素的名字叫字段(fields)。这在很多方面类似于 C 的记录或结构构造,或者 C# 中的匿名类型。与匿名类型不同,记录必须事先声明。类似于匿名类型,记录,在其基本的形式中,包含唯一属性保存数据;清单 7.1 ...

2011-05-27 10:53:00 86

7.1 函数式数据结构

7.1 函数式数据结构 在函数编程中,程序操作的数据始终存储在数据结构中。数据结构和对象之间的区别是,数据结构公开数据使用的表示形式 (如名字所暗示) 的结构。知道数据的结构便于写代码来处理它,我们会在第 9 章中看到,F# 还我们一种方式来封装结构,就像在面向对象中,当我们想从库中导出 F# 数据结构,或者使其在 C# 中可用。正如我们在第 2 章谈到函数概念时所说的,这些数据结构是不可...

2011-05-26 14:28:00 60

7 以数据为中心的程序设计

7 以数据为中心的程序设计本章介绍■ 表示和处理文档■ 设计不可变数据结构■ 数据表示形式之间的转换■ 使用记录和递归差别联合 在设计函数式程序时,首先考虑程序处理的数据。由于重要的程序都使用数据,因此,在应用程序设计中,这一阶段是极为重要的。在函数语言中,实现程序时,我们也从在代码中会用到的数据结构开始,然后,第二步,写操作处理数据。 这是不同于面向对象的设计...

2011-05-26 11:31:00 76

MFC 单选框用法

int is=((CButton*)GetDlgItem(IDC_RADIO1))->getCheck(); //获得单选框选择状态((CButton*)GetDlgItem(IDC_RADIO1))->setCheck(TRUE); //设置单选框为选中

2011-05-25 20:48:00 276

MFC 文件对话框

CFileDialog opendlg(TRUE,NULL,NULL,OFN_EXPLORER|OFN_ENABLEHOOK,_T("txt文件(*.txt)|*.txt|文件(*.*)|*.*||"));if(opendlg.DoModal()!=IDOK)return;openpath=opendlg.GetPathName();第一参数TRUE:打开对话框FALSE:保存对话...

2011-05-25 20:45:00 61

禁止打开文件对话框后改变默认当前路径(转)

问:我的代码里有这样一行: FILE *fp; fp=fopen("data.txt","r"); 在此之前如果我用CFileDialog打开别的文件,好像就破坏了原有的默认找文件的路径,上述语句就产生非法操作,怎样解决,请赐教。 答:禁止改变原有的默认找文件的路径: m_ofn.Flags |= OFN_NOCHANGEDIR;即再创建CFileDialog时这样设置:CFileDialog f...

2011-05-25 20:43:00 194

6.9 第六章小结

6.9 第六章小结 这一章连同第 5 章一起,讨论了函数值。正如我们在前一章看到的,对于控制程序流,值是重要的,我们能够以函数方式写代码,组合函数,取值作为参数,并返回值作为结果。在这一章中,我们看到更简便方法处理值的。不直接使用值的结构,使用一组在 F# 库中定义的高阶函数值。我们已经看它们是如何实现的,以及如何为我们自己的类型,以实现类似的功能。 特别是,我们讨论了函数对值进行执行...

2011-05-24 19:00:00 34

6.8.2 列表的绑定操作

6.8.2 列表的绑定操作 我们只讨论了选项值的绑定操作,但正如我们将在第 12 章看到的,它通常是非常重要的函数式操作。清单 6.26 显示了选项值绑定操作的类型签名,以及如果我们定义列表的绑定操作,它看起来又会怎样。Listing 6.26 Signatures of bind operations (F#)Option.bind : ('a -> 'b opti...

2011-05-24 14:32:00 66

6.8.1 映射、筛选和折叠

6.8.1 映射、 筛选和折叠 映射、筛选和折叠是函数编程中最常见的操作。在处理函数式列表时,我们已经用到过,但它们也支持所有其他集合类型(我们将在第 10 和 12 章讨论其中一些) 。这些操作并不限于集合,所有的操作都可用于处理选项类型。 清单 6.25 显示了映射、筛选和折叠函数的几个签名类型。该列表包括了 Option.filter 和 Option.fold 函数,我们尚未讨...

2011-05-24 10:15:00 67

菜鸟之本地shellcode编写技术

很久没有写博客了,今天写写一个以前没有写过的话题,缓冲区溢出shellcode编写。我是菜鸟,以前没有写过shellcode,最近也在忙着网络的渗透,栈溢出也是零零碎碎的看到一些知识,大牛飘过,菜鸟言论仅供娱乐。大家同是菜鸟的人可以看看,我是站在初学者的角度写这篇文章的,所以初学者应该比较容易理解。对于一些复杂的shellcodet我们暂且先不谈,我们先来看看自己编写一个打开cmd窗口...

2011-05-23 17:01:00 128

6.8 通用处理语言

6.8 通用处理语言 如经过这一章的课程,我们已经看到几个递归模式,比如一个叫映射的操作,既可用于选项的值,也可用于列表。我们还用它处理元组,并实现了 mapFirst 和 mapSecond 的函数。 许多不同的值共享一组相似的处理函数,因此,把这些操作认为当作一种通用语言是意义的。但是,操作的名称可以随值而不同:类型签名中的相似之处往往要比名称中的相似之处有更好的线索。...

2011-05-23 16:40:00 33

6.7.3 实现列表函数

6.7.3 实现列表函数 不显示如何实现刚才我们看到的筛选和映射函数,先来看看从第 3 章开始创建的函数。因为,所有列表处理函数都有类似的结构,你在看下面的示例后,可以能够实现其他任何的函数。 在第 3 章,我们写了一个函数,它可以列表中的所有元素求和或求积。后来,我们就意识到它是比首次出现时更有用:我们看到,它也能用来查找最小或最大元素。那时,我们没有讨论过泛型,因此,这个函数只处理...

2011-05-23 16:23:00 61

6.7.2 理解列表函数的类型签名

6.7.2 理解列表函数的类型签名 我前面提到过,我们已用函数来筛选和映射列表,但使用都很直观。在本节中,我们将看看它们的类型签名,会看到,我们可以推断一个高阶函数只使用此信息做什么。 当然,在一般情况下,你不能通过看函数的类型,就知道它能做什么,但对于泛型和高阶函数,例如那些用来处理列表的函数,通常是可能的。如我们前面所见的,处理泛型值的函数则不能单独处理值太多,因为,它们不知道关于...

2011-05-20 15:30:00 61

6.7.1 F# 中实现列表

6.7.1 F# 中实现列表 虽然我们已经处理过 F# 中的列表,还在 C# 中实现了相同功能,但还没有探索在 F# 中如何实现列表类型。当我们前面讨论列表时,看到列表既可以表示为零(nil)值(空列表),也可以表示成 cons cell,包含一个元素和对列表中的其余部分的引用。 现在,如果我们看看上一章中的值的图库,这与带有两个选项的可选值完全一样。有一点稍微不同, 列表类型是递归的...

2011-05-19 11:38:00 57

开始学习ASP.net------SessionID和Session对应关系

1. Cookiecookie存储在客户端,通过服务器返回的标头Set-Cookie,由浏览器负责建立,保存,和到期删除。默认情况下,cookie生命周期为浏览器进程周期,服务器也可以显式指定Cookie保存时间,浏览器根据这个指定设置cookie的保存时间,并保存于客户端硬盘。Cookie是Http协议规范的内容,是国际标准。2. SessionSession,存储于服务器端,用...

2011-05-19 10:36:00 69

6.6.2 自动泛型化(automatic generalization)

6.6.2 自动泛型化(automatic generalization) 在这一章中,我们已经实现了几个 F# 中的高阶函数,看到了几个在 F# 和 C# 中并排的实现。有关 F# 实现的有趣事实是,我们根本不需要指定类型。这是由于自动泛型化(automatic generalization),它用在推断函数声明的类型。我们将用 Option.bind 函数的实现作为示例,介绍这个过程是...

2011-05-19 09:32:00 52

6.7.1 F# 中实现列表

6.7.1 F# 中实现列表 虽然我们已经处理过 F# 中的列表,还在 C# 中实现了相同功能,但还没有探索在 F# 中如何实现列表类型。当我们前面讨论列表时,看到列表既可以表示为零(nil)值(空列表),也可以表示成 cons cell,包含一个元素和对列表中的其余部分的引用。 现在,如果我们看看上一章中的值的图库,这与带有两个选项的可选值完全一样。有一点稍微不同, 列表类型是递归的...

2011-05-19 09:30:00 42

6.7 处理列表

6.7 处理列表 在第 3 章,我们讨论过列表,学会了如何显式使用递归和模式匹配来处理列表。还在 C# 中实现了一个函数式列表类型。在第 4 章的示例应用程序中,以这种方式,使用列表,但是要注意,显式写列表处理并不是很实用的。 这是这一章用到递归模式,因此,你可能已经知道我们下一步要说什么了。在每种情况下,不显式使用模式匹配,我们可以使用高阶函数来处理列表。我们已经看到一些函数,处理 ...

2011-05-19 09:23:00 49

6.6.1 F# 中函数调用的类型推断

6.6.1 F# 中函数调用的类型推断 虽然,在 F# 中,使用尖括号指定类型参数值,是可能的,与在 C# 中的方式相同,但这种方法很少使用。原因是,当编译器无法推断出所有的信息,需要从程序员的一些帮助时,我们可以将类型批注添加到特定的,需要更多的信息的位置。让我们用一个示例来演示:> Option.map (fun dt -> dt.Year) (Some(DateT...

2011-05-18 09:26:00 42

6.6 类型推断

6.6 类型推断 我们曾经讨论过值的类型推断,看到了在 C# 3.0 中用 var 关键字,在 F#中用 let 绑定。我们将从本节开始,另一个方面是由 C# 和 F# 共享的。当在 C# 中调用泛型方法时,如 Option.Some(清单 5.9)或 Option.Map(清单 6.13),可以显式指定类型参数值,像这样:var dt = Option.Some(DateTime...

2011-05-18 08:40:00 37

SQL Server 2008R2建立的数据库如何导入SQL Server 2000

用VS2010和Sql Server Express 2008R2做ASP.net开发,而部署时数据库系统为Sql Server 2000。经过实战,终于成功把在SQL Server 2008R2建立的数据库如何导入SQL Server 2000.分两步:1.从2008生成建立库和表的脚本文件,在2000中执行这些脚本建立新数据库;2.从2008执行数据导出,导出到2000中新...

2011-05-17 16:46:00 220

6.5.2 C# 中的函数组合

6.5.2 C# 中的函数组合 C# 中的函数组合是可能的,但它的使用非常有限。这是部分是由于在 C# 中,偏应用不能很容易使用,但更重要的是,因为大多数操作是写为成员,而不是函数。我们至少可以在 C# 中演示同样的想法。清单 6.18 显示了 Compose 方法的实现,以及使用它的示例。Listing 6.18 Implementing and using the Compos...

2011-05-17 14:48:00 61

6.5.1 函数组合

6.5.1 函数组合 处理函数最重要的操作,就是组合。让我们首先看一个示例,这是非常有用的。我们将使用这个示例,用元组存储(城市的)名字和人口。在清单 6.16 中,我们创建一个函数,根据人口的规模,确定是城市、镇,还是村。还通过确定存储在列表中的几个地方的状态测试它。Listing 6.16 Working with city information (F# Interactiv...

2011-05-17 11:37:00 50

6.5 处理函数

6.5 处理函数 目前为止,我们在这一章中讨论到的所有高阶函数都有类似结构。它们有两个参数:一个是要处理的值,另一个是函数,指定如何处理这个值。在处理函数时,值参数也可以是一个函数,所以,我们的高阶函数,将取两个函数作为参数值。...

2011-05-16 11:34:00 35

5.4.4 实现选项类型的操作

5.4.4 实现选项类型的操作绑定和映射的实现有类似的结构,因为,两者都是高阶函数,模式匹配依据一个选项值。我们来看一看 F# 和 C# 的实现,是在 C# 中编码函数概念的好示例。让我们从清单 6.14 开始,显示了映射操作的实现。Listing 6.14 Implementing the map operation in F# and C#F# Interactiv...

2011-05-16 11:12:00 50

RDF与XML的区别(Why RDF model is different from the XML model )

RDF与XML的区别到底是什么,这篇英文文章说的比较清楚。不过暂时还是认为如果是为了开发应用还是需要使用XML Schema,需要定义一个大范围通用的数据标准的话才可能要用到RDF。原文地址:http://www.w3.org/DesignIssues/RDF-XML.htmlWhy RDF model is different from the XML model This note...

2011-05-15 12:46:00 304

开始学习ASP.net------如何利用ASP.net动态输出图片

1.引言做ASP.net开发大部分时间是在动态输出html文件,通过<img src=xxx.jpg />连接静态的图片文件。所做的编程工作也大部分是在aspx文件里添加代码。其实所作的就是完善Page类得派生类。因为所有的aspx对应的类都是继承自Page。而Page类本身负责完成整个页面生存周期的管理工作。但有时候,输出并不需要复杂的html页面,而是简单的图片,如验证码就是个...

2011-05-14 23:06:00 100

JavaScript默认编码方式以及MyEclipse的修改    -

打开一个 js 文件,编辑完成保存时,突然提醒下面的错误: Save could not be completed.Reason:Some characters cannot be mapped using “ISO-8859-1″ character encoding. Either change the encoding or remove the characters w...

2011-05-13 16:26:00 80

6.4.3 分步分析这个示例

6.4.3 分步分析这个示例 这像这样自信地使用高阶函数,可能需要一些时间,尤其是当它们嵌套时。我们将研究来自前面清单中的代码,通过跟踪来看它是如何工作的,如何通过几个样本输入运行的。从抽象的问题"此代码在一般情况下做什么?",到具体的问题"此代码在特定情况下做什么?",通常可以帮助澄清事宜。 让我们看看会发生什么情况,如果我们输入一个无效的值,作为第一个输入。在这种情况下,从 rea...

2011-05-13 09:30:00 66

6.4.2 使用 bind 函数

6.4.2 使用 bind 函数 下一步,我们想消除外层的模式匹配。这样做,使用 Option.map 是不可能的,因为,该函数总是输入值 None 转换到 输出值 None,输入值 Some 转换到输出到携带另一个值的 Some。在外层的模式匹配中,我们要做的事情很不一样。即使输入值是 Some,仍可能返回 None,如果读第二个输入失败。这意味着,我们指定为参数值的 lambda 函数...

2011-05-12 15:55:00 70

c++注释规范

给代码加注释:1源文件头部注释Ø 列出:版权、作者、编写日期和描述。Ø 示例:/*************************************************Copyright:buptAuthor:Date:2010-08-25 Description:描述主要实现的功能*******************************...

2011-05-12 14:36:00 120

6.4.1 使用 map 函数

6.4.1 使用 map 函数 我们将使用的两个操作,已在 F# 库中可用了,因此,我们首先看一下如何使用它们。稍后,我们将讨论它们的实现,以及如何从 C# 中使用它们。正如我们已经看到的,要了解函数在 F# 做什么的最好方法,通常是了解它的类型签名。让我们来看一下 Option.map:> Option.map;; val it : (('a -> 'b) -&g...

2011-05-12 09:14:00 63

6.4 处理选项类型

6.4 处理选项类型 F# 中,最重要的可选值之一就是选项(option)类型。回顾一下我们的在前面的章节中看到,它给了我们一种安全的方法来表示值可能会缺失的事实。此安全性意味着,我们不能轻松地写代码,可能假定值是存在的,也可能当这个选项类型表示缺失值时,将失败。相反,我们必须使用模式匹配,为这两种情况而写代码。在这一节中,我们将学习两个有用的函数,处理选项类型。注意 我们...

2011-05-11 16:17:00 50

6.3.2 在 C# 中处理计划

6.3.2 在 C# 中处理计划 在 C# 中,我们将构建 MapSchedule 方法,类似于 F# 中的 mapSchedule 函数。再次,这将有两个参数:一个用于计算新日期的函数,和原先计划。因为我们将在 C# 中处理可选值,使用 switch 块和 Tag 属性,正如在第 5 章看到的一样。清单6 .9显示了完整的实现。Listing 6.9 Map operation ...

2011-05-11 14:50:00 47

6.3.1 处理计划列表

6.3.1 处理计划列表 在前面的示例中,我们使用了一个命令式的 for 循环,因为,我们想要打印新的计划。如果想要创建一个列表,包含新的计划,可以使用 List.map 函数,写成这样:let newSchedules = List.map (fun s –> s |> mapSchedule (fun d -> d.AddDays(7.0)) ...

2011-05-11 09:12:00 39

6.3 处理计划

6.3 处理计划 在本节中,我们将把上一节的技术应用到可选为值。在处理元组时,我们发现写函数,有助于处理元组中的一个元素。同样,处理可选值时,需要高阶函数,在一个或多个可选值上执行某种操作。我们接着上一章的示例,我们从计划类型开始,然后,看一下选项类型。 在前面的章节中,我们实施了一个类型,表示事件的计划。在 F# 中,它是叫 Schedule(计划)的差别联合,可以包含三种选项之一。...

2011-05-10 16:00:00 52

form提交时的字符编码转换之utf-8转gb2312

在IE下面指定表单提交编码方式 收藏 在跨业务、跨网站发送数据或者业务升级的时候,我们有的时候需要指定发送数据的编码方式,比如页面是utf-8编码的,而发送出去的数据却希望是GB2312编码的。在做Ajax开发的时候,我们往往都是用vbscript或者用查字典法来解决这个问题(http://www.blogjava.net/emu/articles/31756.html)。但是有些业务,也许并不...

2011-05-10 15:44:00 90

空空如也

空空如也

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

TA关注的人

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