work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年11月30日

摘要: 一. SelectNodes,SelectSingleNode总是返回NULL 下面以一个简单的xml为例:<?xml version="1.0"?> <message xmlns="http://www.mydomain.com/MyDataFeed" xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="http://www.mydomain.com/MyDataFeed https://secure.mydomain/MyDataF 阅读全文

posted @ 2011-11-30 10:28 work hard work smart 阅读(25194) 评论(7) 推荐(4) 编辑

2011年11月29日

摘要: XHTML编码七条基本规范一、所有的标记都必须要有一个相应的结束标记以前在HTML中,你可以打开许多标签,例如<p>和<li>而不一定写对应的</p>和< /li>来关闭它们。但在XHTML中这是不合法的。XHTML要求有严谨的结构,所有标签必须关闭。如果是单独不成对的标签,在标签最后加一个" /"来关闭它。例如: <br /><img height="80" alt="网页设计师" src="/uploadfile/200806/17/8C162625950 阅读全文

posted @ 2011-11-29 10:40 work hard work smart 阅读(303) 评论(0) 推荐(0) 编辑

2011年11月24日

摘要: 对于VS2008的初次使用者来说,常会遇到的编译问题时,Debug版本运行正常,但在Release版本则不稳定或无法运行。以下是对Debug版本与Release版本本质区别的分析:原文地址Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重要,通常他们也不会引起 Release 版错误,在此不讨论) 阅读全文

posted @ 2011-11-24 10:44 work hard work smart 阅读(6403) 评论(2) 推荐(1) 编辑

2011年11月23日

摘要: WPF TranslateTransform的使用1、水平移动2、单击后向X,Y移动15<Canvas x:Class="ControlTest2.TranslateTransformDemon.TranslateTransformInCanvas" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="300&quo 阅读全文

posted @ 2011-11-23 14:55 work hard work smart 阅读(8185) 评论(0) 推荐(1) 编辑

摘要: 下面是ComboBox的简单实用XAML: <Grid> <ComboBox Height="23" Margin="12,12,0,0" Name="comboBox1" VerticalAlignment="Top" HorizontalAlignment="Left" Width="120" /> <Button Height="23" Margin="21,53,69,0" Name="b 阅读全文

posted @ 2011-11-23 10:38 work hard work smart 阅读(7424) 评论(0) 推荐(0) 编辑

2011年11月21日

摘要: 1.模板类中有成员是模板#include <iostream>#include <typeinfo>using namespace std;template<class T>class Outer {public: template<class R> class Inner { public: void f(); };};template<class T> template <class R>void Outer<T>::Inner<R>::f(){ cout << "Oute 阅读全文

posted @ 2011-11-21 14:09 work hard work smart 阅读(1111) 评论(0) 推荐(0) 编辑

摘要: 归纳起来,泛型比非泛型具有下面两个优点:1、 更加安全在非泛型编程中,虽然所有的东西都可以作为Object传递,但是在传递的过程中免不了要进行类型转换。而类型转换在运行时是不安全的。使用泛型编程将可以减少不必要的类型转换,从而提高安全性。2、 效率更高在非泛型编程中,将简单类型作为Object传递时会引起Boxing和Unboxing操作,这两个过程都是具有很大开销的。使用泛型编程就不必进行Boxing和Unboxing操作了。.NET泛型具有很好的二进制重用性。这一点得益于.NET将泛型内建在CLR之中。C++泛型和评估中Java泛型所依靠的是它们各自的编译器所提供的特性,编译器在编译泛型代 阅读全文

posted @ 2011-11-21 14:03 work hard work smart 阅读(204) 评论(0) 推荐(0) 编辑

摘要: C++高效编程忠告这是对C++高效编程的一个总结, 很有指导作用.一、#include “filename.h”和#include <filename.h>的区别 #include “filename.h”是指编译器将从当前工作目录上开始查找此文件 #include <filename.h>是指编译器将从标准库目录中开始查找此文件二、头文件的作用 加强安全检测 通过头文件可能方便地调用库功能,而不必关心其实现方式三、* , &修饰符的位置 int *i,j; // better for read i = new int(0); j = 0; int *& 阅读全文

