自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hao的专栏

牢骚太盛防肠断,风物长宜放眼量。

  • 博客(39)
  • 收藏
  • 关注

转载 利用DirectShow播放标准格式文件范例

#include #include #pragma comment(lib,"Strmiids.lib")#pragma comment(lib,"Quartz.lib")void main(){       //调用CoInitialize()初始化COM库       HRESULT hr = CoInitialize(NULL);       if (FAILED(hr))       {              // Add error-handling code here. (Omitted f

2011-04-15 16:42:00 476

原创 SqlParameter中DateTime,Byte[]类型给数据库赋空值

<br /> <br />1.DateTime<br /> private DateTime? _dtBeginDate;<br /> public DateTime m_dtBeginDate<br />        {<br />            get { return _dtBeginDate; }<br />            set { _dtBeginDate = value; }<br />        }   <br /> <br /> <br />            

2011-03-28 10:43:00 2932 1

转载 正确获得最新插入行的标识

数据库实际应用中,我们往往需要得到刚刚插入 的标志值来往相关表中写入数据。但我们平常得到的真的是我们需要的那个值么?有时我们会使用 SELECT @@Identity 来获得我们刚刚插入的值,比如下面的代码代码一:use tempdbif exists (select * from sys.objects where object_id = object_id(N'[test1]') and type in (N'u'))drop table [test1]gocreate table test1(id i

2011-03-08 08:57:00 552

转载 技术人员如何脱颖而出

<br /><br />1、热爱自己的技术工作,以过人的热情投入工作之中。要想成为骨干,要想脱颖而出,没有热爱自己的本职工作,没有在现有岗位上拼命工作,是不可能成为骨干的。以过人的热情投入技术开发工作,精心钻研,以客户的角度思考如何改进产品,以测试的角度思考如何提高开发质量,以领导的角度如何降低成本提高效率,少抱怨问题,多提解决方案,提出杰出的技术改进方法,都是技术人员脱颖而出的好方法。<br />2、提升表达沟通能力。据调查,中国IT从业者中有64.3%的人每天面对电脑的时间在8小时以上,因此大多数人像个

2011-02-25 17:21:00 618

转载 程序员发展方向

<br />转载<br />     提示:本文适合有2年及以上工作经验的程序员,对于刚入职或者即将职的程序。<br />     程序工作二三年后,基本上都会考虑自己以后怎么发展。发展的路径不外乎程序员-系统分析员-架构师-技术经理-CTO,程序员-项目组长-项目经理-项目总监-CTO,程序员-产品设计师-产品经理-CTO.哪一条发展的路线更加适合你?<br />  程序员职业生涯发展到一定程度都会面临一个选择,是走业务+技术方向,还是选择纯钻研技术。程序员职业生涯 发展的问题,这是所有程序员都在关心的问

2011-02-25 17:06:00 424

转载 ASP.net注册脚本用法

<br /><br />ASP.NET使用新增的Page.ClientScript属性在ASP.NET页面上注册和使用Javascript函数.<br />注意: .NET Framewrok 1.0/1.1中的Page.RegisterStartupScript 和 Page.RegisterClientScriptBlock方法已经被弃用,这两个用于注册脚本的方法需要一组键/值对,由于方法比较复杂,很可能发生键名冲突.Page.ClientScript属性把所有的脚本注册都放在一起,使代码不容易出错<b

2011-02-25 11:06:00 516

转载 GridView用法

作者:清清月儿 转载此贴供自己学习用!快速预览:GridView无代码分页排序GridView选中,编辑,取消,删除GridView正反双向排序GridView和下拉菜单DropDownList结合GridView和CheckBox结合鼠标移到GridView某一行时改变该行的背景色方法一鼠标移到GridView某一行时改变该行的背景色方法二GridView实现删除时弹出确认对话框GridView实现自动编号GridView实现自定义时间货币等字符串格式GridView实现用“...”代替超长字符串Grid

2011-02-24 11:17:00 399

转载 (Big Endian)与(Little Endian)字节序详解

<br /><br />大端(Big Endian)与小端(Little Endian)详解<br />【大端(Big Endian)与小端(Little Endian)简介】<br />Byte Endian是指字节在内存中的组织,所以也称它为Byte Ordering,或Byte Order。 <br />     对于数据中跨越多个字节的对象, 我们必须为它建立这样的约定:<br />(1) 它的地址是多少?<br />(2) 它的字节在内存中是如何组织的?<br />    针对第一个问题,有这样的

2011-02-19 15:02:00 6488 1

转载 const,static,extern,volatile,mutable用法

1.const的用法:为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替) 用法1:常量取代了C中的宏定义,声明时必须进行初始化。const限制了常量的使用方式,并没有描述常量应该如何分配。如果编译器知道了某const的所有使用,它甚至可以不为该const分配空间。最简单的常见情况就是常量的值在编译时已知,而且不需要分配存储。―《C++ Program Lan

