自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

相生昌专栏

忠心愿为中国的软件事业贡献自己一份微薄的力量! 年轻而追求理想,智慧而永不满足,执着而勇于进取,触角敏锐但不随波逐流!

  • 博客(36)
  • 资源 (3)
  • 收藏
  • 关注

原创 VC++读取Excel表格和向Excel表格输出内容示范代码

在写程序的过程中大家经常会遇到操作Excel进行表格内容读写的需求,这里我给大家分享一下如何用VC++来实现Excel读取。微软的office系统提供了OLE COM自动化功能,通过COM接口操作word和Excel非常方便,在编写代码时首先需要将Excel类型库引入工程项目中,其主要步骤下:1)在项目菜单中选择“类向导“;2)选择”类型为吕的MFC类“,并从文件中找到office所在的目录,打开...

2020-03-28 09:00:13 2017 2

原创 VS中MFC三大类应用程序开发起步(Dialog、SDI、MDI)

在VS中开发VC++应用程序 ,最常用就是MFC应用,它下在又分为常规应用程序、ActiveX控件和DLL程序,那么常规的应用程序根据应用模式又分为Dialog对话框程序、SDI单文档、MDI多文档以及多顶级文档几类,下面我们分别介绍一下这几类应用程序的区别。首先在VS的“文件”菜单中选择“新建”-》“项目”,选择VC++-》MFC,其主要界面如下:在选择应用类型的同时需要输入工程项目的...

2020-03-21 23:53:23 3567

原创 VC++实现不规则窗体界面(对话框窗口)

前面的博文我已经讲了如何实现自绘制的窗口,这一篇也是接上前面的主体继续讲讲如何通过图片+自绘制的方式实现不规则窗体界面。其实现方式有两种,一种是准备两张位图,一张显示用的主图片,另一个张是将周围区域去除的蒙板图片。另一种是只准备一张图片,需要去除部分用同一种颜色,如黑色(不能与主体部分颜色相同,如果相同则会导致其他部分也会去除掉),图片加载绘制时把需要透明的像素去掉即可,其实现方式的步骤如下:...

2020-04-04 00:41:39 725 1

原创 MFC自绘制窗口:以动态形式实现自绘制窗口的淡入和淡出

前面我已经写了一篇关于自绘制圆角Dialog窗体的博文,这些专题学习都是我10多年前学习时积累的东西,现在整理出来,即为了自己重新复习,同时也把这些分享出来,供大学参考和学习。这一篇博文主要是讲述了三个知识点:1)在OnEraseBkgnd函数中实现窗体自绘,关于自绘制的问题前一篇文章已经介绍了,这里就不重复了。2)windows定时器SetTimer定时器是利用Windows窗口消息...

2020-03-29 10:20:15 519

原创 VC++文件操作详解及示例(CFileDialog、CStdioFile)

文件操作是windows编程最常用的,这涉及到文件打开和保存对话框、文件读取、文件保存等,下面分别对这一块的相关类和函数作一个详细的解读和示例。1、文件打开和保存对话框CFileDialogVC++的MFC类CFileDialog类,封装了Windows常用的文件对话框,提供了一种简单的与Windows标准相一致的文件打开和文件存盘对话框功能,其函数原型如下:CFileDialog::...

2020-03-28 15:37:08 1604

原创 MFC应用程序开发:自绘制的圆角Dialog窗体

我们在写桌面程序时为了让界面好看,经常会用到窗体的自绘制功能,下面我来简单地介绍一下具体的做法,只要通过重载几个消息函数,里面添加几行代码即可实现漂亮的自绘制窗口,首先创建一个MFC对话框应用程序,然后在类视图中选择对话框类点击右键,选择“类向导”,VS2017里的这个类向导我个人觉得不友好,没有VC6.0和VS2003友好,不过没关系用多了就习惯了。在类向导(ClassWizard)中选...

2020-03-22 20:50:50 1009 2

原创 用VS进行MFC程序开发基础

