摘要:这篇文章的主要目的是分析建设系统所用的存储空间,避免对存储设备的过渡浪费,节省投资。同时也提高对oracle常用数据类型的认识。介绍的类型如下:·char·varchar·varchar2·nvarchar·nvarchar2·number·datechar的长度是固定的,比如说,你定义了char(20),即使你你插入abc,不足二十个字节,数据库也会在abc后面自动加上17个空格,以 补足二十个字节;char是区分中英文的,中文在char中占两个字节,而英文占一个,所以char(20)你只能存20个字母或10个汉字;cha
阅读全文
01 2013 档案
摘要:例子完整代码:http://zhmster.googlepages.com/ReadFile.rar例子功能简介:程序中google.dic是我的google输入法的词库。本段代码功能:就是把这个文件重新按照词频排序。把词频高的放在前面。代码是我一个学生作品:我做了小部分修改。代码演示了如下的技术:1. c++读写文件2. 如何测试一个程序的运行时间。程序中calctime类可以复用。大家只要在程序开始声明一下即可。3. 重载str_line这个类的<操作符。以此可以利用链表的排序函数来排序。#include <list>#include <string>#inc
阅读全文
摘要:一般的vc++做的程序,效率较高,但是对界面要么开发速度慢,要不做出来的不是很漂亮。如何呢?提供两个方法供参考。1. 使用界面库比较常用不错的一个是BCG, 一个是xtreme toolkit.另外vs2008已经内置BCGxtreme toolkit这个界面库,带的例子比较多,而且是分开的,每个控件都分开有一个例子。方便使用。用bcg的直接用vc2008好了。下载一个package,里面直接集成BCG.2. 使用Python+wxPython,使用Eclipse+PyDev 作为集成开发环境,发布时使用Py2exe进行打包,vc主要写不带界面的内核或逻辑模块。python也是google 三
阅读全文
摘要:我们打包基于VC++开发的应用程序,我们会一同打包一个VC运行库,否则安装到一些非开发环境中,你的应用程序依然可以正确运行。Visual C++ 2008 Redistributable Package 包括了(VCRedist_x86.exe,VCRedist_x64.exe以及VCRedist_ia64.exe)。就是一个简单的VCRedist.exe安装集成,结果下载了之后安装,安装完成后在系统或某个盘的根目录下留下一堆的临时文件:临时文件列表调查后发现,这是Microsoft Visual C++ 2008 Redistributable Package的一个已知Bug,微软在SP1中
阅读全文
摘要:用VS2008 SP编写的MFC程序,拷贝到其他没装VS2008的机器上直接运行,肯定是不行的。即使选择静态链接MFC,有时候系统还是会提示“应用程序配置不正确”。这是因为程序中可能不止用到了9.0版本MFC,还可能有ATL、CRT、OPENMP等。在自己的机器上运行时,系统会到"C:/WINDOWS/WinSxS/"文件夹查找相应的库,这个文件夹里包含了所有安装过的版本的运行库和清单文件。如果只找9.0版本的库和清单文件,也可以到"C:/Program Files/Microsoft Visual Studio 9.0/VC/redist/x86"这个
阅读全文
摘要:使用VS2008编译了一个程序,使用到自己编译的DLL,丢到某些机子上无法运行,提示“由于应用程序配置不正确,应用程序未能启动”的错误,装了vcredist_x86也没有用,开始以为是DLL的问题,后来换个简单的程序,仍然不行,百撕不得其解,后来上网找,下面有说了很多解决办法。 我最终的解决办法是复制本机中的.manifest文件,修改里面的版本号,复制到提示错误的机子上,与可执行程序放在同一目录就可以了。在计算机中管理的系统工具,事件查看器可以查看应用程序的消息,找到“由于应用程序配置不正确,应用程序未能启动”相关的错误,有那个版本号。修改.manifest文件中version的版本...
阅读全文
摘要:Howto: Deploy VC2008 apps without installing vcredist_x86.exeThere are several reasons for xcopy deployment of an application (also known as application local). One main reason is that you are independent of what the target computer has installed.Also your application always uses the “correct” (or b
阅读全文
摘要:目录注册表概述注册表相关函数详解注册表编程注册表概述概述注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windows的启动、硬件驱动程序的装载以及一些windows应用程序的运行,从而在整个系统中起着核心作用.这些作用包括了软、硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据等,联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性,性能记录和其他底层的系统状态信息,以及其他数据等.数据结构注册表由键(或称"项")、子键(子项)和值项构成.一个键就是分支中
阅读全文
摘要:1.打开和关闭子键 注册表函数对注册表的操作是通过句柄来完成的,与文件操作一样,在对某个键下的子键或者键值项进行操作之前,需要先将这个键打开,然后使用键句柄来引用这个键,在操作完毕以后再将键句柄关闭。注册表的根键不需要打开,它们的句柄是固定不变的,要使用根键的时候只要把这些句柄直接拿来用就是了,Windows.inc中已经预定义了它们的数值:HKEY_CLASSES_ROOT equ 80000000hHKEY_CURRENT_USER equ 80000001hHKEY_LOCAL_MACHINE equ 80000002hHKEY_USERS equ 80000003hHKEY_P...
阅读全文
摘要:昨天弄了一个下午的配置,最终搞定,从中也重新认识了Eclipse MyEclipse Tomcat.那么就闲话少说,我们开始吧!==============================================================================首先,我们要把几个概念弄清楚。对这些概念的深入了解,会对你的配置有很大的帮助:1、JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,J.
阅读全文
摘要:对话框上的按钮本身只能添加单击双击时间,不能响应鼠标按下与弹起消息,可以通过两种方法实现:1.重载CButton类,将该类子类化 在工程中添加一个新类CMyButton,基类为CButton。 在对话框MyDlg中为IDC_BUTTON添加变量,在变量类型里选择CMyButton,变量名自定义,如m_myButton。添加函数OnDown与OnUp函数响应按钮按下与弹起消息 在Class name中选择CMyButton,然后添加WM_LBUTTONUP,WM_LBUTTONDOWN消息映射函数。添加代码如下:void CMyButton::OnLButtonUp(UINT nFlags, .
阅读全文
摘要:之前看ogitor ,第一次看到那么多代码~~不知道从哪里下手,而且好多东西都不会Ogre什么的都不是很清楚,对ogitor的代码结构的了解就更不用提了。晕头转向的不知道从哪里下手,一点点的看起来好吃力。后来从博客中看到了说understand的 ,当时用了一下可以从源代码生成类图 感觉很不错。不过由于考试啊乱七八糟的原因放了一段时间之后又由于系统出了问题重装后把他弄丢了,今天想用结果怎么也找不到是什么,连名字都忘了 汗~~以后要及时记录啊 找了几乎一天终于又找回来了 呵呵感觉比rational rose好得多吧,rational rose 现在已经没有更新了 下了一个都感觉不好用 win7.
阅读全文
摘要:■...开发环境 ---->Turbo c DOS时代c语言开发的经典工具,目前适合两类人使用:c语言beginner(尤其是学生一族),具有怀旧情节的专业人士:) ---->Visual C++ 6.0/7.0 稳定而强大的IDE开发环境,具有丰富的调试功能,定制宏的功能也是其一大特色。Microsoft的经典之作,功能强大自不必言说。附带的一些工具也很不错,比如:Spy++。但编译器较之同类,支持c++标准的程度不够好,尤其6.0及以前的版本。 ---->BCB Borland的C++ Builder是可以与VC匹敌的另一个功能强大的IDE,速度和稳定性稍逊,但对c++标准支...
阅读全文
摘要:一:什么时候才会发生重绘窗口的消息? 当需要更新或重新绘制窗口的外观时,应用程序就会发送WM_PAINT消息。对窗口进行重新绘制。 二:Invalidate() -- RedrawWindow() -- UpdateWindow()三个函数有什么异同? Invalidate()是强制系统进行重画,但是不一定就马上进行重画。因为Invalidate()只是通知系统,此 时的窗口已经变为无效。强制系统调用WM_PAINT,而这个消息只是Post就是将该消息放入消息队列。当执行到WM_PAINT消息时才会对敞口进行重绘。 UpdateWindow只向窗体发送WM_PAINT消息,在发送之前判断G..
阅读全文
摘要:1.综述在MFC中CImageList类封装了图像列表控件的功能,图像列表是一个具有相同大小的图像(可以是不同类型)的集合,其主要用于应用程序中大规模图标的存储。该控件是不可见的,通常与其它如CListBox,CComboBox,CComboBoxEx,CTabCtrl以及CTreeCtrl一起使用,为他们提供图标资源。图象的每个集合中均以0为图象索引基数,可以把这些图标看成是以数组方式存储的,图像列表通常由大图标或位图构成,其中包含位图模式。实际上,所有的在同一个图象列表中的图标都被存储在一个屏幕设备的位图中。2.添加图像的两种方法通常可以向CImageList对象中添加位图和图标资源。其.
阅读全文
摘要:ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<、<=、!=),并非说用>,>=,=,between..and 时会提示SQL语法错误,而是经常是查不出一条记录来,还会出现似乎是莫名其妙的结果来,其实您只要理解好了这个 rownum 伪列的意义就不应该感到惊奇,同样是伪列,rownum 与 rowid 可有些不一样,下面以例子说明假设某个表 t1(c1) 有 20 条记录如果用 select rownum,c1 from t1 where row
阅读全文
摘要:一、经过测试,下面的方法通过:SELECT * FROM ( SELECT 表名.*, ROWNUM AS CON FROM 表名 WHERE ROWNUM <= M AND 其它查询条件ORDER BY排序条件 )WHERE CON >=N;二、参考其它网上的方法SQL/Oracle取出第 m 条到第 n 条记录的方法用一句SQL取出第 m 条到第 n 条记录的方法用一句SQL取出第 m 条到第 n 条记录的方法从Table 表中取出第 m 条到第 n 条的记录:(Not In 版本)SELECT TOP n-m+1 *FROM TableWHERE (id NOT IN (SE
阅读全文
摘要:方法一: 单选的情况下GetNextItem(-1,LVIS_SELECTED); 方法二:单选的情况下不知道你的CListCtrl是否允许多选,如果只允许单选,你只需要调用成员函数GetSelectionMark()就可以获取选中的行号,然后你再调用GetItemText()就可以获取选中行的文本。方法三: 可以多选的情况下CString str;POSITION pos=list.GetFirstSelectedItemPosition(); //pos选中的首行位置if(pss==NULL) AfxMessageBox(L"no item were selected!"
阅读全文
摘要:我们今天要向大家介绍的是有关C++ clock()函数的一些基本概念以及应用方式,目的就是希望能够帮助大家轻松掌握这一应用技巧。AD: 在C++编程语言中,有许多特定的函数应用可以帮助我们实现许多不同的特定功能,方便程序员的实际开发。比如C++ clock()函数主要是帮助我们实现计时的功能。而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:clock_t clock( void ); 这个函数返回从“开启这个程序进程”到“程序中调用C++ clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-cloc..
阅读全文
摘要:方法一、#include<iosteam>#include<ctime>usingnamespacestd;classCTimer{public:CTimer(){_start=clock();}~CTimer(){_end=clock();cout<<float(_end-_start)/CLK_TCK<<endl;}private: clock_t_start;clock_t_end;};voidmain(){CTimert;//程序执行部分!} 方法二://在windows下实现(毫秒级):DWORDdwStart=GetTickCount
阅读全文
摘要://C++高精度实现计算程序运行时间#include <iostream> #include <windows.h> using namespace std; void Test()//测试程序 { for(int i=0; i<1000; i++) { for(int j=0; j<100; j++) { printf("%d,%d\n",i,j); } } } int main(void) { LARGE_INTEGER BegainTime ; LARGE_INTEGER EndTime ; LARGE_INTEGER Freque
阅读全文
摘要:GetTickCount()和GetCurrentTime()都只精确到55ms(1个tick就是55ms)。如果要精确到毫秒,应该使用timeGetTime函数或QueryPerformanceCounter函数。具体例子可以参考QA001022 "VC++中使用高精度定时器"、QA001813 "如何在Windows实现准确的定时"和QA004842 "timeGetTime函数延时不准"。GetTickCount精度不够,自己实现真正的毫秒级函数虽然GetTickCount返回值的单位是1ms,但实际上它的精度只有10ms左右。
阅读全文
摘要:目前,根本没有办法精确测量程序运行时间,但可用两类方法进行估测:一是基于计时器Timer,一是基于计数器Counter。一) 基于Timer的测量方法缺点:精度不够,不能用于程序运行持续时间小于100ms的测量优点:准确性不是十分依赖于系统负载,并且在执行时间大于1s的程序上,与理论值之间的误差很低方法:在程序开始时读取计时器的内容,在程序终止前再次读取Timer的内容。接口函数:(1)Unix/Linuxclock_t times(struct tms *buf);//return value:系统自启动以来经过的时间滴答数,常数CLK_TCK表示每秒经过的时钟滴答数//parameter:
阅读全文
摘要:用高精度计时器#include <iostream>#include <windows.h>using namespace std ;int main(void){ LARGE_INTEGER BegainTime ; LARGE_INTEGER EndTime ; LARGE_INTEGER Frequency ; QueryPerformanceFrequency(&Frequency); QueryPerformanceCounter(&BegainTime) ; //要测试的代码放在这里 QueryPerformanceCounter(&
阅读全文
摘要:如何计算程序话费的时间?下面列出简单的例子#include <ctime> //计时用的头文件#include <iostream>using namespace std;int main(){ time_t start,end,time; /*注意计时所用的变量名称*/ /*程序开始执行,开始计时*/ start=clock(); /*程序执行过程……*/自己的程序代码 /*程序结束执行,结束计时*/ end=clock(); time=end-start;//这里的时间是计算机内部时间 cout << endl << ""
阅读全文
摘要:C++在“商业应用”方面,曾经是天下第一的开发语言,但这一桂冠已经被java抢走多年。因为当今商业应用程序类型,已经从桌面应用迅速转移成Web应 用。当Java横行天下之后,MS又突然发力,搞出C#语言,有大片的曾经的C++程序员,以为C++要就此沉沦,未料,这三年来,C++的生命力突然被 严重地增强了。主力原因就是开源的软件、基础软件(比如并发原生支持,比如Android必定要推出原生的SDK)、各种跨平台应用的出现。开源C++库必须具有以下特点:必须是成熟的产品、跨平台的产品、相对通用的库。一、通用标准类STL:C++标准模板库,呵呵,它也是开源的嘛。boost:C++准标准库,它是强大地
阅读全文
摘要:通过这些编程插件,你可以方便快捷的完成编程的各项任务,以下分别作下简单介绍,欢迎讨论交流。Visual Assist(强烈推荐)网址:http://www.wholetomato.com/功能:VA从5.0一直到现在的VAX,功能越来越强大,除了以前版本中的自动识别各种关键字,系统函数,成员变量,自动给出输入提示,自动更正大小写错误,自动标示错误等等以外,最新的版本中还在WorkSpace窗口中加入一个VA View,可以更方便的查找工程中的文件、类和变量。CodeManagerAddIn(强烈推荐)网址:http://blog.sina.com.cn/chendeng功能:CodeManag
阅读全文
摘要:在基于对话框的程序中,默认是没有这个消息的。 1、按下Ctrl+W,弹出类向导对话框,选择Class Info标签; 2、在Message fileter下拉列表中选择Window,然后再点击Message Maps标签; 3、这时就出现WM_DROPFILES消息了,添加该消息的响应函数。 [cpp] view plaincopyprint?void CDragDlg::OnDropFiles(HDROP hDropInfo) { // TODO: Add your message handler code here and/or call default CDialog::OnD...
阅读全文
摘要:在VC++中想加入自定义消息,以下方法可供参考 …… 1、首先定义消息:[cpp] view plaincopyprint?#define WM_MYMESSAGE (WM_USER+100) #define WM_MYMESSAGE (WM_USER+100) 2、在.h头文件中,加入消息响应函数: [cpp] view plaincopyprint?LONG OnMyMessage(WPARAM wParam, LPARAM lParam); LONG OnMyMessage(WPARAM wParam, LPARAM lParam); 该函数有规定的格式:[cpp] view p...
阅读全文
摘要:这两天,本来想花点时间研究一下QQ空间、农场外挂,于是抓包分析一了下,只可惜,在QQ网页登录时进行了加密处理,可惜我对网页编程一窍不通。有些朋友曾讲过那些是通过JS代码进行加密,可惜我JS也是一片空白,真是“出师未杰身先死”,惭愧惭愧...... 于是只好挑CSDN这类简易一些的尝试学习一下(仅供学习交流),下面是学习笔记: 程序运行截图: 1、本机环境:Windows XP SP3、ADSL 2、开发工具:WildPackets OmniPeek V5.1.4 Visual C++ 6.0 IE6.0 FlexEdit V2.3.1871 3、数据包截图: (QQ登录时,在密码222...
阅读全文
摘要:相信很多朋友都对QQ伴侣等农场外挂十分好奇吧!其实我也是,然而不幸的是很多像我一样的兄弟在模拟农场登录时,就被JS函数加密的密码字符串给挡在门外,于是百度来google去,始终没有一个完整的代码或例子。 登录时用OmniPeek捕获得到的数据包如下(QQ号1、密码123456、验证码1234): 其实QQ网页登录密码加密方式(包括空间、农场、WEB QQ等)都是一样的。http://imgcache.qq.com/ptlogin/js/comm.js 周末自己便将腾讯JS加密文件给下载下来了。 (腾讯的JS文件居然一个回车符都没有,真够BT的!害我花了二小时才整理完毕!) 关于JS代码,我是.
阅读全文
摘要:关于实用又方面“可编辑CListCtrl类”我之前也找了许久,终于被我找到了,与前面一篇那个效果一模一样... 1、使用说明 本文对CListCtrl控件进行了一个扩展,使它即可以编辑主项(Item),又可以编辑子项(SubItem),并尽量符合CListCtrl的操作习惯。 大家都知道在MFC中通过给CListCtrl设置LVS_EDITLABELS属性,并且在程序中响应控件的LVN_ENDLABELEDIT消息可以修改列表控件每一行的第一项,也就是主项(Item)。代码如下 :[cpp] view plaincopyprint?void CEditListCtrlSampleDlg:...
阅读全文
摘要:在这之前我一直在使用MFC框架,现在要学习WTL似乎有些牵强...... 俗话说得好:“工欲善其事,必先利其器”,还是先将基本术语搞清楚吧! 1、STL 即 Standard Template Library STL(标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Step
阅读全文
摘要:1、第一种方法:用微软提供的官方文档From : http://support.microsoft.com/kb/181934/en-us/ Generally, when you want to display a message box for a limited amount of time, you must implement a regular dialog box that closes itself after a specified amount of time. The problem with this method is that you lose the stand.
阅读全文
摘要:如果你是一个使用VB编程的程序员,要在程序中显示JPG或者GIF图像简直易如反掌,将图像控件拖到Form中,分分钟即可搞掂。但是C++程序员要显 示同样的图形却没有那么轻松,那么是不是要自己编写JPG解压缩代码呢?当然不用那么复杂啦!本文将针对这个问题讨论如何在MFC中显示JPG或者GIF 图像。 用VB写图像显示程序之所以如此轻松,完全是利用了琳琅满目的图像处理控件,把你想要做的事情都一一搞掂。而C++程序员为了实现相同的功能必须忙 乎半 天。其实,C/C++程序员也能使用那些VB程序员所用的(或者说几乎一样的)图像控件。VB用的图像控件实际上都基于一个系统级COM类—— IPicture.
阅读全文
摘要:1、DLL源代码 MyDll.h[cpp] view plaincopyprint?////////////////////////////////////////////////////////////////////////// // MyDll.h // 声明函数 int _stdcall Add(int a,int b); int _stdcall Sub(int a,int b); //////////////////////////////////////////////////////////////////////////// MyDll.h// 声明函数int _stdca.
阅读全文
摘要:1、Dll相关代码 MyDll.h[cpp] view plaincopyprint?#ifdef DLL1_API #else #define DLL1_API extern "C" __declspec(dllimport) #endif DLL1_API int Add(int a,int b); DLL1_API int Sub(int a,int b); class __declspec(dllexport) Person { public: Person(char *name); char* m_Name; int m_Age; }; #ifdef DLL1_A
阅读全文
摘要:首先是ZeroMemory和memset的区别:1、ZeroMemory是微软的SDK提供的,memset属于C Run-time Library提供的。因此ZeroMemory只能用于Windows系统,而memset还可用于其他系统。 2、ZeroMemory是一个宏,只是用于把一段内存的内容置零,内部其实是用 memset实现的,而memset除了对内存进行清零操作,还可以将内存置成别的字符。 3、如果程序是Win32程序而且不想连接C运行时库,那就用ZeroMemory,如果需要跨平台,那就用memset。所以如果ZeroMemory和memset用于清零操作,其本质是一样的。 然..
阅读全文
摘要:// 控制台程序的基本文本颜色// #define FOREGROUND_BLUE 0x0001 // text color contains blue.// #define FOREGROUND_GREEN 0x0002 // text color contains green.// #define FOREGROUND_RED 0x0004 // text color contains red.// #define FOREGROUND_INTENSITY 0x0008 // text color is intensified.//不同的组合可呈现如下几种颜色■ 0x00■ 0...
阅读全文
摘要:之前碰到论坛里有几个好友,说程序不时的崩溃,什么xxoo不能read的! 如果光要是这个内存地址,估计你会疯掉~~所以分享一下基本的调试技巧,需要准备的工具有WinDbg + VC6.0,下面是自己整理的一份自动生成DUMP文件的源代码,只需要添加到工程即可,源代码如下:MiniDump.hMiniDump.cpp<具体请参考附件SRC中,太大就不贴了>1、在CXXDlg::OnInitDialog()中添加这样一段:BOOL CTestDlg::OnInitDialog(){ CDialog::OnInitDialog(); // ...... SetUnhandledExcep
阅读全文
摘要:1、概述GDI在全称是Graphics Device Interface,即图形设备接口。是图形显示与实际物理设备之间的桥梁。GDI接口是基于函数,虽然使程序员省力不少,但是编程方式依然显得麻烦。例如显示一张位图,我们需要进行“创建位图,读取位图文件信息,启用场景设备,调色板变化“等一系列操作。然而有了GDI+,繁琐的步骤再次被简化。顾名思义,GDI+就是GDI的增强版,它是微软在Windows 2000以后操作系统中提供的新接口。2、GDI+主要功能 GDI+主要提供以下三种功能: (1) 二维矢量图形:GDI+提供了存储图形基元自身信息的类(或结构体)、存储图形基元绘制方式信息的类以及实际
阅读全文
摘要:一. 关于ActiveX ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。在创建包括ActiveX程序时,主要的工作就是组件,一个可以自足的在ActiveX网络中任意运行的程序。这个组件就是ActiveX近控件。ActiveX是Microsoft为抗衡SunMicrosystems的JAVA技术而提出的,此控件的功能和JAVAapplet功能类似。二. ActiveX的开发环境基于ffmpeg的ocx开发使用了visual studio 2010环境作为编译平台,因为vs平台提供了良好的开发ocx类库支持,已经所用到的MF
阅读全文
摘要:参考链接:http://wenku.baidu.com/view/f175c823dd36a32d737581c9.html
阅读全文
摘要:1.通过vs2008的菜单 依次选择 工具(Tools)-外部工具(External Tools)-添加 2.如图所示在标题中输入“OLE/COM 对象查看器”在命令处输入“oleview.exe”,如果提示该命令无效的话请加入具体路径如:C:/Program Files/Microsoft SDKs/Windows/v6.0A/bin/OleView.Exe3.单击确定。。
阅读全文