2011-02-16 16:48:00 458

转载 五年HR招聘与面试的体会

<br /> 做HR专职招聘也有好几年了,最近感觉这个话题越来越热,因此也开一帖,从HR的角度谈些有关招聘面试的问题,也尽自己的能力给有这方面需要的版友们些建议,回答大家的问题,抛砖引玉,与大家交流。<br /><br />第一个问题,面试中你的角色<br /><br />  招聘方和应聘方始终是一对矛盾,这毫无疑问,但这两者又何尝不是合作关系呢?试想有哪个做招聘的不希望又快又准得给自己的公司找到合适的人选,又有哪个应聘者不希望能尽快通过面试获得工作机会完成自己职业生涯的又一次跃进呢?所以,作为应聘者的我们

2011-02-12 16:49:00 552

转载 小小游戏程序员工作两年后的反思

<br />小小游戏程序员工作两年后的反思<br />write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie<br />讨论新闻组及文件<br />    这是反思,不是总结。原来的工作<br />    经过一段痛苦的毕业却没有工作的日子,我遵循了内心的选择,自学了编程。<br />    2008年5月7日,正式的开始了自己的程序员生活,开始做网络游戏。历经了客户端,工具,服务器,网游开发的三大模块,在各部分都轮换了一遍以后,(大概一年以后)开始选择自己真正的

2011-02-12 15:33:00 1595

转载 优秀程序员的十个习惯

<br /><br />在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer)。经过一段时间后,这些人也许能够成为一个优秀的编码人员,他们会非常熟悉如何用计算机语言来完成自己的工作。但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需要注意,如果你能让下面十个条目成为你的习惯,那么你才能真正算得上是优秀程序员。<br />1. 学无止境。就算是你有了10年以上

2011-02-11 17:19:00 372

转载 SQL Server索引提高数据处理的效率

<br /><br />在良好的数据库设计基础上,能有效地使用索引是sql server取得高性能的基础,SQL Server采用基于代价的优化模型,它对每一个提交的有关表的查询,决定是否使用索引或用哪一个索引。因为查询执行的大部分开销是磁盘I/O,使用索引提高性能的一个主要目标是避免全表扫描,因为全表扫描需要从磁盘上读表的每一个数据页,如果有索引指向数据值,则查询只需读几次磁盘就可以了。<br />  所以如果建立了合理的索引,优化器就能利用索引加速数据的查询过程。但是,索引并不总是提高系统的性能,在增、

2010-09-06 10:22:00 450

转载 C++中的随机数函数

<br />C++中产生随机数种子对于初学者一直都很困惑.大家知道,在C中有专门的srand(N)函数可以轻松实现这一功能,然而在C++中则要复杂一些.下面是笔者学习的一点心得,希望对大家能有所帮助.(这里我们依然要借助C标准库中的rand()函数)<br />  函数说明:<br />   int rand();                                          :返回从[0,MAX)之间的随机整数,这里的MAX与你所定义的数据类型而定;需#include <cstdlib

2010-07-20 09:38:00 567

转载 Cisco IP电话软件的WINRTP

 纵览Overview of this Document介绍Introduction更新Whats New功能Features组件及安装Components and Installation源码发布Source Code Distribution二进制发布Binary Distribution安装Installation测试程序Test Progr

2010-05-21 14:51:00 1738

转载 VC快捷键

    f1: 帮助    ctrl+o  :open    ctrl+p  :print    ctrl+n  :new    ctrl+shift+f2 :清除所有书签    f2  :上一个书签    shift+f2 :上一个书签    alt+f2  :编辑书签    ctrl+f2 :添加/删除一个书签    f12  :goto definition    shift+f12