近几年随时技术的发展越来越多的年轻程序员选择当下时髦和流行的编程语言,它们上手快、网络资源多、应用广,而一些老牌的编程语言和工具不怎么受欢迎,特别是VC++,从招人上也能看出来,能够熟练应用VS进行MFC编辑的人越来越少,一些高水平的年轻一代程序 员更是风毛菱角,所以想着重新开启CSDN博客写一些关于VC++、MFC编程的文章,希望能够为年轻一代MFC编程人员的成长提供一点点帮助!虽然现在已经...

2020-03-21 16:31:26 3286

转载 DITA 技术分析报告,面向主题的文档交付解决方案

来源:http://www.oschina.net/question/54100_11000达尔文信息分类体系架构DITA是面向主题的文档交付解决方案,DITA基于XML表示并继承XML的文档描述元素,覆盖内容信息组织、编写、生成和交付的整个出版过程,并可以面向不同领域的技术出版物进行扩展和定制。DITA侧重于交付主题粒度的知识单元,再将知识单元进行重组和映射,生成最终交付的出版文档。DI

2014-02-24 15:24:37 1915 1

转载 DITA与DocBook对比分析

DITA和DocBook是数字出版领域的两种标准,通过定义规范化的文档描述规则,来解决文档交付过程中遇到的问题。面向不同类型的交付出版物,DITA和DocBook各有见长,但在实际应用中也有自身的限制因素。结合近期我参与的项目实践,对两个标准的对比分析总结如下。DITA解决了出版物的结构化描述和内容重组问题,且支持多语言版本制作,适用于对格式有严格限定的技术手册类出版物。但DITA不能实现很完

2014-02-24 15:19:01 1452

转载 Schema和DTD的区别(2)

Schema是对XML文档结构的定义和描述,其主要的作用是用来约束XML文件,并验证XML文件有效性。DTD的作用是定义XML的合法构建模块,它使用一系列的合法元素来定义文档结构。它们之间的区别有下面几点:       1、Schema本身也是XML文档,DTD定义跟XML没有什么关系,Schema在理解和实际应用有很多的好处。       2、DTD文档的结构是“平铺型”的,如果定义复杂

2014-02-24 15:14:17 2831

转载 Schema 和DTD区别

XML   Schema   和DTD   都是用来定义各种文件中XML标记的使用规范.         XML   Schema   是标准的XML文件,而DTD则使用自己的特殊语法,因此,只需要知道XML的语法 规则就可以编写Schema了,不需要再学习其它语法规则.   可以使用相同的处理器来解读, XML文件与XML   Schema文件.         XML   Sc

2014-02-24 15:12:32 3562

原创 大话铁道部12306订票系统云架构

一、引言    随着春节的临近,大家都忙着从网上刷票,随之而来的就是对12306订票网站的质疑声。今天就针对这个问题和朋友还讨论了一番,有感于此,本人从技术的角度对此进行分析并对整个系统的架构进行了一下重构构想。    首先整个售票系统是一个非常庞大而复杂的系统,是一个高负荷、高并发的云平台,其规模甚至比淘宝大2至3倍,而且对于数据的实时性要求非常高。光是12306网站系统的日访问量达到了

2013-01-19 23:01:41 24914 51

原创 文本的全文内容比对

今天因项目需要写了一个两文本进行分文比对的模块,找出两个文本之间的差异,类似于内容抄袭(复制)检测的功能。我在字符串匹配的基础上进行了一些模式串匹配优化,通过测试效果还不错,下一步打算再通过分析句子主干的方式进行优化,从而具有更强的干扰性。先看看目前的程序效果图。

2012-01-05 22:34:36 1926 1

原创 VC双缓冲绘图

最早在vchelp上发表过的一篇文章,VChelp已经上不了了,又有好多人问人关于VC双缓冲绘图方面的问题,下面我将这篇文章再重新发出来,供大家学习一下:   用vc做的画图程序,当所画的图形大于屏幕时,当拖动滚动条时屏幕就会出现严重的闪烁情况,为了解决这一问题就得使用双缓冲来解决这一问题,程序产生严重的闪烁问题是因为画图过程中前后两次的画面反差很大造成的人的视觉的闪烁。因为在VC中每次在

2010-03-14 12:53:00 10525 6

原创 通过Post方式访问Web页面

