
C/C++
文章平均质量分 75
goki123
喜欢技术,但不一味技术;热爱生活,但不单单生活。
展开
-
百度之星2009第二场第一题(附个人写的一个程序,测试得91分)
1.Sorry,打错了(250分)题目描述龙先生是一位著名的记者,平时最喜欢报道一些鲜为人知的故事。最近,由于听说索马里海盗猖獗,他打算实地探访,做一个深入的调查。龙先生联系了索马里当地的一些朋友,做了周密的计划——坐船从三亚出发,越过南海,趟过印度洋,最后到达索马里海域的亚丁湾。可就在船离海岸仅10公里时,突然一伙海盗突袭客船,所有人都被劫持到了索马里城内。在人质被运送到“原创 2009-08-19 22:01:00 · 721 阅读 · 1 评论 -
關於firefox無法識別插件
蛋疼的FF讓我找了好久,語言也是ENUS的了,裏面提示都是跟進步驟做的,NND就是識別不了,最後偶然發現所有FF插件的前綴都是NP,直接修改dll前綴為NP,竟然可以了,FF這XX啊,這麼折磨人,我崩潰。。。。原创 2011-08-09 10:12:55 · 764 阅读 · 0 评论 -
關於 ATL COM 開發中遇到的"ATL COM automation 服务器不能创建对象"問題
對微軟相當無語,自己搞了個插件框架,搞得想寫個通用的plugin蛋疼死,杯具啊,今天這個問題搞了我整整一天,網上幾乎沒相關提示,結果就是MS所謂的安全問題:要讓你的控件是安全的。。。#include #include HRESULT CreateComponentC原创 2011-08-10 19:00:28 · 764 阅读 · 0 评论 -
关于一个换肤系统的设计解决方案(一)
好久没有写过文章了,这篇文章分享的是设计一个基于原有UI绘画架构的换肤系统,当然,这里做的仅仅是一个解决方案设计和实现,深入的绘画用的是已有的东西(当然着色和色相变换是我添加的(*^__^*) ); 这套东西我叫theme系统,这个系统可以分为一个主控制体和三个辅助控制部分;主控制为一SkinLoader类:所有相关到skin的图片和颜色值还有字体都需要通过这个类加载这是一个统原创 2011-10-24 23:48:05 · 1680 阅读 · 0 评论 -
richeidt 控件開發(一)
這兩天接到一個開發類似richedit控件的任務,兩個月時間,突然想想好好在這兩個月時間學習一下,並把開發這個控件過程中遇到的困難寫下來,以供以後回頭看看這段路是怎麼走過來的,嘻嘻。。。首先,開始動手之前思考了一下思路,這個控件可以分為,消息處理部分、文檔控制部分、繪畫部分;其中文檔控制部分是關鍵,如何有一個快速繪製可見部分文檔?初步思路是每一個相同格式的片段是一個obj,圖片原创 2012-02-09 13:27:13 · 466 阅读 · 0 评论 -
關於解決sqlite中加密設計方案缺陷問題
最近在做sqlite存儲數據庫,但是後臺總是會出現一些離奇的崩潰,但又為數不多,查了好久,定位到使用加密以後才會崩潰;調試中發現問題出現在pagesize出錯後出現的page指向地址有問題,原來sqlite3BtreeOpen的時候取出了file的文件頭,但是這部分是加密過後的數據,因此在此時取出的pagesize是不可預料的,但此時數據庫未有key的存在,考慮到如果更改sqlite的加密機制的話原创 2011-10-24 13:24:53 · 1241 阅读 · 4 评论 -
richeidt 控件開發(二)
两个月的时间开发个richedit还是挺有挑战的,其实开发一个基本能用的还是可以的,但是要开发一个高效的还是比较有挑战。开始构想整体思路,借鉴别人的的建议就是基于一行一行的绘画,那么从这个思路入手,整篇文档即是被分为N行,每一行里面有具体的内容,如果读到'\n'那么直接新建一行,否则自动换行,每一行可划分为若干个子段,每一个字段对应一个高度height和一个宽度width或者字符数charCo原创 2012-02-09 23:58:35 · 859 阅读 · 1 评论 -
richeidt 控件開發(三)
著手開始開發,前期劃分為以下幾個基本步驟:第一,基本的對象屬性定制,基本函數的簡單定制;第二,基本的字符插入和刪除操作;第三,字符基本繪畫和光標命中,選擇背景;第四,圖片的插入與刪除,圖片的繪畫;第五,文件內容的拷貝,黏貼;第六,大規模數據插入與測試;迫切希望得到各路豪俠批評指正。。。原创 2012-02-14 14:05:01 · 485 阅读 · 0 评论 -
richeidt 控件開發(四)
經過一個星期的編寫,首先把一個基本的document操作的相關和對象定義和函數邏輯(僅僅編寫思路,build不過)的全部搞定,其中document包含stylemanager,一個linemanager,還有一個document details,基本數據存儲的data(我們使用'%'作為對象的佔位符標識);下一步進入繪畫和消息處理基本邏輯,paint步驟,消息處理步驟(基本思路邏輯原创 2012-02-17 10:06:59 · 480 阅读 · 0 评论 -
richeidt 控件開發(五)
寫了那麼久的邏輯,今天開始逐個build啦,所幸build不是遇到很多困難;不夠得出一個經驗就是build只是有邏輯的代碼的時候最好是一個一個cpp先build到通過以後,再來一次完整的build。把窗口的註冊創建都搞完以後,開始測試性的把代碼搞進去,頭大大D,準備啃掉基本的邏輯錯誤。初步調通插入邏輯,基本的繪畫邏輯貌似木有問題鳥~~原创 2012-02-21 16:06:57 · 516 阅读 · 0 评论 -
钩子的原理和基本使用方法
钩子的基本原理 钩子的本质是一段用以处理系统消息的程序,通过系统调用,将其挂入到系统。钩子的种类有很多,每一种钩子负责截获并处理相应的消息。钩子机制允许应用程序截获并处理发往指定窗口的消息或特定事件,其监视的窗口即可以是本进程内的也可以是由其他进程所创建的。在特定的消息发出,并在到达目的窗口之前,钩子程序先行截获此消息并得到对其的控制权。此时在钩子函数中就可以对截获的消息进行各种修改处理,甚至强转载 2010-05-12 09:42:00 · 1531 阅读 · 0 评论 -
系统菜单使用
将变灰的菜单项激活,其实现方法是通过调用 CMenu::EnableMenuItem函数来实现,该函数用法如下:UINT EnableMenuItem(UINT nIDEnableItem,UINT nEnable);其中参数“nIDEnableItem”为菜单项的ID号,用于指定被操作的菜单项;参数“nEnable”为动作参数,用于说明要对被指定的菜单进行何种操作,其取值为MF_DISABL转载 2010-05-11 10:07:00 · 623 阅读 · 0 评论 -
fatal error LNK1169: 找到一个或多个多重定义的符号
fatal error LNK1169: 找到一个或多个多重定义的符号申明全局变量,全局函数一定要在cpp中申明其他类引用该全局变量就include该cpp的h文件然后extern一下就好了否则容易出现该重复定义错误这个"容易"是如何解释的呢?例如A.h中如果申明了全局变量int Global;在B.h中include "A.h"转载 2010-04-22 10:32:00 · 4349 阅读 · 1 评论 -
Dijkstra算法的实现
关于这个算法思想我就不多说啦,百度百科讲得很清楚啦,下面是我自己写过的源代码供大家参考参考,不足之处望多多指教: //main.h#include #include "Dijkstra.h"int main(){ int Graph_list_search[max][max]={{0,3,2,5,9999,9999}, {9999,0,9999,2,9999,9999}, {9999原创 2009-08-18 22:16:00 · 542 阅读 · 0 评论 -
表达式求值(栈实现)
第一次接触数据结构的时候写的,刚开始懵懵懂懂,写得乱七八糟,不过还是写出来了,以下是源代码 //zhan1.cpp#include#include#include#include"zhan1.h"void main(){ printf(" -----------栈的功能演示:-----------------08/12/5/n"); char m[10]={a原创 2009-08-18 22:23:00 · 801 阅读 · 0 评论 -
二叉树的定义-创建-遍历三步走
这是算法实验的一个小实验,自己实现了一遍,代码如下://main.cpp#include #include #include "create_binary_tree.h"#include "hander_define.h"#include "partition.h"#include "quicksort.h"int main(){ Tree* t[max];// t=(_B_T *)mal原创 2009-08-18 21:44:00 · 624 阅读 · 0 评论 -
关于编程的理解-【学习札记】
很多初学者往往会将Windows编程和VC++混为一谈。打开VC++的新建项目,可以看到VC++支持很多种工程。包括命令行的,MFC的,还有就是Win32 Application,即SDK程序。使用VC++未必是编写SDK程序,编写SDK程序也未必要用VC++。 编写Windows程序的方法也不止SDK一种,还包括使用类库如MFC,OWL,使用快速开发工具如VB,Delphi。这些方法各有各的用处转载 2010-01-19 10:27:00 · 529 阅读 · 0 评论 -
GetSystemMetrics全解-【学习札记】
GetSystemMetrics原文地址:http://baike.baidu.com/view/1033713.htm?fr=ala0_1 GetSystemMetrics () 用于得到被定义的系统数据或者系统配置信息. 语法: int WINAPI GetSystemMetrics( __in int nIndex); 下面是GetSystemMetrics函数参数nIn转载 2010-01-21 09:09:00 · 3971 阅读 · 1 评论 -
WINDING 和 ALTERNATE模式的区别【学习札记】
内容来自:http://blog.myspace.cn/e/400893301.htm和http://zhukai-coding.blog.sohu.com/88627236.html1.在ALTERANATE模式下:从左到右水平扫描!~~系统只填充每个扫描行的多边行的奇数边到偶数边的部分,不填充偶数边到奇数边的部分; 什么是水平扫描: 就是显示器上的从左到右一行一行的水平扫描,假如你转载 2010-01-20 10:59:00 · 1788 阅读 · 1 评论 -
WinProc窗口过程定义函数解析-【学习札记】
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)WndProc是窗口过程的名称,可以自由定义,不过为了便于理解可以按照默认定义,这四个参数与消息的前四个域是相同的hwnd:标识哪个窗口句柄需要调用窗口过程message:标识hwnd窗口要处理的消息wParam:一个32位的消息参原创 2010-01-21 09:35:00 · 3957 阅读 · 0 评论 -
一种内存非法访问【C++警示录一】
char s[200]; char strdeal[200]; char area[10]; char name[100]; int i=0; ifstream ifs("C://Documents and Settings//Administrator//桌面//work//处理样本//产业园区.txt",ios_base::binary); ofstream ofs("C://Documen原创 2009-12-24 17:25:00 · 2010 阅读 · 0 评论 -
IDispatch 接口方法的调用
IDispatch 接口方法的调用 在COM开发中免不了要使用 IDispatch 接口,这个接口在脚本中对应的就是 Object 对象(哪个脚本? 当然是可以使用COM的脚本了,VBS,JS,VB.NET,C#总之很多了),经常在调用一个对象的方法或者使用他的属性的时候最容易的方法就是确切的得到这个对象的接口,这样调用起来方便多了,效率也好. 但是天不遂人愿啊,经常有些情况下不方便转载 2010-04-13 10:02:00 · 2620 阅读 · 0 评论 -
richedit富文本控件开发思路与编码设计
限于一直使用微软的richedit控件很多东西有问题都摸不着头脑,而工程使用中其实需要用到的并不高级需求也不高,需求就是快速简单的实现一个图文并茂的富文本显示工具;为此,我开始尝试设计一个简单易用的富文本显示和编辑工具,现在初步核心框架已经完成,为此分享给各位我的设计思路,欢迎拍砖~.~。源代码在文章的结束处可下载。首先,我们开始思考富文本控件特点:多行、图文并茂、样式自定义、光标命中、可拷贝原创 2012-04-11 15:38:04 · 3413 阅读 · 4 评论