posted @ 2011-11-21 13:34 work hard work smart 阅读(1930) 评论(0) 推荐(0) 编辑

摘要: Attribute在.net编程中的应用(一)Attribute的基本概念经常有朋友问,Attribute是什么?它有什么用?好像没有这个东东程序也能运行。实际上在.Net中,Attribute是一个非常重要的组成部分,为了帮助大家理解和掌握Attribute,以及它的使用方法,特地收集了几个Attribute使用的例子,提供给大家参考。在具体的演示之前,我想先大致介绍一下Attribute。我们知道在类的成员中有property成员,二者在中文中都做属性解释,那么它们到底是不是同一个东西呢?从代码上看,明显不同,首先就是它们的在代码中的位置不同,其次就是写法不同(Attribute必须写在一 阅读全文

posted @ 2011-11-21 11:22 work hard work smart 阅读(250) 评论(0) 推荐(1) 编辑

2011年11月20日

摘要: 使用API写Windows程序一 先来看个简单实例:#include"windows.h"intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLine,intiCmdShow){ MessageBox(NULL,TEXT("你好,欢迎来到VC之路"),TEXT("欢迎"),0); return0;}第一个参数:应用程序的当前实例句柄。第二个参数:应用程序的前一个实例句柄,别管它,对于Win32位而言,它一般是NULL.第三个参数:指向任何传给程序的命令 阅读全文

posted @ 2011-11-20 22:26 work hard work smart 阅读(11820) 评论(0) 推荐(0) 编辑

摘要: 非托管的vc工程中部分文件使用.Net Framwork原文地址使用vs2005环 境 ,且工程不使用与编译头文件stdafx.h.(保证可以,不可以来找我!) 一,建立一般的c++的console32的project ,name: Test ,工程setting使用默认,不改变.如下: 原文地址二,add header file: ManagedCppClass.h#pragmaonceclassManagedCppClass{public:voidPrintString();};三,add cpp file: ManagedCppClass.cpp#using<mscorlib.dl 阅读全文

posted @ 2011-11-20 15:56 work hard work smart 阅读(333) 评论(0) 推荐(0) 编辑

摘要: C# 中重用c/c++旧模块 原文地址 一、发生的背景 在开发新项目中使用了新的语言开发 C# 和新的技术方案 WEB Service,但是在新项目中,一些旧的模块需要继续使用,一般是采用 C 或 C++ 或 Delphi 编写的,如何利用旧模块对于开发人员来说,有三种可用方法供选择: 第一、将 C 或 C++ 函数用 C# 彻底改写一遍,这样整个项目代码比较统一,维护也方便一些。但是尽管微软以及某些书籍说,C# 和 C++ 如何接近,但是改写起来还是很痛苦的事情,特别是 C++ 里的指针和内存操作; 第二、将 C 或 C++ 函数封装成 COM,在 C# 中调用COM 比较方便,只是在... 阅读全文

posted @ 2011-11-20 15:34 work hard work smart 阅读(309) 评论(0) 推荐(0) 编辑

摘要: 原文地址Visual C++ .NET编程:托管C++概述2000年6月,Microsoft推出了“Microsoft.NET下一代互联网软件和服务战略”,引起IT行业的广泛关注。2000年9月,Microsoft在旧金山发布了Enterprise 2000。同月,Microsoft原总裁兼首席执行官鲍尔默来到中国就“下一代互联网”的主题进行演讲,在中国掀起了一股“.NET旋风”。2000年11月,Microsoft在Comdex计算机大展上发布了Visual Studio.NET软件,并展示了其.NET发展战略的框架体系和开发工具的相关特性,全面加速了Microsoft以.NET技术进军市场 阅读全文

posted @ 2011-11-20 11:55 work hard work smart 阅读(1156) 评论(0) 推荐(0) 编辑

2011年11月19日

摘要: C++ 打开exe文件的方法(VS2008)#include "stdafx.h"#include <Windows.h>#include <ShellAPI.h>int _tmain(int argc, _TCHAR* argv[]){ SHELLEXECUTEINFO shell = { sizeof(shell) }; shell.fMask = SEE_MASK_FLAG_DDEWAIT; shell.lpVerb = L"open"; shell.lpFile = L"C:\\windows\\NOTEPAD. 阅读全文

posted @ 2011-11-19 21:48 work hard work smart 阅读(4597) 评论(0) 推荐(0) 编辑

摘要: 基于 Visual C++6.0 的 DLL 编程实现 一、前言 自从微软推出 16 位的 Windows 操作系统起,此后每种版本的 Windows 操作系统都非常依赖于动态链接库 (DLL) 中的函数和数据,实际上 Windows 操作系统中几乎所有的内容都由 DLL 以一种或另外一种形式代表着,例如显示的字体和图标存储在 GDI DLL 中、显示 Windows 桌面和处理用户的输入所需要的代码被存储在一个 User DLL 中、 Windows 编程所需要的大量的 API 函数也被包含在 Kernel DLL 中。 在 Windows 操作系统中使用 DLL 有很多优点,最主要... 阅读全文

posted @ 2011-11-19 21:23 work hard work smart 阅读(351) 评论(0) 推荐(0) 编辑

摘要: c++中指针,指针的引用,指针的指针的区别看例子和结果:#include"stdafx.h"#include<iostream>usingnamespacestd;voidFreePtr1(int*ptr1){deleteptr1;ptr1=NULL;}voidFreePtr2(int*&ptr2){deleteptr2;ptr2=NULL;}voidFreePtr3(int**ptr3){delete*ptr3;*ptr3=NULL;}voidmain(){cout<<"------------------------------ 阅读全文

posted @ 2011-11-19 14:27 work hard work smart 阅读(217) 评论(0) 推荐(0) 编辑

摘要: 内存分配方式有三种:(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集 阅读全文

posted @ 2011-11-19 14:11 work hard work smart 阅读(2262) 评论(0) 推荐(0) 编辑

2011年11月18日

摘要: 一、前言 1、本回讲解的是在VS 2008 下的使用ATL. 并使用Win 32 Console Application进行测试以及C#项目进行测试(调用COM). 2、这第一个组件,除了所有 COM 组件必须的 IUnknown 接口外,我们再实现一个自己定义的接口 IFunTest,它有一个简单的函数: Sum()完成两个数值的加法 3、ATL的介绍 ATL本来被设计成一种书写快捷的小的COM组件。 ATL特性:(1)C++能完成的所有功能。(2)没有外部程序库,除非你想要使用它。(3) 一种抽象对象和接口的相对高级的方式。 (4)类集合的自动处理,目标创建,参考... 阅读全文

posted @ 2011-11-18 15:44 work hard work smart 阅读(6155) 评论(2) 推荐(2) 编辑

摘要: 方法一、放在Bat文件中"C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\tlbimp.exe" E:\...\Projectname.tlb /out:E:\...\InteropFiles\Interop.ProjectnameLib.dll /namespace:ProjectnameLib/nologo方法二、属性配置参考:.Net互操作性 http://www.cnblogs.com/linlf03/archive/2011/09/24/2189621.html 阅读全文

posted @ 2011-11-18 11:17 work hard work smart 阅读(941) 评论(0) 推荐(0) 编辑

摘要: 1、#include<iostream.h>#include <time.h>#include <sys/types.h>#include <sys/stat.h>#include <stdio.h>void main( void ){ struct stat buf; int result; //获得c:\Windows\Calc.exe文件的信息 result =stat( "c:\\windows\\Calc.exe", &buf ); //显示cal.exe的文件状态信息 if( result != 阅读全文

posted @ 2011-11-18 10:01 work hard work smart 阅读(269) 评论(0) 推荐(0) 编辑