2010-04-30 09:05:00 445

转载 WindowsMediaPlayer控件一些用法(中文)

URL:String; 指定媒体位置,本机或网络地址uiMode:String; 播放器界面模式,可为Full, Mini, None, Invisible(不计大小写)playState:integer; 播放状态。这个属性改变时同时引发PlayStateChange事件与StateChange事件。取值范围为枚举型:WMPLib.WMPPlayState,它的成员如下:  wmppsUndef

2010-04-29 09:59:00 10791

转载 进程的虚拟地址空间

 上图是进程的虚拟地址空间示意图。代码段:代码段(code segment/text segment)通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读, 某些架构也允许代码段为可写,即允许修改程序。在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。数据段:数据段(data segment)通常是指用来存放程

2010-04-26 16:19:00 641

原创 虚构造函数与虚析构函数

虚构造函数:构造函数不可以是虚的,要构造一个对象必须掌握所创建的对象的确切类型,不过它所想达到的效果是可以变相实现。方法一:创建有关类型的新对象class Base{public:    Base(); //默认构造    Base(const Base&); //赋值构造     virtual Base* createNewInstance(){ return

2010-04-26 14:18:00 580

转载 ActiveX中调用JavaScript

利用IWebBrowser2和IHTMLDocument2这两个COM组件来访问包含ActiveX控件的外部Web页面上的所有元素。具体实现步骤如下:1, 在CMyActiveXCtrl类中加入两个变量:IWebBrowser2* pWebBrowser; //IE浏览器IHTMLDocument2* pHTMLDocument; //包含此控件的web页面2,重载OnSetClientSite函

2010-04-23 11:18:00 1483

转载 web上用Activex控件开发步骤

首先要说明的是 web上用activex是门被抛弃的技术。为什么这么说,主要基于以下几个原因:1.功能过于强大,强大到一旦安装,他所具有的权限可以做任何事,极易被人利用做坏事(相信大家都有浏览网页后莫名被安装流氓软件的经历,当然流氓软件利用的方式不止控件一种);2。通过网页下载控件的中间过程受到操作系统、杀毒软件、浏览器等多方面因素限制,这使你的控件产品未必能在所有用户的电脑上正常使用;3

2010-04-22 17:28:00 3145

原创 Html页中使用OCX控件

 最近准备开发一个b/s架构的应用程序需要用到activeX控件,web服务器尚未进入编码阶段,偶手上已有原用于vc客户端程序中的ocx控件,想测试一下此控件在普通网页上执行功能有无偏差,于是搞了个简单的html静态页面调用来测试OCX控件。  一 注册OCX控件新建reg.txt文件编辑RegSvr32  TestOCX.ocx  //TestOCX是控件名保

2010-04-22 14:06:00 25493 1

转载 Tomcat+struts中文乱码问题

 在进行struts开发的过程中,总也是出现很多的乱码问题 ,但归根到底,也只是以下三种情况: 1.页面显示中文乱码 2.传递参数中文乱码 3.国际化资源文件乱码 下面就这三中情况介绍怎么在具体项目中处理这些乱码问题。而对于整体的处理思想,是要统一编码为: UTF-81.页面显示中文乱码     对于在页面中显示出现乱码,这个问题比较简单,便是检查你的JSP文件里是不是出现了中文要

2010-04-21 19:12:00 862

转载 SQL Server 2000中的触发器使用

可以定义一个无论何时用INSERT语句向表中插入数据时都会执行的触发器。  当触发INSERT触发器时,新的数据行就会被插入到触发器表和inserted表中。inserted表是一个逻辑表,它包含了已经插入的数据行的一个副本。inserted表包含了INSERT语句中已记录的插入动作。inserted表还允许引用由初始化INSERT语句而产生的日志数据。触发器通过检查inserted表来确定是否执

2010-04-21 19:06:00 285

原创 VC中调用MSXML库创建XML

HRESULT InitXmlDOC(MSXML2::IXMLDOMDocumentPtr & pDoc,                                     MSXML2::IXMLDOMElementPtr & ppRoot){    HRESULT hr;    hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30

2010-04-21 19:03:00 801

转载 从VC6到VC9移植代码问题

首先可以直接用Visual Studio 2008的打开VC6的工作区文件和项目文件(dsw和dsp),并将其升级为VS2008的解决方案格式和项目格式(sln和vcproj),VC9的编译器相对于VC6有了很大的变化,一些编译参数和链接参数被废弃(比如/map:line),有一些改变了名称,还有新增的选项,不过不用担心,升级过程会自动对其进行转换,最终都会得到一个正确的解决方案和VC项目文件,这

2010-04-21 19:01:00 602

原创 MFC几个关于字符串处理的全局函数

最近在使用字符资源的时候,发现有几个全局函数处理字符串非常方便。函数头 void AFXAPI AfxFormatString1(CString& rString, UINT nIDS, LPCTSTR lpsz1);函数功能 从资源文件里读取指定ID(nIDS)的资源字符串,并用字符串(lpsz1)替换资源字符串中出现的”%1”,假如”%1”出现多次,则多次替换。函数头 void AFXAPI 

2010-04-21 19:00:00 957

转载 MFC程序和Win32程序的关系

MFC把具有相当固定行为的WinMain内部操作封装在CWinApp中,把有着相当固定行为的WndProc内部操作封装在CFrameWnd中。几乎可以说CWinApp用来取代WinMain在SDK程序中的地位,CFrameWnd取代SDK程序中窗口函数的地位。首先MFC程序需要下面函数库:(1) Windows C Runtime函数库:LIBC.LIB / MSVCRT.LIB

2010-04-21 18:58:00 439

转载 vc中的release和debug版本的区别

Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重要,通常他们也不会引起 Release 版错误,在此

2010-04-21 18:56:00 306

转载 P2P原理

首先先介绍一些基本概念:   NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(Network Address/Port Translator)。   最开始NAT是运行在路由器上的一个功能模块。      最先提出的是基本的NAT,它的产生基于

2010-04-21 18:53:00 456

转载 malloc/free与new/delete的区别

相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符,不在编译器控制权限之内,不能够把执

2010-04-21 18:50:00 263

转载 socket连接超时判断

select 方式判断m_server的m_port端口是否可以连上,超时限制为nTimeOut秒BOOL ConnectTest(char * m_server,int m_port) {         struct hostent* host = NULL;         struct sockaddr_in saddr;         unsigned int s = 0;  

2010-04-21 18:48:00 2102

转载 TCP/IP协议三次握手建立连接

 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。  第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;  第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;  第三次握手:客户

2010-04-21 18:44:00 1550

转载 C++ 运算符优先级列表

C++ 运算符优先级列表PrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Grouping operatorArray accessMember access from a pointerMember access from an objectScoping operatorPost

2010-04-21 18:38:00 325

转载 左值(lvalue)和右值(rvalue)

左值(lvalue)和右值(rvalue)是编程中两个非常基本的概念,但是也非常容易让人误解,看了很多文章,自我感觉真正将这个问题讲的很透彻的文章还没有看见,所以自告奋勇来尝试一下。如果左值右值的概念不是非常清楚的话,它们迟早会像拦路虎一样跳出来,让你烦心不已,就像玩电脑游戏的时候每隔一段时间总有那么几个地雷考验你的耐性,如果一次把所有地雷扫尽就好了。左值(lvalue)和右值(r

2010-04-21 18:36:00 521

转载 调用约定

调用约定(Calling   convention):决定函数参数传送时入栈和出栈的顺序,由调用者还是被调用者把参数弹出栈,以及编译器用来识别函数名字的修饰约定。     函数调用约定有多种,这里简单说一下:           1、__stdcall调用约定相当于16位动态库中经常使用的PASCAL调用约定。在32位的VC++5.0中PASCAL调用约定不再被支持(实际上它已被定义为__

2010-04-21 18:33:00 259

翻译 位域与结构体对齐

一 位域有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把

2010-04-21 18:21:00 502

转载 函数名与函数指针

 一 通常的函数调用    一个通常的函数调用的例子://自行包含头文件void MyFun(int x);    //此处的申明也可写成:void MyFun( int );int main(int argc, char* argv[]){   MyFun(10);     //这里是调用MyFun(10);函数      return 0;}void MyFun(int x)  //这

2010-04-21 18:17:00 274

原创 开博篇

    Hello Csdn,Hello everybody!    This is the beginning of my Csdn journey ,its wonderful!

2009-10-12 14:22:00 246

空空如也

空空如也

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

TA关注的人

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