总有些人问我关于通过Post方式向Page页提交参数的方法,下面我写了一个函数,供一些初学者参考。//****************************************************************************************////函数 PostData//主要功能: Post方式向服务器传数据//参数列表: //    1、strUrl:

2009-12-01 12:41:00 5769

原创 手机游戏开发

  最近对手机平台的应用程序开发产生了浓厚的兴趣,出于对微软的情有独钟,在windows mobile上平台上做了一个小游戏。本人觉得windows mobile平台真是很优秀的,对于开发人员来说其SDE开发环境和模拟器都很优秀,还有其可视化的调试环境都大大方便开发人员,虽然微软的OS不太开放,但其提供的API及相关开发工具和环境十分强大,尤其是可视化的视窗操作方式,所以不得不说在可视化和SDE环

2009-10-01 16:17:00 1468 1

原创 VC用ADO访问数据库全攻略

(由于vchelp网站被封,故将此文章转移至此,愿它能为光大VC编程者一个抛砖引玉的作用)一、ADO概述ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。ADO 使您能够编写应用程序以通过 OLE. DB 提供者访问和操作数据库服务器中的数据。ADO 最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。ADO 在关键的应用方案中

2008-08-28 08:47:00 4059 5

转载 词串相似度计算公式

词串相似度计算公式 词串相似度计算公式:Sim(S1,S2)=α×Match(S1,S2)Num(S1)+Match(S1,S2)Num(S2)/2+β×γ×(∑Match(S1,i)∑m1i+∑Match(S2,j)∑n1j/2(9)S1,S2分别表示文本标引词串和知识库中的词串;α:两词串中含有相同元素的

2008-05-24 10:43:00 2291 3

原创 搜索引擎中的URL散列

       散列(hash)也就是哈希,是信息存储和查询所用的一项基本技术。在搜索引擎中网络爬虫在抓取网页时为了对网页进行有效地排重必须对URL进行散列,这样才能快速地排除已经抓取过的网页。最理想的状态是对联网上所有的网页都分配一个哈希地址,可想而知这是一个相当宠大的数字,但实际上往往是无法做到这一点。虽然google、百度都是采用分布式的机群进行哈希排重,但实际上也是做不到所有的网页都分配一个

2008-02-20 23:44:00 1574

原创 一算法求解与讨论

 已知给定一个排列无序的浮点型数组,数组大小是10000,如何找出其中最大的10个数,并给出时间复杂度。(一道面试题)

2006-07-06 15:48:00 1163

转载 数学之美 系列九 -- 如何确定网页和查询的相关性

发表者:吴军,Google 研究员 [我们已经谈过了如何自动下载网页、如何建立索引、如何衡量网页的质量(Page Rank)。我们今天谈谈如何确定一个网页和某个查询的相关性。了解了这四个方面,一个有一定编程基础的读者应该可以写一个简单的搜索引擎了,比如为您所在的学校或院系建立一个小的搜索引擎。]我们还是看上回的例子,查找关于“原子能的应用”的网页。我们第一步是在索引中找到包含这三个词的网页(详见关

2006-06-30 14:12:00 1515

原创 如何编写优质、高效、益于维护的C++代码

如何编写优质、高效、益于维护的代码是每个程序开发人员都关心的一个话题,尽管大家都知道一些,但是在实际写代码时还是会犯一些错误,下面就结合我的一些经验写一点总结,供大家参考:1、首先是程序中变量、函数及类等的命名,这是一个老话题,但是很重要。尽量是看了你的命名就能大致明白变量或者函数的意义和作用。如成员变量一般都别忘了加上前缀"m_",对于整型值别忘了加上"n",float型加上"f",char

2006-06-16 14:00:00 2288

原创 关于程序BUG和问题

最近看了一篇关于Google的首席工程师所写的二分查找算法中的Bug问题,也看了很多人回复,大多数人的观点是“每个人的程序都有bug的!",我也比较赞同这种观点,其实可以说那不是一种Bug,因为从软件的角度来说,每个软件都是有自己的运行条件和适合范围,如果超出运行环境其实就不是在Bug范围之内了。再牛的人都不可能写出在任何条件、任何环境下无bug运行的程序。所以没有很完美的程序,只要能在设定的运行

2006-06-10 19:52:00 1730

原创 多线程服务程序编程心得

后台服务器程序一般都要求很高的稳定性和健壮性,编写高质量的服务器程序需要注意如下几个方面:1、对于后台的多个并行工作线程最好不要用另一个线程来统一管理。大多数人认为专门用一个调度线程来调度各线程是一个比较好的方案。但是在实际应用中这种方法并不一定好,因为如果你的任务处理特别频繁而且需要将各线程不停地在挂起与激活之间切换,就会出现一些意想不到的问题,各线程的调度状态和实际的状态不符合。所以最好是

2006-06-02 10:11:00 1577

原创 全文检索系统中海量数据的增量索引

全文检索系统中如果每天处理至少10多万条的文本数据,那么如何对这些新增加的数据进行增量索引并进行有效地管理是整个系统的关键。通过采用联合表或者并行表的方式来管理这些数据,但是每一个并行表的粒度应该设多大,设多少个子表或者并并行表都需要系统的应用规模来定。如果并行表的粒度过大,即使是在索引过程中采用的是拉链索引的方式来组织索引数据,也是需要大量的索引数据的遍历,若不是拉链更需要索引数据的大量移动来进

2006-05-02 23:30:00 1904

原创 关于切词程序的一点启发

文本切词是中文信息处理的基础,除了英文以外大多和语言如中文、韩文、日文都是需要切词的。由于不同的编码形式给我们的切词带来了不便,ANS码是一个字符一个字符,而GB2312等都是两个字节表示一个字符。一般一个字符是否是多字节编码可以通过最高位来判断,如果最高位是0则是ANS码,否则多字节编码。通常人们进行切词都是将待切分文本转换成Unicode再进行切分,在实际中我经过实验这种方法其实不是很好,效率

2006-04-30 15:13:00 2182 3

原创 搜索引擎开发日志

这两天一直在构思关于图片搜索的的实现,在目前蜘蛛的基础上增加图片抓取和Flash抓取的功能,这样就可以实现图片搜索和Flash搜索功能。对于图片的抓取已经实现,而对Flash的实现相对来说是比较麻烦一些,不过也不是太难。对这些对象我都是以二进制对象的形式存储到数据库中去了,目前采用的是中国知网的KBase系统,通过简单的功能性测试已经通过了,由于图片数据都可能比网面数据大,因则我在蜘蛛里抓取时采用

2006-04-27 16:52:00 1566

原创 网络蚂蚁与FlashGet的文件多线程下载原理

最近自己写了一个类似网络蚂蚁和FlashGet一样的程序,主要是为了自己能学点东西,不过还好,已经有点样子了,已经实现了类似它们的界面风格和功能,只是里面的下载任务、错误任务、已完成任务、中止任务的调度问题还没有详细去做,通过IE右键菜单的传参数还没有解决,IE右键菜单已经现,已经能够取到鼠标位置的URL,只是不知如何将取得的一个URL传给下载程序,还有待解决。现在将多线程下载同一个文件的原理讲述

2006-04-24 15:15:00 6508

原创 界面与后台工作线程分离的实现方案

在我们实际应用中,常常会遇到界面与后台工作线程分离的情况。特别是在写多线程的服务程序和批处理程序时经常用到的,随着技术的发展,人们已经不满足于命令行的服务程序,需要具有更好的可视化的、图形化的界面服务程序,能够实时监控各个后台工作线程的状态。经过一些实践我在这里总结一些将后工作线程与显示界面分离的较好的实现方案,供大家参考,希望能够给大家一些启示:首先,假设我们的系统由一个或者多个工作线程,这

2006-04-13 12:21:00 2631

原创 关于二维绘图时拾取某一直线的代码

这里是我在以前的实践中编写一个函数,主要是拾取平面上的一条直线,通过判断点是否是直线附近来判断,通过点与直线的距离在给定的半径之内则认为是在直线之上。这需要对直线和拾取时点进行旋转,旋转到直线与X轴平行,其主要的代码如下://检查一点是否在一条直线附近//Spoint是直线起点,Epoint是些终端点,Mpoint是拾取点,nRadius是半径bool CLine::Pick(CPoint S

2006-04-11 22:13:00 1651

转载 一个女生写的经典程序

刚才一个朋友给发了一段很特别的程序,觉得挺有意思,所以发上来和大家共享,一个女生写的经典程序result love(boy, girl) {    if( boy.有房() and boy.有车() )    {         boy.set(nothing);   return girl.嫁给(boy);  }  if( girl.愿意等() )   {    while(!(boy.赚钱 >

2006-04-10 13:18:00 1469

原创 对于搜索引擎未来的一种设想

人们都说21世纪是搜索的世界,确实搜索引擎已经是我们生活中的一种必备工具了,在四五年前搜索引擎对大多数人来说都是一种很神秘的东西,而如今搜索引擎却成了大众工作和办公的一种必须品,就象办公软件office、金山词霸一样的深入人心。各大搜索巨头都在展开激烈的竞争,都想在这一大市场中占领一席之地。这对广大用户来说是一种好事,毕竟会得到更好的搜索服务。而传统的搜索引擎已经不能完全满足用户的搜索需求,那么下

2006-04-08 21:09:00 2013 2

原创 用Socket的接受数据线程来捕获所连客户端的掉线问题

判断Socket是否断线是我们经常用到的,但是有时的一些异常,比如机器突然死机,客户端Socket断线之类难以断定,我在实际的开发过程中用数据接受线程来监控,一旦发现断线会及时通知主应用程序。在实际的应用中效果还不错,其代码如下:(希望对大家有所帮助)/**********************************************///接受数据线程/***************

2006-04-07 16:03:00 1689

原创 海量数据的管理及增量索引(全文检索系统)

对于分布式的全文检索系统,海量数据的管理与增量索引策略显得尤为重要,因为很多用户时时地对数据进行检索,而后台又有多个子系统在时时地往总库写数据,而各客户端需要对添加到库里的数据实时地查询到。而对于全文检索系统用户查询到的提前必须对入到库里的数据进行索引,这样用户才能看到数据。而且每天的数据量多的时候可能有好几十万条,每一条数据基本上都是在70K以上,因为好几个字段都是全文字段。这让我在设计方案时颇

2006-04-06 16:04:00 2313 1

原创 模式对话框不宜调试

今天在写程序时发现一个问题,模式对话框不宜调试,就是说当你在程序中弹出一个模式对话框,然后在对话框的DoModal()之后紧接着打了一个断点,想跟踪,但是我试了好多次都是程序反应奇慢无比,好象是死机了似的,刚开始是以为机器有有毛病了,重启动了几次还是这样,后来我又想了想,才恍然大悟,原来是模式对话框捣的鬼,是由于DoModal()将程序挂起,等待用户操作的消息,这样当进入断点时由于程序主窗口可能还

2006-04-05 14:56:00 1312

原创 搜索引擎经验总结

这里是一点我在学习和开发搜索引擎过程中的一点学习和经验总结,文中讲述了蜘蛛、切词、索引、查询器等名模块的一些概述和细节,希望能给搜索引擎中的初学点的一点帮助,对于那些高手也能够带来一点点启发的帮助!这是我在2004年学习和开发搜索引擎相关东西时的一点总结,可能比较肤浅,最近还是一直在搞这方面的研究,相对于这篇文章又有了一些新的总结,等以后有时间再写一篇和大家分享!(有些图是没有办法显示的,因为

2006-04-03 14:39:00 14314 8

MFCAppTest-自绘动画窗口.rar

VS2017代码,MFC自绘制窗口:以动态形式实现自绘制窗口的淡入和淡出,主要知识点包括:SetTimer、OnEraseBkgnd、MoveWindow、KillTimer等函数的应用

2020-03-28

OpeExcel.rar

VC++操作Excel的示例代码,包括读取Excel表格内容和输出内容到Excel表格,在VS2017下编写并编译通过,能够兼容office2003及以上的版本,欢迎大家使用

2020-03-28

搜索引擎系统学习与开发总结(最好的入门级教材)

搜索引擎系统学习与开发总结(最好的入门级教材),包括爬虫、切词、索引、检索等各模块的实现原理.写了好多年了,分享出来供大家学习!

2009-02-18

空空如也

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

TA关注的人

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